diff --git a/ICSSoft.FromU9ERP/ICSSoft.FromERP/ICSWarehouse.cs b/ICSSoft.FromU9ERP/ICSSoft.FromERP/ICSWarehouse.cs index 4ba07b8..34c9cf9 100644 --- a/ICSSoft.FromU9ERP/ICSSoft.FromERP/ICSWarehouse.cs +++ b/ICSSoft.FromU9ERP/ICSSoft.FromERP/ICSWarehouse.cs @@ -48,34 +48,36 @@ namespace ICSSoft.FromERP string Class = this.GetType().Name + WorkPoint; erpName = string.Format(erpName, WorkPoint); #region SQL - string sql = @"select NEWID() AS Serial , - cWhCode AS StorageCode , - cWhName AS StorageName , - bWhAsset As Asset, - bProxyWh AS Proxy, - bInCost AS InCost, - dModifyDate AS MTIME, - '{0}' as WorkPoint + string sql = @"select A.ID AS Serial , + A.Code AS StorageCode , + B.Name AS StorageName , + CAST(A.IsLot AS VARCHAR) AS BatchEnable, + 0 As Asset, + 0 AS Proxy, + 0 AS InCost, + ISNULL(CreatedOn,ModifiedOn) AS MTIME, + C.Code AS WorkPoint INTO #TempWarehouse - FROM {1}.dbo.Warehouse - WHERE dWhEndDate IS NULL AND dModifyDate>=@LastTime - ORDER BY cWhCode + FROM {1}.dbo.[CBO_Wh] A + LEFT JOIN {1}.dbo.[CBO_Wh_Trl] AS B ON B.ID = A.ID AND B.SysMLFlag = 'zh-CN' + LEFT JOIN {1}.dbo.Base_Organization C ON A.Org=C.ID + WHERE C.Code='{0}' AND ISNULL(A.CreatedOn,A.ModifiedOn)>=@LastTime + ORDER BY A.Code IF NOT EXISTS(SELECT * FROM #TempWarehouse) RETURN"; sql = ICSHelper.Time(Namespace, Class, WorkPoint, sql, "#TempWarehouse"); sql += @"--删除数据 - -- DELETE ICSWarehouse WHERE WarehouseCode NOT IN (SELECT cWhCode FROM {1}.dbo.Warehouse) + -- DELETE ICSWarehouse WHERE WarehouseCode NOT IN (SELECT cWhCode FROM {1}.dbo.CBO_Wh) -SELECT a.WarehouseCode INTO #tableICSWarehouse -FROM ICSWarehouse a With(NoLock) -LEFT JOIN {1}.dbo.[Warehouse] b With(NoLock) ON a.WarehouseCode=b.cWhCode - WHERE a.WorkPoint='{0}' and b.cWhCode IS NULL + SELECT a.WarehouseCode INTO #tableICSWarehouse + FROM ICSWarehouse a With(NoLock) + LEFT JOIN {1}.dbo.[CBO_Wh] b With(NoLock) ON a.ID=b.ID + WHERE a.WorkPoint='{0}' and b.ID IS NULL - DELETE ICSWarehouse - WHERE WorkPoint='{0}' and WarehouseCode IN ( SELECT WarehouseCode from #tableICSWarehouse) - "; + DELETE ICSWarehouse + WHERE WorkPoint='{0}' and WarehouseCode IN ( SELECT WarehouseCode from #tableICSWarehouse)"; Dictionary values = new Dictionary(); values.Add("WarehouseName", "a.StorageName"); values.Add("MTIME", "a.MTIME"); @@ -87,7 +89,7 @@ LEFT JOIN {1}.dbo.[Warehouse] b With(NoLock) ON a.WarehouseCode=b.cWhCode values.Add("WarehouseCode", "a.StorageCode"); values.Add("Enable", "1"); - values.Add("BatchEnable", "0"); + values.Add("BatchEnable", "a.BatchEnable"); values.Add("ID", "a.Serial"); values.Add("Asset", "a.Asset"); values.Add("Proxy", "a.Proxy");