9710 lines
491 KiB
C#
9710 lines
491 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_MODEL.Page;
|
||
using GThinking.N_MISPRO.Data;
|
||
using System.Data.Common;
|
||
using GThinking.N_CONTROL;
|
||
using GThinking.N_WORKFLOW;
|
||
using GThinking.N_PUBLIC;
|
||
using GThinking.N_MODEL.Dialog;
|
||
using GThinking.N_MISPRO.Utility;
|
||
using System.Web.Script;
|
||
using System.Text;
|
||
using GThinking.N_PUBLIC2;
|
||
using System.Collections.Generic;
|
||
using GThinking.N_MISPRO.MISPROAS;
|
||
using System.Text.RegularExpressions;
|
||
using GThinking.N_MISPRO.TableCache;
|
||
using System.Globalization;
|
||
|
||
namespace GThinking.N_XLXSBJ
|
||
{
|
||
public partial class XLBJD_WBBJDMXList : OperationBase
|
||
{
|
||
XLBJD_WBBJDMXEntity entity = new XLBJD_WBBJDMXEntity();
|
||
|
||
string sWBBJDID = "";
|
||
string sSELBJDID = "";
|
||
// 为了保持与列表形式一致
|
||
string sXLBJDID = "";
|
||
List<string> lstXLXHID = new List<string>();
|
||
List<string> lstXLGGID = new List<string>();
|
||
List<string> lstDYDJID = new List<string>();
|
||
List<string> lstBJXHList = new List<string>();
|
||
Dictionary<string, string> dicXLWBBJDXHDZB = new Dictionary<string, string>();
|
||
public static List<string> lstCPXXHZ = new List<string>();
|
||
public static List<string> lstXLXHHZ = new List<string>();
|
||
public static Dictionary<string, string> dicXLXHKZHZ = new Dictionary<string, string>();
|
||
int flag = 0;
|
||
private string sXLJGU007 = "";
|
||
private string sBJSJLY = "";
|
||
|
||
#region Page类事件继承
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
base.UMID = 100860043;
|
||
base.UMName = "外部线缆产品导入";
|
||
base.Tabs = Tab;
|
||
base.CurMaster = Master;
|
||
this.PageWidth = 1000;
|
||
this.PageHeight = 600;
|
||
AddListSetMap(new ListSet(XQXX.ID, null, QueryGrid, entity, UPXQXX));
|
||
base.CustomPageSize = CMISproConvert.StrToInt(GetOption(100860043, "BJU069"));
|
||
|
||
//A|× B|*
|
||
sXLJGU007 = GetOption(102579000, "XLJGU007");
|
||
|
||
//接收参数导入或者复制内容
|
||
if (PageParam.ContainsExtKey("First_Open"))
|
||
{
|
||
if (PageParam.GetExtRawString("First_Open").Equals("First_Open"))
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
try
|
||
{
|
||
sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
txtWBBJDID.Text = sWBBJDID;
|
||
PretreatmentData();
|
||
btnBZDY_Click(null, null);
|
||
}
|
||
catch { }
|
||
}
|
||
}
|
||
}
|
||
else if (!IsPostBack)
|
||
{
|
||
sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
txtWBBJDID.Text = sWBBJDID;
|
||
}
|
||
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
|
||
if (pzxx.XLXSBJPZ_QYBJCPFZJS == "Y")
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_XLXHID").EditType = TEditType.etDropList;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_XLGGID").EditType = TEditType.etDropList;
|
||
|
||
Dictionary<string, string> dicBJFLXX = GetBJFLXX(PageParam.GetRTrimString("BJFLID"));
|
||
string sXHGGYMHJS = dicBJFLXX["XHGGYMHJS"];
|
||
if (sXHGGYMHJS.Equals("Y"))
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_XLXHID").SearchModle = TSearchModle.R;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_XLGGID").SearchModle = TSearchModle.R;
|
||
}
|
||
else
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_XLXHID").SearchModle = TSearchModle.A;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_XLGGID").SearchModle = TSearchModle.A;
|
||
}
|
||
}
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_ZHCPMLMC").Visible = false;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_CPMLMC").Visible = false;
|
||
if (XLBJDUtils.GetXLXSBJPZXX(100860000).XLXSBJPZ_XSCPML == "Z")
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_ZHCPMLMC").Visible = true;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_CPMLMC").Visible = true;
|
||
}
|
||
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_PWQDID").Visible = false;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_PWQDWLMC").Visible = false;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_PWQDMS").Visible = false;
|
||
if (XLBJDUtils.GetXLXSBJPZXX(100860000).XLXSBJPZ_XSPWQD == "Y")
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_PWQDID").Visible = true;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_PWQDWLMC").Visible = true;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_PWQDMS").Visible = true;
|
||
}
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_GWWLBM").Visible = false;
|
||
if (XLBJDUtils.ExistXLXSBJGWWL())
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_GWWLBM").Visible = true;
|
||
}
|
||
|
||
int iBJU030 = CMISproConvert.StrToInt(GetOption(100860000, "BJU030"));
|
||
if (iBJU030 >= 0)
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_BJSL").NumberIsQuantity = false;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_BJSL").NumberDecimalPlace = iBJU030;
|
||
}
|
||
|
||
base.InitPage();
|
||
if (!PageParam.GetRTrimString("DRGZ").Equals(""))
|
||
{
|
||
btnBJCPJX.Visible = false;
|
||
btnBJCPJX2.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
btnBJCPJX.Visible = true;
|
||
btnBJCPJX2.Visible = false;
|
||
}
|
||
if (PageParam.GetRTrimString("YXLRBJCP").Equals("N"))
|
||
{
|
||
btnDRBJDMX.Enabled = false;
|
||
}
|
||
else
|
||
{
|
||
btnDRBJDMX.Enabled = true;
|
||
}
|
||
if (XLBJDUtils.GetXLXSBJPZXX(100860000).XLXSBJPZ_XSCPML == "Z")
|
||
{
|
||
lblZHCPML.Visible = true;
|
||
txtZHCPML.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
lblZHCPML.Visible = false;
|
||
txtZHCPML.Visible = false;
|
||
}
|
||
if (XLBJDUtils.GetXLXSBJPZXX(100860043).XLXSBJPZ_JLTZHCP == "Y")
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_XDBZ").Visible = true;
|
||
linkXD.Visible = true;
|
||
cbxXD.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_XDBZ").Visible = false;
|
||
linkXD.Visible = false;
|
||
cbxXD.Visible = false;
|
||
}
|
||
if (GetOption(100860043, "BJU028") == "Y")
|
||
linkXLBZID.Enabled = false;
|
||
|
||
if (!string.IsNullOrEmpty(GetOption(100860000, "BJU046")))
|
||
{
|
||
if (GetOption(100860000, "BJU046").Contains(CurSession.UserId))
|
||
{
|
||
btnXHTZ.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
btnXHTZ.Visible = false;
|
||
}
|
||
}
|
||
//this.Master.BtnReportVisible = false;
|
||
Master.BtnOK.Visible = false;
|
||
Master.BtnCancel.Visible = false;
|
||
|
||
QueryGrid.EnabledToolBar = false;
|
||
QueryGrid.ReadOnly = false;
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sXLBJDID = XLBJDUtils.FetEmptyStr(PageParam.GetRTrimString("SELBJDID"));
|
||
sSELBJDID = XLBJDUtils.FetEmptyStr(PageParam.GetRTrimString("SELBJDID"));
|
||
//处理表格列
|
||
InitGrid(sWBBJDID, sSELBJDID);
|
||
if (!IsPostBack)
|
||
{
|
||
Master_OnQuery();
|
||
GridDataBind();
|
||
}
|
||
if (UseDxthEquivalentRules)
|
||
{
|
||
btnXHTZ.Visible = false;
|
||
btnGGTZ.Visible = false;
|
||
btnXHGG.Visible = false;
|
||
btnXLBJDXDXYTH.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
btnGGTZ.Visible = true;
|
||
btnXHGG.Visible = true;
|
||
btnXLBJDXDXYTH.Visible = false;
|
||
}
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 外部报价单预处理
|
||
/// 预处理原则1:只预处理处理报价产品有值,型号或者规格其一有值的,
|
||
/// 预处理原则2:原则1中,处理结束,还原型号或者规格其一有值的。
|
||
/// 预处理原则3:报价产品无值,型号规格有值,需要补全报价产品
|
||
/// </summary>
|
||
private void PretreatmentData()
|
||
{
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = XLBJDUtils.FetEmptyStr(PageParam.GetRTrimString("SELBJDID"));
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
TSQL tSQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
tSQL.Clear();
|
||
|
||
tSQL.Clear();
|
||
tSQL.Add("SELECT XLWBBJDML_YCL FROM XLWBBJDML where 1=1 ");
|
||
tSQL.Add(" and XLWBBJDML_WBBJDID=:pWBBJDID and XLWBBJDML_BJDID=:pBJDID ");
|
||
tSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
tSQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet dsXLWBBJDML = dberp.OpenDataSet(tSQL);
|
||
if (dsXLWBBJDML.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (dsXLWBBJDML.Tables[0].Rows[0][0].ToString().Trim().Equals("Y"))
|
||
{
|
||
return;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return;
|
||
}
|
||
|
||
//先对报价产品进行处理
|
||
|
||
tSQL.Clear();
|
||
tSQL.Add("select XLWBBJDMX_BJDID,XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH, ");
|
||
tSQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_XLYSID,XLWBBJDMX_BJCPDYDJID,XLWBBJDMX_BJCP, ");
|
||
tSQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_BZ,' ' as BZ_DYDJID, ");//标准电压等级ID
|
||
tSQL.Add(" 'N' AS XLWBBJDMX_XDBZ,' ' AS OLD_XLXHID,' ' AS OLD_XLGGID,' ' AS OLD_DYDJID, ");
|
||
tSQL.Add(" XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ ");
|
||
tSQL.Add(" from XLWBBJDMX ");
|
||
tSQL.Add(" where 1=1 ");
|
||
tSQL.Add(" and (isnull(XLWBBJDMX_BJCP, ' ') <>' ' and (isnull(XLWBBJDMX_XLXHID, ' ') = ' ' or isnull(XLWBBJDMX_XLGGID, ' ') = ' ')) ");
|
||
tSQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
tSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
tSQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet ds = dberp.OpenDataSet(tSQL);
|
||
bool bBJCP = false;
|
||
if (ds.Tables[0].Rows.Count == 0)
|
||
{
|
||
bBJCP = true;
|
||
}
|
||
List<string> lstXLXHTZ = new List<string>();
|
||
lstXLXHTZ.Clear();
|
||
dicXLWBBJDXHDZB.Clear();
|
||
if (!bBJCP)
|
||
{
|
||
List<string> lstXLGGTZ = new List<string>();
|
||
lstXLGGTZ.Clear();
|
||
GetXLXHIDList(dberp, SQL, true, ref lstXLXHID);
|
||
GetXLGGIDList(dberp, SQL, ref lstXLGGID);
|
||
GetDYDJIDList(dberp, SQL, ref lstDYDJID);
|
||
|
||
if (pzxx.XLXSBJPZ_THSFTGKBXH == "Y")
|
||
GetBJXHList(dberp, SQL, PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("JGCIDS"), ref lstBJXHList);
|
||
else
|
||
lstBJXHList.Clear();
|
||
|
||
GetXLWBBJDXHDZB(dberp, SQL, ref dicXLWBBJDXHDZB);
|
||
|
||
DataSet dsXLWBBJDANXX = new DataSet();
|
||
dsXLWBBJDANXX = GetXLWBBJDANXX("01");
|
||
for (int i = 0; i < dsXLWBBJDANXX.Tables[0].Rows.Count; i++)
|
||
{
|
||
lstXLXHTZ.Add(dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim());
|
||
}
|
||
|
||
dsXLWBBJDANXX = GetXLWBBJDANXX("02");
|
||
for (int i = 0; i < dsXLWBBJDANXX.Tables[0].Rows.Count; i++)
|
||
{
|
||
lstXLGGTZ.Add(dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim());
|
||
}
|
||
string sDRGZ = PageParam.GetRTrimString("DRGZ");
|
||
if (sDRGZ.Equals(""))
|
||
JXDYDJ(ref ds);
|
||
//获取颜色
|
||
if (pzxx.XLXSBJPZ_WBBJDJXYS.Equals("Y"))
|
||
TZBJCP_5(ref ds);
|
||
if (lstXLGGTZ.Count == 0)
|
||
{
|
||
TZBJCP_1(ref ds);
|
||
}
|
||
else if (lstXLGGTZ.Contains("7"))
|
||
{
|
||
TZBJCP_1(ref ds);
|
||
}
|
||
if (lstXLGGTZ.Contains("B"))
|
||
{
|
||
TZBJCP_4(ref ds);
|
||
}
|
||
if (lstXLXHTZ.Count == 0)
|
||
{
|
||
TZBJCP_2(ref ds);
|
||
}
|
||
else if (lstXLXHTZ.Contains("6"))
|
||
{
|
||
TZBJCP_2(ref ds);
|
||
}
|
||
TZBJCP_3(ref ds);
|
||
TZBJCP_0(ref ds);
|
||
if (sDRGZ.Equals(""))
|
||
Analysis_Common(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
else if (sDRGZ.Equals("BYDGZ"))
|
||
Analysis_BYDCP(ref ds, sDRGZ,lstXLXHID, lstXLGGID, lstDYDJID);
|
||
else if (sDRGZ.Contains("GWGZ"))
|
||
Analysis_GWCP(ref ds, sDRGZ, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y"))
|
||
JLYXHGGDY(ref ds);
|
||
//该处为型号新规范化调整---后续如果能够收集一个集合最佳
|
||
/*
|
||
dic.Add("0", "NH-替换为N-");
|
||
dic.Add("1", "ZR-替换为ZC-");
|
||
dic.Add("2", "ZN-替换为ZCN-");
|
||
dic.Add("3", "WDZ-替换为WDZC-");
|
||
dic.Add("4", "WDZN-替换为WDZCN-");
|
||
dic.Add("5", "去除空格");
|
||
dic.Add("6", "去除中文");
|
||
dic.Add("7", "型号替换");
|
||
*/
|
||
if (ShouldRunPageTzxhTzggPreDxth())
|
||
{
|
||
if (lstXLXHTZ.Count == 0)
|
||
{
|
||
Dictionary<string, string> dicMRZX = XLBJD_WBBJDANXX.XHTZ_MRZS();
|
||
foreach (KeyValuePair<string, string> kvp in dicMRZX)
|
||
{
|
||
if (kvp.Key.Equals("0"))
|
||
{
|
||
TZXH_0(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("1"))
|
||
{
|
||
TZXH_1(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("2"))
|
||
{
|
||
TZXH_2(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("3"))
|
||
{
|
||
TZXH_3(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("4"))
|
||
{
|
||
TZXH_4(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("8"))
|
||
{
|
||
TZXH_8(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("9"))
|
||
{
|
||
TZXH_9(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("A"))
|
||
{
|
||
TZXH_A(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("B"))
|
||
{
|
||
TZXH_B(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("C"))
|
||
{
|
||
TZXH_C(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("D"))
|
||
{
|
||
TZXH_D(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("7"))
|
||
{
|
||
TZXH_7(ref ds, dicXLWBBJDXHDZB);
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//依照配置顺序执行
|
||
for (int i = 0; i < lstXLXHTZ.Count; i++)
|
||
{
|
||
if (lstXLXHTZ[i].Equals("0"))
|
||
{
|
||
TZXH_0(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("1"))
|
||
{
|
||
TZXH_1(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("2"))
|
||
{
|
||
TZXH_2(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("3"))
|
||
{
|
||
TZXH_3(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("4"))
|
||
{
|
||
TZXH_4(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("8"))
|
||
{
|
||
TZXH_8(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("9"))
|
||
{
|
||
TZXH_9(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("A"))
|
||
{
|
||
TZXH_A(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("B"))
|
||
{
|
||
TZXH_B(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("C"))
|
||
{
|
||
TZXH_C(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("D"))
|
||
{
|
||
TZXH_D(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("E"))
|
||
{
|
||
TZXH_E(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("F"))
|
||
{
|
||
TZXH_F(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("G"))
|
||
{
|
||
TZXH_G(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("H"))
|
||
{
|
||
TZXH_H(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("I"))
|
||
{
|
||
TZXH_I(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("J"))
|
||
{
|
||
TZXH_J(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("K"))
|
||
{
|
||
TZXH_K(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("L"))
|
||
{
|
||
TZXH_L(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("M"))
|
||
{
|
||
TZXH_M(lstBJXHList, ref ds);
|
||
}
|
||
//自定义替换规则
|
||
if (lstXLXHTZ[i].Contains("N") && lstXLXHTZ[i].Length > 1)
|
||
{
|
||
TZXH_ZDY(lstBJXHList, lstXLXHTZ[i], ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("7"))
|
||
{
|
||
TZXH_7(ref ds, dicXLWBBJDXHDZB);
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
//该处为规格去除不规范调整,涉及情况较为复杂
|
||
/*
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("0", "×替换为*"));
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("1", "去除非数值字符"));
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("2", "1*截面"));
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("3", "x/X替换为*"));
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("4", "去除.0"));
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("5", "*替换为×"));
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("6", "x/X替换为×"));
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("7", "去除mm2、mm"));
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("8", "E或者PE替换为1*"));
|
||
--btnGGTZ.Nodes.Add(new gtTreeNode("9", "去除空格"));
|
||
*/
|
||
if (lstXLGGTZ.Count == 0)
|
||
{
|
||
//目前支持0-9
|
||
TZGG_7(ref ds);
|
||
TZGG_9(ref ds);
|
||
TZGG_8(ref ds);
|
||
//3和6执行一个即可。
|
||
TZGG_3(ref ds);
|
||
TZGG_1(ref ds);
|
||
TZGG_2(ref ds);
|
||
TZGG_4(ref ds);
|
||
|
||
}
|
||
else
|
||
{
|
||
//依照配置顺序执行
|
||
for (int i = 0; i < lstXLGGTZ.Count; i++)
|
||
{
|
||
if (lstXLGGTZ[i].Equals("7"))
|
||
{
|
||
TZGG_7(ref ds);
|
||
}
|
||
if (lstXLGGTZ[i].Equals("9"))
|
||
{
|
||
TZGG_9(ref ds);
|
||
}
|
||
if (lstXLGGTZ[i].Equals("8"))
|
||
{
|
||
TZGG_8(ref ds);
|
||
}
|
||
if (sXLJGU007.Equals("B"))
|
||
{
|
||
if (lstXLGGTZ[i].Equals("3"))
|
||
{
|
||
TZGG_3(ref ds);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (lstXLGGTZ[i].Equals("6"))
|
||
{
|
||
TZGG_6(ref ds);
|
||
}
|
||
}
|
||
if (lstXLGGTZ[i].Equals("1"))
|
||
{
|
||
TZGG_1(ref ds);
|
||
}
|
||
if (lstXLGGTZ[i].Equals("2"))
|
||
{
|
||
TZGG_2(ref ds);
|
||
}
|
||
if (lstXLGGTZ[i].Equals("4"))
|
||
{
|
||
TZGG_4(ref ds);
|
||
}
|
||
if (lstXLGGTZ[i].Equals("A"))
|
||
{
|
||
TZGG_A(ref ds);
|
||
}
|
||
if (lstXLGGTZ[i].Equals("B"))
|
||
{
|
||
TZGG_B(ref ds);
|
||
}
|
||
}
|
||
}
|
||
//A|× B|*
|
||
if (sXLJGU007.Equals("B"))
|
||
{
|
||
TZGG_0(ref ds);
|
||
}
|
||
else
|
||
{
|
||
TZGG_5(ref ds);
|
||
}
|
||
}
|
||
//使用标准电压等级替换外部报价单明细电压等级
|
||
DYDJTH(ref ds);
|
||
// 规格/型号:useDxthEquivalent 为 true 时走迁入等效,否则 GGZZTH + XHZZTH
|
||
ApplyGgXhOrDxth(ref ds, UseDxthEquivalentRules);
|
||
//处理特殊电压替换(AC10kV)
|
||
TSDYTH(ref ds);
|
||
//处理修订标志
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y"))
|
||
UpdateXDBZ(ref ds);
|
||
//使用ds更新外部报价单明细数据
|
||
UpdateData(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
//预处理原则2
|
||
RecoverData(dberp, SQL, sWBBJDID, sSELBJDID);
|
||
}
|
||
tSQL.Clear();
|
||
tSQL.Add("select XLWBBJDMX_XLXHID,XLWBBJDMX_DYDJID,XLWBBJDMX_DRHH, ");
|
||
tSQL.Add(" XLWBBJDMX_XDBZ,' ' AS OLD_XLXHID,' ' AS XLWBBJDMX_XLGGID,' ' AS OLD_XLGGID,' ' AS OLD_DYDJID ");
|
||
tSQL.Add(" from XLWBBJDMX ");
|
||
tSQL.Add(" where 1=1 ");
|
||
tSQL.Add(" and isnull(XLWBBJDMX_BJCP, ' ') =' ' and isnull(XLWBBJDMX_XLXHID, ' ') <> ' ' ");
|
||
tSQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
tSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
tSQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
ds = dberp.OpenDataSet(tSQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
if (bBJCP)
|
||
{
|
||
GetXLXHIDList(dberp, SQL, true, ref lstXLXHID);
|
||
GetDYDJIDList(dberp, SQL, ref lstDYDJID);
|
||
|
||
if (pzxx.XLXSBJPZ_THSFTGKBXH == "Y")
|
||
GetBJXHList(dberp, SQL, PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("JGCIDS"), ref lstBJXHList);
|
||
else
|
||
lstBJXHList.Clear();
|
||
|
||
GetXLWBBJDXHDZB(dberp, SQL, ref dicXLWBBJDXHDZB);
|
||
|
||
DataSet dsXLWBBJDANXX = new DataSet();
|
||
dsXLWBBJDANXX = GetXLWBBJDANXX("01");
|
||
for (int i = 0; i < dsXLWBBJDANXX.Tables[0].Rows.Count; i++)
|
||
{
|
||
lstXLXHTZ.Add(dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim());
|
||
}
|
||
}
|
||
bBJCP = false;
|
||
//解析型号
|
||
Dictionary<string, string> dicDYDJTH = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||
dicDYDJTH = XLWBBJDUtils.GetDYDJTH();
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstXLXHID.Contains(sXLXHID.ToUpper()) && sXLXHID.LastIndexOf('-') > 0)
|
||
{
|
||
string sDYDJID = sXLXHID.Substring(sXLXHID.LastIndexOf('-') + 1).Trim();
|
||
if (dicDYDJTH.ContainsKey(sDYDJID.ToUpper()))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID.Substring(0, sXLXHID.LastIndexOf('-')).Trim();
|
||
if (ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim().Equals(""))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = dicDYDJTH[sDYDJID.ToUpper()];
|
||
}
|
||
else if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID.Substring(0,sXLXHID.LastIndexOf('-')).Trim();
|
||
if (ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim().Equals(""))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID.Replace("KV","kV");
|
||
}
|
||
}
|
||
}
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y"))
|
||
JLYXHGGDY(ref ds);
|
||
|
||
#region 型号替换
|
||
if (ShouldRunPageTzxhTzggPreDxth())
|
||
{
|
||
if (lstXLXHTZ.Count == 0)
|
||
{
|
||
Dictionary<string, string> dicMRZX = XLBJD_WBBJDANXX.XHTZ_MRZS();
|
||
foreach (KeyValuePair<string, string> kvp in dicMRZX)
|
||
{
|
||
if (kvp.Key.Equals("0"))
|
||
{
|
||
TZXH_0(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("1"))
|
||
{
|
||
TZXH_1(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("2"))
|
||
{
|
||
TZXH_2(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("3"))
|
||
{
|
||
TZXH_3(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("4"))
|
||
{
|
||
TZXH_4(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("8"))
|
||
{
|
||
TZXH_8(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("9"))
|
||
{
|
||
TZXH_9(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("A"))
|
||
{
|
||
TZXH_A(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("B"))
|
||
{
|
||
TZXH_B(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("C"))
|
||
{
|
||
TZXH_C(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("D"))
|
||
{
|
||
TZXH_D(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("7"))
|
||
{
|
||
TZXH_7(ref ds, dicXLWBBJDXHDZB);
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//依照配置顺序执行
|
||
for (int i = 0; i < lstXLXHTZ.Count; i++)
|
||
{
|
||
if (lstXLXHTZ[i].Equals("0"))
|
||
{
|
||
TZXH_0(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("1"))
|
||
{
|
||
TZXH_1(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("2"))
|
||
{
|
||
TZXH_2(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("3"))
|
||
{
|
||
TZXH_3(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("4"))
|
||
{
|
||
TZXH_4(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("8"))
|
||
{
|
||
TZXH_8(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("9"))
|
||
{
|
||
TZXH_9(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("A"))
|
||
{
|
||
TZXH_A(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("B"))
|
||
{
|
||
TZXH_B(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("C"))
|
||
{
|
||
TZXH_C(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("D"))
|
||
{
|
||
TZXH_D(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("E"))
|
||
{
|
||
TZXH_E(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("F"))
|
||
{
|
||
TZXH_F(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("G"))
|
||
{
|
||
TZXH_G(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("H"))
|
||
{
|
||
TZXH_H(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("I"))
|
||
{
|
||
TZXH_I(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("J"))
|
||
{
|
||
TZXH_J(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("K"))
|
||
{
|
||
TZXH_K(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("L"))
|
||
{
|
||
TZXH_L(lstBJXHList, ref ds);
|
||
}
|
||
if (lstXLXHTZ[i].Equals("7"))
|
||
{
|
||
TZXH_7(ref ds, dicXLWBBJDXHDZB);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
// 型号:等效侧且模块开时已跳过上方 TZXH;此处再按 UseDxthEquivalentRules 走 XHZZTH 或迁入 TryApply
|
||
ApplyXhOrDxth(ref ds, UseDxthEquivalentRules);
|
||
//处理修订标志
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y"))
|
||
UpdateXDBZ(ref ds);
|
||
//使用ds更新外部报价单明细型号和电压
|
||
UpdateWBBJDXHDY(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLWBBJDMX_Batch(dberp, CurSession, sWBBJDID);
|
||
}
|
||
if (!bBJCP)
|
||
{
|
||
//型号规格增加替换
|
||
SelectMatchForXLXHIDAndXLGGID();
|
||
//更新预处理字段为"Y"
|
||
UpdateMLYCL(dberp, SQL, sWBBJDID, sSELBJDID, "Y");
|
||
//
|
||
}
|
||
|
||
//若启用国网物料编码则依据国网物料编码刷新要素
|
||
if (XLBJDUtils.ExistXLXSBJGWWL())
|
||
{
|
||
GetGWWLBMYS(dberp, SQL, sWBBJDID, sSELBJDID, ref ds);
|
||
UpdateCPYS(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 模板事件继承
|
||
|
||
protected override void Master_OnQuery()
|
||
{
|
||
//QueryGrid.CheckedRows = "";
|
||
IntiControl();
|
||
QueryAreaUpdate();
|
||
entity.sWBBJDID = sWBBJDID;
|
||
entity.sBJDID = sSELBJDID;
|
||
entity.sTargetBJDID = PageParam.GetRTrimString("BJDID").Trim();
|
||
entity.sJGBID = PageParam.GetRTrimString("JGBID").Trim();
|
||
entity.sJGCIDS = GetJGCIDS(PageParam.GetRTrimString("JGBID").Trim(), "JGB");
|
||
entity.sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
||
if (1 == flag)
|
||
{
|
||
entity.sXLXHID = "";
|
||
entity.sXLBZID = "";
|
||
entity.sDYDJID = "";
|
||
entity.sXLYSID = "";
|
||
entity.sJLDW = "";
|
||
entity.sXD = "";
|
||
entity.sWG = "";
|
||
entity.sBHFCX = "";
|
||
entity.sBJCP = "";
|
||
}
|
||
else
|
||
{
|
||
//查询相关
|
||
entity.sXLXHID = cbxXLXHID.SelectedValue.Trim();
|
||
entity.sXLBZID = cbxXLBZID.SelectedValue.Trim();
|
||
entity.sDYDJID = cbxDYDJID.SelectedValue.Trim();
|
||
entity.sXLYSID = cbxXLYSID.SelectedValue.Trim();
|
||
entity.sJLDW = cbxJLDW.SelectedValue.Trim();
|
||
entity.sXD = cbxXD.SelectedValue.Trim();
|
||
entity.sWG = cbxWG.SelectedValue.Trim();
|
||
entity.sBHFCX = cbxBHFCX.SelectedValue.Trim();
|
||
entity.sBJCP = txtBJCP.Text.Trim();
|
||
entity.sZHCPML = txtZHCPML.Text.Trim();
|
||
}
|
||
base.Master_OnQuery();
|
||
}
|
||
|
||
protected override void GridDataBind()
|
||
{
|
||
base.GridDataBind();
|
||
}
|
||
|
||
protected override bool DataLogicValid()
|
||
{
|
||
bool bResult = base.DataLogicValid();
|
||
return true;
|
||
}
|
||
|
||
protected override bool Master_OnOK()
|
||
{
|
||
bool bResult = base.Master_OnOK();
|
||
if (!bResult) return false;
|
||
return bResult;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 自定义函数
|
||
|
||
private const int DxthModuleUmid = 102373006;
|
||
|
||
private bool UseDxthEquivalentRules
|
||
{
|
||
get { return XLBJDUtils.GetXLXSBJPZXX(100860043).XLXSBJPZ_QYBJDXTH.Trim().Equals("Y"); }
|
||
}
|
||
|
||
private sealed class DxthLineInfo
|
||
{
|
||
public string XLWBBJDMX_WBBJDID;
|
||
public double XLWBBJDMX_DRHH;
|
||
public string XLWBBJDMX_BJDID;
|
||
public string XLWBBJDMX_BJCP;
|
||
public string XLWBBJDMX_XLXHID;
|
||
public string XLWBBJDMX_XLGGID;
|
||
public string XLWBBJDMX_XLBZID;
|
||
public string XLWBBJDMX_DYDJID;
|
||
public string XLWBBJDMX_XLYSID;
|
||
public string XLWBBJDMX_JLDW;
|
||
public double XLWBBJDMX_BJSL;
|
||
public double XLWBBJDMX_CPBJ;
|
||
public string XLWBBJDMX_BZ;
|
||
}
|
||
|
||
private static bool DxthTableHasColumn(DataTable dt, string columnName)
|
||
{
|
||
return dt != null && dt.Columns.Contains(columnName);
|
||
}
|
||
|
||
private static string DxthCellTrim(DataRow row, string columnName)
|
||
{
|
||
if (row == null || row.Table == null || !DxthTableHasColumn(row.Table, columnName))
|
||
return string.Empty;
|
||
if (row[columnName] == null || row[columnName] == DBNull.Value)
|
||
return string.Empty;
|
||
return row[columnName].ToString().Trim();
|
||
}
|
||
|
||
private static DxthLineInfo RowToDxthLineInfo(DataRow row)
|
||
{
|
||
DxthLineInfo info = new DxthLineInfo();
|
||
if (row == null || row.Table == null)
|
||
return info;
|
||
info.XLWBBJDMX_WBBJDID = DxthCellTrim(row, "XLWBBJDMX_WBBJDID");
|
||
info.XLWBBJDMX_DRHH = CMISproConvert.StrToFloat(DxthCellTrim(row, "XLWBBJDMX_DRHH"));
|
||
info.XLWBBJDMX_BJDID = DxthCellTrim(row, "XLWBBJDMX_BJDID");
|
||
info.XLWBBJDMX_BJCP = DxthCellTrim(row, "XLWBBJDMX_BJCP");
|
||
info.XLWBBJDMX_XLXHID = DxthCellTrim(row, "XLWBBJDMX_XLXHID");
|
||
info.XLWBBJDMX_XLGGID = DxthCellTrim(row, "XLWBBJDMX_XLGGID");
|
||
info.XLWBBJDMX_XLBZID = DxthCellTrim(row, "XLWBBJDMX_XLBZID");
|
||
info.XLWBBJDMX_DYDJID = DxthCellTrim(row, "XLWBBJDMX_DYDJID");
|
||
info.XLWBBJDMX_XLYSID = DxthCellTrim(row, "XLWBBJDMX_XLYSID");
|
||
info.XLWBBJDMX_JLDW = DxthCellTrim(row, "XLWBBJDMX_JLDW");
|
||
info.XLWBBJDMX_BJSL = CMISproConvert.StrToFloat(DxthCellTrim(row, "XLWBBJDMX_BJSL"));
|
||
info.XLWBBJDMX_CPBJ = CMISproConvert.StrToFloat(DxthCellTrim(row, "XLWBBJDMX_CPBJ"));
|
||
info.XLWBBJDMX_BZ = DxthCellTrim(row, "XLWBBJDMX_BZ");
|
||
return info;
|
||
}
|
||
|
||
private static void DxthLineInfoToRow(DxthLineInfo info, DataRow row)
|
||
{
|
||
if (info == null || row == null || row.Table == null)
|
||
return;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_WBBJDID")) row["XLWBBJDMX_WBBJDID"] = info.XLWBBJDMX_WBBJDID ?? string.Empty;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_DRHH")) row["XLWBBJDMX_DRHH"] = info.XLWBBJDMX_DRHH;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_BJDID")) row["XLWBBJDMX_BJDID"] = info.XLWBBJDMX_BJDID ?? string.Empty;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_BJCP")) row["XLWBBJDMX_BJCP"] = info.XLWBBJDMX_BJCP ?? string.Empty;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_XLXHID")) row["XLWBBJDMX_XLXHID"] = info.XLWBBJDMX_XLXHID ?? string.Empty;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_XLGGID")) row["XLWBBJDMX_XLGGID"] = info.XLWBBJDMX_XLGGID ?? string.Empty;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_XLBZID")) row["XLWBBJDMX_XLBZID"] = info.XLWBBJDMX_XLBZID ?? string.Empty;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_DYDJID")) row["XLWBBJDMX_DYDJID"] = info.XLWBBJDMX_DYDJID ?? string.Empty;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_XLYSID")) row["XLWBBJDMX_XLYSID"] = info.XLWBBJDMX_XLYSID ?? string.Empty;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_JLDW")) row["XLWBBJDMX_JLDW"] = info.XLWBBJDMX_JLDW ?? string.Empty;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_BJSL")) row["XLWBBJDMX_BJSL"] = info.XLWBBJDMX_BJSL;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_CPBJ")) row["XLWBBJDMX_CPBJ"] = info.XLWBBJDMX_CPBJ;
|
||
if (DxthTableHasColumn(row.Table, "XLWBBJDMX_BZ")) row["XLWBBJDMX_BZ"] = info.XLWBBJDMX_BZ ?? string.Empty;
|
||
}
|
||
|
||
private static string DxthRemoveChinese(string input)
|
||
{
|
||
if (input == null)
|
||
input = string.Empty;
|
||
StringBuilder sb = new StringBuilder();
|
||
foreach (char c in input)
|
||
{
|
||
if ((c < '\u4E00' || c > '\u9FFF'))
|
||
sb.Append(c);
|
||
}
|
||
return sb.ToString();
|
||
}
|
||
|
||
private static bool DxthIsNumeric(string value)
|
||
{
|
||
if (value == null)
|
||
return false;
|
||
return Regex.IsMatch(value, @"^[+-]?\d*[.]?\d*$");
|
||
}
|
||
|
||
private static void ApplyDxth(DxthLineInfo info, DataTable ycl, DataTable dzqd)
|
||
{
|
||
#region 预处理
|
||
|
||
if (ycl != null && ycl.Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ycl.Rows.Count; i++)
|
||
{
|
||
string sYCLLX = ycl.Rows[i]["XLXSBJDXYCLGZ_YCLLX"].ToString().Trim();
|
||
string sYCLGZ = ycl.Rows[i]["XLXSBJDXYCLGZ_YCLGZ"].ToString().Trim();
|
||
if (sYCLLX.Equals("XHYCL"))
|
||
{
|
||
if (sYCLGZ.Equals("去除空格"))
|
||
{
|
||
info.XLWBBJDMX_XLXHID = info.XLWBBJDMX_XLXHID.Replace(" ", "");
|
||
}
|
||
else if (sYCLGZ.Equals("去除中文"))
|
||
{
|
||
info.XLWBBJDMX_XLXHID = DxthRemoveChinese(info.XLWBBJDMX_XLXHID);
|
||
}
|
||
else if (sYCLGZ.Equals("小写字母全部转换为大写字母"))
|
||
{
|
||
info.XLWBBJDMX_XLXHID = info.XLWBBJDMX_XLXHID.ToUpper();
|
||
}
|
||
}
|
||
else if (sYCLLX.Equals("GGYCL"))
|
||
{
|
||
if (sYCLGZ.Equals("去除空格"))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = info.XLWBBJDMX_XLGGID.Replace(" ", "");
|
||
}
|
||
else if (sYCLGZ.Equals("去除非数值字符"))
|
||
{
|
||
string sXLGGID = info.XLWBBJDMX_XLGGID;
|
||
if (sXLGGID.Contains("-"))
|
||
{
|
||
sXLGGID = sXLGGID.Substring(0, sXLGGID.IndexOf('-'));
|
||
}
|
||
|
||
sXLGGID = sXLGGID.Replace('+', '+').Replace('×', '*').Replace('m', 'M').Replace("MM2", "").Replace("MM", "");
|
||
char[] chr = sXLGGID.ToCharArray();
|
||
string sTmpXLGGID = "";
|
||
for (int j = 0; j < chr.Length; j++)
|
||
{
|
||
if ((chr[j] >= '0' && chr[j] <= '9') || chr[j] == '/' || chr[j] == '*' || chr[j] == '+' || chr[j] == '.')
|
||
{
|
||
sTmpXLGGID += chr[j];
|
||
}
|
||
}
|
||
if (sXLGGID.Replace("(", "(").Replace(")", ")").EndsWith("(B)"))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = sTmpXLGGID.Replace('×', '*') + "(B)";
|
||
}
|
||
else if (sXLGGID.Replace("(", "(").Replace(")", ")").EndsWith("(F)"))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = sTmpXLGGID.Replace('×', '*') + "(F)";
|
||
}
|
||
else
|
||
info.XLWBBJDMX_XLGGID = sTmpXLGGID.Replace('×', '*');
|
||
|
||
}
|
||
else if (sYCLGZ.Equals("去除mm2,mm、E或者PE替换为或*"))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = info.XLWBBJDMX_XLGGID.Replace("mm2", "");
|
||
info.XLWBBJDMX_XLGGID = info.XLWBBJDMX_XLGGID.Replace("mm", "");
|
||
info.XLWBBJDMX_XLGGID = info.XLWBBJDMX_XLGGID.Replace("MM2", "");
|
||
info.XLWBBJDMX_XLGGID = info.XLWBBJDMX_XLGGID.Replace("MM", "");
|
||
if (info.XLWBBJDMX_XLGGID.Contains("E"))
|
||
{
|
||
string stmpXLGGID = info.XLWBBJDMX_XLGGID.Replace("PE*", "1*").Replace("PE×", "1×").Replace("E*", "1*").Replace("E×", "1×").Replace("PE", "1*").Replace("E", "1*");
|
||
string[] GGList = stmpXLGGID.Split('+');
|
||
if (GGList.Length > 1)
|
||
{
|
||
bool bHB1 = true;
|
||
bool bHB2 = true;
|
||
for (int j = 0; j < GGList.Length; j++)
|
||
{
|
||
if (GGList[j].Split('*').Length != 2)
|
||
bHB1 = false;
|
||
if (GGList[j].Split('×').Length != 2)
|
||
bHB2 = false;
|
||
}
|
||
if (bHB1 || bHB2)
|
||
{
|
||
string tmpGG = "";
|
||
for (int j = 1; j < GGList.Length; j++)
|
||
{
|
||
if (bHB1)
|
||
{
|
||
if (GGList[j].Split('*')[1].Trim().Equals(GGList[j - 1].Split('*')[1].Trim()))
|
||
{
|
||
GGList[j] = (CMISproConvert.StrToFloat(GGList[j].Split('*')[0].Trim()) + CMISproConvert.StrToFloat(GGList[j - 1].Split('*')[0].Trim())).ToString() + "*" + GGList[j].Split('*')[1].Trim();
|
||
GGList[j - 1] = "";
|
||
}
|
||
}
|
||
else if (bHB2)
|
||
{
|
||
if (GGList[j].Split('×')[1].Trim().Equals(GGList[j - 1].Split('×')[1].Trim()))
|
||
{
|
||
GGList[j] = (CMISproConvert.StrToFloat(GGList[j].Split('×')[0].Trim()) + CMISproConvert.StrToFloat(GGList[j - 1].Split('×')[0].Trim())).ToString() + "×" + GGList[j].Split('×')[1].Trim();
|
||
GGList[j - 1] = "";
|
||
}
|
||
}
|
||
}
|
||
for (int j = 0; j < GGList.Length; j++)
|
||
{
|
||
if (!GGList[j].Trim().Equals(""))
|
||
tmpGG = tmpGG + GGList[j].Trim() + "+";
|
||
}
|
||
tmpGG = tmpGG.TrimEnd('+');
|
||
info.XLWBBJDMX_XLGGID = tmpGG;
|
||
}
|
||
else
|
||
{
|
||
info.XLWBBJDMX_XLGGID = stmpXLGGID;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
info.XLWBBJDMX_XLGGID = stmpXLGGID;
|
||
}
|
||
}
|
||
|
||
}
|
||
else if (sYCLGZ.Equals("去除.0"))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = info.XLWBBJDMX_XLGGID.Replace(".0", "");
|
||
}
|
||
else if (sYCLGZ.Equals("x/X替换为×"))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = info.XLWBBJDMX_XLGGID.Replace('x', '×').Replace('X', '×');
|
||
}
|
||
else if (sYCLGZ.Equals("x/X替换为*"))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = info.XLWBBJDMX_XLGGID.Replace('x', '*').Replace('X', '*');
|
||
}
|
||
else if (sYCLGZ.Equals("1*截面"))
|
||
{
|
||
string sXLGGID = info.XLWBBJDMX_XLGGID.ToString().Trim();
|
||
|
||
if (sXLGGID.Contains("*") || sXLGGID.Contains("+") || sXLGGID.Contains("×"))
|
||
{
|
||
if (sXLGGID.Contains("+"))
|
||
{
|
||
string[] sTemp = sXLGGID.ToString().Trim().Split(new char[] { '+' }, StringSplitOptions.RemoveEmptyEntries);
|
||
for (int m = 0; m < sTemp.Length; m++)
|
||
{
|
||
if (!sTemp[m].ToString().Trim().Contains("*") && !sTemp[m].ToString().Trim().Contains("×") && !sTemp[m].ToString().Trim().Equals(""))
|
||
{
|
||
sTemp[m] = "1*" + sTemp[m];
|
||
}
|
||
}
|
||
sXLGGID = "";
|
||
for (int m = 0; m < sTemp.Length; m++)
|
||
{
|
||
sXLGGID = sXLGGID + "+" + sTemp[m];
|
||
}
|
||
info.XLWBBJDMX_XLGGID = sXLGGID.TrimStart('+').TrimEnd('+');
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (!sXLGGID.Equals(""))
|
||
{
|
||
if (DxthIsNumeric(sXLGGID.Replace("(", "(").Replace(")", ")").Replace("(B)", "").Replace("(F)", "")))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = "1*" + sXLGGID;
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
else if (sYCLGZ.Equals("()替换为()"))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = info.XLWBBJDMX_XLGGID.Replace("(", "(").Replace(")", ")");
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 替换规则
|
||
|
||
if (dzqd != null)
|
||
{
|
||
for (int i = 0; i < dzqd.Rows.Count; i++)
|
||
{
|
||
string sTHLX = dzqd.Rows[i]["XLXSBJDXTHDZQD_THLX"].ToString().Trim();
|
||
string sTHQXHZF = dzqd.Rows[i]["XLXSBJDXTHDZQD_THQXHZF"].ToString().Trim();
|
||
string sTHHXHZF = dzqd.Rows[i]["XLXSBJDXTHDZQD_THHXHZF"].ToString().Trim();
|
||
string sTHQGGZF = dzqd.Rows[i]["XLXSBJDXTHDZQD_THQGGZF"].ToString().Trim();
|
||
string sTHHGGZF = dzqd.Rows[i]["XLXSBJDXTHDZQD_THHGGZF"].ToString().Trim();
|
||
string sTHQDYDJZF = dzqd.Rows[i]["XLXSBJDXTHDZQD_THQDYDJZF"].ToString().Trim();
|
||
string sTHHDYDJZF = dzqd.Rows[i]["XLXSBJDXTHDZQD_THHDYDJZF"].ToString().Trim();
|
||
if (sTHLX.Equals("XHJQTH"))
|
||
{
|
||
if (info.XLWBBJDMX_XLXHID.Equals(sTHQXHZF))
|
||
{
|
||
info.XLWBBJDMX_XLXHID = sTHHXHZF;
|
||
}
|
||
}
|
||
else if (sTHLX.Equals("XHZZTH"))
|
||
{
|
||
info.XLWBBJDMX_XLXHID = Regex.Replace(info.XLWBBJDMX_XLXHID, sTHQXHZF, sTHHXHZF);
|
||
}
|
||
else if (sTHLX.Equals("GGZZTH"))
|
||
{
|
||
info.XLWBBJDMX_XLGGID = Regex.Replace(info.XLWBBJDMX_XLGGID, sTHQGGZF, sTHHGGZF);
|
||
}
|
||
else if (sTHLX.Equals("DYDJJQTH"))
|
||
{
|
||
if (info.XLWBBJDMX_DYDJID.Equals(sTHQDYDJZF))
|
||
{
|
||
info.XLWBBJDMX_DYDJID = sTHHDYDJZF;
|
||
}
|
||
}
|
||
else if (sTHLX.Equals("XHZZDYDJJQTHDYDJ"))
|
||
{
|
||
if (Regex.IsMatch(info.XLWBBJDMX_XLXHID, sTHQXHZF) && info.XLWBBJDMX_DYDJID == sTHQDYDJZF)
|
||
{
|
||
info.XLWBBJDMX_DYDJID = sTHHDYDJZF;
|
||
}
|
||
}
|
||
else if (sTHLX.Equals("XHGGJQTH"))
|
||
{
|
||
if (info.XLWBBJDMX_XLXHID == sTHQXHZF && info.XLWBBJDMX_XLGGID == sTHQGGZF)
|
||
{
|
||
info.XLWBBJDMX_XLXHID = sTHHXHZF;
|
||
info.XLWBBJDMX_XLGGID = sTHHGGZF;
|
||
}
|
||
}
|
||
else if (sTHLX.Equals("XHGGDYDJJQTH"))
|
||
{
|
||
if (info.XLWBBJDMX_XLXHID == sTHQXHZF &&
|
||
info.XLWBBJDMX_XLGGID == sTHQGGZF &&
|
||
info.XLWBBJDMX_DYDJID == sTHQDYDJZF)
|
||
{
|
||
info.XLWBBJDMX_XLXHID = sTHHXHZF;
|
||
info.XLWBBJDMX_XLGGID = sTHHGGZF;
|
||
info.XLWBBJDMX_DYDJID = sTHHDYDJZF;
|
||
}
|
||
}
|
||
else if (sTHLX.Equals("XHDYDJJQTH"))
|
||
{
|
||
if (info.XLWBBJDMX_XLXHID == sTHQXHZF && info.XLWBBJDMX_DYDJID == sTHQDYDJZF)
|
||
{
|
||
info.XLWBBJDMX_XLXHID = sTHHXHZF;
|
||
|
||
info.XLWBBJDMX_DYDJID = sTHHDYDJZF;
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
|
||
private bool ShouldRunPageTzxhTzggPreDxth()
|
||
{
|
||
return !(UseDxthEquivalentRules && DSActiveModule.IsActiveModule(DxthModuleUmid));
|
||
}
|
||
|
||
private bool TryApplyDxthEquivalent(DataSet ds)
|
||
{
|
||
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
||
return false;
|
||
if (!DSActiveModule.IsActiveModule(DxthModuleUmid))
|
||
return false;
|
||
try
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
sql.Clear();
|
||
sql.Add("select XLXSBJDXYCLGZ_YCLLX,XLXSBJDXYCLGZ_YCLGZ from XLXSBJDXYCLGZ where isnull(XLXSBJDXYCLGZ_TYBZ,'N')<>'Y' order by XLXSBJDXYCLGZ_YCLLX ");
|
||
DataSet dsYcl = dberp.OpenDataSet(sql);
|
||
sql.Clear();
|
||
sql.Add("select XLXSBJDXTHDZQD_THLX,XLXSBJDXTHDZQD_THQXHZF,XLXSBJDXTHDZQD_THHXHZF,XLXSBJDXTHDZQD_THQGGZF,XLXSBJDXTHDZQD_THHGGZF,");
|
||
sql.Add(" XLXSBJDXTHDZQD_THQDYDJZF,XLXSBJDXTHDZQD_THHDYDJZF,XLXSBJDXTHDZQD_BZ from XLXSBJDXTHDZQD order by XLXSBJDXTHDZQD_THYXJ desc,XLXSBJDXTHDZQD_XH ");
|
||
DataSet dsDzq = dberp.OpenDataSet(sql);
|
||
DataTable ycl = (dsYcl != null && dsYcl.Tables.Count > 0) ? dsYcl.Tables[0] : null;
|
||
DataTable dzqd = (dsDzq != null && dsDzq.Tables.Count > 0) ? dsDzq.Tables[0] : null;
|
||
|
||
DataTable dt = ds.Tables[0];
|
||
for (int i = 0; i < dt.Rows.Count; i++)
|
||
{
|
||
DxthLineInfo info = RowToDxthLineInfo(dt.Rows[i]);
|
||
ApplyDxth(info, ycl, dzqd);
|
||
DxthLineInfoToRow(info, dt.Rows[i]);
|
||
}
|
||
return true;
|
||
}
|
||
catch
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
|
||
private void ApplyGgXhOrDxth(ref DataSet ds, bool useDxthEquivalent)
|
||
{
|
||
if (useDxthEquivalent && TryApplyDxthEquivalent(ds))
|
||
return;
|
||
GGZZTH(ref ds);
|
||
XHZZTH(ref ds);
|
||
}
|
||
|
||
private void ApplyXhOrDxth(ref DataSet ds, bool useDxthEquivalent)
|
||
{
|
||
if (useDxthEquivalent && TryApplyDxthEquivalent(ds))
|
||
return;
|
||
XHZZTH(ref ds);
|
||
}
|
||
|
||
#endregion
|
||
|
||
private void IntiControl()
|
||
{
|
||
//this.Master.PnlQuery.GroupingText = "查询条件";
|
||
//this.Master.PnlBill.GroupingText = "单据信息";
|
||
string sXLXHID = cbxXLXHID.SelectedValue.Trim();
|
||
//string sXLGGID = cbxXLXHID.SelectedValue.Trim();
|
||
string sXLBZID = cbxXLBZID.SelectedValue.Trim();
|
||
string sDYDJID = cbxDYDJID.SelectedValue.Trim();
|
||
string sXLYSID = cbxXLYSID.SelectedValue.Trim();
|
||
int Existflag = 0;
|
||
List<string> lstValue = new List<string>();
|
||
lstValue.Clear();
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
sql.Clear();
|
||
sql.Add(" SELECT distinct XLWBBJDMX_XLXHID as ID,XLWBBJDMX_XLXHID as CODE FROM XLWBBJDMX ");
|
||
sql.Add(" WHERE 1 = 1 and XLWBBJDMX_WBBJDID = :pWBBJDID and XLWBBJDMX_BJDID = :pBJDID ");
|
||
sql.Add(" and isnull(XLWBBJDMX_XLXHID, ' ') <>' ' ");
|
||
sql.Add(" order by ID ");
|
||
sql.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sql.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet ds = dberp.OpenDataSet(sql);
|
||
cbxXLXHID.ClearItems();
|
||
cbxXLXHID.Items.Add(new ListItem("", ""));
|
||
cbxXLXHID.Items.Add(new ListItem("空", "空"));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
cbxXLXHID.Items.Add(new ListItem(ds.Tables[0].Rows[i]["CODE"].ToString().Trim(), ds.Tables[0].Rows[i]["ID"].ToString().Trim()));
|
||
if (ds.Tables[0].Rows[i]["ID"].ToString().Trim().Equals(sXLXHID) || sXLXHID.Equals("空"))
|
||
{
|
||
Existflag = 1;
|
||
}
|
||
}
|
||
if (0 == Existflag)
|
||
{
|
||
cbxXLXHID.SelectedValue = "";
|
||
}
|
||
}
|
||
Existflag = 0;
|
||
sql.Clear();
|
||
sql.Add(" SELECT distinct XLWBBJDMX_XLBZID as ID,XLBZ_XLBZLXMC as CODE,XLBZ_PX FROM XLWBBJDMX ");
|
||
sql.Add(" left join XLBZ on XLBZ_XLBZID = XLWBBJDMX_XLBZID ");
|
||
sql.Add(" WHERE 1 = 1 and XLWBBJDMX_WBBJDID = :pWBBJDID and XLWBBJDMX_BJDID = :pBJDID ");
|
||
sql.Add(" and isnull(XLWBBJDMX_XLBZID, ' ') <>' ' ");
|
||
sql.Add(" order by XLBZ_PX,ID ");
|
||
sql.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sql.ParamByName("pBJDID").Value = sSELBJDID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
cbxXLBZID.ClearItems();
|
||
cbxXLBZID.Items.Add(new ListItem("", ""));
|
||
cbxXLBZID.Items.Add(new ListItem("空", "空"));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
cbxXLBZID.Items.Add(new ListItem(ds.Tables[0].Rows[i]["CODE"].ToString().Trim(), ds.Tables[0].Rows[i]["ID"].ToString().Trim()));
|
||
if (ds.Tables[0].Rows[i]["ID"].ToString().Trim().Equals(sXLBZID) || sXLBZID.Equals("空"))
|
||
{
|
||
Existflag = 1;
|
||
}
|
||
}
|
||
if (0 == Existflag)
|
||
{
|
||
cbxXLBZID.SelectedValue = "";
|
||
}
|
||
}
|
||
Existflag = 0;
|
||
sql.Clear();
|
||
sql.Add("SELECT distinct XLWBBJDMX_DYDJID as ID,XLWBBJDMX_DYDJID as CODE FROM XLWBBJDMX ");
|
||
sql.Add(" WHERE 1 = 1 and XLWBBJDMX_WBBJDID = :pWBBJDID and XLWBBJDMX_BJDID = :pBJDID ");
|
||
sql.Add(" and isnull(XLWBBJDMX_DYDJID, ' ') <>' ' ");
|
||
sql.Add(" order by ID ");
|
||
sql.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sql.ParamByName("pBJDID").Value = sSELBJDID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
cbxDYDJID.ClearItems();
|
||
cbxDYDJID.Items.Add(new ListItem("", ""));
|
||
cbxDYDJID.Items.Add(new ListItem("空", "空"));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
cbxDYDJID.Items.Add(new ListItem(ds.Tables[0].Rows[i]["CODE"].ToString().Trim(), ds.Tables[0].Rows[i]["ID"].ToString().Trim()));
|
||
if (ds.Tables[0].Rows[i]["ID"].ToString().Trim().Equals(sDYDJID) || sDYDJID.Equals("空"))
|
||
{
|
||
Existflag = 1;
|
||
}
|
||
}
|
||
if (0 == Existflag)
|
||
{
|
||
cbxDYDJID.SelectedValue = "";
|
||
}
|
||
}
|
||
Existflag = 0;
|
||
sql.Clear();
|
||
sql.Add(" SELECT distinct XLWBBJDMX_XLYSID as ID,XLYSB_XLYSMC as CODE,XLYSB_XSXH FROM XLWBBJDMX ");
|
||
sql.Add(" left join XLYSB on XLYSB_XLYSID = XLWBBJDMX_XLYSID ");
|
||
sql.Add(" WHERE 1 = 1 and XLWBBJDMX_WBBJDID = :pWBBJDID and XLWBBJDMX_BJDID = :pBJDID ");
|
||
sql.Add(" and isnull(XLWBBJDMX_XLYSID, ' ') <>' ' ");
|
||
sql.Add(" order by XLYSB_XSXH,ID ");
|
||
sql.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sql.ParamByName("pBJDID").Value = sSELBJDID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
cbxXLYSID.ClearItems();
|
||
cbxXLYSID.Items.Add(new ListItem("", ""));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
cbxXLYSID.Items.Add(new ListItem(ds.Tables[0].Rows[i]["CODE"].ToString().Trim(), ds.Tables[0].Rows[i]["ID"].ToString().Trim()));
|
||
if (ds.Tables[0].Rows[i]["ID"].ToString().Trim().Equals(sXLYSID))
|
||
{
|
||
Existflag = 1;
|
||
}
|
||
}
|
||
if (0 == Existflag)
|
||
{
|
||
cbxXLYSID.SelectedValue = "";
|
||
}
|
||
}
|
||
|
||
cbxXD.ClearItems();
|
||
cbxXD.Items.Add(new ListItem("", ""));
|
||
cbxXD.Items.Add(new ListItem("已修订","Y"));
|
||
cbxXD.Items.Add(new ListItem("未修订","N"));
|
||
cbxXD.ShowValue = false;
|
||
|
||
cbxWG.ClearItems();
|
||
cbxWG.Items.Add(new ListItem("", ""));
|
||
cbxWG.Items.Add(new ListItem("外购", "Y"));
|
||
cbxWG.Items.Add(new ListItem("非外购", "N"));
|
||
cbxWG.ShowValue = false;
|
||
cbxJLDW.ClearItems();
|
||
cbxJLDW.Items.Add(new ListItem("", ""));
|
||
string sJLDWList = XLBJDUtils.GetJLDWS();
|
||
string[] sTempJCJLDW = sJLDWList.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
for (int m = 0; m < sTempJCJLDW.Length; m++)
|
||
{
|
||
lstValue.Add(sTempJCJLDW[m]);
|
||
}
|
||
foreach (string sJLDW in lstValue)
|
||
{
|
||
cbxJLDW.Items.Add(new ListItem(sJLDW));
|
||
}
|
||
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSJGBMX_JLDW from XLXSJGBMX ");
|
||
sql.Add(" where 1=1 and XLXSJGBMX_JGBID = :pJGBID");
|
||
sql.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID");
|
||
ds.Clear();
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sJLDW = ds.Tables[0].Rows[i]["XLXSJGBMX_JLDW"].ToString().Trim();
|
||
if (lstValue.Contains(sJLDW))
|
||
{
|
||
continue;
|
||
}
|
||
else
|
||
cbxJLDW.Items.Add(new ListItem(sJLDW));
|
||
}
|
||
}
|
||
|
||
cbxBHFCX.ClearItems();
|
||
cbxBHFCX.Items.Add(new ListItem("", ""));
|
||
cbxBHFCX.Items.Add(new ListItem("型号不合规", "1"));
|
||
cbxBHFCX.Items.Add(new ListItem("规格不合规", "2"));
|
||
cbxBHFCX.Items.Add(new ListItem("电压等级不合规", "3"));
|
||
cbxBHFCX.Items.Add(new ListItem("型号&规格&电压等级不合规", "4"));
|
||
if (XLBJDUtils.IsJGEJGB(PageParam.GetRTrimString("JGBID")))
|
||
cbxBHFCX.Items.Add(new ListItem("材料清单未生成", "5"));
|
||
else
|
||
{
|
||
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
||
string sJGBBJBM = XLBJDUtils.GetJGBBJBM(sBJFLID);
|
||
if (sJGBBJBM.Equals(""))
|
||
{
|
||
sJGBBJBM = "表价";
|
||
}
|
||
cbxBHFCX.Items.Add(new ListItem("无" + sJGBBJBM, "5"));
|
||
}
|
||
|
||
|
||
cbxReplaceLM.ClearItems();
|
||
cbxReplaceLM.Items.Add(new ListItem("报价产品", "XLWBBJDMX_BJCP"));
|
||
cbxReplaceLM.Items.Add(new ListItem("型号", "XLWBBJDMX_XLXHID"));
|
||
cbxReplaceLM.Items.Add(new ListItem("规格", "XLWBBJDMX_XLGGID"));
|
||
if (GetOption(100860043, "BJU028") != "Y")
|
||
cbxReplaceLM.Items.Add(new ListItem("标准", "XLWBBJDMX_XLBZID"));
|
||
cbxReplaceLM.Items.Add(new ListItem("电压等级", "XLWBBJDMX_DYDJID"));
|
||
}
|
||
|
||
public static void JLYXHGGDY(ref DataSet ds)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
ds.Tables[0].Rows[i]["OLD_XLXHID"] = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString();
|
||
ds.Tables[0].Rows[i]["OLD_XLGGID"] = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString();
|
||
ds.Tables[0].Rows[i]["OLD_DYDJID"] = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString();
|
||
|
||
}
|
||
}
|
||
|
||
|
||
public static void UpdateXDBZ(ref DataSet ds)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!(ds.Tables[0].Rows[i]["OLD_XLXHID"].ToString().Trim().Equals(ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim())
|
||
&& ds.Tables[0].Rows[i]["OLD_XLGGID"].ToString().Trim().Equals(ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim())
|
||
&& ds.Tables[0].Rows[i]["OLD_DYDJID"].ToString().Trim().Equals(ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim())))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XDBZ"] = "Y";
|
||
}
|
||
}
|
||
}
|
||
|
||
public static void UpdateBZ(ref DataSet ds)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!(ds.Tables[0].Rows[i]["OLD_XLXHID"].ToString().Trim().Equals(ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim())
|
||
&& ds.Tables[0].Rows[i]["OLD_XLGGID"].ToString().Trim().Equals(ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim())
|
||
&& ds.Tables[0].Rows[i]["OLD_DYDJID"].ToString().Trim().Equals(ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim())))
|
||
{
|
||
string sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim() + "-" + ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim() + " " + ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
if (ds.Tables[0].Rows[i]["XLWBBJDMX_BZ"].ToString().Trim().Equals(""))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BZ"] = sBJCP;
|
||
else
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BZ"] = ds.Tables[0].Rows[i]["XLWBBJDMX_BZ"].ToString().Trim()+" "+sBJCP;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
#region 外部报价单明细列展示初始化
|
||
//外部报价单明细列展示初始化
|
||
private void InitGrid(string sWBBJDID, string sXLBJDID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDML_SJLY,XLWBBJDML_FS,XLWBBJDML_FSXH from XLWBBJDML ");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and XLWBBJDML_WBBJDID=:pWBBJDID ");
|
||
SQL.Add(" and XLWBBJDML_BJDID=:pBJDID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sXLBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
sBJSJLY = ds.Tables[0].Rows[0][0].ToString().Trim();
|
||
if (sBJSJLY.Equals("BJCP"))
|
||
{
|
||
btnDRXSHTBD.Visible = false;
|
||
btnDRBJDMX.Visible = true;
|
||
|
||
}
|
||
else if (sBJSJLY.Equals("BJTP"))
|
||
{
|
||
btnDRXSHTBD.Visible = false;
|
||
btnDRBJDMX.Visible = true;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDNR_LMNR").Visible = true;
|
||
|
||
SQL.Clear();
|
||
SQL.Add("SELECT XLWBBJDLM_LMBH FROM XLWBBJDLM WHERE XLWBBJDLM_ZDLMLX = '1' ");
|
||
SQL.Add(" and XLWBBJDLM_WBBJDID=:pWBBJDID and XLWBBJDLM_BJDID=:pBJDID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sXLBJDID;
|
||
DataSet dsLM = dberp.OpenDataSet(SQL);
|
||
if (dsLM.Tables[0].Rows.Count > 0)
|
||
{
|
||
entity.sLMNR = dsLM.Tables[0].Rows[0][0].ToString().Trim();
|
||
}
|
||
else
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDNR_LMNR").Visible = false;
|
||
}
|
||
}
|
||
else if (sBJSJLY.Equals("BJWL") || sBJSJLY.Equals("KHWL"))
|
||
{
|
||
btnBJCPJX.Visible = false;
|
||
btnXHTZ.Visible = false;
|
||
btnGGTZ.Visible = false;
|
||
btnBZDY.Visible = false;
|
||
btnDRXSHTBD.Visible = false;
|
||
btnDRBJDMX.Visible = true;
|
||
btnPPXLWL.Visible = true;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_WLID").Visible = true;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_BJCP").Visible = false;
|
||
|
||
}
|
||
else if (sBJSJLY.Equals("XSHT"))
|
||
{
|
||
btnDRXSHTBD.Visible = true;
|
||
btnDRBJDMX.Visible = false;
|
||
}
|
||
}
|
||
if (XLBJDUtils.ExistXLXSBJGWWL())
|
||
{
|
||
btnGWWLBMPP.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
btnGWWLBMPP.Visible = false;
|
||
}
|
||
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
||
if (!XLBJDUtils.IsJGEJGB(PageParam.GetRTrimString("JGBID")))
|
||
{
|
||
string sJGBBJBM = XLBJDUtils.GetJGBBJBM(sBJFLID);
|
||
if (sJGBBJBM.Equals(""))
|
||
{
|
||
sJGBBJBM = "表价";
|
||
}
|
||
QueryGrid.FindColumnByFieldName("CLQWSC").HeaderText = "无" + sJGBBJBM;
|
||
}
|
||
if(PageParam.GetRTrimString("XSYXJ")=="Y")
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_YXJG").Visible = true;
|
||
else
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_YXJG").Visible = false;
|
||
if (PageParam.GetRTrimString("XSYZ") == "Y")
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_YZ").Visible = true;
|
||
else
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_YZ").Visible = false;
|
||
|
||
if (PageParam.GetRTrimString("XSYSCP") == "Y")
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_YSCP").Visible = true;
|
||
else
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_YSCP").Visible = false;
|
||
if (PageParam.GetRTrimString("XSKHWLID") == "Y")
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_KHWLID").Visible = true;
|
||
else
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_KHWLID").Visible = false;
|
||
|
||
if (PageParam.GetRTrimString("XSBH") == "Y")
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_FBH").Visible = true;
|
||
else
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_FBH").Visible = false;
|
||
|
||
if (PageParam.GetRTrimString("XSCPBJXJ") == "Y")
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_CPBJXJ").Visible = true;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_BJJEXJ").Visible = true;
|
||
|
||
}
|
||
else
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_CPBJXJ").Visible = false;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_BJJEXJ").Visible = false;
|
||
}
|
||
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(PageParam.GetRTrimString("BJFLID"));
|
||
if (!bjflxx.XLXSBJFL_JMBGSYZID.Equals(""))
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_JMBGS").Visible = true;
|
||
}
|
||
else
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_JMBGS").Visible = false;
|
||
}
|
||
if (!string.IsNullOrEmpty(bjflxx.XLXSBJFL_JMBGSBM.Trim()))
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_JMBGS").HeaderText = bjflxx.XLXSBJFL_JMBGSBM.Trim();
|
||
}
|
||
if (bjflxx.XLXSBJFL_XSLSBJ.Equals("Y"))
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_LSJGBBJ").Visible = true;
|
||
}
|
||
else
|
||
{
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_LSJGBBJ").Visible = false;
|
||
}
|
||
|
||
for (int i = 1; i <= 20; i++)
|
||
{
|
||
string sYZZField = string.Format("XLWBBJDMXYZZ_YZZ{0}", i.ToString().PadLeft(2, '0'));
|
||
QueryGrid.FindColumnByFieldName(sYZZField).Visible = false;
|
||
}
|
||
Dictionary<string, string> dicWBBJDYZZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(PageParam.GetRTrimString("BJDID"));
|
||
foreach (KeyValuePair<string, string> kvp in dicWBBJDYZZGDLM)
|
||
{
|
||
int iYZZIdx = XLWBBJDUtils.GetWBBJDYZZIndexByLMKey(kvp.Key);
|
||
if (iYZZIdx >= 0 && iYZZIdx < 20)
|
||
{
|
||
string sYZZField = string.Format("XLWBBJDMXYZZ_YZZ{0}", (iYZZIdx + 1).ToString().PadLeft(2, '0'));
|
||
QueryGrid.FindColumnByFieldName(sYZZField).Visible = true;
|
||
QueryGrid.FindColumnByFieldName(sYZZField).HeaderText = kvp.Value;
|
||
}
|
||
}
|
||
|
||
if (PageParam.GetRTrimString("MLFZH") == "0")
|
||
{
|
||
lblFSXH.Visible = false;
|
||
}
|
||
else if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
string sFS = ds.Tables[0].Rows[0][1].ToString().Trim();
|
||
string sFSXH = ds.Tables[0].Rows[0][2].ToString().Trim();
|
||
lblFSXH.Text = string.Format("【{0}-{1}】", sFS, sFSXH);
|
||
lblFSXH.Visible = true;
|
||
}
|
||
|
||
int iXSWS = string.IsNullOrEmpty(GetOption(100860000,"BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860000,"BJU002"));
|
||
if (iXSWS < 0)
|
||
iXSWS = 0;
|
||
else if (iXSWS > 8)
|
||
iXSWS = 8;
|
||
QueryGrid.FindColumnByFieldName("XLWBBJDMX_CPBJ").NumberDecimalPlace = CMISproConvert.StrToInt(bjflxx.XLXSBJFL_CPBJMRXSWS) > iXSWS ? CMISproConvert.StrToInt(bjflxx.XLXSBJFL_CPBJMRXSWS) : iXSWS;//保留精度高的
|
||
}
|
||
#endregion
|
||
|
||
#region 获取份数序号
|
||
|
||
private int GetFSXH(string sWBBJDID, string sMLFZH, string sBJDID)
|
||
{
|
||
int iFSXH=1;
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDML_FSXH from XLWBBJDML ");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and XLWBBJDML_WBBJDID=:pWBBJDID ");
|
||
SQL.Add(" and XLWBBJDML_MLFZH=:pMLFZH ");
|
||
SQL.Add(" and XLWBBJDML_BJDID=:pBJDID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pMLFZH").Value = CMISproConvert.StrToFloat(sMLFZH);
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
iFSXH = CMISproConvert.StrToInt(ds.Tables[0].Rows[0][0].ToString().Trim(),1);
|
||
return iFSXH;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 报价产品的预处理
|
||
public static void TZBJCP_0(ref DataSet ds)
|
||
{
|
||
string sBJCP = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"] = sBJCP.Replace(" ", " ").Replace(" ", " ").Replace(" ", " ");
|
||
}
|
||
}
|
||
|
||
//去除报价产品中的mm 和mm2
|
||
public static void TZBJCP_1(ref DataSet ds)
|
||
{
|
||
string sBJCP = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"] = sBJCP.Replace("mm2", "").Replace("mm", "").Replace("MM2", "").Replace("MM", "");
|
||
}
|
||
}
|
||
|
||
//去除报价产品中中文
|
||
public static void TZBJCP_2(ref DataSet ds)
|
||
{
|
||
Regex reg = new Regex(@"[\u4e00-\u9fa5]");
|
||
Regex reg1 = new Regex(@"[\u4e00-\u9fa5][\w][\u4e00-\u9fa5]");
|
||
string sBJCP = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
if (sBJCP.Length > 0)
|
||
{
|
||
//判断是否为中文
|
||
if (!IsChineseCharacter(sBJCP[0]))
|
||
sBJCP = "中" + sBJCP;
|
||
}
|
||
bool bExists = true;
|
||
while (bExists)
|
||
{
|
||
if (Regex.IsMatch(sBJCP, @"[\u4e00-\u9fa5][\w][\u4e00-\u9fa5]"))
|
||
{
|
||
sBJCP = reg1.Replace(sBJCP, "中");
|
||
}
|
||
else
|
||
{
|
||
bExists = false;
|
||
}
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"] = reg.Replace(sBJCP, "");
|
||
}
|
||
}
|
||
|
||
//去除报价产品中冒号、--
|
||
public static void TZBJCP_3(ref DataSet ds)
|
||
{
|
||
string sBJCP = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
while (sBJCP.Contains("--"))
|
||
{
|
||
sBJCP = sBJCP.Replace("--", "-");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"] = sBJCP.Replace(":", "").Replace(":", "");
|
||
}
|
||
}
|
||
|
||
//芯替换*1
|
||
public static void TZBJCP_4(ref DataSet ds)
|
||
{
|
||
string sBJCP = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"] = sBJCP.Replace("芯", "*1");
|
||
}
|
||
}
|
||
|
||
//获取颜色
|
||
public static void TZBJCP_5(ref DataSet ds)
|
||
{
|
||
string sBJCP = "";
|
||
string sXLYSID = "";
|
||
Dictionary<string,string> dicXLYS = GetdicXLYS();
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
bool bExists = false;
|
||
sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
sXLYSID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLYSID"].ToString().Trim();
|
||
if (sXLYSID.Equals(""))
|
||
{
|
||
foreach(string key in dicXLYS.Keys)
|
||
{
|
||
if(sBJCP.Contains(key))
|
||
{
|
||
sXLYSID = dicXLYS[key];
|
||
bExists = true;
|
||
break;
|
||
|
||
}
|
||
}
|
||
}
|
||
if (bExists)
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLYSID"] = sXLYSID;
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 报价产品解析
|
||
//通用解析形式
|
||
private void Analysis_Common(ref DataSet ds, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
bool bExist_XLXHID = false; //未匹配到型号
|
||
bool bExist_DYDJID = false;
|
||
|
||
//解析
|
||
string sCPXX = "";
|
||
string sTmpCPXX = "";
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
string sDYDJID = "";
|
||
string tmp = "";
|
||
string sBJU042 = "Y";
|
||
if (!GetOption(100860043, "BJU042").Equals(""))
|
||
{
|
||
sBJU042 = GetOption(100860043, "BJU042");
|
||
}
|
||
int iFGF_index = 0;//“-”分割符的位置,为了解决型号中有“-”的情况
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
bExist_XLXHID = false;
|
||
sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim().Replace('v', 'V').TrimStart('-').TrimEnd('-');
|
||
RecoverCPXX(ref sCPXX);
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
sDYDJID = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim();
|
||
|
||
if (sCPXX.Trim().Equals(""))
|
||
{
|
||
continue;
|
||
}
|
||
if (sCPXX.Contains(",") || sCPXX.Contains(","))
|
||
{
|
||
sCPXX = sCPXX.Replace(",", ",");
|
||
if ((sCPXX.Substring(0, sCPXX.IndexOf(','))).IndexOf("-") > 0 && sCPXX.IndexOf(',') > 0)
|
||
{
|
||
//7、解析:型号-电压,规格
|
||
sDYDJID = sCPXX.Substring(0, sCPXX.IndexOf(','));
|
||
sXLXHID = sDYDJID.Substring(0, sDYDJID.LastIndexOf('-'));
|
||
sDYDJID = sDYDJID.Replace(sXLXHID, "").Trim().TrimStart('-').TrimEnd('-').Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sCPXX.Substring(sCPXX.IndexOf(',') + 1, sCPXX.Length - sCPXX.IndexOf(',') - 1);
|
||
|
||
if (!sXLXHID.Equals("") && !bExist_XLXHID && lstXLXHID.Contains(sXLXHID.ToUpper()) && lstDYDJID.Contains(sDYDJID))
|
||
{
|
||
bExist_XLXHID = true;
|
||
}
|
||
|
||
if (!bExist_XLXHID)
|
||
{
|
||
if (sCPXX.Contains(" "))
|
||
{
|
||
if ((sCPXX.IndexOf(" ") == sCPXX.LastIndexOf(' ') || lstXLXHID.Contains(sCPXX.Substring(0,sCPXX.LastIndexOf(' ')))) && (sCPXX.IndexOf(" ") > 0 || sCPXX.LastIndexOf(' ') > 0))
|
||
{
|
||
//**1、解析:型号 规格
|
||
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf(' '));
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf(' ') + 1, sCPXX.Length - sCPXX.LastIndexOf(' ') - 1);
|
||
|
||
if (!bExist_XLXHID)
|
||
{
|
||
if (lstXLXHID.Contains(sXLXHID.ToUpper()) && sBJU042.Equals("Y"))
|
||
{
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
if (!sXLGGID.ToUpper().Contains("V") && !sXLGGID.ToUpper().Contains("KV"))
|
||
{
|
||
bExist_XLXHID = true;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (string sXLXHHZ in lstXLXHHZ)
|
||
{
|
||
if (sXLXHID.EndsWith(sXLXHHZ))
|
||
{
|
||
bExist_XLXHID = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//*1、解析:型号-规格
|
||
if (sCPXX.Contains("-"))
|
||
{
|
||
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf('-'));
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf('-') + 1, sCPXX.Length - sCPXX.LastIndexOf('-') - 1);
|
||
}
|
||
if (!bExist_XLXHID)
|
||
{
|
||
if (lstXLXHID.Contains(sXLXHID.ToUpper()) && sBJU042.Equals("Y"))
|
||
{
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
bExist_XLXHID = true;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (string sXLXHHZ in lstXLXHHZ)
|
||
{
|
||
if (sXLXHID.EndsWith(sXLXHHZ))
|
||
{
|
||
bExist_XLXHID = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else if (sCPXX.Contains(" "))
|
||
{
|
||
if ((sCPXX.IndexOf(" ") == sCPXX.LastIndexOf(' ') || lstXLXHID.Contains(sCPXX.Substring(0, sCPXX.LastIndexOf(' ')))) && (sCPXX.IndexOf(" ") > 0 || sCPXX.LastIndexOf(' ') > 0))
|
||
{
|
||
//**1、解析:型号 规格
|
||
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf(' '));
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf(' ') + 1, sCPXX.Length - sCPXX.LastIndexOf(' ') - 1);
|
||
|
||
if (!bExist_XLXHID)
|
||
{
|
||
if (lstXLXHID.Contains(sXLXHID.ToUpper()) && sBJU042.Equals("Y"))
|
||
{
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
if (!sXLGGID.ToUpper().Contains("V") && !sXLGGID.ToUpper().Contains("KV"))
|
||
{
|
||
bExist_XLXHID = true;
|
||
}
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (string sXLXHHZ in lstXLXHHZ)
|
||
{
|
||
if (sXLXHID.EndsWith(sXLXHHZ))
|
||
{
|
||
if (!sXLGGID.ToUpper().Contains("V") && !sXLGGID.ToUpper().Contains("KV"))
|
||
{
|
||
bExist_XLXHID = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
if (!bExist_XLXHID)
|
||
{
|
||
//2、解析:型号-电压 规格
|
||
//VV22-0.6/1KV 1*10
|
||
if (sCPXX.Contains(" ") && sCPXX.Contains("-"))
|
||
{
|
||
sTmpCPXX = sCPXX;
|
||
sTmpCPXX = sTmpCPXX.Replace('v', 'V');
|
||
iFGF_index = 0;
|
||
while (sTmpCPXX.IndexOf('-') >= 0)
|
||
{
|
||
if ((iFGF_index != 0) && (sTmpCPXX.IndexOf('V') >= 0) && (sTmpCPXX.IndexOf('V') < sTmpCPXX.IndexOf('-')))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') >= 1)
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 1, 1);
|
||
if (tmp.Equals("K") || tmp.Equals("k"))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') - 2 < 0)
|
||
{
|
||
tmp = "";
|
||
}
|
||
else
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 2, 1);
|
||
}
|
||
}
|
||
char[] chr = tmp.ToCharArray();
|
||
int aflag = 0;
|
||
for (int j = 0; j < chr.Length; j++)
|
||
{
|
||
if ((chr[j] >= '0' && chr[j] <= '9'))
|
||
{
|
||
aflag = 1;
|
||
break;
|
||
}
|
||
}
|
||
if (1 == aflag)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
iFGF_index = iFGF_index + sTmpCPXX.IndexOf('-');
|
||
sTmpCPXX = sTmpCPXX.Substring(sTmpCPXX.IndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf('-') - 1);
|
||
}
|
||
sXLXHID = sCPXX.Replace(sTmpCPXX, "").TrimEnd('-');
|
||
if (sTmpCPXX.Contains(" "))
|
||
{
|
||
|
||
sDYDJID = sTmpCPXX.Substring(0, sTmpCPXX.IndexOf(' ')).Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sTmpCPXX.Substring(sTmpCPXX.IndexOf(' ') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf(' ') - 1);
|
||
if (sBJU042.Equals("N")&&!sDYDJID.Contains("V"))
|
||
{
|
||
sXLGGID = sDYDJID + sXLGGID;
|
||
sDYDJID = "";
|
||
}
|
||
}
|
||
}
|
||
//3、解析:型号 电压 规格
|
||
//VV22 0.6/1KV 1*10
|
||
else
|
||
{
|
||
if ((sCPXX.IndexOf(" ") != sCPXX.LastIndexOf(' ')) && sCPXX.IndexOf(" ") > 0 && sCPXX.LastIndexOf(' ') > 0)
|
||
{
|
||
//vv 300v 1*5
|
||
sDYDJID = sCPXX.Substring(0, sCPXX.LastIndexOf(' '));
|
||
sXLXHID = sDYDJID.Substring(0, sDYDJID.IndexOf(' '));
|
||
sDYDJID = sDYDJID.Replace(sXLXHID, "").Trim().Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sCPXX.Substring(sCPXX.IndexOf(' ') + 1, sCPXX.Length - sCPXX.IndexOf(' ') - 1);
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
if (!bExist_XLXHID)
|
||
{
|
||
if (lstXLXHID.Contains(sXLXHID.ToUpper()) && sBJU042.Equals("Y"))
|
||
{
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
bExist_XLXHID = true;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (string sXLXHHZ in lstXLXHHZ)
|
||
{
|
||
if (sXLXHID.EndsWith(sXLXHHZ))
|
||
{
|
||
bExist_XLXHID = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//*1、解析:型号-规格
|
||
if (sCPXX.Contains("-"))
|
||
{
|
||
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf('-'));
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf('-') + 1, sCPXX.Length - sCPXX.LastIndexOf('-') - 1);
|
||
}
|
||
|
||
if (!bExist_XLXHID)
|
||
{
|
||
if (lstXLXHID.Contains(sXLXHID.ToUpper()) && sBJU042.Equals("Y"))
|
||
{
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
bExist_XLXHID = true;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (string sXLXHHZ in lstXLXHHZ)
|
||
{
|
||
if (sXLXHID.EndsWith(sXLXHHZ))
|
||
{
|
||
bExist_XLXHID = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//*2、解析:型号-电压-规格
|
||
//VV22-0.6/1KV-1*10
|
||
//NH-VV-5*6
|
||
if (!bExist_XLXHID)
|
||
{
|
||
if (sCPXX.IndexOf('-') != sCPXX.LastIndexOf('-'))
|
||
{
|
||
sTmpCPXX = sCPXX;
|
||
sTmpCPXX = sTmpCPXX.Replace('v', 'V');
|
||
iFGF_index = 0;
|
||
while (sTmpCPXX.IndexOf('-') >= 0)
|
||
{
|
||
if ((iFGF_index != 0) && (sTmpCPXX.IndexOf('V') >= 0) && (sTmpCPXX.IndexOf('V') < sTmpCPXX.IndexOf('-')))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') >= 1)
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 1, 1);
|
||
if (tmp.Equals("K") || tmp.Equals("k"))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') - 2 < 0)
|
||
{
|
||
tmp = "";
|
||
}
|
||
else
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 2, 1);
|
||
}
|
||
}
|
||
char[] chr = tmp.ToCharArray();
|
||
int aflag = 0;
|
||
for (int j = 0; j < chr.Length; j++)
|
||
{
|
||
if ((chr[j] >= '0' && chr[j] <= '9'))
|
||
{
|
||
aflag = 1;
|
||
break;
|
||
}
|
||
}
|
||
if (1 == aflag)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
iFGF_index = iFGF_index + sTmpCPXX.IndexOf('-');
|
||
sTmpCPXX = sTmpCPXX.Substring(sTmpCPXX.IndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf('-') - 1);
|
||
}
|
||
|
||
sXLXHID = sCPXX.Replace(sTmpCPXX, "").TrimEnd('-');
|
||
|
||
if (sTmpCPXX.Contains("-"))
|
||
{
|
||
sDYDJID = sTmpCPXX.Substring(0, sTmpCPXX.LastIndexOf('-')).Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sTmpCPXX.Substring(sTmpCPXX.LastIndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.LastIndexOf('-') - 1);
|
||
}
|
||
else
|
||
{
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!bExist_XLXHID)
|
||
{
|
||
if (lstXLXHID.Contains(sXLXHID.ToUpper()) && sBJU042.Equals("Y"))
|
||
{
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
bExist_XLXHID = true;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (string sXLXHHZ in lstXLXHHZ)
|
||
{
|
||
if (sXLXHID.EndsWith(sXLXHHZ))
|
||
{
|
||
bExist_XLXHID = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
//上述未正确解析出型号
|
||
if (!bExist_XLXHID)
|
||
{
|
||
if (sCPXX.IndexOf(' ') >= 0)
|
||
{
|
||
sTmpCPXX = sCPXX;
|
||
//假设不存在电压等级
|
||
bExist_DYDJID = false;
|
||
//含有V,即有可能是电压等级
|
||
if (sTmpCPXX.IndexOf('V') >= 0)
|
||
{
|
||
sTmpCPXX = sTmpCPXX.Replace(' ', '-');
|
||
iFGF_index = 0;
|
||
//假设存在电压等级的,存在“-”
|
||
while (sTmpCPXX.IndexOf('-') >= 0)
|
||
{
|
||
if ((iFGF_index != 0) && (sTmpCPXX.IndexOf('V') > 0) && (sTmpCPXX.IndexOf('V') < sTmpCPXX.IndexOf('-')))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') >= 1)
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 1, 1);
|
||
if (tmp.Equals("K") || tmp.Equals("k"))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') - 2 < 0)
|
||
{
|
||
tmp = "";
|
||
}
|
||
else
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 2, 1);
|
||
}
|
||
}
|
||
char[] chr = tmp.ToCharArray();
|
||
int aflag = 0;
|
||
for (int j = 0; j < chr.Length; j++)
|
||
{
|
||
if ((chr[j] >= '0' && chr[j] <= '9'))
|
||
{
|
||
aflag = 1;
|
||
break;
|
||
}
|
||
}
|
||
if (1 == aflag)
|
||
{
|
||
//存在电压等级
|
||
bExist_DYDJID = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
iFGF_index = iFGF_index + sTmpCPXX.IndexOf('-');
|
||
sTmpCPXX = sTmpCPXX.Substring(sTmpCPXX.IndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf('-') - 1);
|
||
}
|
||
}
|
||
//1-1、存在电压等级:型号-电压 规格
|
||
if (bExist_DYDJID)
|
||
{
|
||
iFGF_index = 0;
|
||
sTmpCPXX = sCPXX;
|
||
//字符串中含有“V”,且“V”在“-”之前,则退出。
|
||
while (sTmpCPXX.IndexOf('-') >= 0)
|
||
{
|
||
if ((iFGF_index != 0) && (sTmpCPXX.IndexOf('V') > 0) && (sTmpCPXX.IndexOf('V') < sTmpCPXX.IndexOf('-')))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') >= 1)
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 1, 1);
|
||
if (tmp.Equals("K") || tmp.Equals("k"))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') - 2 < 0)
|
||
{
|
||
tmp = "";
|
||
}
|
||
else
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 2, 1);
|
||
}
|
||
}
|
||
char[] chr = tmp.ToCharArray();
|
||
int aflag = 0;
|
||
for (int j = 0; j < chr.Length; j++)
|
||
{
|
||
if ((chr[j] >= '0' && chr[j] <= '9'))
|
||
{
|
||
aflag = 1;
|
||
break;
|
||
}
|
||
}
|
||
if (1 == aflag)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
iFGF_index = iFGF_index + sTmpCPXX.IndexOf('-');
|
||
sTmpCPXX = sTmpCPXX.Substring(sTmpCPXX.IndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf('-') - 1);
|
||
}
|
||
|
||
if ((sCPXX.IndexOf(" ") != sCPXX.LastIndexOf(' ')) && sCPXX.IndexOf(" ") > 0 && sCPXX.LastIndexOf(' ') > 0)
|
||
{
|
||
//vv 300v 1*5
|
||
sDYDJID = sCPXX.Substring(0, sCPXX.LastIndexOf(' '));
|
||
sXLXHID = sDYDJID.Substring(0, sDYDJID.IndexOf(' '));
|
||
sDYDJID = sDYDJID.Replace(sXLXHID, "").Trim().Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf(' ') + 1, sCPXX.Length - sCPXX.LastIndexOf(' ') - 1);
|
||
}
|
||
else
|
||
{
|
||
sXLXHID = sCPXX.Replace(sTmpCPXX, "").TrimEnd('-');
|
||
|
||
if (sTmpCPXX.Contains(" "))
|
||
{
|
||
sDYDJID = sTmpCPXX.Substring(0, sTmpCPXX.LastIndexOf(' ')).Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sTmpCPXX.Substring(sTmpCPXX.LastIndexOf(' ') + 1, sTmpCPXX.Length - sTmpCPXX.LastIndexOf(' ') - 1);
|
||
}
|
||
}
|
||
}
|
||
|
||
else
|
||
{
|
||
//1-2、不存在电压等级:型号 规格 或者 型号 规格 电压等级
|
||
if ((sCPXX.IndexOf(" ") != sCPXX.LastIndexOf(' ')) && sCPXX.IndexOf(" ") > 0 && sCPXX.LastIndexOf(' ') > 0)
|
||
{
|
||
//处理型号中存在空格的情况
|
||
if (lstXLXHID.Contains(sCPXX.Substring(0, sCPXX.LastIndexOf(' '))))
|
||
{
|
||
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf(' '));
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf(' ') + 1, sCPXX.Length - sCPXX.LastIndexOf(' ') - 1);
|
||
}
|
||
sXLGGID = sCPXX.Substring(0, sCPXX.LastIndexOf(' '));
|
||
sXLXHID = sXLGGID.Substring(0, sXLGGID.IndexOf(' '));
|
||
sXLGGID = sXLGGID.Replace(sXLXHID, "").Trim();
|
||
sDYDJID = sCPXX.Substring(sCPXX.LastIndexOf(' ') + 1, sCPXX.Length - sCPXX.LastIndexOf(' ') - 1).Replace('K', 'k').Replace('v', 'V'); ;
|
||
}
|
||
else
|
||
{
|
||
sXLXHID = sCPXX.Substring(0, sCPXX.IndexOf(' '));
|
||
sXLGGID = sCPXX.Substring(sCPXX.IndexOf(' ') + 1, sCPXX.Length - sCPXX.IndexOf(' ') - 1);
|
||
}
|
||
}
|
||
}
|
||
//2、不含空格,即:型号-规格、型号-电压-规格
|
||
else
|
||
{
|
||
//假设不存在电压等级
|
||
bExist_DYDJID = false;
|
||
sTmpCPXX = sCPXX;
|
||
if (sTmpCPXX.IndexOf('V') >= 0)
|
||
{
|
||
iFGF_index = 0;
|
||
//假设存在电压等级的,存在“-”
|
||
while (sTmpCPXX.IndexOf('-') >= 0)
|
||
{
|
||
if ((iFGF_index != 0) && (sTmpCPXX.IndexOf('V') >= 0) && (sTmpCPXX.IndexOf('V') < sTmpCPXX.IndexOf('-')))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') >= 1)
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 1, 1);
|
||
if (tmp.Equals("K") || tmp.Equals("k"))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') - 2 < 0)
|
||
{
|
||
tmp = "";
|
||
}
|
||
else
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 2, 1);
|
||
}
|
||
}
|
||
char[] chr = tmp.ToCharArray();
|
||
int aflag = 0;
|
||
for (int j = 0; j < chr.Length; j++)
|
||
{
|
||
if ((chr[j] >= '0' && chr[j] <= '9'))
|
||
{
|
||
aflag = 1;
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (1 == aflag)
|
||
{
|
||
//存在电压等级
|
||
bExist_DYDJID = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
iFGF_index = iFGF_index + sTmpCPXX.IndexOf('-');
|
||
sTmpCPXX = sTmpCPXX.Substring(sTmpCPXX.IndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf('-') - 1);
|
||
}
|
||
}
|
||
//2-1、存在电压等级:型号-电压-规格
|
||
if (bExist_DYDJID)
|
||
{
|
||
sTmpCPXX = sCPXX;
|
||
iFGF_index = 0;
|
||
//字符串中含有“V”,且“V”在“-”之前,则退出。
|
||
while (sTmpCPXX.IndexOf('-') >= 0)
|
||
{
|
||
if ((iFGF_index != 0) && (sTmpCPXX.IndexOf('V') >= 0) && (sTmpCPXX.IndexOf('V') < sTmpCPXX.IndexOf('-')))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') >= 1)
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 1, 1);
|
||
if (tmp.Equals("K") || tmp.Equals("k"))
|
||
{
|
||
if (sTmpCPXX.IndexOf('V') - 2 < 0)
|
||
{
|
||
tmp = "";
|
||
}
|
||
else
|
||
{
|
||
tmp = sTmpCPXX.Substring(sTmpCPXX.IndexOf('V') - 2, 1);
|
||
}
|
||
}
|
||
char[] chr = tmp.ToCharArray();
|
||
int aflag = 0;
|
||
for (int j = 0; j < chr.Length; j++)
|
||
{
|
||
if ((chr[j] >= '0' && chr[j] <= '9'))
|
||
{
|
||
aflag = 1;
|
||
break;
|
||
}
|
||
}
|
||
if (1 == aflag)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
iFGF_index = iFGF_index + sTmpCPXX.IndexOf('-');
|
||
sTmpCPXX = sTmpCPXX.Substring(sTmpCPXX.IndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf('-') - 1);
|
||
}
|
||
|
||
sXLXHID = sCPXX.Replace(sTmpCPXX, "").TrimEnd('-');
|
||
//sTmpCPXX = sCPXX.Substring(iFGF_index + 1, sCPXX.Length - iFGF_index - 1);
|
||
if (sTmpCPXX.Contains("-"))
|
||
{
|
||
sDYDJID = sTmpCPXX.Substring(0, sTmpCPXX.IndexOf('-')).Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sTmpCPXX.Substring(sTmpCPXX.IndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf('-') - 1);
|
||
}
|
||
}
|
||
//2-2、不存在电压等级:型号-规格
|
||
else
|
||
{
|
||
//bool bJXBS = false;
|
||
//foreach (string sTmpGG in lstXLGGID)
|
||
//{
|
||
// if (sCPXX.Replace("*", "×").EndsWith(sTmpGG.Replace("*", "×")))
|
||
// {
|
||
// sXLXHID = sCPXX.Replace("*", "×").Replace(sTmpGG.Replace("*", "×"), "").TrimEnd('-');
|
||
// sXLGGID = sTmpGG;
|
||
// bJXBS = true;
|
||
// }
|
||
//}
|
||
//if (!bJXBS)
|
||
//{
|
||
sTmpCPXX = sCPXX;
|
||
iFGF_index = 0;
|
||
while (sTmpCPXX.IndexOf('-') >= 0)
|
||
{
|
||
iFGF_index = iFGF_index + sTmpCPXX.IndexOf('-');
|
||
sTmpCPXX = sTmpCPXX.Substring(sTmpCPXX.IndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf('-') - 1);
|
||
}
|
||
|
||
sXLXHID = sCPXX.Replace(sTmpCPXX, "").TrimEnd('-');
|
||
sXLGGID = sTmpCPXX;
|
||
//}
|
||
}
|
||
}
|
||
}
|
||
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (sXLJGU007.Equals("A"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
|
||
}
|
||
else if (sXLJGU007.Equals("B"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCPDYDJID"] = sDYDJID;
|
||
if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID;
|
||
}
|
||
}
|
||
|
||
//国网产品解析
|
||
private void Analysis_GWCP(ref DataSet ds, string sDRGZ, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
TZBJCP_2(ref ds);
|
||
Dictionary<string, string> dicGGJG = new Dictionary<string, string>();
|
||
Dictionary<string, string> dicDYDJTH = XLWBBJDUtils.GetDYDJTH();
|
||
if (sDRGZ.Equals("GWGZ1"))
|
||
{
|
||
GetGGJG(ref dicGGJG);
|
||
//解析规则1(例:电力电缆,AC10kV,YJV,150,3,22,ZC,无阻水)
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim().Replace('v', 'V').TrimStart('-').TrimEnd('-').Replace(',', ',');
|
||
string[] tmpBJCP = sCPXX.Split(',');
|
||
if (tmpBJCP.Length >= 5)
|
||
{
|
||
string sDYDJID = tmpBJCP[1].Trim();
|
||
string sXLXHID = tmpBJCP[2].Trim().Equals("") ? " " : tmpBJCP[2].Trim();
|
||
string sDTJMZHID = tmpBJCP[3].Trim();
|
||
string sXXJGID = tmpBJCP[4].Trim();
|
||
if (XLWBBJDUtils.sTSDYDJIDList.Contains("," + sDYDJID.Trim().ToUpper() + ","))//特殊电压额外处理替换
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID.ToUpper();
|
||
}
|
||
else if (dicDYDJTH.ContainsKey(sDYDJID.ToUpper()))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = dicDYDJTH[sDYDJID.ToUpper()];
|
||
}
|
||
else if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID;
|
||
}
|
||
if (dicGGJG.ContainsKey(sDTJMZHID + "|" + sXXJGID))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = dicGGJG[sDTJMZHID + "|" + sXXJGID];
|
||
}
|
||
if (tmpBJCP.Length >= 6)
|
||
{
|
||
//判断基本型号是否以数字结尾
|
||
bool endsWithDigit = Regex.IsMatch(sXLXHID, @"\d$");
|
||
if (endsWithDigit)
|
||
{
|
||
if (!tmpBJCP[5].Trim().Equals(""))
|
||
sXLXHID = sXLXHID + "-" + tmpBJCP[5].Trim();
|
||
}
|
||
else
|
||
{
|
||
sXLXHID = sXLXHID + tmpBJCP[5].Trim();
|
||
}
|
||
if (tmpBJCP.Length >= 7)
|
||
{
|
||
if (!tmpBJCP[6].Trim().Equals(""))
|
||
sXLXHID = tmpBJCP[6].Trim() + "-" + sXLXHID;
|
||
}
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
}
|
||
}
|
||
|
||
}
|
||
else if (sDRGZ.Equals("GWGZ2"))
|
||
{
|
||
GetGGJG(ref dicGGJG);
|
||
//解析规则2(例:低压电力电缆,YJV,铜,16/10,3+1芯,ZC,22,普通)
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim().Replace('v', 'V').TrimStart('-').TrimEnd('-').Replace(',', ',');
|
||
string[] tmpBJCP = sCPXX.Split(',');
|
||
if (tmpBJCP.Length >= 5)
|
||
{
|
||
string sXLXHID = tmpBJCP[1].Trim().Equals("") ? " " : tmpBJCP[1].Trim();
|
||
string sDTJMZHID = tmpBJCP[3].Trim();
|
||
string sXXJGID = tmpBJCP[4].Trim();
|
||
if (dicGGJG.ContainsKey(sDTJMZHID + "|" + sXXJGID))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = dicGGJG[sDTJMZHID + "|" + sXXJGID];
|
||
}
|
||
if (tmpBJCP.Length >= 6)
|
||
{
|
||
if (!tmpBJCP[5].Trim().Equals(""))
|
||
sXLXHID = tmpBJCP[5].Trim() + "-" + sXLXHID;
|
||
if (tmpBJCP.Length >= 7)
|
||
{
|
||
|
||
//判断基本型号是否以数字结尾
|
||
bool endsWithDigit = Regex.IsMatch(sXLXHID, @"\d$");
|
||
if (endsWithDigit)
|
||
{
|
||
if (!tmpBJCP[6].Trim().Equals(""))
|
||
sXLXHID = sXLXHID + "-" + tmpBJCP[6].Trim();
|
||
}
|
||
else
|
||
{
|
||
sXLXHID = sXLXHID + tmpBJCP[6].Trim();
|
||
}
|
||
}
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
}
|
||
}
|
||
}
|
||
else if (sDRGZ.Equals("GWGZ3"))
|
||
{
|
||
//解析规则3(例:控制电缆,KYJVP2,2.5,7,ZC,22)
|
||
GetGGJG(ref dicGGJG);
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim().Replace('v', 'V').TrimStart('-').TrimEnd('-').Replace(',', ',');
|
||
string[] tmpBJCP = sCPXX.Split(',');
|
||
if (tmpBJCP.Length >= 4)
|
||
{
|
||
string sXLXHID = tmpBJCP[1].Trim().Equals("") ? " " : tmpBJCP[1].Trim();
|
||
string sDTJMZHID = tmpBJCP[2].Trim();
|
||
string sXXJGID = tmpBJCP[3].Trim();
|
||
if (dicGGJG.ContainsKey(sDTJMZHID + "|" + sXXJGID))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = dicGGJG[sDTJMZHID + "|" + sXXJGID];
|
||
}
|
||
if (tmpBJCP.Length >= 5)
|
||
{
|
||
if (!tmpBJCP[4].Trim().Equals(""))
|
||
sXLXHID = tmpBJCP[4].Trim() + "-" + sXLXHID;
|
||
if (tmpBJCP.Length >= 6)
|
||
{
|
||
|
||
//判断基本型号是否以数字结尾
|
||
bool endsWithDigit = Regex.IsMatch(sXLXHID, @"\d$");
|
||
if (endsWithDigit)
|
||
{
|
||
if (!tmpBJCP[5].Trim().Equals(""))
|
||
sXLXHID = sXLXHID + "-" + tmpBJCP[5].Trim();
|
||
}
|
||
else
|
||
{
|
||
sXLXHID = sXLXHID + tmpBJCP[5].Trim();
|
||
}
|
||
}
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
}
|
||
}
|
||
}
|
||
else if (sDRGZ.Equals("GWGZ4"))
|
||
{
|
||
//解析规则4(例:架空绝缘导线,AC10kV,JKLGYJ,70/10)
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim().Replace('v', 'V').TrimStart('-').TrimEnd('-').Replace(',', ',');
|
||
string[] tmpBJCP = sCPXX.Split(',');
|
||
if (tmpBJCP.Length >= 4)
|
||
{
|
||
string sDYDJID = tmpBJCP[1].Trim();
|
||
string sXLXHID = tmpBJCP[2].Trim().Equals("") ? " " : tmpBJCP[2].Trim();
|
||
string sXLGGID = tmpBJCP[3].Trim().Equals("") ? " " : tmpBJCP[3].Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (XLWBBJDUtils.sTSDYDJIDList.Contains(","+sDYDJID.Trim().ToUpper()+","))//特殊电压额外处理替换
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID.ToUpper();
|
||
}
|
||
else if (dicDYDJTH.ContainsKey(sDYDJID.ToUpper()))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = dicDYDJTH[sDYDJID.ToUpper()];
|
||
}
|
||
else if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//国网或比亚迪产品解析
|
||
private void Analysis_BYDCP(ref DataSet ds, string sDRGZ, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
TZBJCP_2(ref ds);
|
||
Dictionary<string, string> dicDYDJTH = XLWBBJDUtils.GetDYDJTH();
|
||
if (sDRGZ.Equals("BYDGZ"))
|
||
{
|
||
//比亚迪规则(基本型号_规格_电压等级_耐温等级_特性前缀)
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim().Replace('v', 'V').TrimStart('-').TrimEnd('-').Replace(',', ',');
|
||
string[] tmpBJCP = sCPXX.Split('_');
|
||
if (tmpBJCP.Length >= 2)
|
||
{
|
||
|
||
string sXLXHID = tmpBJCP[0].Trim().Equals("") ? " " : tmpBJCP[0].Trim();
|
||
string sXLGGID = tmpBJCP[1].Trim().Equals("") ? " " : tmpBJCP[1].Trim();
|
||
if (tmpBJCP.Length >= 3)
|
||
{
|
||
string sDYDJID = tmpBJCP[2].Trim();
|
||
if (XLWBBJDUtils.sTSDYDJIDList.Contains("," + sDYDJID.Trim().ToUpper() + ","))//特殊电压额外处理替换
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID.ToUpper();
|
||
}
|
||
else if (dicDYDJTH.ContainsKey(sDYDJID.ToUpper()))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = dicDYDJTH[sDYDJID.ToUpper()];
|
||
}
|
||
else if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID;
|
||
}
|
||
if (tmpBJCP.Length >= 5)
|
||
{
|
||
if (!tmpBJCP[4].Trim().Equals(""))
|
||
sXLXHID = tmpBJCP[4].Trim() + "-" + sXLXHID;
|
||
}
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
|
||
private void GetGGJG(ref Dictionary<string, string> dicGGJG)
|
||
{
|
||
dicGGJG.Clear();
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select XLGGB_DTJMZHID,XLGGB_XXJGID,XLGGB_XLGGID AS XLGGID from XLGGB where 1=1 ORDER BY LEN(XLGGB_XLGGID) ");
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sDTJMZHID = ds.Tables[0].Rows[i]["XLGGB_DTJMZHID"].ToString().Trim();
|
||
string sXXJGID = ds.Tables[0].Rows[i]["XLGGB_XXJGID"].ToString().Trim();
|
||
string sXLGGID = ds.Tables[0].Rows[i]["XLGGID"].ToString().Trim();
|
||
if (!dicGGJG.ContainsKey(sDTJMZHID + "|" + sXXJGID))
|
||
{
|
||
dicGGJG.Add(sDTJMZHID + "|" + sXXJGID, sXLGGID);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//特殊电压替换
|
||
private void TSDYTH(ref DataSet ds)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
GetDYDJIDList(dberp, SQL, ref lstDYDJID);
|
||
Dictionary<string, string> dicDYDJTH = XLWBBJDUtils.GetDYDJTH();
|
||
List<string> lstJKXXLXHID = new List<string>();
|
||
lstJKXXLXHID.Clear();
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXHB_XLXHID from XLXHB where isnull(XLXHB_CPYT,' ')='P3JK' ");
|
||
DataSet dsXLXH = dberp.OpenDataSet(SQL);
|
||
if (dsXLXH.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsXLXH.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sXLXHID = dsXLXH.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim();
|
||
if (!lstJKXXLXHID.Contains(sXLXHID))
|
||
{
|
||
lstJKXXLXHID.Add(sXLXHID);
|
||
}
|
||
}
|
||
}
|
||
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
string sDYDJID = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim();
|
||
if (sDYDJID.ToUpper().Equals("AC10KV"))
|
||
{
|
||
if (lstJKXXLXHID.Contains(sXLXHID))//包含则是架空线,电压替换为10kV,否则是
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = "10kV";
|
||
}
|
||
else
|
||
{
|
||
if (dicDYDJTH.ContainsKey(sDYDJID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = dicDYDJTH[sDYDJID];
|
||
else if (!lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = " ";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
//**型号-规格
|
||
private void AnalysisByXH_GG(ref DataSet ds, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
string sCPXX = "";
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
RecoverCPXX(ref sCPXX);
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
if (sCPXX.Contains("-"))
|
||
{
|
||
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf('-'));
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf('-') + 1, sCPXX.Length - sCPXX.LastIndexOf('-') - 1);
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (sXLJGU007.Equals("A"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
|
||
}
|
||
else if (sXLJGU007.Equals("B"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
}
|
||
}
|
||
|
||
//型号 规格
|
||
private void AnalysisByXHGG(ref DataSet ds, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
string sCPXX = "";
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
RecoverCPXX(ref sCPXX);
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
if (sCPXX.Contains(" "))
|
||
{
|
||
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf(' '));
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf(' ') + 1, sCPXX.Length - sCPXX.LastIndexOf(' ') - 1);
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (sXLJGU007.Equals("A"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
|
||
}
|
||
else if (sXLJGU007.Equals("B"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
//型号规格
|
||
private void AnalysisByXHANDGG(ref DataSet ds, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
string sCPXX = "";
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
int iFGF_index = 0;
|
||
// 根据字符串长度降序排序
|
||
lstXLGGID.Sort(CompareStringLength);
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
bool bJXBS = false;
|
||
sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
RecoverCPXX(ref sCPXX);
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
foreach (string sTmpGG in lstXLGGID)
|
||
{
|
||
if (sCPXX.Replace("*", "×").EndsWith(sTmpGG.Replace("*", "×")) && !bJXBS)
|
||
{
|
||
sXLXHID = sCPXX.Replace("*", "×").Replace(sTmpGG.Replace("*", "×"), "").TrimEnd('-');
|
||
sXLGGID = sTmpGG;
|
||
bJXBS = true;
|
||
}
|
||
}
|
||
if (!bJXBS)
|
||
{
|
||
string sTmpCPXX = sCPXX;
|
||
iFGF_index = 0;
|
||
while (sTmpCPXX.IndexOf('-') >= 0)
|
||
{
|
||
iFGF_index = iFGF_index + sTmpCPXX.IndexOf('-');
|
||
sTmpCPXX = sTmpCPXX.Substring(sTmpCPXX.IndexOf('-') + 1, sTmpCPXX.Length - sTmpCPXX.IndexOf('-') - 1);
|
||
}
|
||
|
||
sXLXHID = sCPXX.Replace(sTmpCPXX, "").TrimEnd('-');
|
||
sXLGGID = sTmpCPXX;
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (sXLJGU007.Equals("A"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
|
||
}
|
||
else if (sXLJGU007.Equals("B"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
}
|
||
}
|
||
|
||
//型号-电压等级-规格
|
||
private void AnalysisByXH_DY_GG(ref DataSet ds, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
string sCPXX = "";
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
string sDYDJID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
RecoverCPXX(ref sCPXX);
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
sDYDJID = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim();
|
||
if ((sCPXX.IndexOf("-") != sCPXX.LastIndexOf('-')) && sCPXX.IndexOf("-") > 0 && sCPXX.LastIndexOf('-') > 0)
|
||
{
|
||
//VV-300V-1*5
|
||
sDYDJID = sCPXX.Substring(0, sCPXX.LastIndexOf('-'));
|
||
sXLXHID = sDYDJID.Substring(0, sDYDJID.LastIndexOf('-'));
|
||
sDYDJID = sDYDJID.Replace(sXLXHID, "").Trim().TrimStart('-').TrimEnd('-').Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf('-') + 1, sCPXX.Length - sCPXX.LastIndexOf('-') - 1);
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (sXLJGU007.Equals("A"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
|
||
}
|
||
else if (sXLJGU007.Equals("B"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCPDYDJID"] = sDYDJID;
|
||
if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID;
|
||
}
|
||
|
||
}
|
||
|
||
//**型号-电压等级 规格
|
||
private void AnalysisByXH_DYGG(ref DataSet ds, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
string sCPXX = "";
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
string sDYDJID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
RecoverCPXX(ref sCPXX);
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
sDYDJID = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim();
|
||
if (sCPXX.Contains("-") && sCPXX.Contains(" "))
|
||
{
|
||
sXLXHID = sCPXX.Substring(0, sCPXX.LastIndexOf('-'));
|
||
sDYDJID = sCPXX.Substring(sCPXX.LastIndexOf('-') + 1, sCPXX.IndexOf(' ') - sCPXX.LastIndexOf('-') - 1).Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sCPXX.Substring(sCPXX.IndexOf(' ') + 1, sCPXX.Length - sCPXX.IndexOf(' ') - 1);
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (sXLJGU007.Equals("A"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
|
||
}
|
||
else if (sXLJGU007.Equals("B"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCPDYDJID"] = sDYDJID;
|
||
if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID;
|
||
}
|
||
|
||
}
|
||
|
||
//型号 电压等级 规格
|
||
private void AnalysisByXHDYGG(ref DataSet ds, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
string sCPXX = "";
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
string sDYDJID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
RecoverCPXX(ref sCPXX);
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
sDYDJID = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim();
|
||
if ((sCPXX.IndexOf(" ") != sCPXX.LastIndexOf(' ')) && sCPXX.IndexOf(" ") > 0 && sCPXX.LastIndexOf(' ') > 0)
|
||
{
|
||
//vv 300v 1*5
|
||
sDYDJID = sCPXX.Substring(0, sCPXX.LastIndexOf(' '));
|
||
sXLXHID = sDYDJID.Substring(0, sDYDJID.IndexOf(' '));
|
||
sDYDJID = sDYDJID.Replace(sXLXHID, "").Trim().Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sCPXX.Substring(sCPXX.LastIndexOf(' ') + 1, sCPXX.Length - sCPXX.LastIndexOf(' ') - 1);
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (sXLJGU007.Equals("A"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
|
||
}
|
||
else if (sXLJGU007.Equals("B"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCPDYDJID"] = sDYDJID;
|
||
if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID;
|
||
}
|
||
|
||
}
|
||
|
||
//型号 规格 电压等级
|
||
private void AnalysisByXHGGDY(ref DataSet ds, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
string sCPXX = "";
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
string sDYDJID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
RecoverCPXX(ref sCPXX);
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
sDYDJID = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim();
|
||
if ((sCPXX.IndexOf(" ") != sCPXX.LastIndexOf(' ')) && sCPXX.IndexOf(" ") > 0 && sCPXX.LastIndexOf(' ') > 0)
|
||
{
|
||
//vv 1*5 300v
|
||
sXLGGID = sCPXX.Substring(0, sCPXX.LastIndexOf(' '));
|
||
sXLXHID = sXLGGID.Substring(0, sXLGGID.IndexOf(' '));
|
||
sXLGGID = sXLGGID.Replace(sXLXHID, "").Trim();
|
||
sDYDJID = sCPXX.Substring(sCPXX.LastIndexOf(' ') + 1, sCPXX.Length - sCPXX.LastIndexOf(' ') - 1).Replace('K', 'k').Replace('v', 'V');
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (sXLJGU007.Equals("A"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
|
||
}
|
||
else if (sXLJGU007.Equals("B"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCPDYDJID"] = sDYDJID;
|
||
if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID;
|
||
}
|
||
|
||
}
|
||
|
||
//型号-电压等级,规格
|
||
private void AnalysisByXH_DY_GG1(ref DataSet ds, List<string> lstXLXHID, List<string> lstXLGGID, List<string> lstDYDJID)
|
||
{
|
||
string sCPXX = "";
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
string sDYDJID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sCPXX = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
RecoverCPXX(ref sCPXX);
|
||
sCPXX = sCPXX.Replace(",", ",");
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
sDYDJID = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim();
|
||
if (sCPXX.IndexOf("-") > 0 && sCPXX.IndexOf(',') > 0)
|
||
{
|
||
//VV-300V,1*5
|
||
sDYDJID = sCPXX.Substring(0, sCPXX.IndexOf(','));
|
||
sXLXHID = sDYDJID.Substring(0, sDYDJID.LastIndexOf('-'));
|
||
sDYDJID = sDYDJID.Replace(sXLXHID, "").Trim().TrimStart('-').TrimEnd('-').Replace('K', 'k').Replace('v', 'V');
|
||
sXLGGID = sCPXX.Substring(sCPXX.IndexOf(',') + 1, sCPXX.Length - sCPXX.IndexOf(',') - 1);
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
if (sXLJGU007.Equals("A"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
|
||
}
|
||
else if (sXLJGU007.Equals("B"))
|
||
{
|
||
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCPDYDJID"] = sDYDJID;
|
||
if (lstDYDJID.Contains(sDYDJID.ToUpper()))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = sDYDJID;
|
||
}
|
||
|
||
}
|
||
|
||
//型号 kV被KV替换
|
||
private void Analysis_XH(ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID.Replace("kV", "KV");
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 解析电压等级
|
||
/// </summary>
|
||
/// <param name="ds"></param>
|
||
public static void JXDYDJ(ref DataSet ds)
|
||
{
|
||
Dictionary<string, string> dicDYDJTH = XLWBBJDUtils.GetDYDJTH();
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string stDYDJID = "";
|
||
string sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
foreach (string sDYDJ in dicDYDJTH.Keys)
|
||
{
|
||
if (sBJCP.ToUpper().Contains(sDYDJ.ToUpper()))//考虑到电压单位,都统一成大小比较
|
||
{
|
||
stDYDJID = sDYDJ;//8.7kV
|
||
break;
|
||
}
|
||
}
|
||
if (!stDYDJID.Equals(""))
|
||
{
|
||
//比如:YJV-8.7KV 3*400->[8.7kV]
|
||
sBJCP = Regex.Replace(sBJCP, stDYDJID, stDYDJID, RegexOptions.IgnoreCase);
|
||
//sBJCP = sBJCP.Replace("[" + stDYDJID + "]", stDYDJID);
|
||
sBJCP = sBJCP.Replace(",", ",");
|
||
int index = sBJCP.IndexOf(stDYDJID);
|
||
int BJCPLength = sBJCP.Length;
|
||
int DYDJLength = stDYDJID.Length;
|
||
if (sBJCP.ToUpper().Contains(stDYDJID.ToUpper() + "V") && stDYDJID.ToUpper().EndsWith("K"))
|
||
DYDJLength++;
|
||
string Pres = sBJCP.Substring(0, index);
|
||
string sAfter = "";
|
||
if (index + DYDJLength < BJCPLength)
|
||
{
|
||
sAfter = sBJCP.Substring(index + DYDJLength);
|
||
}
|
||
while (sAfter.Length > 0)
|
||
{
|
||
char c = sAfter[0];
|
||
if (c == '-' || c == ' ' || c == ',')
|
||
{
|
||
sAfter = sAfter.Substring(1);
|
||
}
|
||
else
|
||
break;
|
||
}
|
||
while (Pres.Length > 0)
|
||
{
|
||
char c = Pres[Pres.Length - 1];
|
||
if (c == '-' || c == ' ' || c == ',')
|
||
{
|
||
Pres = Pres.Substring(0, Pres.Length - 1);
|
||
}
|
||
else
|
||
break;
|
||
}
|
||
sBJCP = Pres + " " + sAfter;
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"] = sBJCP;
|
||
ds.Tables[0].Rows[i]["BZ_DYDJID"] = dicDYDJTH[stDYDJID];
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 使用标准电压等级替换外部报价单明细电压等级
|
||
/// </summary>
|
||
/// <param name="ds"></param>
|
||
public static void DYDJTH(ref DataSet ds)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!ds.Tables[0].Rows[i]["BZ_DYDJID"].ToString().Trim().Equals(""))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"] = ds.Tables[0].Rows[i]["BZ_DYDJID"].ToString().Trim();
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 规格正则替换:按 XLXSBJDXTHDZQD(THLX=GGZZTH,序号升序)对 XLWBBJDMX_XLGGID 执行 Regex.Replace
|
||
/// </summary>
|
||
private void GGZZTH(ref DataSet ds)
|
||
{
|
||
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
||
return;
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJDXTHDZQD_THQGGZF, XLXSBJDXTHDZQD_THHGGZF from XLXSBJDXTHDZQD ");
|
||
SQL.Add(" where XLXSBJDXTHDZQD_THLX='GGZZTH' and ISNULL(XLXSBJDXTHDZQD_TYBZ,'N')<>'Y' ");
|
||
SQL.Add(" order by XLXSBJDXTHDZQD_XH ");
|
||
DataSet dsGG = dberp.OpenDataSet(SQL);
|
||
if (dsGG.Tables.Count == 0 || dsGG.Tables[0].Rows.Count == 0)
|
||
return;
|
||
|
||
List<Regex> lstRx = new List<Regex>();
|
||
List<string> lstTHH = new List<string>();
|
||
for (int k = 0; k < dsGG.Tables[0].Rows.Count; k++)
|
||
{
|
||
string sTHQ = dsGG.Tables[0].Rows[k]["XLXSBJDXTHDZQD_THQGGZF"].ToString().Trim();
|
||
string sTHH = dsGG.Tables[0].Rows[k]["XLXSBJDXTHDZQD_THHGGZF"].ToString().Trim();
|
||
if (sTHQ.Length == 0)
|
||
continue;
|
||
Regex rx = null;
|
||
try
|
||
{
|
||
rx = new Regex(sTHQ, RegexOptions.Compiled | RegexOptions.CultureInvariant);
|
||
}
|
||
catch (ArgumentException)
|
||
{
|
||
continue;
|
||
}
|
||
lstRx.Add(rx);
|
||
lstTHH.Add(sTHH);
|
||
}
|
||
if (lstRx.Count == 0)
|
||
return;
|
||
|
||
DataTable dt = ds.Tables[0];
|
||
for (int i = 0; i < dt.Rows.Count; i++)
|
||
{
|
||
string sXLGGID = dt.Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
if (sXLGGID.Length == 0)
|
||
continue;
|
||
for (int r = 0; r < lstRx.Count; r++)
|
||
{
|
||
sXLGGID = lstRx[r].Replace(sXLGGID, lstTHH[r]);
|
||
}
|
||
dt.Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 型号正则替换:按 XLXSBJDXTHDZQD(THLX=XHZZTH,序号升序)对 XLWBBJDMX_XLXHID 执行 Regex.Replace
|
||
/// </summary>
|
||
private void XHZZTH(ref DataSet ds)
|
||
{
|
||
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
||
return;
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJDXTHDZQD_THQGGZF, XLXSBJDXTHDZQD_THHGGZF from XLXSBJDXTHDZQD ");
|
||
SQL.Add(" where XLXSBJDXTHDZQD_THLX='XHZZTH' and ISNULL(XLXSBJDXTHDZQD_TYBZ,'N')<>'Y' ");
|
||
SQL.Add(" order by XLXSBJDXTHDZQD_XH ");
|
||
DataSet dsXH = dberp.OpenDataSet(SQL);
|
||
if (dsXH.Tables.Count == 0 || dsXH.Tables[0].Rows.Count == 0)
|
||
return;
|
||
|
||
List<Regex> lstRx = new List<Regex>();
|
||
List<string> lstTHH = new List<string>();
|
||
for (int k = 0; k < dsXH.Tables[0].Rows.Count; k++)
|
||
{
|
||
string sTHQ = dsXH.Tables[0].Rows[k]["XLXSBJDXTHDZQD_THQGGZF"].ToString().Trim();
|
||
string sTHH = dsXH.Tables[0].Rows[k]["XLXSBJDXTHDZQD_THHGGZF"].ToString().Trim();
|
||
if (sTHQ.Length == 0)
|
||
continue;
|
||
Regex rx = null;
|
||
try
|
||
{
|
||
rx = new Regex(sTHQ, RegexOptions.Compiled | RegexOptions.CultureInvariant);
|
||
}
|
||
catch (ArgumentException)
|
||
{
|
||
continue;
|
||
}
|
||
lstRx.Add(rx);
|
||
lstTHH.Add(sTHH);
|
||
}
|
||
if (lstRx.Count == 0)
|
||
return;
|
||
|
||
DataTable dt = ds.Tables[0];
|
||
for (int i = 0; i < dt.Rows.Count; i++)
|
||
{
|
||
string sXLXHID = dt.Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (sXLXHID.Length == 0)
|
||
continue;
|
||
for (int r = 0; r < lstRx.Count; r++)
|
||
{
|
||
sXLXHID = lstRx[r].Replace(sXLXHID, lstTHH[r]);
|
||
}
|
||
dt.Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID;
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 规格调整
|
||
//**×替换为*
|
||
public static void TZGG_0(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.Replace('×', '*');
|
||
}
|
||
}
|
||
|
||
//*替换为×
|
||
public static void TZGG_5(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.Replace('*', '×');
|
||
}
|
||
}
|
||
|
||
//去除非数值字符
|
||
public static void TZGG_1(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
|
||
//去除规格中-号及其之后的内容
|
||
if (sXLGGID.Contains("-"))
|
||
{
|
||
sXLGGID = sXLGGID.Substring(0, sXLGGID.IndexOf('-'));
|
||
}
|
||
|
||
sXLGGID = sXLGGID.Replace('+', '+').Replace('×', '*').Replace('m', 'M').Replace("MM2", "").Replace("MM", "");
|
||
char[] chr = sXLGGID.ToCharArray();
|
||
string sTmpXLGGID = "";
|
||
for (int j = 0; j < chr.Length; j++)
|
||
{
|
||
if ((chr[j] >= '0' && chr[j] <= '9') || chr[j] == '/' || chr[j] == '*' || chr[j] == '+' || chr[j] == '.')
|
||
{
|
||
sTmpXLGGID += chr[j];
|
||
}
|
||
}
|
||
if (sXLGGID.Replace("(", "(").Replace(")", ")").EndsWith("(B)"))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sTmpXLGGID.Replace('×', '*') + "(B)";
|
||
}
|
||
else if (sXLGGID.Replace("(", "(").Replace(")", ")").EndsWith("(F)"))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sTmpXLGGID.Replace('×', '*') + "(F)";
|
||
}
|
||
else
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sTmpXLGGID.Replace('×', '*');
|
||
}
|
||
|
||
}
|
||
|
||
//1*截面
|
||
public static void TZGG_2(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
|
||
if (sXLGGID.Contains("*") || sXLGGID.Contains("+") || sXLGGID.Contains("×"))
|
||
{
|
||
if (sXLGGID.Contains("+"))
|
||
{
|
||
string[] sTemp = sXLGGID.ToString().Trim().Split(new char[] { '+' }, StringSplitOptions.RemoveEmptyEntries);
|
||
//拆分
|
||
for (int m = 0; m < sTemp.Length; m++)
|
||
{
|
||
if (!sTemp[m].ToString().Trim().Contains("*") && !sTemp[m].ToString().Trim().Contains("×") && !sTemp[m].ToString().Trim().Equals(""))
|
||
{
|
||
sTemp[m] = "1*" + sTemp[m];
|
||
}
|
||
}
|
||
//拼接
|
||
sXLGGID = "";
|
||
for (int m = 0; m < sTemp.Length; m++)
|
||
{
|
||
sXLGGID = sXLGGID + "+" + sTemp[m];
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.TrimStart('+').TrimEnd('+');
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (!sXLGGID.Equals(""))
|
||
{
|
||
if (IsNumeric(sXLGGID.Replace("(", "(").Replace(")", ")").Replace("(B)", "").Replace("(F)", "")))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = "1*" + sXLGGID;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
//X/x替换规格列的额x为*
|
||
public static void TZGG_3(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.Replace('x', '*').Replace('X', '*');
|
||
}
|
||
|
||
}
|
||
|
||
//X/x替换规格列的额x为×
|
||
public static void TZGG_6(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.Replace('x', '×').Replace('X', '×');
|
||
}
|
||
|
||
}
|
||
|
||
//4*1.0 => 4*1---规格格式解析
|
||
public static void TZGG_4(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.Replace(".0", "");
|
||
}
|
||
|
||
}
|
||
|
||
//3*4mm2 => 3*4
|
||
public static void TZGG_7(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.Replace("mm2", "").Replace("mm", "").Replace("MM2", "").Replace("MM", "");
|
||
}
|
||
}
|
||
|
||
//E或者PE替换为1*
|
||
public static void TZGG_8(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
if (sXLGGID.Contains("E"))
|
||
{
|
||
string stmpXLGGID = sXLGGID.Replace("PE*", "1*").Replace("PE×", "1×").Replace("E*", "1*").Replace("E×", "1×").Replace("PE", "1*").Replace("E", "1*");
|
||
string[] GGList = stmpXLGGID.Split('+');
|
||
if (GGList.Length > 1)
|
||
{
|
||
bool bHB1 = true;
|
||
bool bHB2 = true;
|
||
for (int j = 0; j < GGList.Length; j++)
|
||
{
|
||
if (GGList[j].Split('*').Length != 2)
|
||
bHB1 = false;
|
||
if (GGList[j].Split('×').Length != 2)
|
||
bHB2 = false;
|
||
}
|
||
if (bHB1 || bHB2)
|
||
{
|
||
string tmpGG = "";
|
||
for (int j = 1; j < GGList.Length; j++)
|
||
{
|
||
if (bHB1)
|
||
{
|
||
if (GGList[j].Split('*')[1].Trim().Equals(GGList[j - 1].Split('*')[1].Trim()))
|
||
{
|
||
GGList[j] = (CMISproConvert.StrToFloat(GGList[j].Split('*')[0].Trim()) + CMISproConvert.StrToFloat(GGList[j - 1].Split('*')[0].Trim())).ToString() + "*" + GGList[j].Split('*')[1].Trim();
|
||
GGList[j - 1] = "";
|
||
}
|
||
}
|
||
else if (bHB2)
|
||
{
|
||
if (GGList[j].Split('×')[1].Trim().Equals(GGList[j - 1].Split('×')[1].Trim()))
|
||
{
|
||
GGList[j] = (CMISproConvert.StrToFloat(GGList[j].Split('×')[0].Trim()) + CMISproConvert.StrToFloat(GGList[j - 1].Split('×')[0].Trim())).ToString() + "×" + GGList[j].Split('×')[1].Trim();
|
||
GGList[j - 1] = "";
|
||
}
|
||
}
|
||
}
|
||
for (int j = 0; j < GGList.Length; j++)
|
||
{
|
||
if (!GGList[j].Trim().Equals(""))
|
||
tmpGG = tmpGG + GGList[j].Trim() + "+";
|
||
}
|
||
tmpGG = tmpGG.TrimEnd('+');
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = tmpGG;
|
||
}
|
||
else
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = stmpXLGGID;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = stmpXLGGID;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//去除空格
|
||
public static void TZGG_9(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.Replace(" ", "").Replace(" ", "").Replace(" ", ""); ;
|
||
}
|
||
}
|
||
|
||
//替换中文括号为英文括号
|
||
public static void TZGG_A(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.Replace("(", "(").Replace(")", ")");
|
||
}
|
||
}
|
||
|
||
//芯替换*1
|
||
public static void TZGG_B(ref DataSet ds)
|
||
{
|
||
string sXLGGID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"] = sXLGGID.Replace("芯", "*1");
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 型号调整
|
||
//NH-替换为N-
|
||
public static void TZXH_0(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if(!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(Replace_Left(Replace_Left(sXLXHID, "NH-", "N-"), "nh-", "N-"), "nH-", "N-"), "Nh-", "N-");
|
||
}
|
||
}
|
||
|
||
//ZR-替换为ZC-
|
||
public static void TZXH_1(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(Replace_Left(Replace_Left(sXLXHID, "ZR-", "ZC-"), "zr-", "ZC-"), "zR-", "ZC-"), "Zr-", "ZC-");
|
||
}
|
||
}
|
||
|
||
//ZN-替换为ZCN-
|
||
public static void TZXH_2(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(Replace_Left(Replace_Left(sXLXHID, "ZN-", "ZCN-"), "zn-", "ZCN-"), "zN-", "N-"), "Zn-", "N-");
|
||
}
|
||
}
|
||
|
||
//WDZ-替换为WDZC-
|
||
public static void TZXH_3(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "WDZ-", "WDZC-"), "wdz-", "WDZC-");
|
||
}
|
||
}
|
||
|
||
//WDZN-替换为WDZCN-
|
||
public static void TZXH_4(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "WDZN-", "WDZCN-"), "wdzn-", "WDZCN-");
|
||
}
|
||
}
|
||
|
||
//去除空格
|
||
public static void TZXH_5(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = sXLXHID.Replace(" ", "").Replace(" ", "").Replace(" ", "");
|
||
}
|
||
}
|
||
|
||
//去除中文
|
||
public static void TZXH_6(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
//“\u4e00”和“\u9fa5”是unicode编码,并且正好是中文编码的开始和结束的两个值
|
||
Regex reg = new Regex(@"[\u4e00-\u9fa5]");
|
||
Regex reg1 = new Regex(@"[\u4e00-\u9fa5][\w][\u4e00-\u9fa5]");
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
{
|
||
if (sXLXHID.Length > 0)
|
||
{
|
||
//判断是否为中文
|
||
if (!IsChineseCharacter(sXLXHID[0]))
|
||
sXLXHID = "中" + sXLXHID;
|
||
}
|
||
bool bExists = true;
|
||
while (bExists)
|
||
{
|
||
if (Regex.IsMatch(sXLXHID, @"[\u4e00-\u9fa5][\w][\u4e00-\u9fa5]"))
|
||
{
|
||
sXLXHID = reg1.Replace(sXLXHID, "中");
|
||
}
|
||
else
|
||
{
|
||
bExists = false;
|
||
}
|
||
}
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = reg.Replace(sXLXHID, "");
|
||
}
|
||
}
|
||
}
|
||
|
||
//型号替换
|
||
public static void TZXH_7(ref DataSet ds, Dictionary<string, string> dicXLWBBJDXHDZB)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (dicXLWBBJDXHDZB.ContainsKey(ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim().ToUpper()))
|
||
{
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = dicXLWBBJDXHDZB[ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim().ToUpper()];
|
||
}
|
||
}
|
||
}
|
||
|
||
//NH-替换为ZCN-
|
||
public static void TZXH_8(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(Replace_Left(Replace_Left(sXLXHID, "NH-", "ZCN-"), "nh-", "ZCN-"), "nH-", "ZCN-"), "Nh-", "ZCN-");
|
||
}
|
||
}
|
||
|
||
//ZRC-替换为ZC-
|
||
public static void TZXH_9(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "ZRC-", "ZC-"), "zrc-", "ZC-");
|
||
}
|
||
}
|
||
|
||
//ZRB-替换为ZB-
|
||
public static void TZXH_A(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "ZRB-", "ZB-"), "zrb-", "ZB-");
|
||
}
|
||
}
|
||
|
||
//ZRA-替换为ZA-
|
||
public static void TZXH_B(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "ZRA-", "ZA-"), "zra-", "ZA-");
|
||
}
|
||
}
|
||
|
||
//ZRN-替换为ZCN-
|
||
public static void TZXH_C(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "ZRN-", "ZCN-"), "zrn-", "ZCN-");
|
||
}
|
||
}
|
||
|
||
//ZRNH-替换为ZCN-
|
||
public static void TZXH_D(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "ZRNH-", "ZCN-"), "zrnh-", "ZCN-");
|
||
}
|
||
}
|
||
|
||
//WDZ-替换为WDZB-
|
||
public static void TZXH_E(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "WDZ-", "WDZB-"), "wdz-", "WDZB-");
|
||
}
|
||
}
|
||
|
||
//WDZC-替换为WDZB-
|
||
public static void TZXH_F(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "WDZC-", "WDZB-"), "wdzc-", "WDZB-");
|
||
}
|
||
}
|
||
|
||
//N-替换为NH-
|
||
public static void TZXH_G(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "N-", "NH-"), "n-", "NH-");
|
||
}
|
||
}
|
||
|
||
//ZR-A-替换为ZA-
|
||
public static void TZXH_H(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "ZR-A-", "ZA-"), "zr-a-", "ZA-");
|
||
}
|
||
}
|
||
//ZR-B-替换为ZB-
|
||
public static void TZXH_I(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "ZR-B-", "ZB-"), "zr-b-", "ZB-");
|
||
}
|
||
}
|
||
//ZR-C-替换为ZC-
|
||
public static void TZXH_J(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "ZR-C-", "ZC-"), "zr-c-", "ZC-");
|
||
}
|
||
}
|
||
//WD-替换为WDZC-
|
||
public static void TZXH_K(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "WD-", "WDZC-"), "wd-", "WDZC-");
|
||
}
|
||
}
|
||
//NHA-替换为ZAN-
|
||
public static void TZXH_L(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "NHA-", "ZAN-"), "nha-", "ZAN-");
|
||
}
|
||
}
|
||
//WDZB2-替换为WDZA-
|
||
public static void TZXH_M(List<string> lstBJXHList, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, "WDZB2-", "WDZA-"), "wdzb2-", "WDZA-");
|
||
}
|
||
}
|
||
|
||
//自定义替换规则
|
||
public static void TZXH_ZDY(List<string> lstBJXHList,string sANXX, ref DataSet ds)
|
||
{
|
||
string sXLXHID = "";
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" SELECT XLXHTHGZ_THQ,XLXHTHGZ_THH FROM XLXHTHGZ WHERE XLXHTHGZ_XH=:pXH ");
|
||
SQL.ParamByName("pXH").Value = CMISproConvert.StrToInt(sANXX.Replace("N", ""),0);
|
||
DataSet dsXHGZ = dberp.OpenDataSet(SQL);
|
||
if (dsXHGZ.Tables[0].Rows.Count > 0)
|
||
{
|
||
string sTHQ = dsXHGZ.Tables[0].Rows[0]["XLXHTHGZ_THQ"].ToString().Trim();
|
||
string sTHH = dsXHGZ.Tables[0].Rows[0]["XLXHTHGZ_THH"].ToString().Trim();
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
if (!lstBJXHList.Contains(sXLXHID))
|
||
ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"] = Replace_Left(Replace_Left(sXLXHID, sTHQ, sTHH), sTHQ.ToLower(), sTHH);
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
|
||
//型号替换,会跳转页面
|
||
private void TZXH_7_Page(string sDRHHList)
|
||
{
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_XHTHList.aspx";
|
||
pageParams.Title = "型号替换";
|
||
pageParams.AddExtString("DRHHList", sDRHHList);
|
||
pageParams.AddString("WBBJDID", sWBBJDID);
|
||
pageParams.AddString("SELBJDID", sSELBJDID);
|
||
pageParams.AddString("btnCallBack", btnCallBack.ClientID);
|
||
OpenDialog(pageParams);
|
||
|
||
}
|
||
|
||
//型号替换,页面执行SQL
|
||
public static void TZXH_7_SQL(TDatabase dberp, TSQL SQL, string sWBBJDID, string sSELBJDID, string sDRHHList)
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" SELECT XLWBBJDXHDZB_XLXHID,XLWBBJDMX_DRHH,XLWBBJDMX_WBBJDID,XLWBBJDMX_BJDID FROM XLWBBJDMX ");
|
||
SQL.Add(" LEFT JOIN XLWBBJDXHDZB ON UPPER(XLWBBJDXHDZB_WBXLXHID) =UPPER(ISNULL(XLWBBJDMX_XLXHID,' '))");
|
||
SQL.Add(" WHERE XLWBBJDMX_WBBJDID = :pWBBJDID AND isnull(XLWBBJDXHDZB_WBXLXHID,' ') <> ' ' and XLWBBJDMX_BJDID = :pBJDID ");
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.Add(" ) sor");
|
||
SQL.Add(" on(");
|
||
SQL.Add(" tar.XLWBBJDMX_DRHH =sor.XLWBBJDMX_DRHH ");
|
||
SQL.Add(" AND tar.XLWBBJDMX_WBBJDID =sor.XLWBBJDMX_WBBJDID ");
|
||
SQL.Add(" AND tar.XLWBBJDMX_BJDID =sor.XLWBBJDMX_BJDID ");
|
||
SQL.Add(" )");
|
||
SQL.Add(" when matched then update set tar.XLWBBJDMX_XLXHID = sor.XLWBBJDXHDZB_XLXHID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLWBBJDMX_Batch(dberp, CMISproSessionManager.GetCurrentSession(), sWBBJDID);
|
||
}
|
||
|
||
|
||
|
||
|
||
#endregion
|
||
|
||
#region 列绑定事件
|
||
//获取标准名称
|
||
private string GetBZMC(string sXLBZID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Clear();
|
||
SQL.Add(" select XLBZ_XLBZID,XLBZ_XLBZLXMC from XLBZ ");
|
||
SQL.Add(" where 1=1 and XLBZ_XLBZID=:pXLBZ_XLBZID order by XLBZ_XLBZID");
|
||
SQL.ParamByName("pXLBZ_XLBZID").Value = sXLBZID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
return ds.Tables[0].Rows[0]["XLBZ_XLBZID"].ToString().Trim() + "|" + ds.Tables[0].Rows[0]["XLBZ_XLBZLXMC"].ToString().Trim();
|
||
}
|
||
else
|
||
{
|
||
return "";
|
||
}
|
||
|
||
}
|
||
|
||
//获取颜色名称
|
||
private string GetXLYS(string sXLYSID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Clear();
|
||
SQL.Add(" select XLYSB_XLYSID,XLYSB_XLYSMC from XLYSB ");
|
||
SQL.Add(" where 1=1 and XLYSB_XLYSID=:pXLYSB_XLYSID order by XLYSB_XSXH,XLYSB_XLYSID ");
|
||
SQL.ParamByName("pXLYSB_XLYSID").Value = sXLYSID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
return ds.Tables[0].Rows[0]["XLYSB_XLYSID"].ToString().Trim() + "|" + ds.Tables[0].Rows[0]["XLYSB_XLYSMC"].ToString().Trim();
|
||
}
|
||
else
|
||
{
|
||
return "";
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
// 定义比较方法
|
||
static int CompareStringLength(string x, string y)
|
||
{
|
||
return y.Length.CompareTo(x.Length); // 降序排序
|
||
}
|
||
|
||
//判断字符是否中文
|
||
public static bool IsChineseCharacter(char c)
|
||
{
|
||
UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(c);
|
||
return uc == UnicodeCategory.OtherLetter || uc == UnicodeCategory.PrivateUse || uc == UnicodeCategory.Surrogate;
|
||
}
|
||
|
||
//判断value是否是数字
|
||
public static bool IsNumeric(string value)
|
||
{
|
||
return Regex.IsMatch(value, @"^[+-]?\d*[.]?\d*$");
|
||
}
|
||
|
||
//获取选中行的行号
|
||
private void QueryGrid_Checked(ref string sDRHHList)
|
||
{
|
||
//使用NewRows,防止数据更改----此处用不到
|
||
foreach (GridViewRow Row in QueryGrid.NewRows)
|
||
{
|
||
if (QueryGrid.RowIsChecked(Row))
|
||
{
|
||
string sTmp = QueryGrid.GetValueByFieldName("XLWBBJDMX_DRHH", Row).Trim();
|
||
if (!sTmp.Equals(""))
|
||
{
|
||
sDRHHList += sTmp + ",";
|
||
}
|
||
}
|
||
}
|
||
sDRHHList = sDRHHList.TrimEnd(',');
|
||
}
|
||
|
||
////获取选中行号的型号集合
|
||
//private void QueryGrid_CheckedXLXHIDList(ref List<string> lstXLXHIDList)
|
||
//{
|
||
// foreach (GridViewRow Row in QueryGrid.NewRows)
|
||
// {
|
||
// if (QueryGrid.RowIsChecked(Row))
|
||
// {
|
||
// string sTmp = QueryGrid.GetValueByFieldName("XLWBBJDMX_XLXHID", Row).Trim();
|
||
// if (!sTmp.Equals("") && lstXLXHID.Contains(sTmp))
|
||
// {
|
||
// lstXLXHIDList.Add(sTmp);
|
||
// }
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
//获取选中行号的规格合集
|
||
private void QueryGrid_CheckedXLGGIDList(ref List<string> lstXLGGIDList)
|
||
{
|
||
foreach (GridViewRow Row in QueryGrid.NewRows)
|
||
{
|
||
if (QueryGrid.RowIsChecked(Row))
|
||
{
|
||
string sTmp = QueryGrid.GetValueByFieldName("XLWBBJDMX_XLGGID", Row).Trim().Replace("*", "×");
|
||
if (!sTmp.Equals("") && lstXLGGIDList.Contains(sTmp))
|
||
{
|
||
lstXLGGIDList.Add(sTmp);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//获取下拉内容 01-型号调整; 02-规格调整
|
||
public static DataSet GetXLWBBJDANXX(string sANXX)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDANXX_ANLX,XLWBBJDANXX_ANXX,XLWBBJDANXX_XSSX ");
|
||
SQL.Add(" from XLWBBJDANXX ");
|
||
SQL.Add(" where XLWBBJDANXX_ANLX=:pANLX ");
|
||
SQL.Add(" order by XLWBBJDANXX_XSSX ");
|
||
SQL.ParamByName("pANLX").Value = sANXX;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
return ds;
|
||
}
|
||
|
||
//左模糊替换
|
||
public static string Replace_Left(string allValue, string oldValue, string newValue)
|
||
{
|
||
if (allValue.IndexOf(oldValue) == 0)
|
||
{
|
||
if (allValue.Equals(oldValue))
|
||
return newValue;
|
||
else
|
||
{
|
||
int lenth = oldValue.Length;
|
||
string sLast = allValue.Substring(lenth);
|
||
return newValue + sLast;
|
||
}
|
||
}
|
||
return allValue;
|
||
}
|
||
|
||
#region 型号&规格替换
|
||
private void SelectMatchForXLXHIDAndXLGGID()
|
||
{
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sXLBJDID = XLBJDUtils.FetEmptyStr(PageParam.GetRTrimString("SELBJDID"));
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
try
|
||
{
|
||
//型号、规格、电压
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLWBBJDXHGGDZB_WBXLXHID as WBXLXHID,XLWBBJDXHGGDZB_WBXLGGID as WBXLGGID,XLWBBJDXHGGDZB_WBDYDJID as WBDYDJID, ");
|
||
SQL.Add(" XLWBBJDXHGGDZB_XLXHID as XLXHID, XLWBBJDXHGGDZB_XLGGID as XLGGID,XLWBBJDXHGGDZB_DYDJID as DYDJID, ");
|
||
SQL.Add(" XLWBBJDMX_WBBJDID as WBBJDID, XLWBBJDMX_DRHH as DRHH");
|
||
SQL.Add(" from XLWBBJDXHGGDZB");
|
||
SQL.Add(" left join XLWBBJDMX on XLWBBJDMX_XLXHID = XLWBBJDXHGGDZB_WBXLXHID and XLWBBJDXHGGDZB_WBXLGGID=XLWBBJDMX_XLGGID and XLWBBJDXHGGDZB_WBDYDJID=XLWBBJDMX_DYDJID");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDXHGGDZB_WBXLXHID<>' ' and XLWBBJDXHGGDZB_WBXLGGID<>' ' and XLWBBJDXHGGDZB_WBDYDJID<>' ' ");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_WBBJDID = sor.WBBJDID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_DRHH = sor.DRHH ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID =sor.XLXHID, tar.XLWBBJDMX_XLGGID=isnull(sor.XLGGID,' '), tar.XLWBBJDMX_DYDJID=isnull(sor.DYDJID,' '),tar.XLWBBJDMX_WHR='XHGGDY' ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
//型号、规格
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLWBBJDXHGGDZB_WBXLXHID as WBXLXHID,XLWBBJDXHGGDZB_WBXLGGID as WBXLGGID,XLWBBJDXHGGDZB_WBDYDJID as WBDYDJID, ");
|
||
SQL.Add(" XLWBBJDXHGGDZB_XLXHID as XLXHID, CASE WHEN isnull(XLWBBJDXHGGDZB_XLGGID,' ')=' ' then XLWBBJDMX_XLGGID else XLWBBJDXHGGDZB_XLGGID end as XLGGID,");
|
||
SQL.Add(" CASE WHEN isnull(XLWBBJDXHGGDZB_DYDJID,' ')=' ' THEN XLWBBJDMX_DYDJID ELSE XLWBBJDXHGGDZB_DYDJID END as DYDJID, ");
|
||
SQL.Add(" XLWBBJDMX_WBBJDID as WBBJDID, XLWBBJDMX_DRHH as DRHH");
|
||
SQL.Add(" from XLWBBJDXHGGDZB");
|
||
SQL.Add(" left join XLWBBJDMX on XLWBBJDMX_XLXHID = XLWBBJDXHGGDZB_WBXLXHID and XLWBBJDXHGGDZB_WBXLGGID=XLWBBJDMX_XLGGID");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDXHGGDZB_WBXLXHID<>' ' and XLWBBJDXHGGDZB_WBXLGGID<>' ' and XLWBBJDXHGGDZB_WBDYDJID=' ' ");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_WBBJDID = sor.WBBJDID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_DRHH = sor.DRHH ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" AND tar.XLWBBJDMX_WHR <> 'XHGGDY' ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID =sor.XLXHID, tar.XLWBBJDMX_XLGGID=isnull(sor.XLGGID,' '), tar.XLWBBJDMX_DYDJID=isnull(sor.DYDJID,' '),tar.XLWBBJDMX_WHRID='XHGGDY' ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
//型号、电压
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLWBBJDXHGGDZB_WBXLXHID as WBXLXHID,XLWBBJDXHGGDZB_WBXLGGID as WBXLGGID,XLWBBJDXHGGDZB_WBDYDJID as WBDYDJID, ");
|
||
SQL.Add(" XLWBBJDXHGGDZB_XLXHID as XLXHID, CASE WHEN isnull(XLWBBJDXHGGDZB_XLGGID,' ')=' ' then XLWBBJDMX_XLGGID else XLWBBJDXHGGDZB_XLGGID end as XLGGID,");
|
||
SQL.Add(" CASE WHEN isnull(XLWBBJDXHGGDZB_DYDJID,' ')=' ' THEN XLWBBJDMX_DYDJID ELSE XLWBBJDXHGGDZB_DYDJID END as DYDJID, ");
|
||
SQL.Add(" XLWBBJDMX_WBBJDID as WBBJDID, XLWBBJDMX_DRHH as DRHH");
|
||
SQL.Add(" from XLWBBJDXHGGDZB");
|
||
SQL.Add(" left join XLWBBJDMX on XLWBBJDMX_XLXHID = XLWBBJDXHGGDZB_WBXLXHID and XLWBBJDXHGGDZB_WBDYDJID=XLWBBJDMX_DYDJID");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDXHGGDZB_WBXLXHID<>' ' and XLWBBJDXHGGDZB_WBXLGGID=' ' and XLWBBJDXHGGDZB_WBDYDJID<>' ' ");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_WBBJDID = sor.WBBJDID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_DRHH = sor.DRHH ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" AND tar.XLWBBJDMX_WHR <> 'XHGGDY' ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID =sor.XLXHID, tar.XLWBBJDMX_XLGGID=isnull(sor.XLGGID,' '), tar.XLWBBJDMX_DYDJID=isnull(sor.DYDJID,' '),tar.XLWBBJDMX_WHRID='XHGGDY' ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
//型号
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLWBBJDXHGGDZB_WBXLXHID as WBXLXHID,XLWBBJDXHGGDZB_WBXLGGID as WBXLGGID,XLWBBJDXHGGDZB_WBDYDJID as WBDYDJID, ");
|
||
SQL.Add(" XLWBBJDXHGGDZB_XLXHID as XLXHID, CASE WHEN isnull(XLWBBJDXHGGDZB_XLGGID,' ')=' ' then XLWBBJDMX_XLGGID else XLWBBJDXHGGDZB_XLGGID end as XLGGID,");
|
||
SQL.Add(" CASE WHEN isnull(XLWBBJDXHGGDZB_DYDJID,' ')=' ' THEN XLWBBJDMX_DYDJID ELSE XLWBBJDXHGGDZB_DYDJID END as DYDJID, ");
|
||
SQL.Add(" XLWBBJDMX_WBBJDID as WBBJDID, XLWBBJDMX_DRHH as DRHH");
|
||
SQL.Add(" from XLWBBJDXHGGDZB");
|
||
SQL.Add(" left join XLWBBJDMX on XLWBBJDMX_XLXHID = XLWBBJDXHGGDZB_WBXLXHID");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDXHGGDZB_WBXLXHID<>' ' and XLWBBJDXHGGDZB_WBXLGGID=' ' and XLWBBJDXHGGDZB_WBDYDJID=' ' ");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_WBBJDID = sor.WBBJDID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_DRHH = sor.DRHH ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" AND tar.XLWBBJDMX_WHR <> 'XHGGDY' AND tar.XLWBBJDMX_WHRID <> 'XHGGDY' ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID =sor.XLXHID, tar.XLWBBJDMX_XLGGID=isnull(sor.XLGGID,' '), tar.XLWBBJDMX_DYDJID=isnull(sor.DYDJID,' ') ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
SQL.Clear();
|
||
SQL.Add("UPDATE XLWBBJDMX SET XLWBBJDMX_WHR=:pWHR,XLWBBJDMX_WHRID=:pWHRID WHERE XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID AND (XLWBBJDMX_WHR='XHGGDY' or XLWBBJDMX_WHRID='XHGGDY') ");
|
||
SQL.ParamByName("pWHR").Value = CurSession.UserName;
|
||
SQL.ParamByName("pWHRID").Value = CurSession.UserId;
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLWBBJDMX_Batch(dberp, CurSession, sWBBJDID);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
dberp.RollbackTrans();
|
||
ShowMessage("匹配出现错误,请联系系统管理员。错误信息:" + ex);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 标准&电压匹配
|
||
//true -需要清空电压&标准
|
||
//fales -不需要清除电压&标准匹配
|
||
private void SelectMatchForXLBZIDAndDYDJID(bool bClearXLBZIDAndDYDJID, string sJGBID)
|
||
{
|
||
if (!XLBJDUtils.IsJGEJGB(sJGBID))
|
||
{
|
||
sJGBID = GetJGCIDS(sJGBID, "JGB");
|
||
}
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
DateTime TimeStamp = MISproUtils.GetServerTime();
|
||
int VnewID = CMISproDataBase.GetMaxXH("DBERP", "V_XLWBBJDMX", "V_XLWBBJDMX_ID", "") + 1;
|
||
InsertV_XLWBBJDMX(sDRHHList, VnewID, TimeStamp);
|
||
if(GetOption(100860043, "BJU028") != "Y")
|
||
MatchForXLBZIDAndDYDJID(bClearXLBZIDAndDYDJID, sJGBID, sDRHHList,VnewID);
|
||
#region 匹配产品目录
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
string sCPML = pzxx.XLXSBJPZ_XSCPML;
|
||
if (sCPML == "Z")
|
||
{
|
||
XLWBBJDUtils.UpdateCPMLMC(dberp, SQL, sWBBJDID, sXLBJDID, sDRHHList, VnewID);
|
||
}
|
||
DelV_XLWBBJDMX( VnewID, TimeStamp);
|
||
#endregion
|
||
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
private void InsertV_XLWBBJDMX(string sDRHHList, int VnewID, DateTime TimeStamp)
|
||
{
|
||
if (string.IsNullOrEmpty(sDRHHList))
|
||
return;
|
||
string [] DRHHs = sDRHHList.Split(',');
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" insert into V_XLWBBJDMX(V_XLWBBJDMX_ID,V_XLWBBJDMX_DRHH,V_XLWBBJDMX_TIMESTAMP,V_XLWBBJDMX_WHR,V_XLWBBJDMX_WHRID,V_XLWBBJDMX_WHSJ)");
|
||
SQL.Add(" values(:V_XLWBBJDMX_ID,:V_XLWBBJDMX_DRHH,:V_XLWBBJDMX_TIMESTAMP,:V_XLWBBJDMX_WHR,:V_XLWBBJDMX_WHRID,:V_XLWBBJDMX_WHSJ )");
|
||
for (int i = 0; i < DRHHs.Length; i++)
|
||
{
|
||
SQL.ParamByName("V_XLWBBJDMX_ID").Value = VnewID;
|
||
SQL.ParamByName("V_XLWBBJDMX_DRHH").Value = DRHHs[i];
|
||
SQL.ParamByName("V_XLWBBJDMX_TIMESTAMP").Value = TimeStamp;
|
||
SQL.ParamByName("V_XLWBBJDMX_WHR").Value = CurSession.UserName;
|
||
SQL.ParamByName("V_XLWBBJDMX_WHRID").Value = CurSession.UserId;
|
||
SQL.ParamByName("V_XLWBBJDMX_WHSJ").Value = DateTime.Now;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
}
|
||
|
||
private void DelV_XLWBBJDMX(int VnewID, DateTime TimeStamp)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" delete from V_XLWBBJDMX where V_XLWBBJDMX_ID=:V_XLWBBJDMX_ID ");
|
||
SQL.ParamByName("V_XLWBBJDMX_ID").Value = VnewID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
|
||
private void MatchForXLBZIDAndDYDJID(bool bClearXLBZIDAndDYDJID, string sJGBID, string sDRHHList, int VnewID)
|
||
{
|
||
bool bBPPDY = XLBJDUtils.GetXLXSBJPZXX(100860043).XLXSBJPZ_BZDPPDY.Trim().Equals("Y");
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
//清空电压&标准后匹配,会直接将所选记录型号,规格不为空的标准和电压等级全部置空
|
||
//型号规格 可以获取唯一值,点击匹配按钮会直接匹配上标准和电压等级。
|
||
//型号规格标准 可以获取唯一值,点击匹配按钮会直接匹配上电压等级。
|
||
//型号规格电压等级可以获取唯一值,点击匹配按钮会直接匹配上标准。
|
||
//-----------------------------------------------------------------
|
||
//以上三种情况相互独立,不需要考虑顺序问题
|
||
if (bClearXLBZIDAndDYDJID)
|
||
{
|
||
//foreach (KeyValuePair<string, string> kvp in dicMCTCH)
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX ");
|
||
SQL.Add(" set XLWBBJDMX_XLBZID =:pXLBZID ");
|
||
if (!bBPPDY)
|
||
SQL.Add(" , XLWBBJDMX_DYDJID=' ' ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID <> ' ' and XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
string sWBXLBZID = XLBJDUtils.GetBZXLZBZID("", XLBJDUtils.GetDefaultXLBZID(), null);
|
||
SQL.ParamByName("pXLBZID").Value = sWBXLBZID.Equals("") ? " " : sWBXLBZID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pFlag");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_DYDJID = ' '");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pFlag").Value = "DY";
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
//先匹配型号相同,规格为空的记录更新外部报价单明细
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using XLXSBJCPMRBZDY sor ");
|
||
SQL.Add(" on(XLXSBJCPMRBZDY_XLXHID=XLWBBJDMX_XLXHID and XLXSBJCPMRBZDY_XLGGID=' ' ");
|
||
SQL.Add(" and XLWBBJDMX_WHR='DY'");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" XLWBBJDMX_XLBZID=isnull(XLXSBJCPMRBZDY_XLBZID,' ') ");
|
||
if (!bBPPDY)
|
||
SQL.Add(" ,XLWBBJDMX_DYDJID=isnull(XLXSBJCPMRBZDY_DYDJID,' ') ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
//后匹配型号、规格相等的记录更新外部报价单明细
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using XLXSBJCPMRBZDY sor ");
|
||
SQL.Add(" on(XLXSBJCPMRBZDY_XLXHID=XLWBBJDMX_XLXHID and XLXSBJCPMRBZDY_XLGGID=XLWBBJDMX_XLGGID ");
|
||
SQL.Add(" and XLWBBJDMX_WHR='DY'");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" XLWBBJDMX_XLBZID=isnull(XLXSBJCPMRBZDY_XLBZID,' ') ");
|
||
if (!bBPPDY)
|
||
SQL.Add(" ,XLWBBJDMX_DYDJID=isnull(XLXSBJCPMRBZDY_DYDJID,' ') ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pWHR");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_WHR='DY' ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pWHR").Value = CurSession.UserName;
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pFlag");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID = ' ' and ISNULL(XLWBBJDMX_DYDJID,' ') <> ' ' ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pFlag").Value = "BZ";
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
//再匹配型号、规格、电压相等的记录更新到外部报价单明细
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using XLXSBJCPMRBZDY sor ");
|
||
SQL.Add(" on(XLXSBJCPMRBZDY_XLXHID=XLWBBJDMX_XLXHID and XLXSBJCPMRBZDY_XLGGID=XLWBBJDMX_XLGGID and XLXSBJCPMRBZDY_DYDJID=XLWBBJDMX_DYDJID ");
|
||
SQL.Add(" and XLWBBJDMX_WHR='BZ'");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" XLWBBJDMX_XLBZID=isnull(XLXSBJCPMRBZDY_XLBZID,' ') ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pWHR");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_WHR='BZ' ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pWHR").Value = CurSession.UserName;
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
string sWBPPZXSX = "A";
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_WBPPZXSX))
|
||
sWBPPZXSX = pzxx.XLXSBJPZ_WBPPZXSX;
|
||
|
||
string sDefXLBZID = "FirstBZ";
|
||
string sDefDYDJID = "minDY";
|
||
|
||
pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_MRXLBZID))
|
||
sDefXLBZID = pzxx.XLXSBJPZ_MRXLBZID;
|
||
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_MRDYDJ))
|
||
sDefDYDJID = pzxx.XLXSBJPZ_MRDYDJ;
|
||
|
||
/*
|
||
A:线缆销售材料清单
|
||
B:线缆销售价格表
|
||
C:先材料清单再价格表
|
||
D:先价格表再材料清单
|
||
*/
|
||
string ErrorNo = "";
|
||
try
|
||
{
|
||
if (sWBPPZXSX.Equals("B") || sWBPPZXSX.Equals("D"))
|
||
{
|
||
MatchForXLXSJGBMX(dberp, SQL, bClearXLBZIDAndDYDJID, sJGBID, sDefXLBZID, sDefDYDJID, sDRHHList, VnewID, ref ErrorNo);
|
||
if (sWBPPZXSX.Equals("D"))
|
||
{
|
||
MatchForXLXSCLQD(dberp, SQL, bClearXLBZIDAndDYDJID, sJGBID, sDefXLBZID, sDefDYDJID, sDRHHList, VnewID, ref ErrorNo);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
MatchForXLXSCLQD(dberp, SQL, bClearXLBZIDAndDYDJID, sJGBID, sDefXLBZID, sDefDYDJID, sDRHHList, VnewID, ref ErrorNo);
|
||
if (sWBPPZXSX.Equals("C"))
|
||
{
|
||
MatchForXLXSJGBMX(dberp, SQL, bClearXLBZIDAndDYDJID, sJGBID, sDefXLBZID, sDefDYDJID, sDRHHList, VnewID, ref ErrorNo);
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowMessage("匹配出现错误,请联系系统管理员。错误编码:" + sWBPPZXSX + ErrorNo + ";" + ex);
|
||
}
|
||
}
|
||
|
||
private void MatchForXLXSJGBMX(TDatabase dberp, TSQL SQL, bool bClearXLBZIDAndDYDJID, string sJGBID, string sDefXLBZID, string sDefDYDJID, string sDRHHList, int VnewID, ref string ErrorNo)
|
||
{
|
||
bool bBPPDY = XLBJDUtils.GetXLXSBJPZXX(100860043).XLXSBJPZ_BZDPPDY.Trim().Equals("Y");
|
||
string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
if (!sJGBID.Equals(""))
|
||
{
|
||
sJGBID += "," + sJGFID;
|
||
}
|
||
else
|
||
{
|
||
sJGBID = sJGFID;
|
||
}
|
||
}
|
||
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pFlag");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID = ' ' and XLWBBJDMX_DYDJID = ' '");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pFlag").Value = "BZ_DY";
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
|
||
//使用价格表明细
|
||
/*
|
||
merge into 目标表 tar
|
||
using 源表 sor
|
||
on(a.条件字段1=b.条件字段1 and tar.条件字段2=b.条件字段2 ……)
|
||
when matched then update set a.更新字段=b.字段
|
||
when not matched then insert into a(字段1,字段2……)values(值1,值2……)
|
||
*/
|
||
if (sDefXLBZID.Equals(""))
|
||
{
|
||
ErrorNo = "1.1";
|
||
#region 根据型号、规格,匹配唯一标准、电压等级
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID as XLXHID,XLXSJGBMX_XLGGID as XLGGID, XLXSJGBMX_XLBZID as XLBZID, XLXSJGBMX_DYDJID as DYDJID ");
|
||
SQL.Add(" from XLXSJGBMX b ");
|
||
SQL.Add(" where 1=1 and len(XLXSJGBMX_XLBZID) < 10 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
//缩小价格表明细的范围
|
||
SQL.Add(" and exists(select 1 from XLWBBJDMX tmp where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID=b.XLXSJGBMX_XLXHID");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID=b.XLXSJGBMX_XLGGID");
|
||
SQL.Add(" )");
|
||
//根据型号、规格就能唯一确定产品的价格表明细记录
|
||
SQL.Add(" and exists ( ");
|
||
SQL.Add(" select a.XLXHID, a.XLGGID from ");
|
||
SQL.Add(" ( ");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID as XLXHID,XLXSJGBMX_XLGGID as XLGGID ");
|
||
SQL.Add(" from XLXSJGBMX");
|
||
SQL.Add(" where 1=1 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
//缩小价格表明细的范围
|
||
SQL.Add(" and exists(select 1 from XLWBBJDMX tmp where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID=XLXSJGBMX_XLXHID");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID=XLXSJGBMX_XLGGID");
|
||
SQL.Add(" )");
|
||
SQL.Add(" group by XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID ");
|
||
SQL.Add(" having (count(XLXSJGBMX_XLXHID) + count(XLXSJGBMX_XLGGID)) = 2 ");
|
||
SQL.Add(" ) a where 1=1 and a.XLXHID = b.XLXSJGBMX_XLXHID and a.XLGGID =b.XLXSJGBMX_XLGGID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID = sor.XLXHID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLGGID = sor.XLGGID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLXHID <> ' ' and tar.XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and tar.XLWBBJDMX_WHR = 'BZ_DY' ");
|
||
else
|
||
SQL.Add(" and tar.XLWBBJDMX_XLBZID = ' ' and tar.XLWBBJDMX_DYDJID = ' ' ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=tar.XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLBZID =sor.XLBZID ");
|
||
if (!bBPPDY)
|
||
SQL.Add(", tar.XLWBBJDMX_DYDJID=sor.DYDJID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
else if (sDefXLBZID.Equals("FirstBZ"))
|
||
{
|
||
ErrorNo = "1.2";
|
||
#region 根据型号、规格,匹配第一个标准
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID as XLXHID,XLXSJGBMX_XLGGID as XLGGID,isnull(XLBZ_XLBZID,' ') as XLBZID");
|
||
SQL.Add(" from");
|
||
SQL.Add(" (");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID, min(isnull(XLBZPX,0)) as minXLBZPX ");
|
||
SQL.Add(" from XLXSJGBMX b ");
|
||
SQL.Add(" left join (select row_number()over(order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID) as XLBZPX,XLBZ_XLBZID from XLBZ where 1=1) tmpXLBZ on XLBZ_XLBZID=XLXSJGBMX_XLBZID");
|
||
SQL.Add(" where 1=1 and len(XLXSJGBMX_XLBZID) < 10 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
//缩小价格表明细的范围
|
||
SQL.Add(" and exists(select 1 from XLWBBJDMX tmp where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID=b.XLXSJGBMX_XLXHID");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID=b.XLXSJGBMX_XLGGID");
|
||
SQL.Add(" )");
|
||
SQL.Add(" group by XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID");
|
||
SQL.Add(" ) jgbmx");
|
||
SQL.Add(" left join (select row_number()over(order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID) as XLBZPX,XLBZ_XLBZID from XLBZ where 1=1) tmpXLBZ on XLBZPX=minXLBZPX");
|
||
SQL.Add(" where 1=1");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID = sor.XLXHID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLGGID = sor.XLGGID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLXHID <> ' ' and tar.XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and tar.XLWBBJDMX_WHR = 'BZ_DY' ");
|
||
else
|
||
SQL.Add(" and tar.XLWBBJDMX_XLBZID = ' ' and tar.XLWBBJDMX_DYDJID = ' ' ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=tar.XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLBZID =sor.XLBZID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pFlag");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID <> ' ' and XLWBBJDMX_DYDJID = ' '");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pFlag").Value = "DY";
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
if (!bBPPDY)
|
||
{
|
||
if (sDefDYDJID.Equals("minDY"))
|
||
{
|
||
ErrorNo = "2.1";
|
||
#region 根据型号、规格、标准,匹配第一个电压等级
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using (");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID as XLXHID,XLXSJGBMX_XLGGID as XLGGID, XLXSJGBMX_XLBZID as XLBZID, isnull(XLDYDJB_DYDJID,' ') as DYDJID, PPSL ");
|
||
SQL.Add(" from");
|
||
SQL.Add(" (");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID, XLXSJGBMX_XLBZID,min(isnull(DYDJPX,0)) as minDYDJPX,sum(1) as PPSL ");//匹配数量等于1则表示唯一匹配
|
||
SQL.Add(" from XLXSJGBMX b ");
|
||
SQL.Add(" left join (select row_number()over(order by XLDYDJB_XH,XLDYDJB_DYDJID) as DYDJPX,XLDYDJB_DYDJID from XLDYDJB where 1=1) tmpXLDY on XLDYDJB_DYDJID=XLXSJGBMX_DYDJID");
|
||
SQL.Add(" where 1=1 and len(XLXSJGBMX_XLBZID) < 10 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
//缩小价格表明细的范围
|
||
SQL.Add(" and exists(select 1 from XLWBBJDMX tmp where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID=b.XLXSJGBMX_XLXHID");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID=b.XLXSJGBMX_XLGGID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID=b.XLXSJGBMX_XLBZID");
|
||
SQL.Add(" )");
|
||
SQL.Add(" group by XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID");
|
||
SQL.Add(" ) jgbmx");
|
||
SQL.Add(" left join (select row_number()over(order by XLDYDJB_XH,XLDYDJB_DYDJID) as DYDJPX,XLDYDJB_DYDJID from XLDYDJB where 1=1) DYDJ on DYDJ.DYDJPX=minDYDJPX");
|
||
SQL.Add(" where 1=1");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID = sor.XLXHID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLGGID = sor.XLGGID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLBZID = sor.XLBZID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLXHID <> ' ' and tar.XLWBBJDMX_XLGGID <> ' ' and ((isnull(tar.XLWBBJDMX_BJCPDYDJID,' ') = ' ' and sor.PPSL > 1) or sor.PPSL = 1) ");//匹配数量等于1表示唯一匹配,无需考虑XLWBBJDMX_BJCPDYDJID
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and tar.XLWBBJDMX_WHR = 'DY' ");
|
||
else
|
||
SQL.Add(" and tar.XLWBBJDMX_XLBZID <> ' ' and tar.XLWBBJDMX_DYDJID = ' ' ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=tar.XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_DYDJID=sor.DYDJID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
|
||
else
|
||
{
|
||
ErrorNo = "2.2";
|
||
#region 根据型号、规格、标准,匹配唯一电压等级
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID as XLXHID,XLXSJGBMX_XLGGID as XLGGID, XLXSJGBMX_XLBZID as XLBZID, XLXSJGBMX_DYDJID as DYDJID ");
|
||
SQL.Add(" from XLXSJGBMX b ");
|
||
SQL.Add(" where 1=1 and len(XLXSJGBMX_XLBZID) < 10 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
//缩小价格表明细的范围
|
||
SQL.Add(" and exists(select 1 from XLWBBJDMX tmp where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID=b.XLXSJGBMX_XLXHID");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID=b.XLXSJGBMX_XLGGID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID=b.XLXSJGBMX_XLBZID");
|
||
SQL.Add(" )");
|
||
//根据型号、规格、标准就能唯一确定产品的价格表明细记录
|
||
SQL.Add(" and exists ( ");
|
||
SQL.Add(" select a.XLXHID, a.XLGGID from ");
|
||
SQL.Add(" ( ");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID as XLXHID,XLXSJGBMX_XLGGID as XLGGID, XLXSJGBMX_XLBZID as XLBZID ");
|
||
SQL.Add(" from XLXSJGBMX");
|
||
SQL.Add(" where 1=1 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
//缩小价格表明细的范围
|
||
SQL.Add(" and exists(select 1 from XLWBBJDMX tmp where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID=XLXSJGBMX_XLXHID");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID=XLXSJGBMX_XLGGID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID=XLXSJGBMX_XLBZID");
|
||
SQL.Add(" )");
|
||
SQL.Add(" group by XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID, XLXSJGBMX_XLBZID ");
|
||
SQL.Add(" having (count(XLXSJGBMX_XLXHID) + count(XLXSJGBMX_XLGGID) + count(XLXSJGBMX_XLBZID)) = 3 ");
|
||
SQL.Add(" ) a where 1=1 and a.XLXHID = b.XLXSJGBMX_XLXHID and a.XLGGID =b.XLXSJGBMX_XLGGID and a.XLBZID = b.XLXSJGBMX_XLBZID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID = sor.XLXHID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLGGID = sor.XLGGID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLBZID = sor.XLBZID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLXHID <> ' ' and tar.XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and tar.XLWBBJDMX_WHR = 'DY' ");
|
||
else
|
||
SQL.Add(" and tar.XLWBBJDMX_XLBZID <> ' ' and tar.XLWBBJDMX_DYDJID = ' ' ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=tar.XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_DYDJID=sor.DYDJID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
}
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pFlag");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID = ' ' and XLWBBJDMX_DYDJID <> ' '");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pFlag").Value = "BZ";
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
|
||
if (sDefXLBZID.Equals(""))
|
||
{
|
||
ErrorNo = "3.1";
|
||
#region 根据型号、规格、电压等级,匹配唯一标准
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID as XLXHID,XLXSJGBMX_XLGGID as XLGGID, XLXSJGBMX_XLBZID as XLBZID, XLXSJGBMX_DYDJID as DYDJID ");
|
||
SQL.Add(" from XLXSJGBMX b ");
|
||
SQL.Add(" where 1=1 and len(XLXSJGBMX_XLBZID) < 10 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
//缩小价格表明细的范围
|
||
SQL.Add(" and exists(select 1 from XLWBBJDMX tmp where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID=b.XLXSJGBMX_XLXHID");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID=b.XLXSJGBMX_XLGGID");
|
||
SQL.Add(" and XLWBBJDMX_DYDJID=b.XLXSJGBMX_DYDJID");
|
||
SQL.Add(" )");
|
||
//根据型号、规格、标准就能唯一确定产品的价格表明细记录
|
||
SQL.Add(" and exists ( ");
|
||
SQL.Add(" select a.XLXHID, a.XLGGID from ");
|
||
SQL.Add(" ( ");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID as XLXHID,XLXSJGBMX_XLGGID as XLGGID, XLXSJGBMX_DYDJID as DYDJID ");
|
||
SQL.Add(" from XLXSJGBMX");
|
||
SQL.Add(" where 1=1 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
//缩小价格表明细的范围
|
||
SQL.Add(" and exists(select 1 from XLWBBJDMX tmp where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID=XLXSJGBMX_XLXHID");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID=XLXSJGBMX_XLGGID");
|
||
SQL.Add(" and XLWBBJDMX_DYDJID=XLXSJGBMX_DYDJID");
|
||
SQL.Add(" )");
|
||
SQL.Add(" group by XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID, XLXSJGBMX_DYDJID ");
|
||
SQL.Add(" having (count(XLXSJGBMX_XLXHID) + count(XLXSJGBMX_XLGGID) + count(XLXSJGBMX_DYDJID)) = 3 ");
|
||
SQL.Add(" ) a where 1=1 and a.XLXHID = b.XLXSJGBMX_XLXHID and a.XLGGID =b.XLXSJGBMX_XLGGID and a.DYDJID = b.XLXSJGBMX_DYDJID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID = sor.XLXHID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLGGID = sor.XLGGID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_DYDJID=sor.DYDJID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLXHID <> ' ' and tar.XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and tar.XLWBBJDMX_WHR = 'BZ' ");
|
||
else
|
||
SQL.Add(" and tar.XLWBBJDMX_XLBZID = ' ' and tar.XLWBBJDMX_DYDJID <> ' ' ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=tar.XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLBZID =sor.XLBZID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
else if (sDefXLBZID.Equals("FirstBZ"))
|
||
{
|
||
ErrorNo = "3.2";
|
||
#region 根据型号、规格、电压等级,匹配第一个标准
|
||
SQL.Clear();
|
||
SQL.Add("merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID as XLXHID,XLXSJGBMX_XLGGID as XLGGID,XLXSJGBMX_DYDJID as DYDJID,isnull(XLBZ_XLBZID,' ') as XLBZID");
|
||
SQL.Add(" from");
|
||
SQL.Add(" (");
|
||
SQL.Add(" select XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_DYDJID, min(isnull(XLBZPX,0)) as minXLBZPX ");
|
||
SQL.Add(" from XLXSJGBMX b ");
|
||
SQL.Add(" left join (select row_number()over(order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID) as XLBZPX,XLBZ_XLBZID from XLBZ where 1=1) tmpXLBZ on XLBZ_XLBZID=XLXSJGBMX_XLBZID");
|
||
SQL.Add(" where 1=1 and len(XLXSJGBMX_XLBZID) < 10 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
//缩小价格表明细的范围
|
||
SQL.Add(" and exists(select 1 from XLWBBJDMX tmp where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and XLWBBJDMX_XLXHID=b.XLXSJGBMX_XLXHID");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID=b.XLXSJGBMX_XLGGID");
|
||
SQL.Add(" and XLWBBJDMX_DYDJID=b.XLXSJGBMX_DYDJID");
|
||
SQL.Add(" )");
|
||
SQL.Add(" group by XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_DYDJID");
|
||
SQL.Add(" ) jgbmx");
|
||
SQL.Add(" left join (select row_number()over(order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID) as XLBZPX,XLBZ_XLBZID from XLBZ where 1=1) tmpXLBZ on XLBZPX=minXLBZPX");
|
||
SQL.Add(" where 1=1");
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on( ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLXHID = sor.XLXHID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLGGID = sor.XLGGID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_DYDJID=sor.DYDJID ");
|
||
SQL.Add(" and tar.XLWBBJDMX_XLXHID <> ' ' and tar.XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and tar.XLWBBJDMX_WHR = 'BZ' ");
|
||
else
|
||
SQL.Add(" and tar.XLWBBJDMX_XLBZID = ' ' and tar.XLWBBJDMX_DYDJID <> ' ' ");
|
||
SQL.Add(" and tar.XLWBBJDMX_WBBJDID=:pWBBJDID and tar.XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=tar.XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" tar.XLWBBJDMX_XLBZID =sor.XLBZID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pWHR");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and (XLWBBJDMX_WHR='BZ_DY' or XLWBBJDMX_WHR='DY' or XLWBBJDMX_WHR='BZ')");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pWHR").Value = CurSession.UserName;
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
}
|
||
|
||
private void MatchForXLXSCLQD(TDatabase dberp, TSQL SQL, bool bClearXLBZIDAndDYDJID, string sJGBID, string sDefXLBZID, string sDefDYDJID, string sDRHHList, int VnewID, ref string ErrorNo)
|
||
{
|
||
bool bBPPDY = XLBJDUtils.GetXLXSBJPZXX(100860043).XLXSBJPZ_BZDPPDY.Trim().Equals("Y");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pFlag");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID = ' ' and XLWBBJDMX_DYDJID = ' '");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pFlag").Value = "BZ_DY";
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
//使用材料清单匹配
|
||
if (sDefXLBZID.Equals(""))
|
||
{
|
||
ErrorNo = "4.1";
|
||
#region 根据型号、规格,匹配唯一标准、电压等级
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tag");
|
||
SQL.Add(" using ");
|
||
SQL.Add(" ( ");
|
||
SQL.Add(" select XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID FROM XLXSCLQD a ");
|
||
SQL.Add(" where XLXSCLQD_WPID = 'ZZZZ' and len(XLXSCLQD_XLBZID) < 10 ");
|
||
SQL.Add(" and exists ( ");
|
||
SQL.Add(" SELECT XLXSCLQD_XLXHID,XLXSCLQD_XLGGID FROM XLXSCLQD b ");
|
||
SQL.Add(" WHERE a.XLXSCLQD_XLXHID = b.XLXSCLQD_XLXHID and a.XLXSCLQD_XLGGID = b.XLXSCLQD_XLGGID ");
|
||
SQL.Add(" and b.XLXSCLQD_WPID = 'ZZZZ' and exists( ");
|
||
SQL.Add(" select XLWBBJDMX_XLXHID, XLWBBJDMX_XLGGID from XLWBBJDMX WHERE XLWBBJDMX_XLXHID = XLXSCLQD_XLXHID ");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID= XLXSCLQD_XLGGID ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" group by XLXSCLQD_XLXHID,XLXSCLQD_XLGGID ");
|
||
SQL.Add(" having (count(XLXSCLQD_XLXHID) + count(XLXSCLQD_XLGGID)) = 2 ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" ) c ");
|
||
SQL.Add(" on ( XLWBBJDMX_XLXHID <> ' ' and XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and XLWBBJDMX_WHR = 'BZ_DY' ");
|
||
else
|
||
SQL.Add(" and XLWBBJDMX_XLBZID = ' ' and XLWBBJDMX_DYDJID = ' ' ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and c.XLXSCLQD_XLXHID =XLWBBJDMX_XLXHID and c.XLXSCLQD_XLGGID=XLWBBJDMX_XLGGID ) ");
|
||
SQL.Add(" when matched then update set XLWBBJDMX_XLBZID =c.XLXSCLQD_XLBZID ");
|
||
if (!bBPPDY)
|
||
SQL.Add(" , XLWBBJDMX_DYDJID=c.XLXSCLQD_DYDJID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
else if (sDefXLBZID.Equals("FirstBZ"))
|
||
{
|
||
ErrorNo = "4.2";
|
||
#region 根据型号、规格,匹配第一个标准
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tag");
|
||
SQL.Add(" using ");
|
||
SQL.Add(" ( ");
|
||
SQL.Add(" select XLXSCLQD_XLXHID as XLXHID,XLXSCLQD_XLGGID as XLGGID,isnull(XLBZ_XLBZID,' ') as XLBZID");
|
||
SQL.Add(" from");
|
||
SQL.Add(" (");
|
||
SQL.Add(" select XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,min(isnull(XLBZPX,0)) as minXLBZPX FROM XLXSCLQD ");
|
||
SQL.Add(" left join (select row_number()over(order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID) as XLBZPX,XLBZ_XLBZID from XLBZ where 1=1) tmpXLBZ on XLBZ_XLBZID=XLXSCLQD_XLBZID");
|
||
SQL.Add(" where XLXSCLQD_WPID = 'ZZZZ' and len(XLXSCLQD_XLBZID) < 10 ");
|
||
SQL.Add(" and exists( ");
|
||
SQL.Add(" select 1 from XLWBBJDMX WHERE XLWBBJDMX_XLXHID = XLXSCLQD_XLXHID ");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID= XLXSCLQD_XLGGID ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" group by XLXSCLQD_XLXHID,XLXSCLQD_XLGGID");
|
||
SQL.Add(" ) clqd");
|
||
SQL.Add(" left join (select row_number()over(order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID) as XLBZPX,XLBZ_XLBZID from XLBZ where 1=1) tmpXLBZ on XLBZPX=minXLBZPX");
|
||
SQL.Add(" where 1=1");
|
||
SQL.Add(" ) c ");
|
||
SQL.Add(" on( XLWBBJDMX_XLXHID <> ' ' and XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and XLWBBJDMX_WHR = 'BZ_DY' ");
|
||
else
|
||
SQL.Add(" and XLWBBJDMX_XLBZID = ' ' and XLWBBJDMX_DYDJID = ' ' ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and c.XLXHID =XLWBBJDMX_XLXHID and c.XLGGID=XLWBBJDMX_XLGGID ) ");
|
||
SQL.Add(" when matched then update set XLWBBJDMX_XLBZID =c.XLBZID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pFlag");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID <> ' ' and XLWBBJDMX_DYDJID = ' '");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pFlag").Value = "DY";
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
if (!bBPPDY)
|
||
{
|
||
if (sDefDYDJID.Equals("minDY"))
|
||
{
|
||
ErrorNo = "5.1";
|
||
#region 根据型号、规格、标准,匹配第一个电压等级
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tag ");
|
||
SQL.Add(" using ");
|
||
SQL.Add(" ( ");
|
||
SQL.Add(" select XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID, isnull(XLDYDJB_DYDJID,' ') as XLDYDJB_DYDJID,PPSL");
|
||
SQL.Add(" from");
|
||
SQL.Add(" (");
|
||
SQL.Add(" select XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,min(isnull(DYDJPX,0)) as minDYDJPX,sum(1) as PPSL FROM XLXSCLQD ");//匹配数量等于1则表示唯一匹配
|
||
SQL.Add(" left join (select row_number()over(order by XLDYDJB_XH,XLDYDJB_DYDJID) as DYDJPX,XLDYDJB_DYDJID from XLDYDJB where 1=1) tmpDYDJ on tmpDYDJ.XLDYDJB_DYDJID=XLXSCLQD_DYDJID");
|
||
SQL.Add(" where XLXSCLQD_WPID = 'ZZZZ' and len(XLXSCLQD_XLBZID) < 10 ");
|
||
SQL.Add(" and exists( ");
|
||
SQL.Add(" select 1 from XLWBBJDMX WHERE XLWBBJDMX_XLXHID = XLXSCLQD_XLXHID ");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID= XLXSCLQD_XLGGID ");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID= XLXSCLQD_XLBZID ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" group by XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID");
|
||
SQL.Add(" ) clqd");
|
||
SQL.Add(" left join (select row_number()over(order by XLDYDJB_XH,XLDYDJB_DYDJID) as DYDJPX,XLDYDJB_DYDJID from XLDYDJB where 1=1) DYDJ on DYDJ.DYDJPX=minDYDJPX");
|
||
SQL.Add(" where 1=1");
|
||
SQL.Add(" ) c ");
|
||
SQL.Add(" on ( XLWBBJDMX_XLXHID <> ' ' and XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and XLWBBJDMX_WHR = 'DY' ");
|
||
else
|
||
SQL.Add(" and XLWBBJDMX_XLBZID <> ' ' and XLWBBJDMX_DYDJID = ' ' and ((isnull(XLWBBJDMX_BJCPDYDJID,' ')=' ' and c.PPSL > 1) or c.PPSL = 1) ");//匹配数量等于1表示唯一匹配,无需考虑XLWBBJDMX_BJCPDYDJID
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and c.XLXSCLQD_XLXHID =XLWBBJDMX_XLXHID and c.XLXSCLQD_XLGGID=XLWBBJDMX_XLGGID and c.XLXSCLQD_XLBZID=XLWBBJDMX_XLBZID ) ");
|
||
SQL.Add(" when matched then update set XLWBBJDMX_DYDJID =c.XLDYDJB_DYDJID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
else
|
||
{
|
||
ErrorNo = "5.2";
|
||
#region 根据型号、规格、标准,匹配唯一电压等级
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tag ");
|
||
SQL.Add(" using ");
|
||
SQL.Add(" ( ");
|
||
SQL.Add(" select XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID FROM XLXSCLQD a ");
|
||
SQL.Add(" where 1 = 1 and XLXSCLQD_WPID = 'ZZZZ' and len(XLXSCLQD_XLBZID) < 10 ");
|
||
SQL.Add(" and exists ( ");
|
||
SQL.Add(" SELECT XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID FROM XLXSCLQD b ");
|
||
SQL.Add(" WHERE 1 = 1 and a.XLXSCLQD_XLXHID = b.XLXSCLQD_XLXHID and a.XLXSCLQD_XLGGID = b.XLXSCLQD_XLGGID ");
|
||
SQL.Add(" and a.XLXSCLQD_XLBZID = b.XLXSCLQD_XLBZID");
|
||
SQL.Add(" and b.XLXSCLQD_WPID = 'ZZZZ' and exists( ");
|
||
SQL.Add(" select XLWBBJDMX_XLXHID, XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID from XLWBBJDMX WHERE XLWBBJDMX_XLXHID = XLXSCLQD_XLXHID ");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID= XLXSCLQD_XLGGID ");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID=XLXSCLQD_XLBZID");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" group by XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID ");
|
||
SQL.Add(" having (count(XLXSCLQD_XLXHID) + count(XLXSCLQD_XLGGID) + count(XLXSCLQD_XLBZID)) = 3 ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" ) c ");
|
||
SQL.Add(" on ( XLWBBJDMX_XLXHID <> ' ' and XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and XLWBBJDMX_WHR = 'DY' ");
|
||
else
|
||
SQL.Add(" and XLWBBJDMX_XLBZID <> ' ' and XLWBBJDMX_DYDJID = ' ' ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and c.XLXSCLQD_XLXHID =XLWBBJDMX_XLXHID and c.XLXSCLQD_XLGGID=XLWBBJDMX_XLGGID and c.XLXSCLQD_XLBZID=XLWBBJDMX_XLBZID ) ");
|
||
SQL.Add(" when matched then update set XLWBBJDMX_DYDJID =c.XLXSCLQD_DYDJID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
}
|
||
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pFlag");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
SQL.Add(" and XLWBBJDMX_XLBZID = ' ' and XLWBBJDMX_DYDJID <> ' '");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.ParamByName("pFlag").Value = "BZ";
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
if (sDefXLBZID.Equals(""))
|
||
{
|
||
ErrorNo = "6.1";
|
||
#region 根据型号、规格、电压等级,匹配唯一标准
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tag ");
|
||
SQL.Add(" using ");
|
||
SQL.Add(" ( ");
|
||
SQL.Add(" select XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID FROM XLXSCLQD a ");
|
||
SQL.Add(" where 1 = 1 and XLXSCLQD_WPID = 'ZZZZ' and len(XLXSCLQD_XLBZID) < 10 ");
|
||
SQL.Add(" and exists ( ");
|
||
SQL.Add(" SELECT XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_DYDJID FROM XLXSCLQD b ");
|
||
SQL.Add(" WHERE 1 = 1 and a.XLXSCLQD_XLXHID = b.XLXSCLQD_XLXHID and a.XLXSCLQD_XLGGID = b.XLXSCLQD_XLGGID ");
|
||
SQL.Add(" and a.XLXSCLQD_DYDJID = b.XLXSCLQD_DYDJID ");
|
||
SQL.Add(" and b.XLXSCLQD_WPID = 'ZZZZ' and exists( ");
|
||
SQL.Add(" select XLWBBJDMX_XLXHID, XLWBBJDMX_XLGGID,XLXSCLQD_DYDJID from XLWBBJDMX WHERE XLWBBJDMX_XLXHID = XLXSCLQD_XLXHID ");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID= XLXSCLQD_XLGGID");
|
||
SQL.Add(" and XLWBBJDMX_DYDJID=XLXSCLQD_DYDJID");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" group by XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_DYDJID ");
|
||
SQL.Add(" having (count(XLXSCLQD_XLXHID) + count(XLXSCLQD_XLGGID) + count(XLXSCLQD_DYDJID)) = 3 ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" ) c ");
|
||
SQL.Add(" on ( XLWBBJDMX_XLXHID <> ' ' and XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and XLWBBJDMX_WHR = 'BZ' ");
|
||
else
|
||
SQL.Add(" and XLWBBJDMX_XLBZID = ' ' and XLWBBJDMX_DYDJID <> ' ' ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and c.XLXSCLQD_XLXHID =XLWBBJDMX_XLXHID and c.XLXSCLQD_XLGGID=XLWBBJDMX_XLGGID and c.XLXSCLQD_DYDJID=XLWBBJDMX_DYDJID ) ");
|
||
SQL.Add(" when matched then update set XLWBBJDMX_XLBZID =c.XLXSCLQD_XLBZID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
else if (sDefXLBZID.Equals("FirstBZ"))
|
||
{
|
||
ErrorNo = "6.2";
|
||
#region 根据型号、规格、电压等级,匹配第一个标准
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tag ");
|
||
SQL.Add(" using ");
|
||
SQL.Add(" ( ");
|
||
SQL.Add(" select XLXSCLQD_XLXHID as XLXHID,XLXSCLQD_XLGGID as XLGGID,XLXSCLQD_DYDJID as DYDJID,isnull(XLBZ_XLBZID,' ') as XLBZID");
|
||
SQL.Add(" from");
|
||
SQL.Add(" (");
|
||
SQL.Add(" select XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_DYDJID,min(isnull(XLBZPX,0)) as minXLBZPX FROM XLXSCLQD ");
|
||
SQL.Add(" left join (select row_number()over(order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID) as XLBZPX,XLBZ_XLBZID from XLBZ where 1=1) tmpXLBZ on XLBZ_XLBZID=XLXSCLQD_XLBZID");
|
||
SQL.Add(" where XLXSCLQD_WPID = 'ZZZZ' and len(XLXSCLQD_XLBZID) < 10 ");
|
||
SQL.Add(" and exists( ");
|
||
SQL.Add(" select 1 from XLWBBJDMX WHERE XLWBBJDMX_XLXHID = XLXSCLQD_XLXHID ");
|
||
SQL.Add(" and XLWBBJDMX_XLGGID= XLXSCLQD_XLGGID ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" group by XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_DYDJID");
|
||
SQL.Add(" ) clqd");
|
||
SQL.Add(" left join (select row_number()over(order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID) as XLBZPX,XLBZ_XLBZID from XLBZ where 1=1) tmpXLBZ on XLBZPX=minXLBZPX");
|
||
SQL.Add(" where 1=1");
|
||
SQL.Add(" ) c ");
|
||
SQL.Add(" on( XLWBBJDMX_XLXHID <> ' ' and XLWBBJDMX_XLGGID <> ' ' ");
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
SQL.Add(" and XLWBBJDMX_WHR = 'BZ' ");
|
||
else
|
||
SQL.Add(" and XLWBBJDMX_XLBZID = ' ' and XLWBBJDMX_DYDJID <> ' ' ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and c.XLXHID =XLWBBJDMX_XLXHID and c.XLGGID=XLWBBJDMX_XLGGID and c.DYDJID=XLWBBJDMX_DYDJID ) ");
|
||
SQL.Add(" when matched then update set XLWBBJDMX_XLBZID =c.XLBZID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
|
||
if (dberp.DriverName == "ORACLE" || dberp.DriverName == "DM")//Oracle下merge into语法被更新的字段不能作为关联条件使用,专门处理
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX set XLWBBJDMX_WHR=:pWHR");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID");
|
||
if (!sDRHHList.Equals(""))
|
||
{ //研发自测:王威 2025/11/02 21:35:46
|
||
SQL.Add(" and exists (select 1 from V_XLWBBJDMX where V_XLWBBJDMX_DRHH=XLWBBJDMX_DRHH and V_XLWBBJDMX_ID=:pNewID)");
|
||
SQL.ParamByName("pNewID").Value = VnewID;
|
||
}
|
||
SQL.Add(" and (XLWBBJDMX_WHR='BZ_DY' or XLWBBJDMX_WHR='DY' or XLWBBJDMX_WHR='BZ')");
|
||
SQL.ParamByName("pWHR").Value = CurSession.UserName;
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 线缆物料匹配
|
||
|
||
private void SelectMatchForXLWL()
|
||
{
|
||
if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
Dictionary<string, string> dicMCTCH = new Dictionary<string, string>();
|
||
dicMCTCH.Clear();
|
||
|
||
Dictionary<string, string> dicXGD = new Dictionary<string, string>();
|
||
dicXGD.Clear();
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
string[] sTempArr = sDRHHList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
|
||
string sDicTmp = "";
|
||
int index = 0;
|
||
//1000条记录以上
|
||
if (sTempArr.Length / 1000 > 0)
|
||
{
|
||
for (int m = 0; m < sTempArr.Length; m++)
|
||
{
|
||
if (m % 1000 == 0)
|
||
{
|
||
if (!sDicTmp.Equals(""))
|
||
{
|
||
index++;
|
||
dicMCTCH.Add(index.ToString().Trim(), sDicTmp.TrimEnd(','));
|
||
sDicTmp = "";
|
||
}
|
||
}
|
||
sDicTmp = sDicTmp + sTempArr[m] + ",";
|
||
}
|
||
index++;
|
||
dicMCTCH.Add(index.ToString().Trim(), sDicTmp.TrimEnd(','));
|
||
sDicTmp = "";
|
||
|
||
}
|
||
else
|
||
{
|
||
//1000条以下记录直接放入字典
|
||
index++;
|
||
dicMCTCH.Add(index.ToString().Trim(), sDRHHList.TrimEnd(','));
|
||
sDicTmp = "";
|
||
}
|
||
string ErrorNo = "";
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
try
|
||
{
|
||
dberp.BeginTrans();
|
||
MatchForXLWL(dberp, SQL, dicMCTCH, ref ErrorNo);
|
||
dberp.CommitTrans();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
dberp.RollbackTrans();
|
||
ShowMessage("匹配出现错误,请联系系统管理员。错误编码:" + ErrorNo + ";" + ex);
|
||
}
|
||
|
||
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
private void MatchForXLWL(TDatabase dberp, TSQL SQL, Dictionary<string, string> dicMCTCH, ref string ErrorNo)
|
||
{
|
||
//使用材料清单匹配
|
||
foreach (KeyValuePair<string, string> kvp in dicMCTCH)
|
||
{
|
||
ErrorNo = "1";
|
||
#region 物料匹配五要素
|
||
/*
|
||
merge into 目标表 tar
|
||
using 源表 sor
|
||
on(a.条件字段1=b.条件字段1 and tar.条件字段2=b.条件字段2 ……)
|
||
when matched then update set a.更新字段=b.字段
|
||
when not matched then insert into a(字段1,字段2……)values(值1,值2……)
|
||
*/
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLWBBJDMX_WBBJDID as WBBJDID ,XLWBBJDMX_BJDID as BJDID,XLWBBJDMX_DRHH as DRHH, ");
|
||
SQL.Add(" XLWBBJDMX_WLID as WLID, ");
|
||
SQL.Add(" case when isnull(XSBJXHTH_BJXLXHID,' ') = ' ' then XLXLB_XLXHID else XSBJXHTH_BJXLXHID end as XLXHID, ");
|
||
//A|× B|*
|
||
if (sXLJGU007.Equals("B"))
|
||
{
|
||
SQL.Add(" replace( XLXLB_XLGGID,'×','*') as XLGGID, ");
|
||
}
|
||
else
|
||
{
|
||
SQL.Add(" replace( XLXLB_XLGGID,'*','×') as XLGGID, ");
|
||
}
|
||
SQL.Add(" XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID, ");
|
||
SQL.Add(" XLXLB_XLYSID as XLYSID ");
|
||
SQL.Add(" from XLWBBJDMX ");
|
||
SQL.Add(" left join XLXLB on XLWBBJDMX_WLID=XLXLB_WLID ");
|
||
SQL.Add(" left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pXLBJDID ");
|
||
SQL.Add(" and isnull(XLWBBJDMX_WLID,' ') <> ' ' ");
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", kvp.Value));
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on ( ");
|
||
SQL.Add(" sor.BJDID = XLWBBJDMX_BJDID ");
|
||
SQL.Add(" and sor.WBBJDID = XLWBBJDMX_WBBJDID ");
|
||
SQL.Add(" and sor.DRHH = XLWBBJDMX_DRHH ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pXLBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(" XLWBBJDMX_XLXHID = sor.XLXHID, XLWBBJDMX_XLGGID = sor.XLGGID, ");
|
||
SQL.Add(" XLWBBJDMX_XLBZID = sor.XLBZID, XLWBBJDMX_DYDJID = sor.DYDJID, ");
|
||
SQL.Add(" XLWBBJDMX_XLYSID = sor.XLYSID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pXLBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
#endregion
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
//统一根据ds 以及 选中的行号更新型号,规格,电压。
|
||
private void UpdateData(TDatabase dberp, TSQL SQL, string sWBBJDID, string sSELBJDID, DataSet ds)
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX ");
|
||
SQL.Add(" set XLWBBJDMX_XLXHID=:pXLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID=:pXLWBBJDMX_XLGGID,XLWBBJDMX_DYDJID=:pXLWBBJDMX_DYDJID,XLWBBJDMX_BJCPDYDJID=:pXLWBBJDMX_BJCPDYDJID,XLWBBJDMX_XDBZ=:pXLWBBJDMX_XDBZ ");
|
||
if (ds.Tables[0].Columns.Contains("XLWBBJDMX_XLYSID"))
|
||
{
|
||
SQL.Add(" ,XLWBBJDMX_XLYSID=:pXLWBBJDMX_XLYSID ");
|
||
}
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and XLWBBJDMX_DRHH = :pDRHH ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
//
|
||
SQL.ParamByName("pDRHH").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_DRHH"].ToString().Trim();
|
||
SQL.ParamByName("pXLWBBJDMX_XLXHID").Value = XLBJDUtils.SubStringFunc(ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim(), 40).ToUpper();//型号控制大写
|
||
SQL.ParamByName("pXLWBBJDMX_XLGGID").Value = XLBJDUtils.SubStringFunc(ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim(), 60);
|
||
string sWBDYDJID = XLBJDUtils.SubStringFunc(ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim(), 20);
|
||
SQL.ParamByName("pXLWBBJDMX_DYDJID").Value = sWBDYDJID.Equals("") ? " " : sWBDYDJID;
|
||
if (ds.Tables[0].Columns.Contains("XLWBBJDMX_XLYSID"))
|
||
{
|
||
SQL.ParamByName("pXLWBBJDMX_XLYSID").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_XLYSID"].ToString().Trim();
|
||
}
|
||
SQL.ParamByName("pXLWBBJDMX_BJCPDYDJID").Value = XLBJDUtils.SubStringFunc(ds.Tables[0].Rows[i]["XLWBBJDMX_BJCPDYDJID"].ToString().Trim(), 20);
|
||
SQL.ParamByName("pXLWBBJDMX_XDBZ").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_XDBZ"].ToString().Trim();
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
}
|
||
|
||
//统一根据ds 以及 选中的行号更新型号,电压。
|
||
private void UpdateWBBJDXHDY(TDatabase dberp, TSQL SQL, string sWBBJDID, string sSELBJDID, DataSet ds)
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX ");
|
||
SQL.Add(" set XLWBBJDMX_XLXHID=:pXLWBBJDMX_XLXHID,XLWBBJDMX_DYDJID=:pXLWBBJDMX_DYDJID,XLWBBJDMX_XDBZ=:pXLWBBJDMX_XDBZ ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and XLWBBJDMX_DRHH = :pDRHH ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
//
|
||
SQL.ParamByName("pDRHH").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_DRHH"].ToString().Trim();
|
||
SQL.ParamByName("pXLWBBJDMX_XLXHID").Value = XLBJDUtils.SubStringFunc(ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim(), 40).ToUpper();//型号控制大写
|
||
string sWBDYDJID = XLBJDUtils.SubStringFunc(ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim(), 20);
|
||
SQL.ParamByName("pXLWBBJDMX_DYDJID").Value = sWBDYDJID.Equals("") ? " " : sWBDYDJID;
|
||
SQL.ParamByName("pXLWBBJDMX_XDBZ").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_XDBZ"].ToString().Trim();
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
}
|
||
|
||
//统一根据ds 以及 选中的行号更新型号,规格,标准 ,电压,颜色。
|
||
private void UpdateCPYS(TDatabase dberp, TSQL SQL, string sWBBJDID, string sSELBJDID, DataSet ds)
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDMX ");
|
||
SQL.Add(" set XLWBBJDMX_XLXHID=:pXLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID=:pXLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID= :pXLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID=:pXLWBBJDMX_DYDJID,XLWBBJDMX_XLYSID=:pXLWBBJDMX_XLYSID ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and XLWBBJDMX_DRHH = :pDRHH ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
//
|
||
SQL.ParamByName("pDRHH").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_DRHH"].ToString().Trim();
|
||
SQL.ParamByName("pXLWBBJDMX_XLXHID").Value = XLBJDUtils.SubStringFunc(ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim(), 40).ToUpper();//型号控制大写
|
||
SQL.ParamByName("pXLWBBJDMX_XLGGID").Value = XLBJDUtils.SubStringFunc(ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim(), 60);
|
||
SQL.ParamByName("pXLWBBJDMX_XLBZID").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_XLBZID"].ToString().Trim();
|
||
if (GetOption(100860043, "BJU028") == "Y")
|
||
SQL.ParamByName("pXLWBBJDMX_XLBZID").Value = " ";
|
||
string sWBDYDJID = XLBJDUtils.SubStringFunc(ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim(), 20);
|
||
SQL.ParamByName("pXLWBBJDMX_DYDJID").Value = sWBDYDJID.Equals("") ? " " : sWBDYDJID;
|
||
SQL.ParamByName("pXLWBBJDMX_XLYSID").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_XLYSID"].ToString().Trim();
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
}
|
||
|
||
//预处理原则2
|
||
private void RecoverData(TDatabase dberp, TSQL SQL, string sWBBJDID, string sSELBJDID)
|
||
{
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
||
string sCPML = pzxx.XLXSBJPZ_XSCPML;
|
||
string sXSPWQD = pzxx.XLXSBJPZ_XSPWQD;
|
||
string sXSYZ = PageParam.GetRTrimString("XSYZ");
|
||
string sXSYXJ = PageParam.GetRTrimString("XSYXJ");
|
||
string sXSYSCP = PageParam.GetRTrimString("XSYSCP");
|
||
string sXSBH = PageParam.GetRTrimString("XSBH");
|
||
string sXSCPBJXJ = PageParam.GetRTrimString("XSCPBJXJ");
|
||
bool bXsGWBM = XLBJDUtils.ExistXLXSBJGWWL();
|
||
int iBJCP = 1;
|
||
int iXH = 2;
|
||
int iGG = 3;
|
||
string sHTBH = "";
|
||
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH")))
|
||
{
|
||
sHTBH = PageParam.GetRTrimString("HTBH");
|
||
}
|
||
Dictionary<string, string> dicDRLM = XLBJD_WBBJDDRList.GetDRLM(sXSYXJ, sXSYSCP, sXSYZ, sXSBH, sXSCPBJXJ, sCPML, sXSPWQD, bXsGWBM, sSELBJDID);
|
||
int ColumnIndex = 1;
|
||
foreach (string stDRLM in dicDRLM.Keys)
|
||
{
|
||
if (stDRLM.Equals("1"))
|
||
iBJCP = ColumnIndex;
|
||
if (stDRLM.Equals("8"))
|
||
iXH = ColumnIndex;
|
||
if (stDRLM.Equals("9"))
|
||
iGG = ColumnIndex;
|
||
ColumnIndex++;
|
||
}
|
||
string x,y,z;
|
||
x = iBJCP.ToString().PadLeft(2, '0');
|
||
y = iXH.ToString().PadLeft(2, '0');
|
||
z = iGG.ToString().PadLeft(2, '0');
|
||
/*
|
||
merge into 目标表 tar
|
||
using 源表 sor
|
||
on(a.条件字段1=b.条件字段1 and tar.条件字段2=b.条件字段2 ……)
|
||
when matched then update set a.更新字段=b.字段
|
||
when not matched then insert into a(字段1,字段2……)values(值1,值2……)
|
||
*/
|
||
//赋值内容导入
|
||
SQL.Clear();
|
||
SQL.Add(" select 1 from XLWBBJDML ");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and isnull(XLWBBJDML_EXCEL,' ' ) = ' ' and isnull(XLWBBJDML_SHEET,' ' ) = ' ' and isnull(XLWBBJDML_PICNAME, ' ') = ' ' ");
|
||
SQL.Add(" and XLWBBJDML_WBBJDID=:pWBBJDID and XLWBBJDML_BJDID=:pBJDID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet dsLM = dberp.OpenDataSet(SQL);
|
||
if (dsLM.Tables[0].Rows.Count > 0)
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLWBBJDNR_WBBJDID as WBBJDID ,XLWBBJDNR_BJDID as BJDID,XLWBBJDNR_DRHH as DRHH, ");
|
||
SQL.Add(string.Format(" XLWBBJDNR_LMNR{0},XLWBBJDNR_LMNR{1},XLWBBJDNR_LMNR{2} ",x,y,z));
|
||
SQL.Add(" from XLWBBJDNR ");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and XLWBBJDNR_WBBJDID=:pWBBJDID and XLWBBJDNR_BJDID=:pBJDID ");
|
||
SQL.Add(string.Format(" and isnull(XLWBBJDNR_LMNR{0}, ' ') <>' ' and isnull(XLWBBJDNR_LMNR{1}, ' ') <>' ' and isnull(XLWBBJDNR_LMNR{2}, ' ') = ' ' ", x, y, z));
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on ( ");
|
||
SQL.Add(" sor.BJDID = XLWBBJDMX_BJDID ");
|
||
SQL.Add(" and sor.WBBJDID = XLWBBJDMX_WBBJDID ");
|
||
SQL.Add(" and sor.DRHH = XLWBBJDMX_DRHH ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(string.Format(" XLWBBJDMX_XLXHID = sor.XLWBBJDNR_LMNR{0} ",y));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" merge into XLWBBJDMX tar ");
|
||
SQL.Add(" using ( ");
|
||
SQL.Add(" select XLWBBJDNR_WBBJDID as WBBJDID ,XLWBBJDNR_BJDID as BJDID,XLWBBJDNR_DRHH as DRHH, ");
|
||
SQL.Add(string.Format(" XLWBBJDNR_LMNR{0},XLWBBJDNR_LMNR{1},XLWBBJDNR_LMNR{2} ", x, y, z));
|
||
SQL.Add(" from XLWBBJDNR ");
|
||
SQL.Add(" where 1=1 ");
|
||
SQL.Add(" and XLWBBJDNR_WBBJDID=:pWBBJDID and XLWBBJDNR_BJDID=:pBJDID ");
|
||
SQL.Add(string.Format(" and isnull(XLWBBJDNR_LMNR{0}, ' ') <>' ' and isnull(XLWBBJDNR_LMNR{1}, ' ') = ' ' and isnull(XLWBBJDNR_LMNR{2}, ' ') <>' ' ", x, y, z));
|
||
SQL.Add(" ) sor ");
|
||
SQL.Add(" on ( ");
|
||
SQL.Add(" sor.BJDID = XLWBBJDMX_BJDID ");
|
||
SQL.Add(" and sor.WBBJDID = XLWBBJDMX_WBBJDID ");
|
||
SQL.Add(" and sor.DRHH = XLWBBJDMX_DRHH ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" ) ");
|
||
SQL.Add(" when matched then update set ");
|
||
SQL.Add(string.Format(" XLWBBJDMX_XLGGID = sor.XLWBBJDNR_LMNR{0} ",z));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
}
|
||
|
||
//更新预处理字段
|
||
private void UpdateMLYCL(TDatabase dberp, TSQL SQL, string sWBBJDID, string sSELBJDID, string sYCL)
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("update XLWBBJDML ");
|
||
SQL.Add(" set XLWBBJDML_YCL=:pYCL ");
|
||
SQL.Add(" where XLWBBJDML_WBBJDID=:pWBBJDID and XLWBBJDML_BJDID=:pBJDID ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("pYCL").Value = sYCL;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
|
||
public static string GetJGCIDS(string sJGBID, string sMXBH)
|
||
{
|
||
string sJGCIDS = sJGBID;
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
sql.Add("SELECT XLXSJGB_JGCIDS from XLXSJGB ");
|
||
sql.Add("where XLXSJGB_MXBH=:pMXBH ");
|
||
sql.Add(" and XLXSJGB_JGBID = :pJGBID ");
|
||
sql.ParamByName("pMXBH").Value = sMXBH;
|
||
sql.ParamByName("pJGBID").Value = sJGBID;
|
||
DataSet ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
sJGCIDS = sJGCIDS + "," + ds.Tables[0].Rows[0][0].ToString().Trim();
|
||
}
|
||
sJGCIDS = sJGCIDS.TrimStart(',').TrimEnd(',');
|
||
return sJGCIDS;
|
||
}
|
||
|
||
public static void RecoverCPXX(ref string sCPXX)
|
||
{
|
||
if (dicXLXHKZHZ.Count == 0)
|
||
{
|
||
dicXLXHKZHZ.Clear();
|
||
dicXLXHKZHZ.Add(" 22 ", "22 ");
|
||
dicXLXHKZHZ.Add(" 23 ", "23 ");
|
||
dicXLXHKZHZ.Add(" 32 ", "32 ");
|
||
dicXLXHKZHZ.Add(" 33 ", "33 ");
|
||
dicXLXHKZHZ.Add(" 42 ", "42 ");
|
||
dicXLXHKZHZ.Add(" 43 ", "43 ");
|
||
dicXLXHKZHZ.Add(" 62 ", "62 ");
|
||
dicXLXHKZHZ.Add(" 63 ", "63 ");
|
||
dicXLXHKZHZ.Add(" 72 ", "72 ");
|
||
dicXLXHKZHZ.Add(" 73 ", "73 ");
|
||
lstCPXXHZ.Clear();
|
||
lstCPXXHZ.Add(" 22");
|
||
lstCPXXHZ.Add(" 23");
|
||
lstCPXXHZ.Add(" 32");
|
||
lstCPXXHZ.Add(" 33");
|
||
lstCPXXHZ.Add(" 42");
|
||
lstCPXXHZ.Add(" 43");
|
||
lstCPXXHZ.Add(" 62");
|
||
lstCPXXHZ.Add(" 63");
|
||
lstCPXXHZ.Add(" 72");
|
||
lstCPXXHZ.Add(" 73");
|
||
lstXLXHHZ.Clear();
|
||
lstXLXHHZ.Add("P2-22");
|
||
lstXLXHHZ.Add("P2-23");
|
||
lstXLXHHZ.Add("P2-32");
|
||
lstXLXHHZ.Add("P2-33");
|
||
lstXLXHHZ.Add("P2-42");
|
||
lstXLXHHZ.Add("P2-43");
|
||
lstXLXHHZ.Add("P2-62");
|
||
lstXLXHHZ.Add("P2-63");
|
||
lstXLXHHZ.Add("P2-72");
|
||
lstXLXHHZ.Add("P2-73");
|
||
lstXLXHHZ.Add("P3-22");
|
||
lstXLXHHZ.Add("P3-23");
|
||
lstXLXHHZ.Add("P3-32");
|
||
lstXLXHHZ.Add("P3-33");
|
||
lstXLXHHZ.Add("P3-42");
|
||
lstXLXHHZ.Add("P3-43");
|
||
lstXLXHHZ.Add("P3-62");
|
||
lstXLXHHZ.Add("P3-63");
|
||
lstXLXHHZ.Add("P3-72");
|
||
lstXLXHHZ.Add("P3-73");
|
||
lstXLXHHZ.Add("-B1");
|
||
lstXLXHHZ.Add("-B2");
|
||
lstXLXHHZ.Add("-Z");
|
||
}
|
||
foreach (string key in dicXLXHKZHZ.Keys)
|
||
{
|
||
sCPXX = sCPXX.Replace(key, dicXLXHKZHZ[key]);
|
||
}
|
||
foreach (string sHZ in lstCPXXHZ)
|
||
{
|
||
if (sCPXX.EndsWith(sHZ))
|
||
{
|
||
sCPXX.TrimEnd(' ');
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
public static void GetXLWBBJDXHDZB(TDatabase dberp, TSQL SQL, ref Dictionary<string, string> dicXLWBBJDXHDZB)
|
||
{
|
||
dicXLWBBJDXHDZB.Clear();
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDXHDZB_WBXLXHID,XLWBBJDXHDZB_XLXHID from XLWBBJDXHDZB ");
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!dicXLWBBJDXHDZB.ContainsKey(ds.Tables[0].Rows[i]["XLWBBJDXHDZB_WBXLXHID"].ToString().Trim().ToUpper()))
|
||
{
|
||
dicXLWBBJDXHDZB.Add(ds.Tables[0].Rows[i]["XLWBBJDXHDZB_WBXLXHID"].ToString().Trim().ToUpper(), ds.Tables[0].Rows[i]["XLWBBJDXHDZB_XLXHID"].ToString().Trim());
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
#region 获取报价型号list,型号,规格,电压list
|
||
public static void GetBJXHList(TDatabase dberp, TSQL SQL, string sJGBID, string sJGCIDS, ref List<string> lstBJXHList)
|
||
{
|
||
//报价型号集合
|
||
lstBJXHList.Clear();
|
||
SQL.Clear();
|
||
if (XLBJDUtils.IsJGEJGB(sJGBID))//表价实时计算价格表
|
||
{
|
||
SQL.Add("select distinct XLXSCLQD_XLXHID from XLXSCLQD where XLXSCLQD_WPID='ZZZZ'");
|
||
}
|
||
else
|
||
{
|
||
SQL.Add(" select distinct XLXSJGBMX_XLXHID from XLXSJGBMX where 1=1 ");
|
||
if (!sJGCIDS.Trim().Equals(""))//组合产品目录价格表
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGCIDS.Trim()));
|
||
else
|
||
{
|
||
SQL.Add(" and XLXSJGBMX_JGBID = :pJGBID ");
|
||
SQL.ParamByName("pJGBID").Value = sJGBID;
|
||
}
|
||
}
|
||
DataSet dsBJXH = dberp.OpenDataSet(SQL);
|
||
if (dsBJXH.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsBJXH.Tables[0].Rows.Count; i++)
|
||
{
|
||
lstBJXHList.Add(dsBJXH.Tables[0].Rows[i][0].ToString().Trim().ToUpper());
|
||
}
|
||
}
|
||
}
|
||
|
||
private void GetXLXHIDList(TDatabase dberp, TSQL SQL, ref List<string> lstXLXHID)
|
||
{
|
||
//型号集合
|
||
lstXLXHID.Clear();
|
||
SQL.Clear();
|
||
//SQL.Add("select TOP 5 XLXHB_XLXHID from XLXHB where XLXHB_XLXHID like 'VV%' OR XLXHB_XLXHID LIKE '%BVR' ");
|
||
SQL.Add(" select XLXHB_XLXHID from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' order by XLXHB_XLXHID ");
|
||
DataSet dsXLXHID = dberp.OpenDataSet(SQL);
|
||
if (dsXLXHID.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsXLXHID.Tables[0].Rows.Count; i++)
|
||
{
|
||
lstXLXHID.Add(dsXLXHID.Tables[0].Rows[i][0].ToString().Trim().ToUpper());
|
||
}
|
||
}
|
||
}
|
||
|
||
public static void GetXLXHIDList(TDatabase dberp, TSQL SQL, bool bWBXLXHID, ref List<string> lstXLXHID)
|
||
{
|
||
//型号集合
|
||
lstXLXHID.Clear();
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXHB_XLXHID from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' order by XLXHB_XLXHID ");
|
||
DataSet dsXLXHID = dberp.OpenDataSet(SQL);
|
||
if (dsXLXHID.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsXLXHID.Tables[0].Rows.Count; i++)
|
||
{
|
||
lstXLXHID.Add(dsXLXHID.Tables[0].Rows[i][0].ToString().Trim().ToUpper());
|
||
}
|
||
}
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" select distinct XLWBBJDXHGGDZB_WBXLXHID from XLWBBJDXHGGDZB order by XLWBBJDXHGGDZB_WBXLXHID ");
|
||
dsXLXHID = dberp.OpenDataSet(SQL);
|
||
if (dsXLXHID.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsXLXHID.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!lstXLXHID.Contains(dsXLXHID.Tables[0].Rows[i][0].ToString().Trim()))
|
||
lstXLXHID.Add(dsXLXHID.Tables[0].Rows[i][0].ToString().Trim().ToUpper());
|
||
}
|
||
}
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" select distinct XLWBBJDXHDZB_WBXLXHID from XLWBBJDXHDZB order by XLWBBJDXHDZB_WBXLXHID ");
|
||
dsXLXHID = dberp.OpenDataSet(SQL);
|
||
if (dsXLXHID.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsXLXHID.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!lstXLXHID.Contains(dsXLXHID.Tables[0].Rows[i][0].ToString().Trim()))
|
||
lstXLXHID.Add(dsXLXHID.Tables[0].Rows[i][0].ToString().Trim().ToUpper());
|
||
}
|
||
}
|
||
}
|
||
|
||
public static void GetXLGGIDList(TDatabase dberp, TSQL SQL, ref List<string> lstXLGGID)
|
||
{
|
||
//规格集合
|
||
lstXLGGID.Clear();
|
||
SQL.Clear();
|
||
SQL.Add(" select XLGGB_XLGGID from XLGGB where isnull(XLGGB_TYBZ,'N')<>'Y' and isnull(XLGGB_XLGGID,' ') <>' ' order by XLGGB_XLGGID ");
|
||
DataSet dsXLGGID = dberp.OpenDataSet(SQL);
|
||
if (dsXLGGID.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsXLGGID.Tables[0].Rows.Count; i++)
|
||
{
|
||
lstXLGGID.Add(dsXLGGID.Tables[0].Rows[i][0].ToString().Trim());
|
||
}
|
||
}
|
||
}
|
||
|
||
public static void GetDYDJIDList(TDatabase dberp, TSQL SQL, ref List<string> lstDYDJID)
|
||
{
|
||
//电压等级集合
|
||
lstDYDJID.Clear();
|
||
SQL.Clear();
|
||
SQL.Add(" select distinct XLDYDJB_DYDJID,XLDYDJB_XH from XLDYDJB where isnull(XLDYDJB_TYBZ,' ')<>'Y' order by XLDYDJB_XH ");
|
||
DataSet dsDYDJID = dberp.OpenDataSet(SQL);
|
||
if (dsDYDJID.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsDYDJID.Tables[0].Rows.Count; i++)
|
||
{
|
||
lstDYDJID.Add(dsDYDJID.Tables[0].Rows[i][0].ToString().Trim().ToUpper());
|
||
}
|
||
}
|
||
}
|
||
|
||
public static Dictionary<string, string> GetdicXLYS()
|
||
{
|
||
Dictionary<string, string> dicXLYS = new Dictionary<string, string>();
|
||
dicXLYS.Clear();
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Add(" select XLYSB_XLYSID,XLYSB_XLYSMC from XLYSB where 1=1 order by LEN(XLYSB_XLYSMC) DESC,XLYSB_YSZH DESC,XLYSB_XSXH ");
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sXLYSID = ds.Tables[0].Rows[i]["XLYSB_XLYSID"].ToString().Trim();
|
||
string sXLYSMC = ds.Tables[0].Rows[i]["XLYSB_XLYSMC"].ToString().Trim();
|
||
if (!dicXLYS.ContainsKey(sXLYSMC) && !sXLYSMC.Equals(""))
|
||
{
|
||
dicXLYS.Add(sXLYSMC, sXLYSID);
|
||
}
|
||
}
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sXLYSID = ds.Tables[0].Rows[i]["XLYSB_XLYSID"].ToString().Trim();
|
||
string sXLYSMC = ds.Tables[0].Rows[i]["XLYSB_XLYSMC"].ToString().Trim().Replace("色","");
|
||
if (!dicXLYS.ContainsKey(sXLYSMC) && !sXLYSMC.Equals(""))
|
||
{
|
||
dicXLYS.Add(sXLYSMC, sXLYSID);
|
||
}
|
||
}
|
||
//广西桂奥,双色若不存在则视为绿黄
|
||
if (!dicXLYS.ContainsKey("双") && !dicXLYS.ContainsKey("双色"))
|
||
{
|
||
if (dicXLYS.ContainsKey("绿黄"))
|
||
{
|
||
string sLHYSID = dicXLYS["绿黄"];
|
||
dicXLYS.Add("双色", sLHYSID);
|
||
dicXLYS.Add("双", sLHYSID);
|
||
}
|
||
else if (dicXLYS.ContainsKey("黄绿"))
|
||
{
|
||
string sHLYSID = dicXLYS["黄绿"];
|
||
dicXLYS.Add("双色", sHLYSID);
|
||
dicXLYS.Add("双", sHLYSID);
|
||
}
|
||
}
|
||
return dicXLYS;
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 合规判定
|
||
|
||
private string getXHBHG(string sXLXHID)
|
||
{
|
||
string rB = "N";
|
||
if (!sXLXHID.Trim().Equals(""))
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXHB WHERE XLXHB_XLXHID = '{0}' ", sXLXHID)))
|
||
rB = "Y";
|
||
}
|
||
return rB;
|
||
}
|
||
|
||
private string getGGBHG(string sXLGGID)
|
||
{
|
||
string rB = "N";
|
||
if (!sXLGGID.Trim().Equals(""))
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLGGB WHERE XLGGB_XLGGID = replace('{0}','*','×') ", sXLGGID)))
|
||
rB = "Y";
|
||
}
|
||
return rB;
|
||
}
|
||
|
||
private string getDYDJBHG(string sDYDJID)
|
||
{
|
||
string rB = "N";
|
||
if (!sDYDJID.Trim().Equals(""))
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLDYDJB WHERE XLDYDJB_DYDJID = isnull('{0}',' ') ", sDYDJID)))
|
||
rB = "Y";
|
||
}
|
||
return rB;
|
||
}
|
||
|
||
private string getCLQWSC(string sXLXHID, string sXLGGID, string sXLBZID, string sDYDJID)
|
||
{
|
||
string rB = "N";
|
||
string sJGBID = PageParam.GetRTrimString("JGBID").Trim();
|
||
string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
||
if (XLBJDUtils.IsJGEJGB(sJGBID))
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCLQD WHERE XLXSCLQD_WPID='ZZZZ' and XLXSCLQD_XLXHID='{0}' and XLXSCLQD_XLGGID = '{1}' " +
|
||
"and XLXSCLQD_XLBZID=isnull('{2}',' ') and XLXSCLQD_DYDJID=isnull('{3}',' ')", sXLXHID, sXLGGID, sXLBZID, sDYDJID)))
|
||
rB = "Y";
|
||
}
|
||
else
|
||
{
|
||
string sJGCIDS = GetJGCIDS(sJGBID, "JGB");
|
||
if (sJGCIDS.Equals(""))
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX WHERE XLXSJGBMX_JGBID='" + sJGBID + "' and XLXSJGBMX_XLXHID='{0}' and XLXSJGBMX_XLGGID = {1} " +
|
||
"and XLXSJGBMX_XLBZID=isnull('{2}',' ') and XLXSJGBMX_DYDJID=isnull('{3}',' ')", sXLXHID, sXLGGID, sXLBZID, sDYDJID)))
|
||
rB = "Y";
|
||
}
|
||
else
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX WHERE " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGCIDS) + " and XLXSJGBMX_XLXHID='{0}' and XLXSJGBMX_XLGGID = '{1}' " +
|
||
"and XLXSJGBMX_XLBZID=isnull('{2}',' ') and XLXSJGBMX_DYDJID=isnull('{3}',' ')", sXLXHID, sXLGGID, sXLBZID, sDYDJID)))
|
||
rB = "Y";
|
||
}
|
||
}
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX WHERE XLXSJGBMX_JGBID='" + sJGFID + "' and XLXSJGBMX_XLXHID='{0}' and XLXSJGBMX_XLGGID = '{1}' " +
|
||
"and XLXSJGBMX_XLBZID=isnull('{2}',' ') and XLXSJGBMX_DYDJID=isnull('{3}',' ')", sXLXHID, sXLGGID, sXLBZID, sDYDJID)))
|
||
rB = "N";
|
||
}
|
||
return rB;
|
||
}
|
||
|
||
#endregion
|
||
|
||
//标准与电压的转换传入与传出,格式XLXSCLQ_DYDJDID 或者XLXSJGBMX_DYDJID等,表明如果sValue传入电压,返回的则是标准。
|
||
private List<string> GetBJCPValue_XLXSCLQDorXLXSJGBMX(string sXLXHID, string sXLGGID, string sXLBZID, string sDYDJID, string sJGBID, string sZD, string sLY)
|
||
{
|
||
List<string> lst = new List<string>();
|
||
lst.Clear();
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
sql.Clear();
|
||
DataSet ds = new DataSet();
|
||
if (sLY.Equals("XLXSCLQD"))
|
||
{
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSCLQD_" + sZD + " ");
|
||
sql.Add(" from XLXSCLQD ");
|
||
sql.Add(" where 1=1 and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID.Equals("") ? " " : sXLXHID;
|
||
}
|
||
if (!sXLGGID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSCLQD_XLGGID = :pXLGGID ");
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID.Equals("") ? " " : sXLGGID;
|
||
}
|
||
if (!sXLBZID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSCLQD_XLBZID=:pXLBZID ");
|
||
sql.ParamByName("pXLBZID").Value = sXLBZID.Equals("") ? " " : sXLBZID;
|
||
}
|
||
if (!sDYDJID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSCLQD_DYDJID=:pDYDJID ");
|
||
sql.ParamByName("pDYDJID").Value = sDYDJID.Equals("") ? " " : sDYDJID;
|
||
}
|
||
if (sXLXHID.Equals("") && sXLGGID.Equals("") && sXLBZID.Equals("") && sDYDJID.Equals(""))
|
||
{
|
||
sql.Add(" and 1<> 1 ");
|
||
}
|
||
ds = dberp.OpenDataSet(sql);
|
||
|
||
}
|
||
else if (sLY.Equals("XLXSJGBMX"))
|
||
{
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSJGBMX_" + sZD + " ");
|
||
sql.Add(" from XLXSJGBMX ");
|
||
sql.Add(" where 1=1 and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSJGBMX_XLXHID=:pXLXHID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID.Equals("") ? " " : sXLXHID;
|
||
}
|
||
if (!sXLGGID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSJGBMX_XLGGID = :pXLGGID ");
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID.Equals("") ? " " : sXLGGID;
|
||
}
|
||
if (!sXLBZID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSJGBMX_XLBZID=:pXLBZID ");
|
||
sql.ParamByName("pXLBZID").Value = sXLBZID.Equals("") ? " " : sXLBZID;
|
||
}
|
||
if (!sDYDJID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSJGBMX_DYDJID=:pDYDJID ");
|
||
sql.ParamByName("pDYDJID").Value = sDYDJID.Equals("") ? " " : sDYDJID;
|
||
}
|
||
if (sXLXHID.Equals("") && sXLGGID.Equals("") && sXLBZID.Equals("") && sDYDJID.Equals(""))
|
||
{
|
||
sql.Add(" and 1<> 1 ");
|
||
}
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!lst.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
lst.Add(ds.Tables[0].Rows[i][0].ToString().Trim());
|
||
}
|
||
}
|
||
}
|
||
return lst;
|
||
}
|
||
|
||
#region 报价产品辅助检索相关
|
||
//构建报价分类的设置信息
|
||
private Dictionary<string, string> GetBJFLXX(string sBJFLID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJFL_BJCPFZJS,XLXSBJFL_XHABJCSDP,XLXSBJFL_XHGGYMHJS,XLXSBJFL_BABZFGDY from XLXSBJFL where XLXSBJFL_BJFLID = :pBJFLID ");
|
||
SQL.ParamByName("pBJFLID").Value = sBJFLID.Trim();
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
string sXHGGYMHJS = "";
|
||
string sXHABJCSDP = "";
|
||
string sBJCPFZJS = "";
|
||
string sBABZFGDY = "";
|
||
string sBJBM = "";
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
sXHGGYMHJS = ds.Tables[0].Rows[0]["XLXSBJFL_XHGGYMHJS"].ToString().Trim();
|
||
sXHABJCSDP = ds.Tables[0].Rows[0]["XLXSBJFL_XHABJCSDP"].ToString().Trim();
|
||
sBJCPFZJS = ds.Tables[0].Rows[0]["XLXSBJFL_BJCPFZJS"].ToString().Trim();
|
||
sBABZFGDY = ds.Tables[0].Rows[0]["XLXSBJFL_BABZFGDY"].ToString().Trim();
|
||
}
|
||
|
||
Dictionary<string, string> dicBJFLXX = new Dictionary<string, string>();
|
||
dicBJFLXX.Add("XHGGYMHJS", sXHGGYMHJS);
|
||
dicBJFLXX.Add("XHABJCSDP", sXHABJCSDP);
|
||
dicBJFLXX.Add("BJCPFZJS", sBJCPFZJS);
|
||
dicBJFLXX.Add("BABZFGDY", sBABZFGDY);
|
||
return dicBJFLXX;
|
||
}
|
||
|
||
//型号/规格->标准-电压等级
|
||
private void GetXLBZID_DYDJID(string sXLXHID, string sXLGGID, Dictionary<string, string> dicXLXX, string sBJCPFZJS, string sJGBIDS)
|
||
{
|
||
XLBJDInfo.GetXLBZID_DYDJID(sXLXHID, sXLGGID, dicXLXX, sBJCPFZJS, sJGBIDS, "", true);
|
||
}
|
||
|
||
private string GetXLBZXX(string sXLBZID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select rtrim(XLBZ_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLBZ_XLBZID from XLBZ where XLBZ_XLBZID= :pXLBZID ");
|
||
SQL.ParamByName("pXLBZID").Value = sXLBZID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
return ds.Tables[0].Rows[0][0].ToString().Trim();
|
||
}
|
||
else
|
||
return "";
|
||
}
|
||
#endregion
|
||
|
||
#region 国网物料编码匹配
|
||
|
||
public static void GetGWWLBMYS(TDatabase dberp, TSQL SQL, string sWBBJDID, string sSELBJDID, ref DataSet ds)
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add(" select XLWBBJDMX_DRHH,XLXSBJGWWL_XLXHID as XLWBBJDMX_XLXHID,XLXSBJGWWL_XLGGID as XLWBBJDMX_XLGGID, ");
|
||
SQL.Add(" XLXSBJGWWL_XLBZID as XLWBBJDMX_XLBZID,XLXSBJGWWL_DYDJID as XLWBBJDMX_DYDJID, ");
|
||
SQL.Add(" case when isnull(XLXSBJGWWL_XLYSID,' ') = ' ' then 'BK' else XLXSBJGWWL_XLYSID end as XLWBBJDMX_XLYSID ");
|
||
SQL.Add(" from XLWBBJDMX");
|
||
SQL.Add(" left join XLXSBJGWWL on XLXSBJGWWL_GWWLBM = XLWBBJDMX_GWWLBM ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
SQL.Add(" and isnull(XLWBBJDMX_XLXHID,' ') = ' ' and isnull(XLWBBJDMX_XLGGID,' ') = ' ' ");
|
||
SQL.Add(" and isnull(XLXSBJGWWL_XLXHID,' ') <> ' ' and isnull(XLXSBJGWWL_XLGGID,' ') <> ' ' ");
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
ds = dberp.OpenDataSet(SQL);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 控件事件
|
||
|
||
#region 明细模板事件
|
||
protected void QueryGrid_CalculateField(object sender, CalculateFieldEventArgs e)
|
||
{
|
||
if (e.EventFieldName != "XLWBBJDMX_DRHH")
|
||
{
|
||
string sDRHH = e.RowData["XLWBBJDMX_DRHH"].ToString().Trim();
|
||
string sLM = e.EventFieldName.ToString().Trim();
|
||
string sLMZ = "";
|
||
if (sLM.Equals("XLWBBJDMX_XLBZID") || sLM.Equals("XLWBBJDMX_JLDW") || sLM.Equals("XLWBBJDMX_XLYSID"))
|
||
{
|
||
sLMZ = e.RowData[sLM].Trim().Split('|')[0];
|
||
}
|
||
else if (sLM.Equals("XLWBBJDMX_DYDJID") || sLM.Equals("XLWBBJDMX_XLXHID") || sLM.Equals("XLWBBJDMX_XLGGID"))
|
||
{
|
||
sLMZ = e.RowData[sLM].Trim().Replace("(*)", "").Replace("(**)", "");
|
||
}
|
||
else
|
||
{
|
||
sLMZ = e.RowData[sLM].Trim();
|
||
}
|
||
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
string sXLBZID = "";
|
||
string sDYDJID = "";
|
||
bool BZCHanged = false;
|
||
bool DYCHanged = false;
|
||
bool XDBZCHanged = false;
|
||
if (e.EventFieldName.Equals("XLWBBJDMX_XLXHID")
|
||
|| e.EventFieldName.Equals("XLWBBJDMX_XLGGID")
|
||
|| e.EventFieldName.Equals("XLWBBJDMX_DYDJID"))
|
||
{
|
||
e.ResultPairs.Add("XLWBBJDMX_XDBZ", "Y");
|
||
XDBZCHanged = true;
|
||
}
|
||
if (e.EventFieldName.Equals("XLWBBJDMX_XLXHID")
|
||
|| e.EventFieldName.Equals("XLWBBJDMX_XLGGID")
|
||
|| e.EventFieldName.Equals("XLWBBJDMX_XLBZID")
|
||
|| e.EventFieldName.Equals("XLWBBJDMX_DYDJID"))
|
||
{
|
||
sXLXHID = e.RowData["XLWBBJDMX_XLXHID"].ToString().Trim().Replace("(*)", "").Replace("(**)", "");
|
||
sXLGGID = e.RowData["XLWBBJDMX_XLGGID"].ToString().Trim().Replace("(*)", "");
|
||
sXLBZID = e.RowData["XLWBBJDMX_XLBZID"].ToString().Trim().Split('|')[0].Trim().Replace("(*)", "").Replace("(**)", "");
|
||
sDYDJID = e.RowData["XLWBBJDMX_DYDJID"].ToString().Trim().Replace("(*)", "").Replace("(**)", "");
|
||
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
|
||
if (pzxx.XLXSBJPZ_QYBJCPFZJS=="Y")
|
||
{
|
||
string sJGBID = PageParam.GetRTrimString("JGBID") + "," + PageParam.GetRTrimString("JGCIDS");
|
||
sJGBID = sJGBID.TrimEnd(',');
|
||
string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
if (!sJGBID.Equals(""))
|
||
{
|
||
sJGBID += "," + sJGFID;
|
||
}
|
||
else
|
||
{
|
||
sJGBID = sJGFID;
|
||
}
|
||
}
|
||
|
||
Dictionary<string, string> dicBJFLXX = GetBJFLXX(PageParam.GetRTrimString("BJFLID"));
|
||
string sBJCPFZJS = dicBJFLXX["BJCPFZJS"];
|
||
string sBABZFGDY = dicBJFLXX["BABZFGDY"];
|
||
string sDefaultXLBZID = "";
|
||
string sDefaultDYDJID = "";
|
||
XLXSBJPZXX pzxx2 = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
||
if (!string.IsNullOrEmpty(pzxx2.XLXSBJPZ_MRXLBZID))
|
||
sDefaultXLBZID = pzxx2.XLXSBJPZ_MRXLBZID;
|
||
|
||
if (!string.IsNullOrEmpty(pzxx2.XLXSBJPZ_MRDYDJ))
|
||
sDefaultDYDJID = pzxx2.XLXSBJPZ_MRDYDJ;
|
||
|
||
if (e.EventFieldName.Equals("XLWBBJDMX_XLXHID") || e.EventFieldName.Equals("XLWBBJDMX_XLGGID"))
|
||
{
|
||
if (!sXLXHID.Equals("") && !sXLGGID.Equals("") && (GetOption(100860043, "BJU028") != "Y"))
|
||
{
|
||
Dictionary<string, string> dicXLXX = new Dictionary<string, string>();
|
||
dicXLXX.Clear();
|
||
GetXLBZID_DYDJID(sXLXHID, sXLGGID, dicXLXX, sBJCPFZJS, sJGBID);
|
||
if (dicXLXX.Count == 0)
|
||
{
|
||
sXLBZID = "";
|
||
sDYDJID = "";
|
||
e.ResultPairs.Add("XLWBBJDMX_XLBZID", "");
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", "");
|
||
BZCHanged = true;
|
||
DYCHanged = true;
|
||
}
|
||
else if (dicXLXX.Count == 1)
|
||
{
|
||
sXLBZID = dicXLXX["0"].ToString().Split('*')[0];
|
||
sDYDJID = dicXLXX["0"].ToString().Split('*')[1];
|
||
e.ResultPairs.Add("XLWBBJDMX_XLBZID", GetXLBZXX(sXLBZID));
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", sDYDJID);
|
||
BZCHanged = true;
|
||
DYCHanged = true;
|
||
}
|
||
else if (dicXLXX.Count > 1)
|
||
{
|
||
//若sDefaultXLBZID=’ FirstBZ’,则在明细记录“型号”、“规格”发生变化时,
|
||
//若根据型号、规格匹配到的“标准”记录超过1个,则默认赋值第一个标准。
|
||
//再根据型号、规格、标准,匹配出电压等级,若电压等级唯一,则给电压等级赋默认值,否则不赋值。
|
||
|
||
if (sDefaultXLBZID.Equals("FirstBZ"))
|
||
{
|
||
bool bPPBZ = false;
|
||
string stempDYDJID = "";
|
||
for (int i = 0; i < dicXLXX.Count; i++)
|
||
{
|
||
if (dicXLXX[i.ToString().Trim()].ToString().Split('*')[0].Trim().Equals(sXLBZID))
|
||
{
|
||
bPPBZ = true;
|
||
stempDYDJID = dicXLXX[i.ToString().Trim()].ToString().Split('*')[1];
|
||
break;
|
||
}
|
||
}
|
||
if (!bPPBZ)
|
||
{
|
||
sXLBZID = dicXLXX["0"].ToString().Split('*')[0];
|
||
stempDYDJID = dicXLXX["0"].ToString().Split('*')[1];
|
||
e.ResultPairs.Add("XLWBBJDMX_XLBZID", GetXLBZXX(sXLBZID));
|
||
BZCHanged = true;
|
||
}
|
||
bool bDYDJIDOne = true;
|
||
|
||
string sTmp = "";
|
||
for (int i = 0; i < dicXLXX.Count; i++)
|
||
{
|
||
sTmp = dicXLXX[i.ToString().Trim()].ToString().Trim();
|
||
if (sTmp.Split('*')[0].Equals(sXLBZID))
|
||
{
|
||
if (!sTmp.Split('*')[1].Equals(stempDYDJID))
|
||
{
|
||
bDYDJIDOne = false;
|
||
}
|
||
}
|
||
}
|
||
if (!bDYDJIDOne)
|
||
{
|
||
bool isExist = false;//当前电压等级是否存在
|
||
for (int i = 0; i < dicXLXX.Count; i++)
|
||
{
|
||
sTmp = dicXLXX[i.ToString().Trim()].ToString().Trim();
|
||
if (sTmp.Split('*')[0].Equals(sXLBZID))
|
||
{
|
||
if (sTmp.Split('*')[1].Equals(sDYDJID))
|
||
{
|
||
isExist = true;
|
||
}
|
||
}
|
||
}
|
||
if (!isExist)
|
||
{
|
||
if (sDefaultDYDJID.Equals("minDY"))
|
||
{
|
||
sDYDJID = stempDYDJID;
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", sDYDJID);
|
||
DYCHanged = true;
|
||
}
|
||
else
|
||
{
|
||
sDYDJID = "";
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", "");
|
||
DYCHanged = true;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sDYDJID = stempDYDJID;
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", sDYDJID);
|
||
DYCHanged = true;
|
||
}
|
||
}
|
||
else if (sDefaultDYDJID.Equals("minDY") && !sXLBZID.Equals(""))
|
||
{
|
||
string stempDYDJID = dicXLXX["0"].ToString().Split('*')[1];
|
||
string sTmp = "";
|
||
bool isExist = false;//当前电压等级是否存在
|
||
for (int i = 0; i < dicXLXX.Count; i++)
|
||
{
|
||
sTmp = dicXLXX[i.ToString().Trim()].ToString().Trim();
|
||
if (sTmp.Split('*')[0].Equals(sXLBZID))
|
||
{
|
||
if (sTmp.Split('*')[1].Equals(sDYDJID))
|
||
{
|
||
isExist = true;
|
||
}
|
||
}
|
||
}
|
||
if (!isExist)
|
||
{
|
||
sDYDJID = stempDYDJID;
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", sDYDJID);
|
||
DYCHanged = true;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else if (e.EventFieldName.Equals("XLWBBJDMX_XLBZID"))
|
||
{
|
||
if (!sBABZFGDY.Equals("Y") || sDYDJID.Trim().Equals(""))
|
||
{
|
||
if (!sXLXHID.Equals("") && !sXLGGID.Equals(""))
|
||
{
|
||
Dictionary<string, string> dicXLXX = new Dictionary<string, string>();
|
||
dicXLXX.Clear();
|
||
GetXLBZID_DYDJID(sXLXHID, sXLGGID, dicXLXX, sBJCPFZJS, sJGBID);
|
||
string stempDYDJID = "";
|
||
bool bDYDJIDOne = true;
|
||
|
||
string sTmp = "";
|
||
for (int i = 0; i < dicXLXX.Count; i++)
|
||
{
|
||
sTmp = dicXLXX[i.ToString().Trim()].ToString().Trim();
|
||
if (sTmp.Split('*')[0].Equals(sXLBZID))
|
||
{
|
||
if (stempDYDJID.Equals(""))
|
||
{
|
||
stempDYDJID = sTmp.Split('*')[1];
|
||
}
|
||
if (!sTmp.Split('*')[1].Equals(stempDYDJID))
|
||
{
|
||
bDYDJIDOne = false;
|
||
}
|
||
}
|
||
}
|
||
if (!bDYDJIDOne)
|
||
{
|
||
bool isExist = false;//当前电压等级是否存在
|
||
for (int i = 0; i < dicXLXX.Count; i++)
|
||
{
|
||
sTmp = dicXLXX[i.ToString().Trim()].ToString().Trim();
|
||
if (sTmp.Split('*')[0].Equals(sXLBZID))
|
||
{
|
||
if (sTmp.Split('*')[1].Equals(sDYDJID))
|
||
{
|
||
isExist = true;
|
||
}
|
||
}
|
||
}
|
||
if (!isExist)
|
||
{
|
||
if (sDefaultDYDJID.Equals("minDY"))
|
||
{
|
||
sDYDJID = stempDYDJID;
|
||
if (sDYDJID.Equals(""))
|
||
{
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", "");
|
||
DYCHanged = true;
|
||
}
|
||
else
|
||
{
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", sDYDJID);
|
||
DYCHanged = true;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sDYDJID = "";
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", "");
|
||
DYCHanged = true;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sDYDJID = stempDYDJID;
|
||
if (sDYDJID.Equals(""))
|
||
{
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", "");
|
||
DYCHanged = true;
|
||
}
|
||
else
|
||
{
|
||
e.ResultPairs.Add("XLWBBJDMX_DYDJID", sDYDJID);
|
||
DYCHanged = true;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (e.EventFieldName.Equals("XLWBBJDMX_XLXHID"))
|
||
{
|
||
string sXHBHG = getXHBHG(sXLXHID);
|
||
e.ResultPairs.Add("XHBHG", sXHBHG);
|
||
}
|
||
if (e.EventFieldName.Equals("XLWBBJDMX_XLGGID"))
|
||
{
|
||
string sGGBHG = getGGBHG(sXLGGID);
|
||
e.ResultPairs.Add("GGBHG", sGGBHG);
|
||
}
|
||
if (e.EventFieldName.Equals("XLWBBJDMX_DYDJID") || DYCHanged)
|
||
{
|
||
string sDYDJBHG = getDYDJBHG(sDYDJID);
|
||
e.ResultPairs.Add("DYDJBHG", sDYDJBHG);
|
||
}
|
||
string sCLQWSC = getCLQWSC(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||
e.ResultPairs.Add("CLQWSC", sCLQWSC);
|
||
}
|
||
bool bYZZChanged = XLWBBJDUtils.IsWBBJDMXYZZField(sLM);
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
try
|
||
{
|
||
dberp.BeginTrans();
|
||
if (bYZZChanged)
|
||
{
|
||
SQL.Add("update XLWBBJDMXYZZ set " + sLM + " = :pYZZ ");
|
||
SQL.Add(" WHERE 1 = 1 ");
|
||
SQL.Add(" and XLWBBJDMXYZZ_WBBJDID=:XLWBBJDMX_WBBJDID and XLWBBJDMXYZZ_BJDID=:XLWBBJDMX_BJDID and XLWBBJDMXYZZ_DRHH=:XLWBBJDMX_DRHH ");
|
||
SQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sLMZ);
|
||
SQL.ParamByName("XLWBBJDMX_WBBJDID").Value = e.MasterDataSet["txtWBBJDID"].Trim();
|
||
SQL.ParamByName("XLWBBJDMX_BJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("XLWBBJDMX_DRHH").Value = sDRHH;
|
||
dberp.ExecSQL(SQL);
|
||
SQL.Clear();
|
||
SQL.Add("select 1 as CNT from XLWBBJDMXYZZ ");
|
||
SQL.Add(" where XLWBBJDMXYZZ_WBBJDID=:XLWBBJDMX_WBBJDID and XLWBBJDMXYZZ_BJDID=:XLWBBJDMX_BJDID and XLWBBJDMXYZZ_DRHH=:XLWBBJDMX_DRHH ");
|
||
SQL.ParamByName("XLWBBJDMX_WBBJDID").Value = e.MasterDataSet["txtWBBJDID"].Trim();
|
||
SQL.ParamByName("XLWBBJDMX_BJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("XLWBBJDMX_DRHH").Value = sDRHH;
|
||
DataSet dsYZZ = dberp.OpenDataSet(SQL);
|
||
if (dsYZZ.Tables[0].Rows.Count == 0)
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add("insert into XLWBBJDMXYZZ(XLWBBJDMXYZZ_WBBJDID,XLWBBJDMXYZZ_DRHH,XLWBBJDMXYZZ_BJDID");
|
||
for (int i = 1; i <= 20; i++)
|
||
SQL.Add(string.Format(",XLWBBJDMXYZZ_YZZ{0}", i.ToString().PadLeft(2, '0')));
|
||
SQL.Add(") values(:XLWBBJDMX_WBBJDID,:XLWBBJDMX_DRHH,:XLWBBJDMX_BJDID");
|
||
for (int i = 1; i <= 20; i++)
|
||
{
|
||
string sYZZField = string.Format("XLWBBJDMXYZZ_YZZ{0}", i.ToString().PadLeft(2, '0'));
|
||
if (sYZZField.Equals(sLM))
|
||
SQL.Add(",:pYZZ");
|
||
else
|
||
SQL.Add(string.Format(",{0}", CMISproConvert.StrToFloat(e.RowData[sYZZField].ToString().Trim())));
|
||
}
|
||
SQL.Add(")");
|
||
SQL.ParamByName("XLWBBJDMX_WBBJDID").Value = e.MasterDataSet["txtWBBJDID"].Trim();
|
||
SQL.ParamByName("XLWBBJDMX_BJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("XLWBBJDMX_DRHH").Value = sDRHH;
|
||
SQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sLMZ);
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
SQL.Add("update XLWBBJDMX set " + sLM + " = :XLWBBJDMX_LMZ ");
|
||
if (BZCHanged)
|
||
{
|
||
SQL.Add(" ,XLWBBJDMX_XLBZID = :pXLBZ ");
|
||
}
|
||
if (DYCHanged)
|
||
{
|
||
SQL.Add(" ,XLWBBJDMX_DYDJID = :pDYDJ ");
|
||
}
|
||
if (XDBZCHanged)
|
||
{
|
||
SQL.Add(" ,XLWBBJDMX_XDBZ = 'Y' ");
|
||
}
|
||
SQL.Add(" WHERE 1 = 1 ");
|
||
SQL.Add(" and XLWBBJDMX_WBBJDID=:XLWBBJDMX_WBBJDID and XLWBBJDMX_BJDID=:XLWBBJDMX_BJDID and XLWBBJDMX_DRHH=:XLWBBJDMX_DRHH ");
|
||
SQL.ParamByName("XLWBBJDMX_LMZ").Value = sLMZ.Equals("") ? " " : sLMZ;
|
||
SQL.ParamByName("XLWBBJDMX_WBBJDID").Value = e.MasterDataSet["txtWBBJDID"].Trim();
|
||
SQL.ParamByName("XLWBBJDMX_BJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("XLWBBJDMX_DRHH").Value = sDRHH;
|
||
if (BZCHanged)
|
||
{
|
||
SQL.ParamByName("pXLBZ").Value = sXLBZID.Equals("") ? " " : sXLBZID;
|
||
}
|
||
if (DYCHanged)
|
||
{
|
||
SQL.ParamByName("pDYDJ").Value = sDYDJID.Equals("") ? " " : sDYDJID;
|
||
}
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
dberp.CommitTrans();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
dberp.RollbackTrans();
|
||
ShowMessage("操作不成功,请重新打开该页面!" + ex);
|
||
return;
|
||
}
|
||
e.ResultPairs.Add("XLWBBJDMX_DRHH", e.RowData["XLWBBJDMX_DRHH"].ToString().Trim());
|
||
}
|
||
//flag = 1;
|
||
//btnCallBack_Click(null, null);
|
||
}
|
||
|
||
protected void QueryGrid_OnGetDropDownColumnItems(object sender, GetDropDownColumnItemsEventArgs e)
|
||
{
|
||
List<string> lstValue = new List<string>();
|
||
lstValue.Clear();
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
string sXLXHID = e.RowData["XLWBBJDMX_XLXHID"].ToString().Trim().Replace("(*)", "").Replace("(**)", "");
|
||
string sXLGGID = e.RowData["XLWBBJDMX_XLGGID"].ToString().Trim().Replace("(*)", "");
|
||
string sXLBZID = e.RowData["XLWBBJDMX_XLBZID"].ToString().Trim().Split('|')[0].Trim().Replace("(*)", "").Replace("(**)", "");
|
||
string sDYDJID = e.RowData["XLWBBJDMX_DYDJID"].ToString().Trim().Replace("(*)", "").Replace("(**)", "");
|
||
string sJGBID = PageParam.GetRTrimString("JGBID") + "," + PageParam.GetRTrimString("JGCIDS");
|
||
sJGBID = sJGBID.TrimEnd(',');
|
||
string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
if (!sJGBID.Equals(""))
|
||
{
|
||
sJGBID += "," + sJGFID;
|
||
}
|
||
else
|
||
{
|
||
sJGBID = sJGFID;
|
||
}
|
||
}
|
||
Dictionary<string, string> dicBJFLXX = GetBJFLXX(PageParam.GetRTrimString("BJFLID"));
|
||
string sBJCPFZJS = dicBJFLXX["BJCPFZJS"];
|
||
DataSet ds = new DataSet();
|
||
int flag = 0;
|
||
if (e.EventFieldName == "XLWBBJDMX_XLBZID" && (GetOption(100860043, "BJU028") != "Y"))
|
||
{
|
||
string sBJU044 = GetOption(100860000, "BJU044");
|
||
string sGCBZSQL = string.Empty;
|
||
if (!sBJU044.Equals("") && !sXLXHID.Equals("") && !sXLGGID.Equals(""))
|
||
{
|
||
List<string> GCBZLists = new List<string>();
|
||
sql.Clear();
|
||
sql.Add(@"select distinct XLXSCLQD_XLBZID,XLGYFL_GCLIST from XLXSCLQD
|
||
left join XLJGCZBML on XLXSCLQD_JGCZBID=XLJGCZBML_JGCZBID
|
||
left join XLGYFL on XLGYFL_GYFLBM=XLJGCZBML_GYFLBM
|
||
where XLXSCLQD_WPID='ZZZZ' and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||
DataSet dsGCBZ = dberp.OpenDataSet(sql);
|
||
for (int i = 0; i < dsGCBZ.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sGCXLBZID = dsGCBZ.Tables[0].Rows[i]["XLXSCLQD_XLBZID"].ToString().Trim();
|
||
string sGCList = dsGCBZ.Tables[0].Rows[i]["XLGYFL_GCLIST"].ToString().Trim();
|
||
if (sGCList.Equals("") || ("," + sGCList + ",").Contains("," + sBJU044 + ","))
|
||
{
|
||
if (!GCBZLists.Contains(sGCXLBZID))
|
||
{
|
||
GCBZLists.Add(sGCXLBZID);
|
||
if (sGCBZSQL.Equals(""))
|
||
sGCBZSQL += string.Format("'{0}'", sGCXLBZID);
|
||
else
|
||
sGCBZSQL += string.Format(",'{0}'", sGCXLBZID);
|
||
}
|
||
}
|
||
}
|
||
if (!sGCBZSQL.Equals(""))
|
||
sGCBZSQL = " and (XLBZ_DZSC='Y' or XLBZ_XLBZID in (" + sGCBZSQL + "))";
|
||
|
||
}
|
||
if (!sXLXHID.Equals("") && !sXLGGID.Equals(""))
|
||
{
|
||
if (sBJCPFZJS.Equals("1"))
|
||
{
|
||
flag = 1;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSCLQD_XLBZID,a.XLBZ_XLBZLXMC,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSCLQD_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX, ");
|
||
sql.Add(" 0 as PX FROM XLXSCLQD");
|
||
sql.Add(" LEFT JOIN XLBZ ON XLBZ_XLBZID = XLXSCLQD_XLBZID ");
|
||
sql.Add(" WHERE 1=1 and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID = :pXLGGID and XLXSCLQD_WPID = 'ZZZZ' " + sGCBZSQL);
|
||
sql.Add(" and len(XLBZ_XLBZID) <10 ");
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT XLBZ_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX, ");
|
||
sql.Add(" 1 as PX FROM XLBZ");
|
||
sql.Add(" WHERE 1=1 and not exists(select 1 from XLXSCLQD where XLXSCLQD_XLBZID= XLBZ_XLBZID ");
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID = :pXLGGID and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
sql.Add(" ) ");
|
||
sql.Add(" and len(XLBZ_XLBZID) <10 " + sGCBZSQL);
|
||
sql.Add(" ) a ");
|
||
sql.Add(" order by PX,a.XLBZ_PX,a.XLXSCLQD_XLBZID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows[0][2].ToString().Trim().Equals("1"))
|
||
{//研发自测:王威 2025/09/24 11:46:53
|
||
flag = 2;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSJGBMX_XLBZID,a.XLBZ_XLBZLXMC,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSJGBMX_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX, ");
|
||
sql.Add(" 0 as PX FROM XLXSJGBMX ");
|
||
sql.Add(" LEFT JOIN XLBZ ON XLBZ_XLBZID = XLXSJGBMX_XLBZID ");
|
||
sql.Add(" WHERE 1=1 and XLXSJGBMX_XLXHID=:pXLXHID and XLXSJGBMX_XLGGID = :pXLGGID " + sGCBZSQL);
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" and len(XLBZ_XLBZID) <10 ");
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT XLBZ_XLBZID,XLBZ_XLBZLXMC, XLBZ_PX, ");
|
||
sql.Add(" 1 as PX FROM XLBZ ");
|
||
sql.Add(" WHERE 1=1 and not exists(select 1 from XLXSJGBMX where XLXSJGBMX_XLBZID= XLBZ_XLBZID ");
|
||
sql.Add(" and XLXSJGBMX_XLXHID=:pXLXHID and XLXSJGBMX_XLGGID = :pXLGGID ");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" ) ");
|
||
sql.Add(" and len(XLBZ_XLBZID) <10 " + sGCBZSQL);
|
||
sql.Add(" ) a ");
|
||
sql.Add(" order by PX,a.XLBZ_PX,a.XLXSJGBMX_XLBZID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
flag = 2;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSJGBMX_XLBZID,a.XLBZ_XLBZLXMC,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSJGBMX_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX, ");
|
||
sql.Add(" 0 as PX FROM XLXSJGBMX ");
|
||
sql.Add(" LEFT JOIN XLBZ ON XLBZ_XLBZID = XLXSJGBMX_XLBZID ");
|
||
sql.Add(" WHERE 1=1 and XLXSJGBMX_XLXHID=:pXLXHID and XLXSJGBMX_XLGGID = :pXLGGID " + sGCBZSQL);
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" and len(XLBZ_XLBZID) <10 ");
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT XLBZ_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX, ");
|
||
sql.Add(" 1 as PX FROM XLBZ ");
|
||
sql.Add(" WHERE 1=1 and not exists(select 1 from XLXSJGBMX where XLXSJGBMX_XLBZID= XLBZ_XLBZID ");
|
||
sql.Add(" and XLXSJGBMX_XLXHID=:pXLXHID and XLXSJGBMX_XLGGID = :pXLGGID ");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" ) ");
|
||
sql.Add(" and len(XLBZ_XLBZID) <10 " + sGCBZSQL);
|
||
sql.Add(" ) a ");
|
||
sql.Add(" order by PX,a.XLBZ_PX,a.XLXSJGBMX_XLBZID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows[0][2].ToString().Trim().Equals("1"))
|
||
{//研发自测:王威 2025/09/24 11:46:49
|
||
flag = 1;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSCLQD_XLBZID,a.XLBZ_XLBZLXMC,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSCLQD_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX, ");
|
||
sql.Add(" 0 as PX FROM XLXSCLQD");
|
||
sql.Add(" LEFT JOIN XLBZ ON XLBZ_XLBZID = XLXSCLQD_XLBZID ");
|
||
sql.Add(" WHERE 1=1 and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID = :pXLGGID and XLXSCLQD_WPID = 'ZZZZ' " + sGCBZSQL);
|
||
sql.Add(" and len(XLBZ_XLBZID) <10 ");
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT XLBZ_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX, ");
|
||
sql.Add(" 1 as PX FROM XLBZ");
|
||
sql.Add(" WHERE 1=1 and not exists(select 1 from XLXSCLQD where XLXSCLQD_XLBZID= XLBZ_XLBZID ");
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID = :pXLGGID and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
sql.Add(" ) ");
|
||
sql.Add(" and len(XLBZ_XLBZID) <10 " + sGCBZSQL);
|
||
sql.Add(" ) a ");
|
||
sql.Add(" order by PX,a.XLBZ_PX,a.XLXSCLQD_XLBZID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
}
|
||
}
|
||
e.DropDownItems.Clear();
|
||
e.DropDownItems.Add(new ListItem("", ""));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//1表示材料清单 2表示价格表明细
|
||
if (!sDYDJID.Equals(""))
|
||
{
|
||
if (1 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, "", sDYDJID, sJGBID, "XLBZID", "XLXSCLQD");
|
||
}
|
||
else if (2 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, "", sDYDJID, sJGBID, "XLBZID", "XLXSJGBMX");
|
||
}
|
||
}
|
||
flag = 0;
|
||
if (lstValue.Count == 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim() + "(*)", ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//第一轮循环判断是不是0的都是lst中
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
flag = 3;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
if (3 == flag)
|
||
{
|
||
//第一轮循环添加**
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
if (lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim() + "(**)", ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
//第二轮循环添加*
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim() + "(*)", ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim() + "(*)", ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (sBJCPFZJS.Equals("1"))
|
||
{
|
||
flag = 1;
|
||
}
|
||
else
|
||
{
|
||
flag = 2;
|
||
}
|
||
sql.Clear();
|
||
sql.Add(" select XLBZ_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX ");
|
||
sql.Add(" from XLBZ ");
|
||
sql.Add(" where 1=1 and len(XLBZ_XLBZID) <10 order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID");
|
||
ds = dberp.OpenDataSet(sql);
|
||
e.DropDownItems.Clear();
|
||
e.DropDownItems.Add(new ListItem("", ""));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (!sXLXHID.Equals("") || !sXLGGID.Equals("") || !sDYDJID.Equals(""))
|
||
{
|
||
if (1 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, "", sDYDJID, sJGBID, "XLBZID", "XLXSCLQD");
|
||
if (lstValue.Count == 0)
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, "", sDYDJID, sJGBID, "XLBZID", "XLXSJGBMX");
|
||
}
|
||
else if (2 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, "", sDYDJID, sJGBID, "XLBZID", "XLXSJGBMX");
|
||
if (lstValue.Count == 0)
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, "", sDYDJID, sJGBID, "XLBZID", "XLXSCLQD");
|
||
}
|
||
}
|
||
if (lstValue.Count == 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLBZ_XLBZLXMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLBZ_XLBZID"].ToString().Trim()));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//第一轮循环添加**
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (lstValue.Contains(ds.Tables[0].Rows[i]["XLBZ_XLBZID"].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLBZ_XLBZLXMC"].ToString().Trim() + "(*)", ds.Tables[0].Rows[i]["XLBZ_XLBZID"].ToString().Trim()));
|
||
}
|
||
}
|
||
//第二轮循环添加*
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i]["XLBZ_XLBZID"].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLBZ_XLBZLXMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLBZ_XLBZID"].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else if (e.EventFieldName == "XLWBBJDMX_JLDW")
|
||
{
|
||
e.DropDownItems.Clear();
|
||
string sJLDWList = XLBJDUtils.GetJLDWS();
|
||
string[] sTempJCJLDW = sJLDWList.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
for (int m = 0; m < sTempJCJLDW.Length; m++)
|
||
{
|
||
lstValue.Add(sTempJCJLDW[m]);
|
||
}
|
||
foreach (string sJLDW in lstValue)
|
||
{
|
||
e.DropDownItems.Add(new ListItem(sJLDW));
|
||
}
|
||
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSJGBMX_JLDW from XLXSJGBMX ");
|
||
sql.Add(" where 1=1 and XLXSJGBMX_JGBID = :pJGBID");
|
||
sql.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID");
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sJLDW = ds.Tables[0].Rows[i]["XLXSJGBMX_JLDW"].ToString().Trim();
|
||
if (lstValue.Contains(sJLDW))
|
||
{
|
||
continue;
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(sJLDW));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else if (e.EventFieldName == "XLWBBJDMX_XLYSID")
|
||
{
|
||
e.DropDownItems.Clear();
|
||
e.DropDownItems.Add(new ListItem("", ""));
|
||
sql.Clear();
|
||
sql.Add(" select XLYSB_XLYSID ,XLYSB_XLYSMC from XLYSB where 1=1 order by XLYSB_XSXH,XLYSB_XLYSID ");
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLYSB_XLYSMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLYSB_XLYSID"].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
protected void QueryGrid_GetDropListColumnItems(object sender, GetDropListColumnItemsEventArgs e)
|
||
{
|
||
List<string> lstValue = new List<string>();
|
||
lstValue.Clear();
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
string sXLXHID = e.RowData["XLWBBJDMX_XLXHID"].ToString().Trim().Replace("(*)", "").Replace("(**)", "");
|
||
string sXLGGID = e.RowData["XLWBBJDMX_XLGGID"].ToString().Trim().Replace("(*)", "");
|
||
string sXLBZID = e.RowData["XLWBBJDMX_XLBZID"].ToString().Trim().Split('|')[0].Trim().Replace("(*)", "").Replace("(**)", "");
|
||
string sDYDJID = e.RowData["XLWBBJDMX_DYDJID"].ToString().Trim().Replace("(*)", "").Replace("(**)", "");
|
||
string sJGBID = PageParam.GetRTrimString("JGBID") + "," + PageParam.GetRTrimString("JGCIDS");
|
||
sJGBID = sJGBID.TrimEnd(',');
|
||
string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
if (!sJGBID.Equals(""))
|
||
{
|
||
sJGBID += "," + sJGFID;
|
||
}
|
||
else
|
||
{
|
||
sJGBID = sJGFID;
|
||
}
|
||
}
|
||
Dictionary<string, string> dicBJFLXX = GetBJFLXX(PageParam.GetRTrimString("BJFLID"));
|
||
string sBJCPFZJS = dicBJFLXX["BJCPFZJS"];
|
||
string sXHABJCSDP = dicBJFLXX["XHABJCSDP"];
|
||
DataSet ds = new DataSet();
|
||
int flag = 0;
|
||
|
||
if (e.EventFieldName == "XLWBBJDMX_XLXHID")
|
||
{
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
||
if (!pzxx.XLXSBJPZ_XHZJSR.Equals("Y"))
|
||
{
|
||
Dictionary<string, string> dicXLXH = new Dictionary<string, string>();
|
||
sql.Clear();
|
||
if (sXHABJCSDP.Equals("Y"))
|
||
{
|
||
if (XLBJDUtils.IsJGEJGB(PageParam.GetRTrimString("JGBID")))
|
||
{
|
||
sql.Add("select distinct XLXSCLQD_XLXHID as XLXHID from XLXSCLQD where XLXSCLQD_WPID='ZZZZ'");
|
||
}
|
||
else
|
||
{
|
||
sql.Add("select distinct XLXSJGBMX_XLXHID as XLXHID from XLXSJGBMX where XLXSJGBMX_JGBID ='" + PageParam.GetRTrimString("JGBID") + "'");
|
||
}
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
sql.Add(" union all ");
|
||
sql.Add("select distinct XLXSJGBMX_XLXHID as XLXHID from XLXSJGBMX where XLXSJGBMX_JGBID ='" + sJGFID + "'");
|
||
}
|
||
ds = dberp.OpenDataSet(sql);
|
||
foreach (DataRow trow in ds.Tables[0].Rows)
|
||
{
|
||
string stXLXHID = trow["XLXHID"].ToString().Trim();
|
||
if (!dicXLXH.ContainsKey(stXLXHID))
|
||
dicXLXH.Add(stXLXHID, stXLXHID);
|
||
}
|
||
|
||
sql.Clear();
|
||
sql.Add(" select XLXHB_XLXHID from XLXHB ");
|
||
sql.Add(" left join ");
|
||
sql.Add(" (select XLXSBJDMX_XLXHID as XLXHID,count(*) as CNT ");
|
||
sql.Add(" from XLXSBJDMX where 1=1 ");
|
||
sql.Add(" group by XLXSBJDMX_XLXHID ");
|
||
sql.Add(" ) a on a.XLXHID=XLXHB_XLXHID ");
|
||
sql.Add(" where isnull(XLXHB_TYBZ,'N')<>'Y' ");
|
||
sql.Add(" order by isnull(a.CNT,0) desc,XLXHB_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
sql.Add(" select XLXHB_XLXHID,1 as PX from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' ");
|
||
if (XLBJDUtils.IsJGEJGB(PageParam.GetRTrimString("JGBID")))
|
||
{
|
||
sql.Add("and (exists(select 1 from (select distinct XLXSCLQD_XLXHID as XLXHID from XLXSCLQD where XLXSCLQD_WPID='ZZZZ') a where a.XLXHID=XLXHB_XLXHID)");
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
sql.Add("or exists(select 1 from (select distinct XLXSJGBMX_XLXHID as XLXHID from XLXSJGBMX where XLXSJGBMX_JGBID ='" + sJGFID + "') b where b.XLXHID=XLXHB_XLXHID)");
|
||
}
|
||
sql.Add(" )");
|
||
}
|
||
else
|
||
{
|
||
sql.Add("and ( exists(select 1 from (select distinct XLXSJGBMX_XLXHID as XLXHID from XLXSJGBMX where XLXSJGBMX_JGBID ='" + PageParam.GetRTrimString("JGBID") + "') a where a.XLXHID=XLXHB_XLXHID)");
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
sql.Add("or exists(select 1 from (select distinct XLXSJGBMX_XLXHID as XLXHID from XLXSJGBMX where XLXSJGBMX_JGBID ='" + sJGFID + "') b where b.XLXHID=XLXHB_XLXHID)");
|
||
}
|
||
sql.Add(" )");
|
||
}
|
||
sql.Add(" union all ");
|
||
sql.Add(" select XLXHB_XLXHID,2 as PX from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' ");
|
||
if (XLBJDUtils.IsJGEJGB(PageParam.GetRTrimString("JGBID")))
|
||
{
|
||
sql.Add("and ( not exists(select 1 from (select distinct XLXSCLQD_XLXHID as XLXHID from XLXSCLQD where XLXSCLQD_WPID='ZZZZ') a where a.XLXHID=XLXHB_XLXHID)");
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
sql.Add("and not exists(select 1 from (select distinct XLXSJGBMX_XLXHID as XLXHID from XLXSJGBMX where XLXSJGBMX_JGBID ='" + sJGFID + "') b where b.XLXHID=XLXHB_XLXHID)");
|
||
}
|
||
sql.Add(" )");
|
||
}
|
||
else
|
||
{
|
||
sql.Add("and ( not exists(select 1 from (select distinct XLXSJGBMX_XLXHID as XLXHID from XLXSJGBMX where XLXSJGBMX_JGBID ='" + PageParam.GetRTrimString("JGBID") + "') a where a.XLXHID=XLXHB_XLXHID)");
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
sql.Add("and not exists(select 1 from (select distinct XLXSJGBMX_XLXHID as XLXHID from XLXSJGBMX where XLXSJGBMX_JGBID ='" + sJGFID + "') b where b.XLXHID=XLXHB_XLXHID)");
|
||
}
|
||
sql.Add(" )");
|
||
}
|
||
sql.Add(" order by PX,XLXHB_XLXHID ");
|
||
}
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (sBJCPFZJS.Equals("1"))
|
||
{
|
||
flag = 1;
|
||
}
|
||
else
|
||
{
|
||
flag = 2;
|
||
}
|
||
if (!sXLGGID.Equals("") || !sXLBZID.Equals("") || !sDYDJID.Equals(""))
|
||
{
|
||
if (1 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX("", sXLGGID, sXLBZID, sDYDJID, sJGBID, "XLXHID", "XLXSCLQD");
|
||
if (lstValue.Count == 0)
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX("", sXLGGID, sXLBZID, sDYDJID, sJGBID, "XLXHID", "XLXSJGBMX");
|
||
}
|
||
else if (2 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX("", sXLGGID, sXLBZID, sDYDJID, sJGBID, "XLXHID", "XLXSJGBMX");
|
||
if (lstValue.Count == 0)
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX("", sXLGGID, sXLBZID, sDYDJID, sJGBID, "XLXHID", "XLXSCLQD");
|
||
}
|
||
}
|
||
if (lstValue.Count == 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (sXHABJCSDP.Equals("Y"))
|
||
{
|
||
if (dicXLXH.ContainsKey(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim() + "(*)"));
|
||
else
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()));
|
||
}
|
||
else
|
||
{
|
||
if (ds.Tables[0].Rows[i]["PX"].ToString().Trim().Equals("1"))
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim() + "(*)"));
|
||
else
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//第一轮循环判断是不是0的都是lst中
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (sXHABJCSDP.Equals("Y"))
|
||
{
|
||
if (dicXLXH.ContainsKey(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
{
|
||
flag = 3;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (ds.Tables[0].Rows[i]["PX"].ToString().Trim().Equals("1"))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
{
|
||
flag = 3;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (3 == flag)
|
||
{
|
||
//第一轮循环添加**
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (sXHABJCSDP.Equals("Y"))
|
||
{
|
||
if (dicXLXH.ContainsKey(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
{
|
||
if (lstValue.Contains(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim() + "(**)"));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (ds.Tables[0].Rows[i]["PX"].ToString().Trim().Equals("1"))
|
||
{
|
||
if (lstValue.Contains(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim() + "(**)"));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
//第二轮循环添加*
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (sXHABJCSDP.Equals("Y"))
|
||
{
|
||
if (dicXLXH.ContainsKey(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim() + "(*)"));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (ds.Tables[0].Rows[i]["PX"].ToString().Trim().Equals("1"))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim() + "(*)"));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (sXHABJCSDP.Equals("Y"))
|
||
{
|
||
if (dicXLXH.ContainsKey(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()))
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim() + "(*)"));
|
||
else
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()));
|
||
}
|
||
else
|
||
{
|
||
if (ds.Tables[0].Rows[i]["PX"].ToString().Trim().Equals("1"))
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim() + "(*)"));
|
||
else
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (e.EventFieldName == "XLWBBJDMX_XLGGID")
|
||
{
|
||
if (sBJCPFZJS.Equals("1"))
|
||
{
|
||
flag = 1;
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSCLQD_XLGGID,XLGGB_XH from XLXSCLQD ");
|
||
sql.Add(" left join XLXHB on XLXHB_XLXHID=XLXSCLQD_XLXHID ");
|
||
sql.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID ");
|
||
sql.Add(" left join XLGGB on XLGGB_XLGGID = XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ");
|
||
sql.Add(" where 1=1 ");
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
}
|
||
sql.Add(" and XLXSCLQD_WPID='ZZZZ'");
|
||
sql.Add(" order by XLGGB_XH, XLXSCLQD_XLGGID ");
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count <= 0)
|
||
{
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSJGBMX_XLGGID,XLGGB_XH from XLXSJGBMX ");
|
||
sql.Add(" left join XLXSBJXLGGTHB XLXSBJXLGGTHB_JGB on XLXSBJXLGGTHB_JGB.XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID ");
|
||
sql.Add(" left join XLXHB on XLXHB_XLXHID=XLXSJGBMX_XLXHID ");
|
||
sql.Add(" left join XLGGB on XLGGB_XLGGID = isnull(XLXSBJXLGGTHB_JGB.XLXSBJXLGGTHB_XLGGIDCH,' ') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ");
|
||
sql.Add(" where 1=1 ");
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSJGBMX_XLXHID=:pXLXHID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
}
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
|
||
sql.Add(" order by XLGGB_XH,XLXSJGBMX_XLGGID ");
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
flag = 2;
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSJGBMX_XLGGID,XLGGB_XH from XLXSJGBMX ");
|
||
sql.Add(" left join XLXSBJXLGGTHB XLXSBJXLGGTHB_JGB2 on XLXSBJXLGGTHB_JGB2.XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID ");
|
||
sql.Add(" left join XLXHB on XLXHB_XLXHID=XLXSJGBMX_XLXHID ");
|
||
sql.Add(" left join XLGGB on XLGGB_XLGGID = isnull(XLXSBJXLGGTHB_JGB2.XLXSBJXLGGTHB_XLGGIDCH,' ') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ");
|
||
sql.Add(" where 1=1 ");
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSJGBMX_XLXHID=:pXLXHID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
}
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
|
||
sql.Add(" order by XLGGB_XH,XLXSJGBMX_XLGGID ");
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count <= 0)
|
||
{
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSCLQD_XLGGID,XLGGB_XH from XLXSCLQD ");
|
||
sql.Add(" left join XLXHB on XLXHB_XLXHID=XLXSCLQD_XLXHID ");
|
||
sql.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID ");
|
||
sql.Add(" left join XLGGB on XLGGB_XLGGID = XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ");
|
||
sql.Add(" where 1=1 ");
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
}
|
||
sql.Add(" and XLXSCLQD_WPID='ZZZZ'");
|
||
sql.Add(" order by XLGGB_XH, XLXSCLQD_XLGGID ");
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
}
|
||
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (!sXLXHID.Equals("") || !sXLBZID.Equals("") || !sDYDJID.Equals(""))
|
||
{
|
||
if (1 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, "", sXLBZID, sDYDJID, sJGBID, "XLGGID", "XLXSCLQD");
|
||
if (lstValue.Count == 0)
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, "", sXLBZID, sDYDJID, sJGBID, "XLGGID", "XLXSJGBMX");
|
||
}
|
||
else if (2 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, "", sXLBZID, sDYDJID, sJGBID, "XLGGID", "XLXSJGBMX");
|
||
if (lstValue.Count == 0)
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, "", sXLBZID, sDYDJID, sJGBID, "XLGGID", "XLXSCLQD");
|
||
}
|
||
}
|
||
if (lstValue.Count == 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
e.DropDownItems.Add(ds.Tables[0].Rows[i][0].ToString().Trim());
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//第一轮循环添加**
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(ds.Tables[0].Rows[i][0].ToString().Trim() + "(*)");
|
||
}
|
||
}
|
||
//第二轮循环添加*
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(ds.Tables[0].Rows[i][0].ToString().Trim());
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if (e.EventFieldName == "XLWBBJDMX_DYDJID")
|
||
{
|
||
if (!sXLXHID.Equals("") && !sXLGGID.Equals(""))
|
||
{
|
||
if (sBJCPFZJS.Equals("1"))
|
||
{
|
||
flag = 1;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSCLQD_DYDJID,a.XLDYDJB_XH,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSCLQD_DYDJID,XLDYDJB_XH,0 AS PX FROM XLXSCLQD ");
|
||
sql.Add(" LEFT JOIN XLDYDJB ON XLDYDJB_DYDJID = XLXSCLQD_DYDJID ");
|
||
sql.Add(" WHERE 1=1 and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID = :pXLGGID ");
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT distinct XLDYDJB_DYDJID, XLDYDJB_XH,1 AS PX FROM XLDYDJB ");
|
||
sql.Add(" WHERE 1=1 and isnull(XLDYDJB_TYBZ,' ')<>'Y' ");
|
||
sql.Add(" and not exists(select 1 from XLXSCLQD where XLXSCLQD_DYDJID= XLDYDJB_DYDJID ");
|
||
sql.Add(" and XLXSCLQD_WPID = 'ZZZZ'");
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID = :pXLGGID ");
|
||
sql.Add(" ) ");
|
||
sql.Add(" ) a ");
|
||
sql.Add(" ORDER BY PX,XLDYDJB_XH ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows[0][2].ToString().Trim().Equals("1"))
|
||
{
|
||
flag = 2;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSJGBMX_DYDJID,a.XLDYDJB_XH,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSJGBMX_DYDJID,XLDYDJB_XH,0 AS PX FROM XLXSJGBMX ");
|
||
sql.Add(" LEFT JOIN XLDYDJB ON XLDYDJB_DYDJID = XLXSJGBMX_DYDJID ");
|
||
sql.Add(" WHERE 1=1 ");
|
||
sql.Add(" and XLXSJGBMX_XLXHID= :pXLXHID and XLXSJGBMX_XLGGID = :pXLGGID");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT distinct XLDYDJB_DYDJID, XLDYDJB_XH,1 AS PX FROM XLDYDJB ");
|
||
sql.Add(" WHERE 1=1 and isnull(XLDYDJB_TYBZ,' ')<>'Y' ");
|
||
sql.Add(" and not exists(select 1 from XLXSJGBMX where XLXSJGBMX_DYDJID= XLDYDJB_DYDJID ");
|
||
sql.Add(" and XLXSJGBMX_XLXHID=:pXLXHID and XLXSJGBMX_XLGGID = :pXLGGID ");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" ) ");
|
||
sql.Add(" ) a ");
|
||
sql.Add(" ORDER BY PX,XLDYDJB_XH ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
flag = 2;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSJGBMX_DYDJID,a.XLDYDJB_XH,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSJGBMX_DYDJID,XLDYDJB_XH,0 AS PX FROM XLXSJGBMX ");
|
||
sql.Add(" LEFT JOIN XLDYDJB ON XLDYDJB_DYDJID = XLXSJGBMX_DYDJID ");
|
||
sql.Add(" WHERE 1=1 ");
|
||
sql.Add(" and XLXSJGBMX_XLXHID= :pXLXHID and XLXSJGBMX_XLGGID = :pXLGGID");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT distinct XLDYDJB_DYDJID, XLDYDJB_XH,1 AS PX FROM XLDYDJB ");
|
||
sql.Add(" WHERE 1=1 and isnull(XLDYDJB_TYBZ,' ')<>'Y' ");
|
||
sql.Add(" and not exists(select 1 from XLXSJGBMX where XLXSJGBMX_DYDJID= XLDYDJB_DYDJID ");
|
||
sql.Add(" and XLXSJGBMX_XLXHID=:pXLXHID and XLXSJGBMX_XLGGID = :pXLGGID ");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" ) ");
|
||
sql.Add(" ) a ");
|
||
sql.Add(" ORDER BY PX,XLDYDJB_XH ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows[0][2].ToString().Trim().Equals("1"))
|
||
{
|
||
flag = 1;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSCLQD_DYDJID,a.XLDYDJB_XH,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSCLQD_DYDJID,XLDYDJB_XH,0 AS PX FROM XLXSCLQD ");
|
||
sql.Add(" LEFT JOIN XLDYDJB ON XLDYDJB_DYDJID = XLXSCLQD_DYDJID ");
|
||
sql.Add(" WHERE 1=1 and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID = :pXLGGID ");
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT distinct XLDYDJB_DYDJID, XLDYDJB_XH,1 AS PX FROM XLDYDJB ");
|
||
sql.Add(" WHERE 1=1 and isnull(XLDYDJB_TYBZ,' ')<>'Y' ");
|
||
sql.Add(" and not exists(select 1 from XLXSCLQD where XLXSCLQD_DYDJID= XLDYDJB_DYDJID ");
|
||
sql.Add(" and XLXSCLQD_WPID = 'ZZZZ'");
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID = :pXLGGID ");
|
||
sql.Add(" ) ");
|
||
sql.Add(" ) a ");
|
||
sql.Add(" ORDER BY PX,XLDYDJB_XH ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
}
|
||
}
|
||
e.DropDownItems.Clear();
|
||
e.DropDownItems.Add(new ListItem(""));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//1表示材料清单 2表示价格表明细
|
||
if (!sXLBZID.Equals(""))
|
||
{
|
||
if (1 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, sXLBZID, "", sJGBID, "DYDJID", "XLXSCLQD");
|
||
}
|
||
else if (2 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, sXLBZID, "", sJGBID, "DYDJID", "XLXSJGBMX");
|
||
}
|
||
}
|
||
if (lstValue.Count == 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "(*)"));
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//第一轮循环判断是不是0的都是lst中
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
flag = 3;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
if (3 == flag)
|
||
{
|
||
//第一轮循环添加**
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
if (lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "(**)"));
|
||
}
|
||
}
|
||
}
|
||
//第二轮循环添加*
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "(*)"));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "(*)"));
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (sBJCPFZJS.Equals("1"))
|
||
{
|
||
flag = 1;
|
||
}
|
||
else
|
||
{
|
||
flag = 2;
|
||
}
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLDYDJB_DYDJID,XLDYDJB_XH from XLDYDJB where isnull(XLDYDJB_TYBZ,' ')<>'Y' order by XLDYDJB_XH ");
|
||
ds = dberp.OpenDataSet(sql);
|
||
e.DropDownItems.Clear();
|
||
e.DropDownItems.Add(new ListItem(""));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (!sXLXHID.Equals("") || !sXLGGID.Equals("") || !sXLBZID.Equals(""))
|
||
{
|
||
if (1 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, sXLBZID, "", sJGBID, "DYDJID", "XLXSCLQD");
|
||
if (lstValue.Count == 0)
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, sXLBZID, "", sJGBID, "DYDJID", "XLXSJGBMX");
|
||
}
|
||
else if (2 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, sXLBZID, "", sJGBID, "DYDJID", "XLXSJGBMX");
|
||
if (lstValue.Count == 0)
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, sXLBZID, "", sJGBID, "DYDJID", "XLXSCLQD");
|
||
}
|
||
}
|
||
if (lstValue.Count == 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLDYDJB_DYDJID"].ToString().Trim()));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//第一轮循环添加**
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (lstValue.Contains(ds.Tables[0].Rows[i]["XLDYDJB_DYDJID"].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLDYDJB_DYDJID"].ToString().Trim() + "(*)"));
|
||
}
|
||
}
|
||
//第二轮循环添加*
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i]["XLDYDJB_DYDJID"].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLDYDJB_DYDJID"].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
protected override void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
|
||
{
|
||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||
{
|
||
string sXHBHG = QueryGrid.GetCellByFieldName("XHBHG", e.Row).Text.Trim();
|
||
if (sXHBHG.Equals("Y"))
|
||
{
|
||
QueryGrid.GetCellByFieldName("XLWBBJDMX_XLXHID", e.Row).Attributes["BackColor"] = "#FFFF00";
|
||
}
|
||
string sGGBHG = QueryGrid.GetCellByFieldName("GGBHG", e.Row).Text.Trim();
|
||
if (sGGBHG.Equals("Y"))
|
||
{
|
||
QueryGrid.GetCellByFieldName("XLWBBJDMX_XLGGID", e.Row).Attributes["BackColor"] = "#FFFF00";
|
||
}
|
||
string sDYDJBHG = QueryGrid.GetCellByFieldName("DYDJBHG", e.Row).Text.Trim();
|
||
if (sDYDJBHG.Equals("Y"))
|
||
{
|
||
QueryGrid.GetCellByFieldName("XLWBBJDMX_DYDJID", e.Row).Attributes["BackColor"] = "#FFFF00";
|
||
}
|
||
}
|
||
base.Grid_RowDataBound(sender, e);
|
||
}
|
||
#endregion
|
||
|
||
#region 报价产品解析
|
||
|
||
protected void btnBJCPJX_OnDropDown(object sender, EventArgs e)
|
||
{
|
||
btnBJCPJX.Nodes.Clear();
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("0", "型号-规格"));
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("1", "型号 规格"));
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("2", "型号-电压等级-规格"));
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("3", "型号-电压等级 规格"));
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("4", "型号 电压等级 规格"));
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("6", "型号 规格 电压等级"));
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("7", "型号-电压等级,规格"));
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("9", "型号规格"));
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("5", "KV替换kV"));
|
||
btnBJCPJX.Nodes.Add(new gtTreeNode("8", "电压等级替换"));
|
||
MenuAreaUpdate();
|
||
}
|
||
|
||
protected void btnBJCPJX_MenuItemClick(object sender, string ItemIndex)
|
||
{
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
if (ItemIndex.Equals("8"))
|
||
{
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_DYDJTHList.aspx";
|
||
pageParams.Title = "电压等级替换";
|
||
pageParams.AddString("btnCallBack", btnCallBack.ClientID);
|
||
OpenDialog(pageParams);
|
||
}
|
||
else
|
||
{
|
||
if (QueryGrid.CheckedRows.Equals(""))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDMX_BJDID,XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH, ");
|
||
SQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_XLYSID,XLWBBJDMX_BJCPDYDJID,XLWBBJDMX_BJCP, ");
|
||
SQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_BZ,XLWBBJDMX_XDBZ, ");
|
||
SQL.Add(" XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ ");
|
||
SQL.Add(" from XLWBBJDMX ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
|
||
GetXLXHIDList(dberp, SQL, true, ref lstXLXHID);
|
||
GetXLGGIDList(dberp, SQL, ref lstXLGGID);
|
||
GetDYDJIDList(dberp, SQL, ref lstDYDJID);
|
||
//获取颜色
|
||
if (pzxx.XLXSBJPZ_WBBJDJXYS.Equals("Y"))
|
||
TZBJCP_5(ref ds);
|
||
//解析方式
|
||
string sJXFS = ItemIndex;
|
||
if (sJXFS.Equals("0"))
|
||
{
|
||
AnalysisByXH_GG(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
}
|
||
else if (sJXFS.Equals("1"))
|
||
{
|
||
AnalysisByXHGG(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
}
|
||
else if (sJXFS.Equals("2"))
|
||
{
|
||
AnalysisByXH_DY_GG(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
}
|
||
else if (sJXFS.Equals("3"))
|
||
{
|
||
AnalysisByXH_DYGG(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
}
|
||
else if (sJXFS.Equals("4"))
|
||
{
|
||
AnalysisByXHDYGG(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
}
|
||
else if (sJXFS.Equals("6"))
|
||
{
|
||
AnalysisByXHGGDY(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
}
|
||
else if (sJXFS.Equals("7"))
|
||
{
|
||
AnalysisByXH_DY_GG1(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
}
|
||
else if (sJXFS.Equals("5"))
|
||
{
|
||
Analysis_XH(ref ds);
|
||
}
|
||
else if (sJXFS.Equals("9"))
|
||
{
|
||
AnalysisByXHANDGG(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
}
|
||
UpdateData(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
|
||
}
|
||
|
||
protected void btnBJCPJX_Click(object sender, EventArgs e)
|
||
{
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
if (QueryGrid.CheckedRows.Equals(""))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDMX_BJDID,XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH, ");
|
||
SQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_XLYSID,XLWBBJDMX_BJCPDYDJID,XLWBBJDMX_BJCP, ");
|
||
SQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_BZ,' ' as BZ_DYDJID,XLWBBJDMX_XDBZ, ");//标准电压等级ID
|
||
SQL.Add(" XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ ");
|
||
SQL.Add(" from XLWBBJDMX ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
|
||
GetXLXHIDList(dberp, SQL, true, ref lstXLXHID);
|
||
GetXLGGIDList(dberp, SQL, ref lstXLGGID);
|
||
GetDYDJIDList(dberp, SQL, ref lstDYDJID);
|
||
JXDYDJ(ref ds);
|
||
|
||
Analysis_Common(ref ds, lstXLXHID, lstXLGGID, lstDYDJID);
|
||
DYDJTH(ref ds);
|
||
ApplyGgXhOrDxth(ref ds, UseDxthEquivalentRules);
|
||
//获取颜色
|
||
if (pzxx.XLXSBJPZ_WBBJDJXYS.Equals("Y"))
|
||
TZBJCP_5(ref ds);
|
||
UpdateData(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
protected void btnBJCPJX2_OnDropDown(object sender, EventArgs e)
|
||
{
|
||
btnBJCPJX2.Nodes.Clear();
|
||
if (PageParam.GetRTrimString("DRGZ").Equals("BYDGZ"))
|
||
{
|
||
btnBJCPJX2.Nodes.Add(new gtTreeNode("5", "比亚迪规则(基本型号_规格_电压等级_耐温等级_特性前缀)"));
|
||
btnBJCPJX2.Nodes.Add(new gtTreeNode("6", "KV替换kV"));
|
||
btnBJCPJX2.Nodes.Add(new gtTreeNode("7", "电压等级替换"));
|
||
}
|
||
else
|
||
{
|
||
btnBJCPJX2.Nodes.Add(new gtTreeNode("1", "解析规则1(例:电力电缆,AC10kV,YJV,150,3,22,ZC,无阻水)"));
|
||
btnBJCPJX2.Nodes.Add(new gtTreeNode("2", "解析规则2(例:低压电力电缆,YJV,铜,16/10,3+1芯,ZC,22,普通)"));
|
||
btnBJCPJX2.Nodes.Add(new gtTreeNode("3", "解析规则3(例:控制电缆,KYJVP2,2.5,7,ZC,22)"));
|
||
btnBJCPJX2.Nodes.Add(new gtTreeNode("4", "解析规则4(例:架空绝缘导线,AC10kV,JKLGYJ,70/10)"));
|
||
btnBJCPJX2.Nodes.Add(new gtTreeNode("6", "KV替换kV"));
|
||
btnBJCPJX2.Nodes.Add(new gtTreeNode("7", "电压等级替换"));
|
||
}
|
||
MenuAreaUpdate();
|
||
}
|
||
|
||
protected void btnBJCPJX2_MenuItemClick(object sender, string value)
|
||
{
|
||
if (value.Equals("7"))
|
||
{
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_DYDJTHList.aspx";
|
||
pageParams.Title = "电压等级替换";
|
||
pageParams.AddString("btnCallBack", btnCallBack.ClientID);
|
||
OpenDialog(pageParams);
|
||
}
|
||
else
|
||
{
|
||
if (QueryGrid.CheckedRows.Equals(""))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDMX_BJDID,XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH, ");
|
||
SQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_BJCPDYDJID,XLWBBJDMX_BJCP, ");
|
||
SQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_BZ,XLWBBJDMX_XDBZ, ");
|
||
SQL.Add(" XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ ");
|
||
SQL.Add(" from XLWBBJDMX ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
|
||
GetXLXHIDList(dberp, SQL, true, ref lstXLXHID);
|
||
GetXLGGIDList(dberp, SQL, ref lstXLGGID);
|
||
GetDYDJIDList(dberp, SQL, ref lstDYDJID);
|
||
switch (value)
|
||
{
|
||
|
||
case "1":
|
||
Analysis_GWCP(ref ds, "GWGZ1", lstXLXHID, lstXLGGID, lstDYDJID);
|
||
break;
|
||
case "2":
|
||
Analysis_GWCP(ref ds, "GWGZ2", lstXLXHID, lstXLGGID, lstDYDJID);
|
||
break;
|
||
case "3":
|
||
Analysis_GWCP(ref ds, "GWGZ3", lstXLXHID, lstXLGGID, lstDYDJID);
|
||
break;
|
||
case "4":
|
||
Analysis_GWCP(ref ds, "GWGZ4", lstXLXHID, lstXLGGID, lstDYDJID);
|
||
break;
|
||
case "5":
|
||
Analysis_BYDCP(ref ds, "BYDGZ", lstXLXHID, lstXLGGID, lstDYDJID);
|
||
break;
|
||
case "6":
|
||
Analysis_XH(ref ds);
|
||
break;
|
||
}
|
||
TSDYTH(ref ds);
|
||
UpdateData(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 线缆报价等效替换
|
||
|
||
protected void btnXLBJDXDXYTH_OnDropDown(object sender, EventArgs e)
|
||
{
|
||
btnXLBJDXDXYTH.Nodes.Clear();
|
||
btnXLBJDXDXYTH.Nodes.Add(new gtTreeNode("YCLGZ", "系统预处理等效规则"));
|
||
btnXLBJDXDXYTH.Nodes.Add(new gtTreeNode("XHGGDYDJJQTH", "型号规格电压等级精确等效"));
|
||
btnXLBJDXDXYTH.Nodes.Add(new gtTreeNode("XHGGJQTH", "型号规格精确等效"));
|
||
btnXLBJDXDXYTH.Nodes.Add(new gtTreeNode("XHDYDJJQTH", "型号电压等级精确等效"));
|
||
btnXLBJDXDXYTH.Nodes.Add(new gtTreeNode("XHZZDYDJJQTHDYDJ", "型号正则电压等级精确等效电压等级"));
|
||
btnXLBJDXDXYTH.Nodes.Add(new gtTreeNode("DYDJJQTH", "电压等级精确等效"));
|
||
btnXLBJDXDXYTH.Nodes.Add(new gtTreeNode("XHJQTH", "型号精确等效"));
|
||
btnXLBJDXDXYTH.Nodes.Add(new gtTreeNode("XHZZTH", "型号正则等效"));
|
||
btnXLBJDXDXYTH.Nodes.Add(new gtTreeNode("GGZZTH", "规格正则等效"));
|
||
MenuAreaUpdate();
|
||
}
|
||
|
||
protected void btnXLBJDXDXYTH_MenuItemClick(object sender, string ItemIndex)
|
||
{
|
||
TPageParams tpp = new TPageParams();
|
||
tpp.CallAction = TPageCallAction.pcaBrowse;
|
||
switch (ItemIndex.Trim())
|
||
{
|
||
case "YCLGZ":
|
||
tpp.UrlPath = "XLBJD_WBBJDXYCLGZList.aspx";
|
||
break;
|
||
case "XHGGDYDJJQTH":
|
||
tpp.UrlPath = "XLBJD_WBBJDDXDZQDList.aspx";
|
||
tpp.AddString("THLX", "XHGGDYDJJQTH");
|
||
break;
|
||
case "XHGGJQTH":
|
||
tpp.UrlPath = "XLBJD_WBBJDDXDZQDList.aspx";
|
||
tpp.AddString("THLX", "XHGGJQTH");
|
||
break;
|
||
case "XHDYDJJQTH":
|
||
tpp.UrlPath = "XLBJD_WBBJDDXDZQDList.aspx";
|
||
tpp.AddString("THLX", "XHDYDJJQTH");
|
||
break;
|
||
case "XHZZDYDJJQTHDYDJ":
|
||
tpp.UrlPath = "XLBJD_WBBJDDXDZQDList.aspx";
|
||
tpp.AddString("THLX", "XHZZDYDJJQTHDYDJ");
|
||
break;
|
||
case "DYDJJQTH":
|
||
tpp.UrlPath = "XLBJD_WBBJDDXDZQDList.aspx";
|
||
tpp.AddString("THLX", "DYDJJQTH");
|
||
break;
|
||
case "XHJQTH":
|
||
tpp.UrlPath = "XLBJD_WBBJDDXDZQDList.aspx";
|
||
tpp.AddString("THLX", "XHJQTH");
|
||
break;
|
||
case "XHZZTH":
|
||
tpp.UrlPath = "XLBJD_WBBJDDXDZQDList.aspx";
|
||
tpp.AddString("THLX", "XHZZTH");
|
||
break;
|
||
case "GGZZTH":
|
||
tpp.UrlPath = "XLBJD_WBBJDDXDZQDList.aspx";
|
||
tpp.AddString("THLX", "GGZZTH");
|
||
break;
|
||
default:
|
||
return;
|
||
}
|
||
OpenDialog(tpp);
|
||
}
|
||
|
||
protected void btnXLBJDXDXYTH_Click(object sender, EventArgs e)
|
||
{
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 型号调整
|
||
|
||
protected void btnXHTZ_OnDropDown(object sender, EventArgs e)
|
||
{
|
||
btnXHTZ.Nodes.Clear();
|
||
btnXHTZ.Nodes.Add(new gtTreeNode("XHZZTH", "型号正则替换"));
|
||
if (SystemInfoUtils.GetSystem().FzrGh.Equals(CurSession.UserId))
|
||
{
|
||
btnXHTZ.Nodes.Add(new gtTreeNode("X", "选项配置"));
|
||
}
|
||
|
||
DataSet dsXLWBBJDANXX = GetXLWBBJDANXX("01");
|
||
if (dsXLWBBJDANXX != null && dsXLWBBJDANXX.Tables.Count > 0 && dsXLWBBJDANXX.Tables[0].Rows.Count > 0)
|
||
{
|
||
Dictionary<string, string> dic = new Dictionary<string, string>();
|
||
dic.Clear();
|
||
dic = XLBJD_WBBJDANXX.TZ_ANXX("01");
|
||
for (int i = 0; i < dsXLWBBJDANXX.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (dic.ContainsKey(dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim()))
|
||
{
|
||
btnXHTZ.Nodes.Add(new gtTreeNode(dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim(), dic[dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim()]));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
Dictionary<string, string> dic = new Dictionary<string, string>();
|
||
dic.Clear();
|
||
dic = XLBJD_WBBJDANXX.XHTZ_MRZS();
|
||
foreach (KeyValuePair<string, string> kvp in dic)
|
||
{
|
||
btnXHTZ.Nodes.Add(new gtTreeNode(kvp.Key, kvp.Value));
|
||
}
|
||
}
|
||
MenuAreaUpdate();
|
||
}
|
||
|
||
protected void btnXHTZ_MenuItemClick(object sender, string ItemIndex)
|
||
{
|
||
//调整方式
|
||
string sTZFS = ItemIndex;
|
||
if (sTZFS.Equals("XHZZTH"))
|
||
{
|
||
TPageParams tpp = new TPageParams();
|
||
tpp.UrlPath = "XLBJD_WBBJDMX_XHZZTHList.aspx";
|
||
tpp.CallAction = TPageCallAction.pcaBrowse;
|
||
OpenDialog(tpp);
|
||
}
|
||
else if (sTZFS.Equals("X"))
|
||
{
|
||
TPageParams tpp = new TPageParams();
|
||
tpp.UrlPath = "XLBJD_WBBJDANXXList.aspx";
|
||
tpp.CallAction = TPageCallAction.pcaBrowse;
|
||
tpp.AddString("ANLX", "01");
|
||
OpenDialog(tpp);
|
||
}
|
||
else
|
||
{
|
||
if (!sTZFS.Equals("7"))
|
||
{
|
||
if (QueryGrid.CheckedRows.Equals(""))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
}
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDMX_BJDID,XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH, ");
|
||
SQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_BJCPDYDJID,XLWBBJDMX_BJCP, ");
|
||
SQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_BZ, ");
|
||
SQL.Add(" XLWBBJDMX_XDBZ,XLWBBJDMX_XLXHID AS OLD_XLXHID,XLWBBJDMX_XLGGID AS OLD_XLGGID,XLWBBJDMX_DYDJID AS OLD_DYDJID, ");
|
||
SQL.Add(" XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ ");
|
||
SQL.Add(" from XLWBBJDMX ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
if (pzxx.XLXSBJPZ_THSFTGKBXH == "Y")
|
||
GetBJXHList(dberp, SQL, PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("JGCIDS"), ref lstBJXHList);
|
||
else
|
||
lstBJXHList.Clear();
|
||
if (lstXLXHID.Count == 0)
|
||
GetXLXHIDList(dberp, SQL, true, ref lstXLXHID);
|
||
|
||
if (sTZFS.Equals("0"))
|
||
{
|
||
TZXH_0(lstBJXHList,ref ds);
|
||
}
|
||
else if (sTZFS.Equals("1"))
|
||
{
|
||
TZXH_1(lstBJXHList, ref ds);
|
||
}
|
||
else if (sTZFS.Equals("2"))
|
||
{
|
||
TZXH_2(lstBJXHList, ref ds);
|
||
}
|
||
else if (sTZFS.Equals("3"))
|
||
{
|
||
TZXH_3(lstBJXHList, ref ds);
|
||
}
|
||
else if (sTZFS.Equals("4"))
|
||
{
|
||
TZXH_4(lstBJXHList, ref ds);
|
||
}
|
||
else if (sTZFS.Equals("5"))
|
||
{
|
||
TZXH_5(lstBJXHList, ref ds);
|
||
}
|
||
else if (sTZFS.Equals("6"))
|
||
{
|
||
TZXH_6(lstXLXHID, ref ds);
|
||
}
|
||
else if (sTZFS.Equals("8"))
|
||
{
|
||
TZXH_8(lstBJXHList,ref ds);
|
||
}
|
||
else if (sTZFS.Equals("9"))
|
||
{
|
||
TZXH_9(lstBJXHList, ref ds);
|
||
}
|
||
else if (sTZFS.Equals("A"))
|
||
{
|
||
TZXH_A(lstBJXHList,ref ds);
|
||
}
|
||
else if (sTZFS.Equals("B"))
|
||
{
|
||
TZXH_B(lstBJXHList,ref ds);
|
||
}
|
||
else if (sTZFS.Equals("C"))
|
||
{
|
||
TZXH_C(lstBJXHList,ref ds);
|
||
}
|
||
else if (sTZFS.Equals("D"))
|
||
{
|
||
TZXH_D(lstBJXHList,ref ds);
|
||
}
|
||
else if (sTZFS.Equals("7"))
|
||
{
|
||
TZXH_7_Page(sDRHHList);
|
||
}
|
||
|
||
//7方式已经在页面中处理数据且回刷了页面
|
||
if (!sTZFS.Equals("7"))
|
||
{
|
||
//处理修订标志
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y"))
|
||
UpdateXDBZ(ref ds);
|
||
UpdateData(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
}
|
||
}
|
||
|
||
protected void btnXHTZ_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
if (QueryGrid.CheckedRows.Equals(""))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
|
||
TSQL tSQL = new TSQL(dberp);
|
||
tSQL.Clear();
|
||
tSQL.Add("select XLWBBJDMX_BJDID,XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH, ");
|
||
tSQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_BJCPDYDJID,XLWBBJDMX_BJCP, ");
|
||
tSQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_BZ, ");
|
||
tSQL.Add(" XLWBBJDMX_XDBZ,XLWBBJDMX_XLXHID AS OLD_XLXHID,XLWBBJDMX_XLGGID AS OLD_XLGGID,XLWBBJDMX_DYDJID AS OLD_DYDJID, ");
|
||
tSQL.Add(" XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ ");
|
||
tSQL.Add(" from XLWBBJDMX ");
|
||
tSQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
tSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
tSQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet ds = dberp.OpenDataSet(tSQL);
|
||
/*
|
||
dic.Add("0", "NH-替换为N-");
|
||
dic.Add("1", "ZR-替换为ZC-");
|
||
dic.Add("2", "ZN-替换为ZCN-");
|
||
dic.Add("3", "WDZ-替换为WDZC-");
|
||
dic.Add("4", "WDZN-替换为WDZCN-");
|
||
dic.Add("5", "去除空格");
|
||
dic.Add("6", "去除中文");
|
||
dic.Add("7", "型号替换");
|
||
*/
|
||
DataSet dsXLWBBJDANXX = GetXLWBBJDANXX("01");
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
if (lstXLXHID.Count == 0)
|
||
GetXLXHIDList(dberp, SQL, true, ref lstXLXHID);
|
||
if (pzxx.XLXSBJPZ_THSFTGKBXH == "Y")
|
||
GetBJXHList(dberp, SQL, PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("JGCIDS"), ref lstBJXHList);
|
||
else
|
||
lstBJXHList.Clear();
|
||
//按钮选项
|
||
bool bXLWBBJDANXX = dsXLWBBJDANXX != null && dsXLWBBJDANXX.Tables.Count > 0 && dsXLWBBJDANXX.Tables[0].Rows.Count > 0;
|
||
if (bXLWBBJDANXX)
|
||
{
|
||
for (int i = 0; i < dsXLWBBJDANXX.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("0"))
|
||
{
|
||
TZXH_0(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("1"))
|
||
{
|
||
TZXH_1(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("2"))
|
||
{
|
||
TZXH_2(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("3"))
|
||
{
|
||
TZXH_3(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("4"))
|
||
{
|
||
TZXH_4(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("5"))
|
||
{
|
||
TZXH_5(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("6"))
|
||
{
|
||
TZXH_6(lstXLXHID, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("8"))
|
||
{
|
||
TZXH_8(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("9"))
|
||
{
|
||
TZXH_9(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("A"))
|
||
{
|
||
TZXH_A(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("B"))
|
||
{
|
||
TZXH_B(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("C"))
|
||
{
|
||
TZXH_C(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("D"))
|
||
{
|
||
TZXH_D(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("E"))
|
||
{
|
||
TZXH_E(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("F"))
|
||
{
|
||
TZXH_F(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("G"))
|
||
{
|
||
TZXH_G(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("H"))
|
||
{
|
||
TZXH_H(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("I"))
|
||
{
|
||
TZXH_I(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("J"))
|
||
{
|
||
TZXH_J(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("K"))
|
||
{
|
||
TZXH_K(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("L"))
|
||
{
|
||
TZXH_L(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("M"))
|
||
{
|
||
TZXH_M(lstBJXHList, ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Contains("N") && dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Length>1)
|
||
{
|
||
TZXH_ZDY(lstBJXHList,dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim(), ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("7"))
|
||
{
|
||
//处理修订标志
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y"))
|
||
UpdateXDBZ(ref ds);
|
||
UpdateData(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
TZXH_7_SQL(dberp, SQL, sWBBJDID, sSELBJDID, sDRHHList);
|
||
ds = dberp.OpenDataSet(tSQL);
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//默认不增加去除空格的预处理
|
||
//增加7,对于型号的调整,仍然选择放在最后执行
|
||
Dictionary<string, string> dicMRZX = XLBJD_WBBJDANXX.XHTZ_MRZS();
|
||
foreach (KeyValuePair<string, string> kvp in dicMRZX)
|
||
{
|
||
if (kvp.Key.Equals("0"))
|
||
{
|
||
TZXH_0(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("1"))
|
||
{
|
||
TZXH_1(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("2"))
|
||
{
|
||
TZXH_2(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("3"))
|
||
{
|
||
TZXH_3(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("4"))
|
||
{
|
||
TZXH_4(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("8"))
|
||
{
|
||
TZXH_8(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("9"))
|
||
{
|
||
TZXH_9(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("A"))
|
||
{
|
||
TZXH_A(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("B"))
|
||
{
|
||
TZXH_B(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("C"))
|
||
{
|
||
TZXH_C(lstBJXHList, ref ds);
|
||
}
|
||
if (kvp.Key.Equals("D"))
|
||
{
|
||
TZXH_D(lstBJXHList, ref ds);
|
||
}
|
||
}
|
||
}
|
||
//处理修订标志
|
||
XHZZTH(ref ds);
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y"))
|
||
UpdateXDBZ(ref ds);
|
||
UpdateData(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
if(bXLWBBJDANXX)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
TZXH_7_SQL(dberp, SQL, sWBBJDID, sSELBJDID, sDRHHList);
|
||
}
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
#endregion
|
||
|
||
#region 规格调整
|
||
|
||
protected void btnGGTZ_OnDropDown(object sender, EventArgs e)
|
||
{
|
||
Dictionary<string, string> dic = new Dictionary<string, string>();
|
||
dic.Clear();
|
||
dic = XLBJD_WBBJDANXX.TZ_ANXX("02");
|
||
|
||
btnGGTZ.Nodes.Clear();
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("GGZZTH", "规格正则替换"));
|
||
if (SystemInfoUtils.GetSystem().FzrGh.Equals(CurSession.UserId))
|
||
{
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("G", "选项配置"));
|
||
}
|
||
|
||
DataSet dsXLWBBJDANXX = GetXLWBBJDANXX("02");
|
||
if (dsXLWBBJDANXX != null && dsXLWBBJDANXX.Tables.Count > 0 && dsXLWBBJDANXX.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsXLWBBJDANXX.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (dic.ContainsKey(dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim()))
|
||
{
|
||
btnGGTZ.Nodes.Add(new gtTreeNode(dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim(), dic[dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim()]));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
Dictionary<string, string> dicMRGGTZ = new Dictionary<string, string>();
|
||
dicMRGGTZ = XLBJD_WBBJDANXX.GGTZ_MRZS();
|
||
foreach (KeyValuePair<string, string> kvp in dicMRGGTZ)
|
||
{
|
||
btnGGTZ.Nodes.Add(new gtTreeNode(kvp.Key, kvp.Value));
|
||
}
|
||
}
|
||
MenuAreaUpdate();
|
||
}
|
||
|
||
protected void btnGGTZ_MenuItemClick(object sender, string ItemIndex)
|
||
{
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
//调整方式
|
||
string sTZFS = ItemIndex;
|
||
if (sTZFS.Equals("GGZZTH"))
|
||
{
|
||
TPageParams tpp = new TPageParams();
|
||
tpp.UrlPath = "XLBJD_WBBJDMX_GGZZTHList.aspx";
|
||
OpenDialog(tpp);
|
||
}
|
||
else if (sTZFS.Equals("G"))
|
||
{
|
||
TPageParams tpp = new TPageParams();
|
||
tpp.UrlPath = "XLBJD_WBBJDANXXList.aspx";
|
||
tpp.CallAction = TPageCallAction.pcaBrowse;
|
||
tpp.AddString("ANLX", "02");
|
||
OpenDialog(tpp);
|
||
}
|
||
else
|
||
{
|
||
if (QueryGrid.CheckedRows.Equals(""))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDMX_BJDID,XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH, ");
|
||
SQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_BJCPDYDJID,XLWBBJDMX_BJCP, ");
|
||
SQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_BZ, ");
|
||
SQL.Add(" XLWBBJDMX_XDBZ,XLWBBJDMX_XLXHID AS OLD_XLXHID,XLWBBJDMX_XLGGID AS OLD_XLGGID,XLWBBJDMX_DYDJID AS OLD_DYDJID, ");
|
||
SQL.Add(" XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ ");
|
||
SQL.Add(" from XLWBBJDMX ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
|
||
|
||
if (sTZFS.Equals("1"))
|
||
{
|
||
TZGG_1(ref ds);
|
||
}
|
||
else if (sTZFS.Equals("2"))
|
||
{
|
||
TZGG_2(ref ds);
|
||
}
|
||
else if (sTZFS.Equals("3"))//x/X替换为*
|
||
{
|
||
TZGG_3(ref ds);
|
||
}
|
||
else if (sTZFS.Equals("6"))//x/X替换为×
|
||
{
|
||
TZGG_6(ref ds);
|
||
}
|
||
else if (sTZFS.Equals("4"))
|
||
{
|
||
TZGG_4(ref ds);
|
||
}
|
||
else if (sTZFS.Equals("7"))//去除mm2、mm
|
||
{
|
||
TZGG_7(ref ds);
|
||
}
|
||
else if (sTZFS.Equals("8"))
|
||
{
|
||
TZGG_8(ref ds);
|
||
}
|
||
else if (sTZFS.Equals("9"))
|
||
{
|
||
TZGG_9(ref ds);
|
||
}
|
||
else if (sTZFS.Equals("A"))
|
||
{
|
||
TZGG_A(ref ds);
|
||
}
|
||
else if (sTZFS.Equals("B"))
|
||
{
|
||
TZGG_B(ref ds);
|
||
}
|
||
//处理修订标志
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y"))
|
||
UpdateXDBZ(ref ds);
|
||
UpdateData(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
}
|
||
|
||
protected void btnGGTZ_Click(object sender, EventArgs e)
|
||
{
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
if (QueryGrid.CheckedRows.Equals(""))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
//A|× B|*
|
||
string sXLJGU007 = GetOption(102579000, "XLJGU007");
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLWBBJDMX_BJDID,XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH, ");
|
||
SQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_BJCPDYDJID,XLWBBJDMX_BJCP, ");
|
||
SQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_BZ, ");
|
||
SQL.Add(" XLWBBJDMX_XDBZ,XLWBBJDMX_XLXHID AS OLD_XLXHID,XLWBBJDMX_XLGGID AS OLD_XLGGID,XLWBBJDMX_DYDJID AS OLD_DYDJID, ");
|
||
SQL.Add(" XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ ");
|
||
SQL.Add(" from XLWBBJDMX ");
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
/*
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("0", "×替换为*"));
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("1", "去除非数值字符"));
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("2", "1*截面"));
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("3", "x/X替换为*"));
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("4", "去除.0"));
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("5", "*替换为×"));
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("6", "x/X替换为×"));
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("7", "去除mm2、mm"));
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("8", "E或者PE替换为1*"));
|
||
btnGGTZ.Nodes.Add(new gtTreeNode("9", "去除空格"));
|
||
*/
|
||
DataSet dsXLWBBJDANXX = GetXLWBBJDANXX("02");
|
||
if (dsXLWBBJDANXX != null && dsXLWBBJDANXX.Tables.Count > 0 && dsXLWBBJDANXX.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsXLWBBJDANXX.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("1"))
|
||
{
|
||
TZGG_1(ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("2"))
|
||
{
|
||
TZGG_2(ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("3"))
|
||
{
|
||
TZGG_3(ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("4"))
|
||
{
|
||
TZGG_4(ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("6"))
|
||
{
|
||
TZGG_6(ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("7"))
|
||
{
|
||
TZGG_7(ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("8"))
|
||
{
|
||
TZGG_8(ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("9"))
|
||
{
|
||
TZGG_9(ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("A"))
|
||
{
|
||
TZGG_A(ref ds);
|
||
}
|
||
else if (dsXLWBBJDANXX.Tables[0].Rows[i]["XLWBBJDANXX_ANXX"].ToString().Trim().Equals("B"))
|
||
{
|
||
TZGG_B(ref ds);
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//目前支持0-9
|
||
TZGG_7(ref ds);
|
||
TZGG_9(ref ds);
|
||
TZGG_8(ref ds);
|
||
//3和6执行一个即可。
|
||
TZGG_3(ref ds);
|
||
TZGG_6(ref ds);
|
||
TZGG_1(ref ds);
|
||
TZGG_2(ref ds);
|
||
|
||
TZGG_4(ref ds);
|
||
}
|
||
//A|× B|*
|
||
if (sXLJGU007.Equals("B"))
|
||
{
|
||
TZGG_0(ref ds);
|
||
}
|
||
else
|
||
{
|
||
TZGG_5(ref ds);
|
||
}
|
||
//处理修订标志
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y"))
|
||
UpdateXDBZ(ref ds);
|
||
UpdateData(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
#endregion
|
||
|
||
protected void btnGWWLBMPP_Click(object sender, EventArgs e)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
DataSet ds = new DataSet();
|
||
GetGWWLBMYS(dberp, SQL, sWBBJDID, sSELBJDID, ref ds);
|
||
UpdateCPYS(dberp, SQL, sWBBJDID, sSELBJDID, ds);
|
||
btnCallBack_Click(null, null);
|
||
ShowMessage("匹配成功!");
|
||
}
|
||
|
||
//删除记录
|
||
protected void btnDELETE_Click(object sender, EventArgs e)
|
||
{
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
if (sDRHHList.Equals(""))
|
||
{
|
||
if (QueryGrid.SelectedIndex > -1)
|
||
{
|
||
sDRHHList = QueryGrid.GetValueByFieldName("XLWBBJDMX_DRHH", QueryGrid.NewRows[QueryGrid.SelectedIndex]).Trim();
|
||
}
|
||
else
|
||
{
|
||
ShowMessage("请选择需要删除的记录!");
|
||
return;
|
||
}
|
||
}
|
||
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" delete from XLWBBJDMX where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and "
|
||
+ CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
QueryGrid.CheckedRows = "";
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
//清空查询条件
|
||
protected void btnClear_Click(object sender, EventArgs e)
|
||
{
|
||
cbxXLXHID.SelectedValue = "";
|
||
cbxXLBZID.SelectedValue = "";
|
||
cbxDYDJID.SelectedValue = "";
|
||
cbxXLYSID.SelectedValue = "";
|
||
cbxJLDW.SelectedValue = "";
|
||
txtBJCP.Text = "";
|
||
txtZHCPML.Text = "";
|
||
cbxBHFCX.SelectedValue = "";
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
#region 型号规格替换以及标准电压匹配相关
|
||
|
||
#region 型号&规格
|
||
protected void btnXHGG_Click(object sender, EventArgs e)
|
||
{
|
||
SelectMatchForXLXHIDAndXLGGID();
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
protected void btnXHGG_MenuItemClick(object sender, string ItemIndex)
|
||
{
|
||
int index = Int32.Parse(ItemIndex);
|
||
switch (index)
|
||
{
|
||
case 0:
|
||
TPageParams tpp = new TPageParams();
|
||
tpp.UrlPath = "XLBJD_WBBJDMX_TDGXWHList.aspx";
|
||
tpp.CallAction = TPageCallAction.pcaBrowse;
|
||
OpenDialog(tpp);
|
||
break;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 标准&电压
|
||
protected void btnBZDY_Click(object sender, EventArgs e)
|
||
{
|
||
SelectMatchForXLBZIDAndDYDJID(false, PageParam.GetRTrimString("JGBID"));
|
||
}
|
||
|
||
protected void btnBZDY_MenuItemClick(object sender, string ItemIndex)
|
||
{
|
||
int index = Int32.Parse(ItemIndex);
|
||
switch (index)
|
||
{
|
||
case 0:
|
||
//重新生成
|
||
SelectMatchForXLBZIDAndDYDJID(true, PageParam.GetRTrimString("JGBID"));
|
||
break;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
protected void btnPPXLWL_Click(object sender, EventArgs e)
|
||
{
|
||
SelectMatchForXLWL();
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 输出数据相关---导出
|
||
//重新导入
|
||
protected void btnDRBJDMX_MenuItemClick(object sender, string ItemIndex)
|
||
{
|
||
int index = Int32.Parse(ItemIndex);
|
||
switch (index)
|
||
{
|
||
case 0:
|
||
txtSFCXDR.Value = "Y";
|
||
btnDRBJDMX_Click(null, null);
|
||
break;
|
||
}
|
||
}
|
||
//导入报价单明细
|
||
protected void btnDRBJDMX_Click(object sender, EventArgs e)
|
||
{
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sXLBJDID = XLBJDUtils.FetEmptyStr(PageParam.GetRTrimString("SELBJDID"));
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sSQL = new TSQL(dberp);
|
||
string sMsg = "";
|
||
if (sBJSJLY.Equals("BJWL"))
|
||
{
|
||
|
||
sSQL.Clear();
|
||
sSQL.Add("select XLWBBJDMX_DRHH");
|
||
sSQL.Add(" from XLWBBJDMX ");
|
||
sSQL.Add("where XLWBBJDMX_WBBJDID=:pWBBJDID ");
|
||
sSQL.Add(" and XLWBBJDMX_BJDID=:pBJDID ");
|
||
sSQL.Add(" and isnull(XLWBBJDMX_WLID,' ')<>' ' ");
|
||
sSQL.Add(" and not exists(select 1 from XLXLB ");
|
||
sSQL.Add(" left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
|
||
sSQL.Add(" left join XLXSBJXLGGTHB XLXSBJXLGGTHB_BJWL on XLXSBJXLGGTHB_BJWL.XLXSBJXLGGTHB_XLGGID=XLWBBJDMX_XLGGID ");
|
||
sSQL.Add(" where XLWBBJDMX_WLID=XLXLB_WLID ");
|
||
sSQL.Add(" and XLWBBJDMX_XLXHID=case when isnull(XSBJXHTH_BJXLXHID,' ') = ' ' then XLXLB_XLXHID else XSBJXHTH_BJXLXHID end ");
|
||
sSQL.Add(" and isnull(XLXSBJXLGGTHB_BJWL.XLXSBJXLGGTHB_XLGGIDCH,' ')=XLXLB_XLGGID ");
|
||
sSQL.Add(" and XLWBBJDMX_XLBZID=XLXLB_XLBZID ");
|
||
sSQL.Add(" and XLWBBJDMX_DYDJID=XLXLB_DYDJID ");
|
||
sSQL.Add(" and XLWBBJDMX_XLYSID=XLXLB_XLYSID) ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sXLBJDID;
|
||
DataSet dsBJWL = dberp.OpenDataSet(sSQL);
|
||
if (dsBJWL.Tables[0].Rows.Count > 0)
|
||
{
|
||
sMsg = "行号【" + dsBJWL.Tables[0].Rows[0][0].ToString().Trim() + "】的物料编码与型号、规格、标准、电压等级、颜色不匹配,不是合法的线缆物料,请修正或清空物料编码后重试!";
|
||
ShowMessage(sMsg);
|
||
return;
|
||
}
|
||
}
|
||
|
||
sSQL.Clear();
|
||
sSQL.Add("select XLWBBJDMX_BJDID,XLWBBJDMX_WBBJDID,XLWBBJDMX_WLID, XLWBBJDMX_DRHH, ");
|
||
sSQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_XLYSID,XLWBBJDMX_BJCP, ");
|
||
sSQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_BZ, ");
|
||
sSQL.Add(" XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ ");
|
||
sSQL.Add(" from XLWBBJDMX ");
|
||
sSQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sXLBJDID;
|
||
DataSet dsMX = dberp.OpenDataSet(sSQL);
|
||
|
||
|
||
GetXLXHIDList(dberp, sSQL, ref lstXLXHID);
|
||
GetXLGGIDList(dberp, sSQL, ref lstXLGGID);
|
||
GetDYDJIDList(dberp, sSQL, ref lstDYDJID);
|
||
|
||
//3*1
|
||
//string sWARNING = "\r\n";
|
||
string sDRHH = "";
|
||
//string sMSG = "";
|
||
string sBJCPMX = "";
|
||
string sXLXHIDMX = "";
|
||
string sXLGGIDMX = "";
|
||
string sDYDJIDMX = "";
|
||
int sign1 = 0;
|
||
int sign2 = 0;
|
||
int sign3 = 0;
|
||
int sign4 = 0;
|
||
|
||
//无表价/无清单查询
|
||
//string sWCLQDList = "";
|
||
//bool bWCLQDListCC = false;
|
||
sSQL.Clear();
|
||
sSQL.Add(" select XLWBBJDMX_DRHH,XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_DYDJID from XLWBBJDMX ");
|
||
sSQL.Add(" where 1 = 1 ");
|
||
sSQL.Add(" and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
string sJGBID = PageParam.GetRTrimString("JGBID").Trim();
|
||
string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
||
string sJGCIDS = GetJGCIDS(sJGBID, "JGB");
|
||
if (XLBJDUtils.IsJGEJGB(sJGBID))
|
||
sSQL.Add(" and not exists (select 1 from XLXSCLQD WHERE XLXSCLQD_WPID='ZZZZ' and XLXSCLQD_XLXHID=XLWBBJDMX_XLXHID and XLXSCLQD_XLGGID = XLWBBJDMX_XLGGID and XLXSCLQD_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and XLXSCLQD_DYDJID=isnull(XLWBBJDMX_DYDJID,' ')) ");
|
||
else
|
||
{
|
||
if (sJGCIDS.Equals(""))
|
||
{
|
||
sSQL.Add(" and not exists (select 1 from XLXSJGBMX WHERE XLXSJGBMX_JGBID = '" + sJGBID + "' and XLXSJGBMX_XLXHID=XLWBBJDMX_XLXHID and XLXSJGBMX_XLGGID = XLWBBJDMX_XLGGID and XLXSJGBMX_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and XLXSJGBMX_DYDJID=isnull(XLWBBJDMX_DYDJID,' ')) ");
|
||
}
|
||
else
|
||
{
|
||
sSQL.Add(" and not exists (select 1 from XLXSJGBMX WHERE " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGCIDS) + " and XLXSJGBMX_XLXHID=XLWBBJDMX_XLXHID and XLXSJGBMX_XLGGID = XLWBBJDMX_XLGGID and XLXSJGBMX_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and XLXSJGBMX_DYDJID=isnull(XLWBBJDMX_DYDJID,' ')) ");
|
||
}
|
||
}
|
||
if (!sJGFID.Equals(""))
|
||
sSQL.Add(" and not exists (select 1 from XLXSJGBMX WHERE XLXSJGBMX_JGBID = '" + sJGFID + "' and XLXSJGBMX_XLXHID=XLWBBJDMX_XLXHID and XLXSJGBMX_XLGGID = XLWBBJDMX_XLGGID and XLXSJGBMX_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and XLXSJGBMX_DYDJID=isnull(XLWBBJDMX_DYDJID,' ')) ");
|
||
sSQL.Add("order by XLWBBJDMX_DRHH ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sXLBJDID;
|
||
DataSet dsCLQDSC = dberp.OpenDataSet(sSQL);
|
||
if (dsCLQDSC.Tables[0].Rows.Count > 0)
|
||
{
|
||
sign4 = 1;
|
||
//foreach (DataRow trow in dsCLQDSC.Tables[0].Rows)
|
||
//{
|
||
// if (System.Text.ASCIIEncoding.Default.GetBytes(sWCLQDList).Length > 15000)
|
||
// {
|
||
// bWCLQDListCC = true;
|
||
// break;
|
||
// }
|
||
// string sDRHHWCLQD = trow["XLWBBJDMX_DRHH"].ToString().Trim();
|
||
// string sXLXHIDWCLQD = trow["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
// string sXLGGIDWCLQD = trow["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
// string sDYDJIDWCLQD = trow["XLWBBJDMX_DYDJID"].ToString().Trim();
|
||
// if (!sWCLQDList.Equals(""))
|
||
// sWCLQDList += "\r\n";
|
||
// sWCLQDList += "[" + sDRHHWCLQD + "] " + sXLXHIDWCLQD + " " + sXLGGIDWCLQD + " " + sDYDJIDWCLQD;
|
||
//}
|
||
}
|
||
|
||
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
|
||
{
|
||
sDRHH = dsMX.Tables[0].Rows[i]["XLWBBJDMX_DRHH"].ToString().Trim();
|
||
sBJCPMX = dsMX.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
sXLXHIDMX = dsMX.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGIDMX = dsMX.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
sDYDJIDMX = dsMX.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim();
|
||
if (!sBJCPMX.Equals(""))
|
||
{
|
||
if (!lstXLXHID.Contains(sXLXHIDMX.ToUpper()) && !sXLXHIDMX.Equals(""))
|
||
{
|
||
sign1 = 1;
|
||
|
||
}
|
||
if (!lstXLGGID.Contains(sXLGGIDMX.Replace('*', '×')) && !lstXLGGID.Contains(sXLGGIDMX.Replace('×', '*')) && !sXLGGIDMX.Equals(""))
|
||
{
|
||
sign2 = 1;
|
||
|
||
}
|
||
if (!lstDYDJID.Contains(sDYDJIDMX.ToUpper()) && !sDYDJIDMX.Equals(""))
|
||
{
|
||
sign3 = 1;
|
||
}
|
||
}
|
||
if (1 == sign1 && 1 == sign2 && 1 == sign3)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (1 == sign1 || 1 == sign2 || 1 == sign3 || 1 == sign4)
|
||
{
|
||
TPageParams tpp = new TPageParams();
|
||
tpp.UrlPath = "DRASKInfo.aspx";
|
||
tpp.AddString("sign1", sign1.ToString());
|
||
tpp.AddString("sign2", sign2.ToString());
|
||
tpp.AddString("sign3", sign3.ToString());
|
||
tpp.AddString("sign4", sign4.ToString());
|
||
tpp.AddString("sJGBID", sJGBID);
|
||
tpp.AddString("sJGFID", sJGFID);
|
||
tpp.AddString("sJGCIDS", sJGCIDS);
|
||
tpp.AddString("sWBBJDID", sWBBJDID);
|
||
tpp.AddString("sXLBJDID", sXLBJDID);;
|
||
tpp.AddString("CloseFlag", txtCloseFlag.ClientID);
|
||
tpp.AddString("SFCXDR", txtSFCXDR.Value);
|
||
tpp.AddString("txtSFCXDR", txtSFCXDR.ClientID);
|
||
OpenDialogClickBtn(tpp, btnDRMX.ClientID);
|
||
}
|
||
else
|
||
{
|
||
txtCloseFlag.Value = "Y";
|
||
btnDRMX_Click(null, null);
|
||
}
|
||
|
||
}
|
||
|
||
//导入合同标的
|
||
protected void btnDRXSHTBD_Click(object sender, EventArgs e)
|
||
{
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_HTBDInfo.aspx";
|
||
pageParams.Title = "导入销售合同线缆标的";
|
||
pageParams.AddString("WBBJDID", sWBBJDID);
|
||
pageParams.AddString("SELBJDID", sSELBJDID);
|
||
|
||
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH")))
|
||
{
|
||
pageParams.AddString("HTBH", PageParam.GetRTrimString("HTBH"));
|
||
}
|
||
OpenDialog(pageParams);
|
||
}
|
||
|
||
protected void btnDRMX_Click(object sender, EventArgs e)
|
||
{
|
||
if (txtCloseFlag.Value.Equals("Y"))
|
||
{
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sXLBJDID = XLBJDUtils.FetEmptyStr(PageParam.GetRTrimString("SELBJDID"));
|
||
string sMLFZH = PageParam.GetRTrimString("MLFZH");
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sSQL = new TSQL(dberp);
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(PageParam.GetRTrimString("BJFLID"));
|
||
int tmpXSWS = string.IsNullOrEmpty(GetOption(100860000, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860000, "BJU002"));
|
||
tmpXSWS = CMISproConvert.StrToInt(bjflxx.XLXSBJFL_CPBJMRXSWS) > tmpXSWS ? CMISproConvert.StrToInt(bjflxx.XLXSBJFL_CPBJMRXSWS) : tmpXSWS;//保留精度高的
|
||
if (tmpXSWS < 0)
|
||
tmpXSWS = 0;
|
||
else if (tmpXSWS > 8)
|
||
tmpXSWS = 8;
|
||
|
||
string sErrorNum = "";
|
||
int iStartXH = 0;
|
||
string sBJU003 = GetOption(100860000, "BJU003");
|
||
string sBJLY = PageParam.GetRTrimString("BJLY");
|
||
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
||
string sBJDHQLY = PageParam.GetRTrimString("BJDHQLY");
|
||
string sBJRQ = PageParam.GetRTrimString("BJRQ");
|
||
|
||
bool bNeedUp = false;
|
||
double fBJSL = 0.0;
|
||
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("BJDID")))
|
||
{
|
||
|
||
try
|
||
{
|
||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||
|
||
string sXLXHID = "", sXLGGID = "", sST = "", sDYDJ = "";
|
||
string sXLYSID = "";
|
||
string sJLDW = "";//计量单位
|
||
string sBJCP = "";
|
||
double sCPBJ = 0.0;
|
||
double sYXJG = 0.0;
|
||
double dCPBJXJ = 0;
|
||
double dBJJEXJ = 0;
|
||
string sYZ = "";
|
||
string sYSCP = "";
|
||
string sKHWLID = "";
|
||
string sBH = "";
|
||
string sZHCPMLMC = "";
|
||
string sCPMLMC = "";
|
||
string sPWQDID = "";
|
||
string sWLMC = "";
|
||
string sMS = "";
|
||
dberp.BeginTrans();
|
||
if (txtSFCXDR.Value.Trim().Equals("Y"))
|
||
{
|
||
sSQL.Clear();
|
||
sSQL.Add(" delete from XLXSBJDYZZ0 where XLXSBJDYZZ0_BJDID =:pBJDID and exists(select 1 from XLXSBJDMX ");
|
||
sSQL.Add(" where XLXSBJDMX_BJDID=XLXSBJDYZZ0_BJDID and XLXSBJDMX_XH=XLXSBJDYZZ0_XH and XLXSBJDMX_WBBJDID=:pWBBJDID) ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sXLBJDID;
|
||
dberp.ExecSQL(sSQL);
|
||
sSQL.Clear();
|
||
sSQL.Add(" delete from XLXSBJDMX where XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_WBBJDID=:pWBBJDID ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sXLBJDID;
|
||
dberp.ExecSQL(sSQL);
|
||
txtSFCXDR.Value = "N";
|
||
}
|
||
int iXH = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XH", "XLXSBJDMX_BJDID='" + PageParam.GetRTrimString("BJDID") + "'");
|
||
int iXSSX = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XSSX", "XLXSBJDMX_BJDID = '" + PageParam.GetRTrimString("BJDID") + "'");
|
||
sSQL.Clear();
|
||
sSQL.Add("select XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH,XLWBBJDMX_WLID,XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_XLYSID,XLWBBJDMX_ZHCPMLMC,XLWBBJDMX_CPMLMC,XLWBBJDMX_PWQDID,XLWBBJDMX_PWQDWLMC,XLWBBJDMX_PWQDMS,XLWBBJDMX_LSJGBBJ, ");
|
||
sSQL.Add(" XLWBBJDMX_YSCP,XLWBBJDMX_KHWLID,XLWBBJDMX_BJCP,XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_YXJG,XLWBBJDMX_YZ,XLWBBJDMX_FBH,XLWBBJDMX_CPBJXJ,XLWBBJDMX_BJJEXJ,XLWBBJDMX_JMBGS,' ' as JMBGSJSZ,isnull(XLWBBJDMX_WGCPBZ,' ') as XLWBBJDMX_WGCPBZ,XLWBBJDMX_XDBZ,XLWBBJDMX_BZ from XLWBBJDMX ");
|
||
sSQL.Add(" WHERE 1 = 1");
|
||
sSQL.Add(" AND XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
sSQL.Add(" order by XLWBBJDMX_DRHH");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sXLBJDID;
|
||
DataSet ds = dberp.OpenDataSet(sSQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (!bjflxx.XLXSBJFL_JMBGSYZID.Equals(""))
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
gtExpression exp = new gtExpression();
|
||
if (!ds.Tables[0].Rows[i]["XLWBBJDMX_JMBGS"].ToString().Trim().Equals(""))
|
||
{
|
||
try
|
||
{
|
||
TZYZXX tzyzxx = XLBJDUtils.GetYZXXByYZID(bjflxx.XLXSBJFL_JMBGSYZID);
|
||
string sJMBYZJJFS = tzyzxx.XLXSTZYZ_JJFS;
|
||
double dJGBGSResult = NumberUtils.RoundX(exp.Evaluate(ds.Tables[0].Rows[i]["XLWBBJDMX_JMBGS"].ToString().Trim()), 6);
|
||
if (sJMBYZJJFS == "JD")
|
||
dJGBGSResult = NumberUtils.RoundX((dJGBGSResult - 1) * 100, 2);
|
||
if (sJMBYZJJFS == "MD")
|
||
dJGBGSResult = NumberUtils.RoundX((1 - dJGBGSResult) * 100, 2);
|
||
if (sJMBYZJJFS == "MX")
|
||
dJGBGSResult = NumberUtils.RoundX(dJGBGSResult, 4);
|
||
ds.Tables[0].Rows[i]["JMBGSJSZ"] = dJGBGSResult.ToString();
|
||
}
|
||
catch
|
||
{
|
||
string sJMBGS = "截面比公式";
|
||
if (!string.IsNullOrEmpty(bjflxx.XLXSBJFL_JMBGSBM.Trim()))
|
||
{
|
||
sJMBGS = bjflxx.XLXSBJFL_JMBGSBM.Trim();
|
||
}
|
||
ShowMessage(string.Format("行号【{0}】的" + sJMBGS + "有误,请修正或清空后重试!", ds.Tables[0].Rows[i]["XLWBBJDMX_DRHH"].ToString().Trim()));
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim();
|
||
sST = ds.Tables[0].Rows[i]["XLWBBJDMX_XLBZID"].ToString().Trim();
|
||
sDYDJ = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim().Replace('K', 'k').Replace('v', 'V');
|
||
sJLDW = ds.Tables[0].Rows[i]["XLWBBJDMX_JLDW"].ToString().Trim();
|
||
sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim();
|
||
if (sJLDW.Equals(""))
|
||
{
|
||
string sMRJLDW =XLBJDInfo.GetMRJLDWByJBXH(sXLXHID);
|
||
if (sMRJLDW.Equals(""))
|
||
sJLDW = sBJU003;
|
||
else
|
||
sJLDW = sMRJLDW;
|
||
}
|
||
//if (sBJCP.Equals("") && sXLXHID.Equals("") && sXLGGID.Equals(""))//报价产品、型号、规格都为空认为是空行
|
||
//{
|
||
// continue;
|
||
//}
|
||
//else
|
||
//{
|
||
// if (sXLXHID.Equals(""))
|
||
// sXLXHID = "/";
|
||
// if (sXLGGID.Equals(""))
|
||
// sXLGGID = "/";
|
||
//}
|
||
if (sXLXHID.Equals(""))
|
||
sXLXHID = "/";
|
||
if (sXLGGID.Equals(""))
|
||
sXLGGID = "/";
|
||
iXH = iXH + 1;
|
||
iXSSX = iXSSX + 1;
|
||
if (i == 0)
|
||
{
|
||
iStartXH = iXH;
|
||
}
|
||
if (!bjflxx.XLXSBJFL_JMBGSYZID.Equals(""))
|
||
{
|
||
sSQL.Clear();
|
||
sSQL.Add(string.Format(" insert into XLXSBJDYZZ0(XLXSBJDYZZ0_BJDID,XLXSBJDYZZ0_XH,XLXSBJDYZZ0_YZZ{0} )", bjflxx.XLXSBJFL_JMBGSYZID.Replace("BJ", "")));
|
||
sSQL.Add(" values(");
|
||
sSQL.Add(" :XLXSBJDYZZ0_BJDID,:XLXSBJDYZZ0_XH,:pYZZ)");
|
||
sSQL.ParamByName("XLXSBJDYZZ0_BJDID").Value = sBJDID;
|
||
sSQL.ParamByName("XLXSBJDYZZ0_XH").Value = iXH;
|
||
if (!ds.Tables[0].Rows[i]["JMBGSJSZ"].ToString().Trim().Equals(""))
|
||
sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["JMBGSJSZ"].ToString().Trim());
|
||
else
|
||
{
|
||
Dictionary<string, double> dicYZZ_ = XLBJDUtils.GetBJDYZZ0(sBJFLID, ds.Tables[0].Rows[i]["XLWBBJDMX_WGCPBZ"].ToString().Trim().Equals("Y"), false,
|
||
sJLDW, sBJU003, sXLXHID, sXLGGID, sST, sDYDJ, sBJDID);
|
||
sSQL.ParamByName("pYZZ").Value = dicYZZ_[bjflxx.XLXSBJFL_JMBGSYZID];
|
||
}
|
||
|
||
dberp.ExecSQL(sSQL);
|
||
|
||
}
|
||
sSQL.Clear();
|
||
sSQL.Add(" insert into XLXSBJDMX( ");
|
||
sSQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XH, XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID,XLXSBJDMX_XDXLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_ZHCPMLMC,XLXSBJDMX_CPMLMC,XLXSBJDMX_PWQDID,XLXSBJDMX_PWQDWLMC,XLXSBJDMX_PWQDMS, ");
|
||
sSQL.Add(" XLXSBJDMX_XLBZID,XLXSBJDMX_XDXLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP,XLXSBJDMX_BJCPSD,XLXSBJDMX_WGCPBZ, ");
|
||
sSQL.Add(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_YXJG,XLXSBJDMX_YZ,XLXSBJDMX_FBH,XLXSBJDMX_YSCP,XLXSBJDMX_KHWLID,XLXSBJDMX_BJSDBZ, ");
|
||
sSQL.Add(" XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB, XLXSBJDMX_JGBBJ,XLXSBJDMX_DZSC,XLXSBJDMX_WHR,XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ,");
|
||
sSQL.Add(" XLXSBJDMX_BJJE,XLXSBJDMX_TZQBJJE,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_CLZL,XLXSBJDMX_CPBJXJ,XLXSBJDMX_BJJEXJ,");
|
||
sSQL.Add(" XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_WBBJDID,XLXSBJDMX_DRHH,XLXSBJDMX_WLID,XLXSBJDMX_JMBGS,XLXSBJDMX_LSJGBBJ,XLXSBJDMX_BZ) ");
|
||
sSQL.Add(" values(");
|
||
sSQL.Add(" :XLXSBJDMX_BJDID, :XLXSBJDMX_XH, :XLXSBJDMX_XSSX, :XLXSBJDMX_XLXHID,:XLXSBJDMX_XDXLXHID, :XLXSBJDMX_XLGGID,:XLXSBJDMX_ZHCPMLMC,:XLXSBJDMX_CPMLMC,:XLXSBJDMX_PWQDID,:XLXSBJDMX_PWQDWLMC,:XLXSBJDMX_PWQDMS, ");
|
||
sSQL.Add(" :XLXSBJDMX_XLBZID,:XLXSBJDMX_XDXLBZID, isnull(:XLXSBJDMX_DYDJID,' '), :XLXSBJDMX_XLYSID, :XLXSBJDMX_BJCP, :XLXSBJDMX_BJCPSD,:XLXSBJDMX_WGCPBZ, ");
|
||
sSQL.Add(" :XLXSBJDMX_JLDW, :XLXSBJDMX_BJSL, :XLXSBJDMX_TZQCPBJ,:XLXSBJDMX_TZCPBJ,:XLXSBJDMX_CPBJ,:XLXSBJDMX_YXJG,:XLXSBJDMX_YZ,:XLXSBJDMX_FBH,:XLXSBJDMX_YSCP,:XLXSBJDMX_KHWLID,:XLXSBJDMX_BJSDBZ, :XLXSBJDMX_JGBJJ, :XLXSBJDMX_CLCB, :XLXSBJDMX_JGBBJ, ");
|
||
sSQL.Add(" :XLXSBJDMX_DZSC, :XLXSBJDMX_WHR, :XLXSBJDMX_WHRID, :XLXSBJDMX_WHSJ,:XLXSBJDMX_BJJE,:XLXSBJDMX_TZQBJJE,:XLXSBJDMX_JGBBJJCE,:XLXSBJDMX_JGBBJJCL,:XLXSBJDMX_CLZL,");
|
||
sSQL.Add(" :XLXSBJDMX_CPBJXJ,:XLXSBJDMX_BJJEXJ,:XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_CLCBJCL,:XLXSBJDMX_JGBBJLJJCL,:XLXSBJDMX_WBBJDID,:XLXSBJDMX_DRHH,:XLXSBJDMX_WLID,:XLXSBJDMX_JMBGS,:XLXSBJDMX_LSJGBBJ,:XLXSBJDMX_BZ)");
|
||
|
||
sXLYSID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLYSID"].ToString().Trim();
|
||
sCPBJ = XLBJDUtils.RoundSZ(CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLWBBJDMX_CPBJ"].ToString().Trim()), CMISproConvert.StrToInt(bjflxx.XLXSBJFL_CPBJMRXSWS));
|
||
sYXJG = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLWBBJDMX_YXJG"].ToString().Trim());
|
||
sDYDJ = sDYDJ.Equals("") ? " " : sDYDJ;
|
||
fBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLWBBJDMX_BJSL"].ToString().Trim());
|
||
sYZ = ds.Tables[0].Rows[i]["XLWBBJDMX_YZ"].ToString().Trim();
|
||
sYSCP = ds.Tables[0].Rows[i]["XLWBBJDMX_YSCP"].ToString().Trim();
|
||
sKHWLID = ds.Tables[0].Rows[i]["XLWBBJDMX_KHWLID"].ToString().Trim();
|
||
sBH = ds.Tables[0].Rows[i]["XLWBBJDMX_FBH"].ToString().Trim();
|
||
dCPBJXJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLWBBJDMX_CPBJXJ"].ToString().Trim());
|
||
dBJJEXJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLWBBJDMX_BJJEXJ"].ToString().Trim());
|
||
sYSCP = ds.Tables[0].Rows[i]["XLWBBJDMX_YSCP"].ToString().Trim();
|
||
sZHCPMLMC = ds.Tables[0].Rows[i]["XLWBBJDMX_ZHCPMLMC"].ToString().Trim();
|
||
sCPMLMC = ds.Tables[0].Rows[i]["XLWBBJDMX_CPMLMC"].ToString().Trim();
|
||
sPWQDID = ds.Tables[0].Rows[i]["XLWBBJDMX_PWQDID"].ToString().Trim();
|
||
sWLMC = ds.Tables[0].Rows[i]["XLWBBJDMX_PWQDWLMC"].ToString().Trim();
|
||
sMS = ds.Tables[0].Rows[i]["XLWBBJDMX_PWQDMS"].ToString().Trim();
|
||
sSQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
|
||
sSQL.ParamByName("XLXSBJDMX_XH").Value = iXH;
|
||
sSQL.ParamByName("XLXSBJDMX_XSSX").Value = iXSSX;
|
||
sSQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID;
|
||
sSQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = sXLXHID;
|
||
sSQL.ParamByName("XLXSBJDMX_ZHCPMLMC").Value = sZHCPMLMC;
|
||
sSQL.ParamByName("XLXSBJDMX_CPMLMC").Value = sCPMLMC;
|
||
sSQL.ParamByName("XLXSBJDMX_PWQDID").Value = sPWQDID;
|
||
sSQL.ParamByName("XLXSBJDMX_PWQDWLMC").Value = sWLMC;
|
||
sSQL.ParamByName("XLXSBJDMX_PWQDMS").Value = sMS;
|
||
sSQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID;
|
||
sSQL.ParamByName("XLXSBJDMX_XLBZID").Value = sST;
|
||
sSQL.ParamByName("XLXSBJDMX_DYDJID").Value = sDYDJ;
|
||
sSQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = sST;
|
||
sSQL.ParamByName("XLXSBJDMX_JLDW").Value = sJLDW;
|
||
sSQL.ParamByName("XLXSBJDMX_CPBJXJ").Value = dCPBJXJ;
|
||
sSQL.ParamByName("XLXSBJDMX_BJJEXJ").Value = dBJJEXJ;
|
||
sSQL.ParamByName("XLXSBJDMX_JMBGS").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_JMBGS"].ToString().Trim();
|
||
sSQL.ParamByName("XLXSBJDMX_LSJGBBJ").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_LSJGBBJ"].ToString().Trim();
|
||
|
||
if (sXLYSID.Equals(""))
|
||
{
|
||
sXLYSID = XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID);
|
||
}
|
||
sSQL.ParamByName("XLXSBJDMX_XLYSID").Value = sXLYSID;
|
||
|
||
if (!sBJCP.Equals(""))
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_BJCPSD").Value = "Y";
|
||
}
|
||
else
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_BJCPSD").Value = "N";
|
||
}
|
||
if (sBJCP.Equals(""))
|
||
{
|
||
sBJCP = XLBJDUtils.GroupBJCPXX(sXLXHID, sXLGGID, sDYDJ);
|
||
}
|
||
sSQL.ParamByName("XLXSBJDMX_BJCP").Value = sBJCP;
|
||
|
||
sSQL.ParamByName("XLXSBJDMX_BJSL").Value = fBJSL;
|
||
|
||
sSQL.ParamByName("XLXSBJDMX_JGBBJ").Value = 0.0;
|
||
sSQL.ParamByName("XLXSBJDMX_TZQCPBJ").Value = 0.0;
|
||
sSQL.ParamByName("XLXSBJDMX_TZCPBJ").Value = 0;
|
||
if (sCPBJ != 0)
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_CPBJ").Value = sCPBJ;
|
||
sSQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "Y";
|
||
}
|
||
else
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_CPBJ").Value = 0.0;
|
||
sSQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "N";
|
||
}
|
||
if (PageParam.GetRTrimString("XSYXJ") == "Y")
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_YXJG").Value = sYXJG;
|
||
}
|
||
else
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_YXJG").Value = 0.0;
|
||
}
|
||
sSQL.ParamByName("XLXSBJDMX_JGBJJ").Value = 0.0;
|
||
sSQL.ParamByName("XLXSBJDMX_CLCB").Value = 0.0;
|
||
sSQL.ParamByName("XLXSBJDMX_CLZL").Value = 0.0;
|
||
sSQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = 0.0;
|
||
|
||
sSQL.ParamByName("XLXSBJDMX_BJJE").Value = NumberUtils.RoundX(fBJSL * Convert.ToDouble(sSQL.ParamByName("XLXSBJDMX_CPBJ").Value), 2);
|
||
sSQL.ParamByName("XLXSBJDMX_TZQBJJE").Value = NumberUtils.RoundX(fBJSL * Convert.ToDouble(sSQL.ParamByName("XLXSBJDMX_CPBJ").Value), 2);
|
||
sSQL.ParamByName("XLXSBJDMX_JGBBJJCE").Value = 0.0;
|
||
sSQL.ParamByName("XLXSBJDMX_JGBBJJCL").Value = 0.0;
|
||
sSQL.ParamByName("XLXSBJDMX_CLCBJCL").Value = 0.0;
|
||
sSQL.ParamByName("XLXSBJDMX_JGBBJLJJCL").Value = 0.0;
|
||
|
||
sSQL.ParamByName("XLXSBJDMX_WBBJDID").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_WBBJDID"].ToString().Trim();
|
||
sSQL.ParamByName("XLXSBJDMX_DRHH").Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLWBBJDMX_DRHH"].ToString().Trim());
|
||
sSQL.ParamByName("XLXSBJDMX_WLID").Value = "";
|
||
sSQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = ds.Tables[0].Rows[i]["XLWBBJDMX_WGCPBZ"].ToString().Trim().Equals("") ? "N" : ds.Tables[0].Rows[i]["XLWBBJDMX_WGCPBZ"].ToString().Trim();
|
||
if (PageParam.GetRTrimString("XSYZ") == "Y")
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_YZ").Value = sYZ;
|
||
}
|
||
else
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_YZ").Value = "";
|
||
}
|
||
if (PageParam.GetRTrimString("XSYSCP") == "Y")
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_YSCP").Value = sYSCP;
|
||
}
|
||
else
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_YSCP").Value = "";
|
||
}
|
||
if (PageParam.GetRTrimString("XSKHWLID") == "Y")
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_KHWLID").Value = sKHWLID;
|
||
}
|
||
else
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_KHWLID").Value = "";
|
||
}
|
||
if (PageParam.GetRTrimString("XSBH") == "Y")
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_FBH").Value = sBH;
|
||
}
|
||
else
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_FBH").Value = "";
|
||
}
|
||
string sXDBZ = ds.Tables[0].Rows[i]["XLWBBJDMX_XDBZ"].ToString().Trim();
|
||
string sBZ = ds.Tables[0].Rows[i]["XLWBBJDMX_BZ"].ToString().Trim();
|
||
if (pzxx.XLXSBJPZ_JLTZHCP.Equals("Y") && sXDBZ.Equals("Y"))
|
||
{
|
||
if (sBZ.Equals(""))
|
||
{
|
||
sBZ = sXLXHID.Trim() + "-" + sDYDJ.Trim() + " " + sXLGGID.Trim();
|
||
}
|
||
else
|
||
sBZ = sBZ+" "+sXLXHID.Trim() + "-" + sDYDJ.Trim() + " " + sXLGGID.Trim();
|
||
}
|
||
sSQL.ParamByName("XLXSBJDMX_BZ").Value = sBZ;
|
||
if (XLBJDUtils.ISDZBZ(sST))
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "Y";
|
||
}
|
||
else
|
||
{
|
||
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "N";
|
||
}
|
||
sSQL.ParamByName("XLXSBJDMX_WHR").Value = CurSession.UserName;
|
||
sSQL.ParamByName("XLXSBJDMX_WHRID").Value = CurSession.UserId;
|
||
sSQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now;
|
||
dberp.ExecSQL(sSQL);
|
||
|
||
bNeedUp = true;
|
||
}
|
||
XLBJDUtils.UpdateXDXLBZID(dberp, sSQL, sBJDID, "", iStartXH - 1, ref sErrorNum);
|
||
XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLXSBJDMX_Batch(dberp, CurSession, sBJDID, "", iStartXH - 1);
|
||
|
||
if (bNeedUp)
|
||
{
|
||
sSQL.Clear();
|
||
sSQL.Add("update XLWBBJDML set XLWBBJDML_BJDID = :pBJDID where 1 = 1 and XLWBBJDML_WBBJDID=:pWBBJDID and XLWBBJDML_BJDID=:pSELBJDID ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sBJDID;
|
||
sSQL.ParamByName("pSELBJDID").Value = sXLBJDID;
|
||
dberp.ExecSQL(sSQL);
|
||
|
||
sSQL.Clear();
|
||
sSQL.Add("update XLWBBJDLM set XLWBBJDLM_BJDID = :pBJDID where 1 = 1 and XLWBBJDLM_WBBJDID=:pWBBJDID and XLWBBJDLM_BJDID=:pSELBJDID ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sBJDID;
|
||
sSQL.ParamByName("pSELBJDID").Value = sXLBJDID;
|
||
dberp.ExecSQL(sSQL);
|
||
|
||
sSQL.Clear();
|
||
sSQL.Add("update XLWBBJDNR set XLWBBJDNR_BJDID = :pBJDID where 1 = 1 and XLWBBJDNR_WBBJDID=:pWBBJDID and XLWBBJDNR_BJDID=:pSELBJDID ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sBJDID;
|
||
sSQL.ParamByName("pSELBJDID").Value = sXLBJDID;
|
||
dberp.ExecSQL(sSQL);
|
||
|
||
sSQL.Clear();
|
||
sSQL.Add("update XLWBBJDMX set XLWBBJDMX_BJDID = :pBJDID where 1 = 1 and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pSELBJDID ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sBJDID;
|
||
sSQL.ParamByName("pSELBJDID").Value = sXLBJDID;
|
||
dberp.ExecSQL(sSQL);
|
||
|
||
sSQL.Clear();
|
||
sSQL.Add("update XLWBBJDMXYZZ set XLWBBJDMXYZZ_BJDID = :pBJDID where 1 = 1 and XLWBBJDMXYZZ_WBBJDID=:pWBBJDID and XLWBBJDMXYZZ_BJDID=:pSELBJDID ");
|
||
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
sSQL.ParamByName("pBJDID").Value = sBJDID;
|
||
sSQL.ParamByName("pSELBJDID").Value = sXLBJDID;
|
||
dberp.ExecSQL(sSQL);
|
||
string sBJU002 = GetOption(100860000, "BJU002");
|
||
XLBJDCalcUtils.CalcBJDMXAfterIns(dberp, sSQL, sBJDID, iStartXH, sBJU002, sBJU003, GetOption(100860000, "BJU018"), CurSession.UserId, CurSession.UserName, bjflxx.XLXSBJFL_JMBGSYZID, ref sErrorNum);
|
||
if (XLWBBJDUtils.GetWBBJDDRYZList(sBJDID).Length > 0)
|
||
{
|
||
XLWBBJDUtils.CopyWBBJDYZZToBJDYZZ0(dberp, sSQL, sBJDID, sWBBJDID, sXLBJDID);
|
||
int iXSWS = string.IsNullOrEmpty(sBJU002) ? 5 : CMISproConvert.StrToInt(sBJU002);
|
||
if (iXSWS < 0)
|
||
iXSWS = 0;
|
||
else if (iXSWS > 8)
|
||
iXSWS = 8;
|
||
XLBJDUtils.UpdateBJDMX(dberp, sSQL, sBJFLID, sBJDID, iXSWS, XLBJDUtils.GetBJFLXX(sBJFLID).XLXSBJFL_BJJCLLX, XLBJDUtils.GetBJFLXX(sBJFLID).XLXSBJFL_LJJCLLX, XLBJDUtils.GetBJFLXX(sBJFLID).XLXSBJFL_CPBJMRXSWS, "", iStartXH);
|
||
XLBJDUtils.UpdateZDXJGS(dberp, sSQL, sBJDID, sBJFLID, sBJU002, "", iStartXH);
|
||
XLBJDUtils.UpdateJSJGS(dberp, sSQL, sBJDID, sBJFLID, sBJU002, "", iStartXH);
|
||
XLBJDUtils.UpdateXLXSBJD(dberp, sSQL, sBJDID, XLBJDUtils.GetBJFLXX(sBJFLID).XLXSBJFL_BJJCLLX, XLBJDUtils.GetBJFLXX(sBJFLID).XLXSBJFL_LJJCLLX, XLBJDUtils.GetBJFLXX(sBJFLID).XLXSBJFL_ZDXJJCLLX, XLBJDUtils.GetBJFLXX(sBJFLID).XLXSBJFL_JYF, "", "", XLBJDUtils.GetBJFLXX(sBJFLID).XLXSBJFL_YFWLID, XLBJDUtils.GetBJFLXX(sBJFLID).XLXSBJFL_BJHYF);
|
||
|
||
}
|
||
}
|
||
}
|
||
dberp.CommitTrans();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
dberp.RollbackTrans();
|
||
ShowMessage("导入出现异常情况:" + ex.Message);
|
||
return;
|
||
}
|
||
}
|
||
DialogOperationScript dos = new DialogOperationScript(this);
|
||
if (sMLFZH.Equals("0"))
|
||
{
|
||
ShowMessage("导入成功!");
|
||
dos.SetOwnerControlValue(PageParam.GetRTrimString("txtOpen"), "CLOSE");
|
||
dos.CloseSelf();
|
||
dos.Execute();
|
||
}
|
||
else
|
||
{
|
||
sSQL.Clear();
|
||
sSQL.Add("select top 1 XLWBBJDML_WBBJDID from XLWBBJDML where XLWBBJDML_MLFZH =:pMLFZH and XLWBBJDML_FSXH>:pFSXH and XLWBBJDML_BJDID=:pBJDID order by XLWBBJDML_FSXH ");
|
||
sSQL.ParamByName("pMLFZH").Value = CMISproConvert.StrToInt(sMLFZH);
|
||
sSQL.ParamByName("pFSXH").Value = GetFSXH(sWBBJDID, sMLFZH, PageParam.GetRTrimString("BJDID"));
|
||
sSQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID");
|
||
DataSet ds = dberp.OpenDataSet(sSQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
string ssWBBJDID = ds.Tables[0].Rows[0][0].ToString().Trim();
|
||
sWBBJDID = ssWBBJDID;
|
||
txtWBBJDID.Text = sWBBJDID;
|
||
//!IsPostBack需要执行的方法都要调用一次
|
||
PretreatmentData();
|
||
btnBZDY_Click(null, null);
|
||
InitGrid(sWBBJDID, sSELBJDID);
|
||
cbxXLXHID.SelectedValue = "";
|
||
cbxXLBZID.SelectedValue = "";
|
||
cbxDYDJID.SelectedValue = "";
|
||
cbxXLYSID.SelectedValue = "";
|
||
cbxJLDW.SelectedValue = "";
|
||
cbxBHFCX.SelectedValue = "";
|
||
txtBJCP.Text = "";
|
||
txtZHCPML.Text = "";
|
||
txtCloseFlag.Value = "";
|
||
txtRetXLXHID.Value = "";
|
||
txtRetXLBZID.Value = "";
|
||
txtRetDYDJID.Value = "";
|
||
txtRetXLYSID.Value = "";
|
||
|
||
Master_OnQuery();
|
||
GridDataBind();
|
||
BillAreaUpdate();
|
||
FormAreaUpdate();
|
||
ShowMessage("导入成功,并已自动打开下一份!");
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
ShowMessage("导入成功!");
|
||
dos.SetOwnerControlValue(PageParam.GetRTrimString("txtOpen"), "CLOSE");
|
||
dos.CloseSelf();
|
||
dos.Execute();
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
#endregion
|
||
|
||
#region 标签点击事件
|
||
//型号点击事件
|
||
protected void linkXLXHID_Click(object sender, EventArgs e)
|
||
{
|
||
//if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
//{
|
||
// ShowMessage("请先勾选记录!");
|
||
// return;
|
||
//}
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_TZInfo.aspx";
|
||
pageParams.Title = "外部报价单型号调整";
|
||
pageParams.AddString("XLXHID", cbxXLXHID.SelectedValue.Trim());
|
||
pageParams.AddExtString("DRHHList", sDRHHList);
|
||
pageParams.AddString("WBBJDID", sWBBJDID);
|
||
pageParams.AddString("SELBJDID", sSELBJDID);
|
||
pageParams.AddString("txtRetXLXHID", txtRetXLXHID.ClientID);
|
||
pageParams.AddString("btnRefreshXLXHID", btnRefreshXLXHID.ClientID);
|
||
OpenDialog(pageParams);
|
||
}
|
||
|
||
protected void btnRefreshXLXHID_Click(object sender, EventArgs e)
|
||
{
|
||
string sRetXLXHID = txtRetXLXHID.Value;
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" UPDATE XLWBBJDMX SET XLWBBJDMX_XLXHID = :pXLXHID,XLWBBJDMX_XDBZ='Y' where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!string.IsNullOrEmpty(sDRHHList.Trim()))
|
||
{
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
}
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("pXLXHID").Value = sRetXLXHID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
flag = 0;
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
//标准点击事件
|
||
protected void linkXLBZID_Click(object sender, EventArgs e)
|
||
{
|
||
if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_TZInfo.aspx";
|
||
pageParams.Title = "外部报价单标准调整";
|
||
pageParams.AddString("XLBZID", cbxXLBZID.SelectedValue.Trim());
|
||
pageParams.AddExtString("DRHHList", sDRHHList);
|
||
pageParams.AddString("WBBJDID", sWBBJDID);
|
||
pageParams.AddString("SELBJDID", sSELBJDID);
|
||
pageParams.AddString("txtRetXLBZID", txtRetXLBZID.ClientID);
|
||
pageParams.AddString("btnRefreshXLBZID", btnRefreshXLBZID.ClientID);
|
||
OpenDialog(pageParams);
|
||
}
|
||
|
||
protected void btnRefreshXLBZID_Click(object sender, EventArgs e)
|
||
{
|
||
string sRetXLBZID = txtRetXLBZID.Value;
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" UPDATE XLWBBJDMX SET XLWBBJDMX_XLBZID = :pXLBZID where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and "
|
||
+ CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("pXLBZID").Value = sRetXLBZID.Equals("") ? " " : sRetXLBZID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
flag = 0;
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
//电压等级的点击事件
|
||
protected void linkDYDJID_Click(object sender, EventArgs e)
|
||
{
|
||
if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_TZInfo.aspx";
|
||
pageParams.Title = "外部报价单电压等级调整";
|
||
pageParams.AddString("DYDJID", cbxDYDJID.SelectedValue.Trim());
|
||
pageParams.AddExtString("DRHHList", sDRHHList);
|
||
pageParams.AddString("WBBJDID", sWBBJDID);
|
||
pageParams.AddString("SELBJDID", sSELBJDID);
|
||
pageParams.AddString("txtRetDYDJID", txtRetDYDJID.ClientID);
|
||
pageParams.AddString("btnRefreshDYDJID", btnRefreshDYDJID.ClientID);
|
||
OpenDialog(pageParams);
|
||
}
|
||
|
||
//外购的点击事件
|
||
protected void linkWG_Click(object sender, EventArgs e)
|
||
{
|
||
if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_TZInfo.aspx";
|
||
pageParams.Title = "外部报价单外购调整";
|
||
pageParams.AddString("WGCPBZ", cbxWG.SelectedValue.Trim());
|
||
pageParams.AddExtString("DRHHList", sDRHHList);
|
||
pageParams.AddString("WBBJDID", sWBBJDID);
|
||
pageParams.AddString("SELBJDID", sSELBJDID);
|
||
pageParams.AddString("txtRetWGCPBZ", txtRetWGCPBZ.ClientID);
|
||
pageParams.AddString("btnRefreshWGCPBZ", btnRefreshWGCPBZ.ClientID);
|
||
OpenDialog(pageParams);
|
||
}
|
||
|
||
protected void btnRefreshDYDJID_Click(object sender, EventArgs e)
|
||
{
|
||
string sDYDJID = txtRetDYDJID.Value.Trim().Equals("") ? " " : txtRetDYDJID.Value.Trim();
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" UPDATE XLWBBJDMX SET XLWBBJDMX_DYDJID = :pDYDJID,XLWBBJDMX_XDBZ='Y' where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and "
|
||
+ CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("pDYDJID").Value = sDYDJID.Equals("") ? " " : sDYDJID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
flag = 0;
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
protected void btnRefreshWGCPBZ_Click(object sender, EventArgs e)
|
||
{
|
||
string sWGCPBZ = txtRetWGCPBZ.Value.Trim().Equals("") ? "N" : txtRetWGCPBZ.Value.Trim();
|
||
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" UPDATE XLWBBJDMX SET XLWBBJDMX_WGCPBZ = :pWGCPBZ,XLWBBJDMX_XDBZ='Y' where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and "
|
||
+ CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("pWGCPBZ").Value = sWGCPBZ;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
flag = 0;
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
//颜色点击事件
|
||
protected void linkXLYSID_Click(object sender, EventArgs e)
|
||
{
|
||
if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_TZInfo.aspx";
|
||
pageParams.Title = "外部报价单颜色调整";
|
||
pageParams.AddString("XLYSID", cbxXLYSID.SelectedValue.Trim());
|
||
pageParams.AddExtString("DRHHList", sDRHHList);
|
||
pageParams.AddString("WBBJDID", sWBBJDID);
|
||
pageParams.AddString("SELBJDID", sSELBJDID);
|
||
pageParams.AddString("txtRetXLYSID", txtRetXLYSID.ClientID);
|
||
pageParams.AddString("btnRefreshXLYSID", btnRefreshXLYSID.ClientID);
|
||
OpenDialog(pageParams);
|
||
}
|
||
|
||
protected void btnRefreshXLYSID_Click(object sender, EventArgs e)
|
||
{
|
||
string sRetXLYSID = txtRetXLYSID.Value;
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" UPDATE XLWBBJDMX SET XLWBBJDMX_XLYSID = :pXLYSID where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and "
|
||
+ CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("pXLYSID").Value = sRetXLYSID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
flag = 0;
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
//计量单位的点击事件
|
||
protected void linkJLDW_Click(object sender, EventArgs e)
|
||
{
|
||
if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
string sJLDW = cbxJLDW.SelectedValue.Trim();
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
if (sDRHHList.Equals(""))
|
||
{
|
||
return;
|
||
}
|
||
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" UPDATE XLWBBJDMX SET XLWBBJDMX_JLDW = :pJLDW where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and "
|
||
+ CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("pJLDW").Value = sJLDW;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
flag = 0;
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
//修订的点击事件
|
||
protected void linkXD_Click(object sender, EventArgs e)
|
||
{
|
||
if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
if (cbxXD.SelectedValue.Trim().Equals(""))
|
||
{
|
||
ShowMessage("请先选择是否修订!");
|
||
return;
|
||
}
|
||
string sXD = cbxXD.SelectedValue.Trim();
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
if (sDRHHList.Equals(""))
|
||
{
|
||
return;
|
||
}
|
||
|
||
string sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//string sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" UPDATE XLWBBJDMX SET XLWBBJDMX_XDBZ = :pXDBZ where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and "
|
||
+ CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("pXDBZ").Value = sXD;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
flag = 0;
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
|
||
protected void linkBHFCX_Click(object sender, EventArgs e)
|
||
{
|
||
if (!cbxBHFCX.SelectedValue.Trim().Equals("1"))
|
||
{
|
||
ShowMessage("仅'型号不合规'时才可以进行设置!");
|
||
return;
|
||
}
|
||
if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
//默认传入第一个选择
|
||
sDRHHList = sDRHHList.Split(',')[0];
|
||
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_WBBJDMX_XLXHInfo.aspx";
|
||
pageParams.Title = "外部报价单新增型号";
|
||
pageParams.AddString("DRHHList", sDRHHList);
|
||
pageParams.AddString("WBBJDID", sWBBJDID);
|
||
pageParams.AddString("SELBJDID", sSELBJDID);
|
||
pageParams.AddString("btnRefreshXLXHIDBHFCX", btnRefreshXLXHIDBHFCX.ClientID);
|
||
OpenDialog(pageParams);
|
||
}
|
||
|
||
//不合法查询
|
||
protected void btnRefreshXLXHIDBHFCX_Click(object sender, EventArgs e)
|
||
{
|
||
//清空查询按钮进行展示
|
||
cbxXLXHID.SelectedValue = "";
|
||
cbxXLBZID.SelectedValue = "";
|
||
cbxDYDJID.SelectedValue = "";
|
||
cbxXLYSID.SelectedValue = "";
|
||
cbxJLDW.SelectedValue = "";
|
||
txtBJCP.Text = "";
|
||
txtZHCPML.Text = "";
|
||
cbxBHFCX.SelectedValue = "1";
|
||
btnCallBack_Click(null, null);
|
||
}
|
||
#endregion
|
||
|
||
protected void btnReplace_Click(object sender, EventArgs e)
|
||
{
|
||
if (!(QueryGrid.CheckBox && !String.IsNullOrEmpty(QueryGrid.CheckedRows)))
|
||
{
|
||
ShowMessage("请先勾选记录!");
|
||
return;
|
||
}
|
||
if (cbxReplaceLM.SelectedValue.Trim().Equals(""))
|
||
{
|
||
ShowMessage("请选择需要替换的栏目!");
|
||
SetFocus(cbxReplaceLM.ClientID);
|
||
return;
|
||
}
|
||
|
||
sWBBJDID = txtWBBJDID.Text.Trim();
|
||
//sWBBJDID = PageParam.GetRTrimString("WBBJDID");
|
||
sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
|
||
string sDRHHList = "";
|
||
QueryGrid_Checked(ref sDRHHList);
|
||
|
||
string sReplaceLM = cbxReplaceLM.SelectedValue.Trim();
|
||
string sReplaceBef = txtReplaceBef.Text.Trim();
|
||
string sReplaceAft = txtReplaceAft.Text.Trim();
|
||
|
||
|
||
if (!sReplaceLM.Equals(""))
|
||
{
|
||
string tmp = sReplaceBef;
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" update XLWBBJDMX set ");
|
||
SQL.Add(sReplaceLM + " = replace(" + sReplaceLM + ", :pReplace1, :pReplace2) ");
|
||
if (sReplaceLM.Equals("XLWBBJDMX_XLXHID") || sReplaceLM.Equals("XLWBBJDMX_XLGGID") || sReplaceLM.Equals("XLWBBJDMX_XLBZID") || sReplaceLM.Equals("XLWBBJDMX_DYDJID"))
|
||
{
|
||
SQL.Add(" ,XLWBBJDMX_XDBZ='Y' ");
|
||
}
|
||
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID ");
|
||
if (!tmp.Equals(""))
|
||
{
|
||
if ((tmp.StartsWith("!") || tmp.StartsWith("!")) && (tmp.EndsWith("!") || tmp.EndsWith("!")))
|
||
{
|
||
tmp = tmp.TrimStart('!').TrimEnd('!').TrimStart('!').TrimEnd('!');
|
||
SQL.Add(" and " + sReplaceLM + " = :pReplaceBef ");
|
||
SQL.ParamByName("pReplaceBef").Value = tmp;
|
||
}
|
||
else if (tmp.StartsWith("!") || tmp.StartsWith("!"))
|
||
{
|
||
tmp = tmp.TrimStart('!').TrimStart('!');
|
||
SQL.Add(" and " + sReplaceLM + " like :pReplaceBef ");
|
||
SQL.ParamByName("pReplaceBef").Value = tmp + "%";
|
||
}
|
||
else if (tmp.EndsWith("!") || tmp.EndsWith("!"))
|
||
{
|
||
tmp = tmp.TrimEnd('!').TrimEnd('!');
|
||
SQL.Add(" and " + sReplaceLM + " like :pReplaceBef ");
|
||
SQL.ParamByName("pReplaceBef").Value = "%" + tmp;
|
||
}
|
||
else
|
||
{
|
||
tmp = tmp.TrimStart('!').TrimEnd('!').TrimStart('!').TrimEnd('!');
|
||
SQL.Add(" and " + sReplaceLM + " like :pReplaceBef ");
|
||
SQL.ParamByName("pReplaceBef").Value = "%" + tmp + "%";
|
||
}
|
||
}
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList));
|
||
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
|
||
SQL.ParamByName("pBJDID").Value = sSELBJDID;
|
||
SQL.ParamByName("pReplace1").Value = sReplaceBef.TrimStart('!').TrimEnd('!').TrimStart('!').TrimEnd('!');
|
||
SQL.ParamByName("pReplace2").Value = sReplaceAft.TrimStart('!').TrimEnd('!').TrimStart('!').TrimEnd('!');
|
||
string ss = SQL.Text;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
flag = 0;
|
||
btnCallBack_Click(null, null);
|
||
|
||
|
||
}
|
||
|
||
//刷新
|
||
protected void btnCallBack_Click(object sender, EventArgs e)
|
||
{
|
||
Master_OnQuery();
|
||
//
|
||
GridDataBind();
|
||
BillAreaUpdate();
|
||
FormAreaUpdate();
|
||
}
|
||
#endregion
|
||
}
|
||
}
|