Browse Source
Merge branch 'master' of http://119.3.29.177:3000/xusc/IcsFromERPJob
Branch_PaiNaWeiSJob
Merge branch 'master' of http://119.3.29.177:3000/xusc/IcsFromERPJob
Branch_PaiNaWeiSJob
shiqian.wang
2 months ago
5 changed files with 163 additions and 3 deletions
-
BIN.vs/ICSSoft.FromERP/v16/.suo
-
4ICSSoft.FromERP/App.config
-
1ICSSoft.FromERP/ICSSoft.FromERP.csproj
-
159ICSSoft.FromERP/IcsMainCategoryCode_Rhtyon.cs
-
2ICSSoft.Test/Program.cs
Binary file not shown.
@ -0,0 +1,159 @@ |
|||||
|
using Quartz; |
||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Data; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace ICSSoft.FromERP |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 物料分类(锐腾)
|
||||
|
/// </summary>
|
||||
|
public class IcsMainCategoryCode_Rhtyon : IJob |
||||
|
{ |
||||
|
private static object key = new object(); |
||||
|
private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); |
||||
|
public void Execute(IJobExecutionContext context) |
||||
|
{ |
||||
|
try |
||||
|
{ |
||||
|
lock (key) |
||||
|
{ |
||||
|
log.Info("开始……………………………………………………………………"); |
||||
|
Execute(); |
||||
|
log.Info("结束……………………………………………………………………"); |
||||
|
} |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
log.Error(ex.ToString()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void Execute() |
||||
|
{ |
||||
|
try |
||||
|
{ |
||||
|
//string conERPStr = ICSHelper.GetERPConnectString();
|
||||
|
string conStr = ICSHelper.GetConnectString(); |
||||
|
string Namespace = this.GetType().Namespace; |
||||
|
//string Class = this.GetType().Name;
|
||||
|
|
||||
|
DataTable dt = ICSHelper.GetERPDB(conStr); |
||||
|
foreach (DataRow dr in dt.Rows) |
||||
|
{ |
||||
|
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); |
||||
|
|
||||
|
#region SQL
|
||||
|
string sql = @" select a.code as ItemMainCategoryCode
|
||||
|
,b.Name as ItemMainCategoryName |
||||
|
,b.Description as ItemMainCategoryDesc |
||||
|
,a.ModifiedOn MTime |
||||
|
,I.id as Org |
||||
|
,p.parentCode |
||||
|
,a.DescFlexField_PrivateDescSeg1 |
||||
|
,a.DescFlexField_PrivateDescSeg2 |
||||
|
,a.DescFlexField_PrivateDescSeg3 |
||||
|
,a.DescFlexField_PrivateDescSeg4 |
||||
|
INTO #TempItemCategory |
||||
|
from {1}.dbo.[CBO_Category] a |
||||
|
left join {1}.dbo.CBO_CategoryType catt on catt.id=a.CategorySystem |
||||
|
left join {1}.dbo.[CBO_Category_Trl] b on a.id=b.id AND b.SysMLFlag='zh-CN' |
||||
|
left join {1}.dbo.[Base_Organization] AS I ON ( A.[Org] = I.[ID] ) |
||||
|
left join {1}.dbo.[Base_Organization_Trl] AS J ON ( I.[ID] = J.[ID] AND J.SysMLFlag='zh-CN') |
||||
|
left join |
||||
|
( |
||||
|
SELECT |
||||
|
a2.code parentCode |
||||
|
,a3.name parentName |
||||
|
, A .code |
||||
|
, A1.[Name] |
||||
|
, a.level+1 层级 |
||||
|
FROM {1}.dbo.Base_DefineValue AS A |
||||
|
LEFT JOIN {1}.dbo.[Base_DefineValue_Trl] AS A1 ON(A1.SysMlFlag = 'zh-CN') AND(A.[ID] = A1.[ID]) |
||||
|
left join {1}.dbo.Base_DefineValue a2 on a2.id=a.ParentNode |
||||
|
and a2.Effective_IsEffective=1 |
||||
|
and a2.Effective_DisableDate>= CAST ( CAST ( GETDATE( ) AS DATE ) AS VARCHAR ( 10 ) ) + ' 00:00:00' |
||||
|
AND a2.Effective_EffectiveDate< CAST ( CAST ( dateadd( DAY, 1, GETDATE( ) ) AS DATE ) AS VARCHAR ( 10 ) ) + ' 00:00:00' |
||||
|
LEFT JOIN {1}.dbo.[Base_DefineValue_Trl] AS A3 ON(A3.SysMlFlag = 'zh-CN') AND(A2.[ID] = A3.[ID]) |
||||
|
WHERE 1=1 |
||||
|
and A.[ValueSetDef] = (SELECT ID FROM {1}.dbo.Base_ValueSetDef_trl DD WHERE name = '库存分类' ) |
||||
|
and a.Effective_IsEffective=1 |
||||
|
and a.Effective_DisableDate>= CAST ( CAST ( GETDATE( ) AS DATE ) AS VARCHAR ( 10 ) ) + ' 00:00:00' |
||||
|
AND a.Effective_EffectiveDate< CAST ( CAST ( dateadd( DAY, 1, GETDATE( ) ) AS DATE ) AS VARCHAR ( 10 ) ) + ' 00:00:00' |
||||
|
--order by a.level+1, a2.code,A .code |
||||
|
) p ON a.code=p.code |
||||
|
where 1=1 |
||||
|
and A.ModifiedOn>=@LastTime AND I.id={0} |
||||
|
and catt.IsStock='1' |
||||
|
ORDER BY A.Code |
||||
|
|
||||
|
IF NOT EXISTS(SELECT * FROM #TempItemCategory) |
||||
|
RETURN";
|
||||
|
sql = string.Format(sql, ErpId, erpName); |
||||
|
sql = ICSHelper.Time(Namespace, Class, TenantId, sql, "#TempItemCategory"); |
||||
|
|
||||
|
|
||||
|
|
||||
|
sql += @"--删除数据
|
||||
|
-- DELETE ICSINVENTORY WHERE ItemCode NOT IN (SELECT cInvCode FROM {1}.dbo.[CBO_ItemMaster]) |
||||
|
SELECT a.ItemMainCategoryCode INTO #tableItemCategory |
||||
|
FROM IcsMainCategoryCode a With(NoLock) |
||||
|
LEFT JOIN {1}.dbo.[CBO_Category] b With(NoLock) ON a.ItemMainCategoryCode=b.Code |
||||
|
WHERE b.code is null |
||||
|
and a.TenantId='{0}' |
||||
|
AND b.Org={2} |
||||
|
|
||||
|
DELETE IcsMainCategoryCode |
||||
|
WHERE TenantId='{0}' and ItemMainCategoryCode IN ( SELECT ItemMainCategoryCode from #tableItemCategory) ";
|
||||
|
Dictionary<string, string> values = new Dictionary<string, string>(); |
||||
|
values.Add("ItemMainCategoryCode", "a.ItemMainCategoryCode");//物料编号
|
||||
|
values.Add("ItemMainCategoryName", "a.ItemMainCategoryNAME");//物料名称
|
||||
|
values.Add("ItemMainCategoryDesc", "a.ItemMainCategoryDesc");//物料描述
|
||||
|
values.Add("LastModificationTime", "a.MTime");//操作时间
|
||||
|
values.Add("PCode", "a.parentCode");//操作人
|
||||
|
values.Add("Default1", "a.DescFlexField_PrivateDescSeg1");//操作人
|
||||
|
values.Add("Default2", "a.DescFlexField_PrivateDescSeg2");//操作人
|
||||
|
values.Add("Default3", "a.DescFlexField_PrivateDescSeg3");//操作人
|
||||
|
values.Add("Default4", "a.DescFlexField_PrivateDescSeg4");//操作人
|
||||
|
|
||||
|
//更新存在数据
|
||||
|
sql += ICSHelper.UpdateSQL("b", values) |
||||
|
+ @" #TempItemCategory a
|
||||
|
INNER JOIN IcsMainCategoryCode b ON a.ItemMainCategoryCode=b.ItemMainCategoryCode |
||||
|
WHERE b.TenantId='" + TenantId + "' and a.Org={2}";
|
||||
|
|
||||
|
|
||||
|
|
||||
|
values.Add("CreationTime", "a.MTime");//操作人
|
||||
|
values.Add("CreatorUserId", "'" + ConstWorkPoint.Muser + "'");//操作人
|
||||
|
values.Add("CreatorUserName", "'" + ConstWorkPoint.Musername + "'");//操作人名称
|
||||
|
values.Add("TenantId", "'" + TenantId + "'");//站点
|
||||
|
//插入新增数据
|
||||
|
sql += ICSHelper.InsertSQL("IcsMainCategoryCode", values) |
||||
|
+ @" #TempItemCategory a
|
||||
|
LEFT JOIN IcsMainCategoryCode b ON a.ItemMainCategoryCode=b.ItemMainCategoryCode and b.TenantId='{0}' |
||||
|
WHERE 1=1 and b.ItemMainCategoryCode is null |
||||
|
and a.Org={2} |
||||
|
";
|
||||
|
sql += " DROP TABLE #TempItemCategory " + |
||||
|
" DROP TABLE #tableItemCategory "; |
||||
|
sql = string.Format(sql, TenantId, erpName, ErpId); |
||||
|
// return;
|
||||
|
ICSHelper.ExecuteDate(conStr, sql); |
||||
|
#endregion
|
||||
|
} |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
log.Error(ex.ToString()); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue