diff --git a/.vs/ICSSoft.FromERP/v14/.suo b/.vs/ICSSoft.FromERP/v14/.suo index 630ee8a..e274849 100644 Binary files a/.vs/ICSSoft.FromERP/v14/.suo and b/.vs/ICSSoft.FromERP/v14/.suo differ diff --git a/ICSSoft.FromERP/ICSInventoryFromU8.cs b/ICSSoft.FromERP/ICSInventoryFromU8.cs index e3168bf..9511bfb 100644 --- a/ICSSoft.FromERP/ICSInventoryFromU8.cs +++ b/ICSSoft.FromERP/ICSInventoryFromU8.cs @@ -5,6 +5,7 @@ using System.Text; using Quartz; using System.Data; +using System.Net.NetworkInformation; namespace ICSSoft.FromERP { @@ -40,16 +41,35 @@ namespace ICSSoft.FromERP string conStr = ICSHelper.GetConnectString(); string Namespace = this.GetType().Namespace; //string Class = this.GetType().Name; - + string erpNames = ICSHelper.GetConfigString()["Workpoint_ERPDB"]; + List DBS = erpNames.Split(',').ToList(); + List ListDB = new List(); + foreach (string DB in DBS) + { + if (DB.Split('_') != null && DB.Split('_').Count() > 1) + { + WorkpointERPDBLink wd = new WorkpointERPDBLink(); + wd.Workpoint = DB.Split('_')[0]; + wd.ERPDB = DB.Split('_')[1]; + ListDB.Add(wd); + } + } DataTable dt = ICSHelper.GetERPDB(conStr); foreach (DataRow dr in dt.Rows) { - string erpName = ICSHelper.GetConfigString()["ERPDB"]; - string TenantId = dr["TenantId"].ToString(); + + string TenantId = dr["TenantId"].ToString(); string TenantCode = dr["TenantCode"].ToString(); string ErpId = dr["ErpID"].ToString(); //erpID string Class = this.GetType().Name + TenantCode; - erpName = string.Format(erpName, TenantId); + + WorkpointERPDBLink dblink= ListDB.FindLast(a => a.Workpoint == TenantCode); + if (dblink == null) + { + return; + } + string erpName = dblink.ERPDB; + //erpName = string.Format(erpName, TenantId); #region SQL string sql = @" diff --git a/ICSSoft.FromERP/ICSMoFromU8.cs b/ICSSoft.FromERP/ICSMoFromU8.cs index f7e188b..d7c25ab 100644 --- a/ICSSoft.FromERP/ICSMoFromU8.cs +++ b/ICSSoft.FromERP/ICSMoFromU8.cs @@ -40,14 +40,37 @@ namespace ICSSoft.FromERP string Namespace = this.GetType().Namespace; //string Class = this.GetType().Name; DataTable dt = ICSHelper.GetERPDB(conStr); + + string erpNames = ICSHelper.GetConfigString()["Workpoint_ERPDB"]; + List DBS = erpNames.Split(',').ToList(); + List ListDB = new List(); + foreach (string DB in DBS) + { + if (DB.Split('_') != null && DB.Split('_').Count() > 1) + { + WorkpointERPDBLink wd = new WorkpointERPDBLink(); + wd.Workpoint = DB.Split('_')[0]; + wd.ERPDB = DB.Split('_')[1]; + ListDB.Add(wd); + } + } + foreach (DataRow dr in dt.Rows) { - string erpName = ICSHelper.GetConfigString()["ERPDB"]; + // string erpName = ICSHelper.GetConfigString()["ERPDB"]; string TenantId = dr["TenantId"].ToString();//mes 组织 string TenantCode = dr["TenantCode"].ToString(); string ErpId = dr["ErpID"].ToString(); //erpID string Class = this.GetType().Name + TenantCode; - erpName = string.Format(erpName, TenantId); + + WorkpointERPDBLink dblink = ListDB.FindLast(a => a.Workpoint == TenantCode); + if (dblink == null) + { + return; + } + string erpName = dblink.ERPDB; + + //erpName = string.Format(erpName, TenantId); #region SQL string sql = @" diff --git a/ICSSoft.FromERP/ICSModel.cs b/ICSSoft.FromERP/ICSModel.cs new file mode 100644 index 0000000..49046ff --- /dev/null +++ b/ICSSoft.FromERP/ICSModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ICSSoft.FromERP +{ + public class WorkpointERPDBLink + { + public String Workpoint { get; set; } + public String ERPDB { get; set; } + } +} diff --git a/ICSSoft.FromERP/ICSSoft.FromERP.csproj b/ICSSoft.FromERP/ICSSoft.FromERP.csproj index e82caa4..257811d 100644 --- a/ICSSoft.FromERP/ICSSoft.FromERP.csproj +++ b/ICSSoft.FromERP/ICSSoft.FromERP.csproj @@ -98,6 +98,7 @@ + diff --git a/ICSSoft.FromERP/IcsMainCategoryCodeFromU8.cs b/ICSSoft.FromERP/IcsMainCategoryCodeFromU8.cs index de53dfb..6908e25 100644 --- a/ICSSoft.FromERP/IcsMainCategoryCodeFromU8.cs +++ b/ICSSoft.FromERP/IcsMainCategoryCodeFromU8.cs @@ -40,15 +40,34 @@ namespace ICSSoft.FromERP string Namespace = this.GetType().Namespace; //string Class = this.GetType().Name; + string erpNames = ICSHelper.GetConfigString()["Workpoint_ERPDB"]; + List DBS = erpNames.Split(',').ToList(); + List ListDB = new List(); + foreach (string DB in DBS) + { + if (DB.Split('_') != null && DB.Split('_').Count() > 1) + { + WorkpointERPDBLink wd = new WorkpointERPDBLink(); + wd.Workpoint = DB.Split('_')[0]; + wd.ERPDB = DB.Split('_')[1]; + ListDB.Add(wd); + } + } DataTable dt = ICSHelper.GetERPDB(conStr); foreach (DataRow dr in dt.Rows) { - string erpName = ICSHelper.GetConfigString()["ERPDB"]; + // string erpName = ICSHelper.GetConfigString()["ERPDB"]; string TenantId = dr["TenantId"].ToString();//mes 组织 string TenantCode = dr["TenantCode"].ToString(); string ErpId = dr["ErpID"].ToString(); //erpID string Class = this.GetType().Name + TenantCode; - erpName = string.Format(erpName, TenantId); + WorkpointERPDBLink dblink = ListDB.FindLast(a => a.Workpoint == TenantCode); + if (dblink == null) + { + return; + } + string erpName = dblink.ERPDB; + // erpName = string.Format(erpName, TenantId); #region SQL string sql = @" select a.cInvCCode as ItemMainCategoryCode diff --git a/ICSSoft.FromERP/IcsSBomFromU8.cs b/ICSSoft.FromERP/IcsSBomFromU8.cs index c78aa67..373ad8a 100644 --- a/ICSSoft.FromERP/IcsSBomFromU8.cs +++ b/ICSSoft.FromERP/IcsSBomFromU8.cs @@ -39,14 +39,39 @@ namespace ICSSoft.FromERP string Namespace = this.GetType().Namespace; //string Class = this.GetType().Name; DataTable dt = ICSHelper.GetERPDB(conStr); + + + + string erpNames = ICSHelper.GetConfigString()["Workpoint_ERPDB"]; + List DBS = erpNames.Split(',').ToList(); + List ListDB = new List(); + foreach (string DB in DBS) + { + if (DB.Split('_') != null && DB.Split('_').Count() > 1) + { + WorkpointERPDBLink wd = new WorkpointERPDBLink(); + wd.Workpoint = DB.Split('_')[0]; + wd.ERPDB = DB.Split('_')[1]; + ListDB.Add(wd); + } + } + foreach (DataRow dr in dt.Rows) { - string erpName = ICSHelper.GetConfigString()["ERPDB"]; + // string erpName = ICSHelper.GetConfigString()["ERPDB"]; string TenantId = dr["TenantId"].ToString(); string TenantCode = dr["TenantCode"].ToString(); string ErpId = dr["ErpID"].ToString(); //erpID string Class = this.GetType().Name + TenantCode; - erpName = string.Format(erpName, TenantId); + + WorkpointERPDBLink dblink = ListDB.FindLast(a => a.Workpoint == TenantCode); + if (dblink == null) + { + return; + } + string erpName = dblink.ERPDB; + + // erpName = string.Format(erpName, TenantId); #region SQL string sql = @"