diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs index b269aed..7b4bfe7 100644 --- a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs +++ b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs @@ -6616,13 +6616,14 @@ exec(@b) DECLARE @cc VARCHAR(MAX) DECLARE @dd VARCHAR(MAX) DECLARE @ee VARCHAR(MAX) + DECLARE @ff VARCHAR(MAX) DECLARE @b VARCHAR(MAX) select @dd=id from ICSInventory where InvStd LIKE '%{2}%' IF @dd IS not NULL BEGIN set @wheresql='and inv.InvStd LIKE ''%{2}%'' ' - set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6630,7 +6631,7 @@ exec(@b) IF @ee IS not NULL BEGIN set @wheresql='and a.InvCode=(SELECT InvCode FROM ICSInventoryLot WHERE LotNo=''{2}'')' - set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6638,7 +6639,7 @@ exec(@b) IF @aa IS NOT NULL BEGIN set @wheresql='and a.lotno=''{2}'' and s.invcode IN(SELECT invcode FROM ICSWareHouseLotInfo where LotNo=''{2}'') and a.invcode=s.invcode ' - set @groupsql=' group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql=' group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6646,7 +6647,7 @@ exec(@b) IF @bb IS not NULL BEGIN set @wheresql='and a.locationcode=s.locationcode and a.LocationCode=''{2}'' ' - set @groupsql = 'group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql = 'group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6654,7 +6655,15 @@ exec(@b) IF @cc IS not NULL BEGIN set @wheresql='and inv.invcode=''{2}'' ' - set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, + ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' + END + + select @ff=id from ICSInventory where EATTRIBUTE5='{2}' + IF @ff IS not NULL + BEGIN + set @wheresql='and inv.EATTRIBUTE5=''{2}'' ' + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6662,7 +6671,7 @@ exec(@b) - IF @aa IS NULL and @bb IS NULL and @cc IS NULL and @dd IS NULL and @ee IS NULL + IF @aa IS NULL and @bb IS NULL and @cc IS NULL and @dd IS NULL and @ee IS NULL and @ff IS NULL BEGIN RAISERROR('" + language.GetNameByCode("WMSAPIInfo478") + @"',16,1) END @@ -6684,7 +6693,7 @@ exec(@b) IF EXISTS(SELECT a.LotNo FROM ICSInventoryLot a LEFT JOIN ICSWareHouseLotInfo b ON a.LotNo = b.LotNo WHERE a.LotNo = ''{2}'' AND b.LotNo IS NULL) BEGIN - SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode, + SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.EATTRIBUTE5, inv.InvName, inv.InvStd, inv.InvUnit, @@ -6723,7 +6732,7 @@ IF EXISTS(SELECT a.LotNo FROM ICSInventoryLot a LEFT JOIN ICSWareHouseLotInfo b END ELSE BEGIN - SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode, + SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.EATTRIBUTE5, inv.InvName, inv.InvStd, inv.InvUnit, @@ -6776,13 +6785,14 @@ DROP TABLE #BarCodeTemp DECLARE @cc VARCHAR(MAX) DECLARE @dd VARCHAR(MAX) DECLARE @ee VARCHAR(MAX) + DECLARE @ff VARCHAR(MAX) DECLARE @b VARCHAR(MAX) select @dd=id from ICSInventory where InvStd LIKE '%{2}%' IF @dd IS not NULL BEGIN set @wheresql='and inv.InvStd LIKE ''%{2}%'' ' - set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6790,7 +6800,7 @@ DROP TABLE #BarCodeTemp IF @ee IS not NULL BEGIN set @wheresql='and a.InvCode=(SELECT InvCode FROM ICSInventoryLot WHERE LotNo=''{2}'')' - set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6798,7 +6808,7 @@ DROP TABLE #BarCodeTemp IF @aa IS NOT NULL BEGIN set @wheresql='and a.lotno=''{2}'' and s.invcode IN(SELECT invcode FROM ICSWareHouseLotInfo where LotNo=''{2}'') and a.invcode=s.invcode ' - set @groupsql=' group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql=' group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6806,7 +6816,7 @@ DROP TABLE #BarCodeTemp IF @bb IS not NULL BEGIN set @wheresql='and a.locationcode=s.locationcode and a.LocationCode=''{2}'' ' - set @groupsql = 'group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql = 'group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6814,7 +6824,15 @@ DROP TABLE #BarCodeTemp IF @cc IS not NULL BEGIN set @wheresql='and inv.invcode=''{2}'' ' - set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, + ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' + END + + select @ff=id from ICSInventory where EATTRIBUTE5='{2}' + IF @ff IS not NULL + BEGIN + set @wheresql='and inv.EATTRIBUTE5=''{2}'' ' + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6822,7 +6840,7 @@ DROP TABLE #BarCodeTemp - IF @aa IS NULL and @bb IS NULL and @cc IS NULL and @dd IS NULL and @ee IS NULL + IF @aa IS NULL and @bb IS NULL and @cc IS NULL and @dd IS NULL and @ee IS NULL and @ff IS NULL BEGIN RAISERROR('" + language.GetNameByCode("WMSAPIInfo478") + @"',16,1) END @@ -6832,7 +6850,7 @@ DROP TABLE #BarCodeTemp set @b = 'IF EXISTS(SELECT a.LotNo FROM ICSInventoryLot a LEFT JOIN ICSWareHouseLotInfo b ON a.LotNo = b.LotNo WHERE a.LotNo = ''{2}'' AND b.LotNo IS NULL) BEGIN - SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode, + SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.EATTRIBUTE5, inv.InvName, inv.InvStd, inv.InvUnit, @@ -6869,7 +6887,7 @@ DROP TABLE #BarCodeTemp END ELSE BEGIN - SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode, + SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.EATTRIBUTE5, inv.InvName, inv.InvStd, inv.InvUnit, @@ -6904,11 +6922,10 @@ BEGIN INNER JOIN ICSInventory inv ON a.InvCode=inv.InvCode AND a.WorkPoint=inv.WorkPoint WHERE a.Quantity>0 and a.WorkPoint=''{3}'' ' + @wheresql + @groupsql +' order by a.InvCode,ext.BatchCode END - ' END - PRINT @b - exec(@b) + PRINT @b + exec(@b) "; } @@ -6923,7 +6940,8 @@ END DECLARE @bb VARCHAR(MAX) DECLARE @cc VARCHAR(MAX) DECLARE @dd VARCHAR(MAX) - DECLARE @ee VARCHAR(MAX) + DECLARE @ee VARCHAR(MAX) + DECLARE @ff VARCHAR(MAX) DECLARE @b VARCHAR(MAX) --select @ee=lotinfo.id from ICSWareHouseLotInfo lotinfo @@ -6936,7 +6954,7 @@ END IF @ee IS not NULL BEGIN set @wheresql='and a.InvCode=(SELECT InvCode FROM ICSInventoryLot WHERE LotNo=''{2}'')' - set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6945,7 +6963,7 @@ END IF @dd IS not NULL BEGIN set @wheresql='and inv.InvStd LIKE ''%{2}%'' and ext.BatchCode= ''{4}'' ' - set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6954,7 +6972,7 @@ END IF @aa IS NOT NULL BEGIN set @wheresql='and a.lotno=''{2}'' and ext.BatchCode= ''{4}'' and s.invcode IN(SELECT invcode FROM ICSWareHouseLotInfo where LotNo=''{2}'') and a.invcode=s.invcode ' - set @groupsql=' group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql=' group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6964,7 +6982,7 @@ END IF @bb IS not NULL BEGIN set @wheresql='and a.locationcode=s.locationcode and a.LocationCode=''{2}'' and ext.BatchCode= ''{4}'' ' - set @groupsql = 'group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql = 'group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -6973,7 +6991,16 @@ END IF @cc IS not NULL BEGIN set @wheresql='and inv.invcode=''{2}'' and ext.BatchCode= ''{4}'' ' - set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, + ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' + END + + select @ff=a.id from ICSInventory a INNER JOIN ICSInventoryLot b ON a.invcode=b.invcode and a.workpoint=b.workpoint + INNER JOIN ICSExtension c ON b.ExtensionID=c.id and b.workpoint=c.workpoint where a.EATTRIBUTE5='{2}' AND c.BatchCode='{4}' + IF @ff IS not NULL + BEGIN + set @wheresql='and inv.EATTRIBUTE5=''{2}'' and ext.BatchCode= ''{4}'' ' + set @groupsql='group by b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -7003,7 +7030,7 @@ END IF EXISTS(SELECT a.LotNo FROM ICSInventoryLot a LEFT JOIN ICSWareHouseLotInfo b ON a.LotNo = b.LotNo WHERE a.LotNo = ''{2}'' AND b.LotNo IS NULL) BEGIN - SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode, + SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.EATTRIBUTE5, inv.InvName, inv.InvStd, inv.InvUnit, @@ -7042,7 +7069,7 @@ IF EXISTS(SELECT a.LotNo FROM ICSInventoryLot a LEFT JOIN ICSWareHouseLotInfo b END ELSE BEGIN - SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode, + SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.EATTRIBUTE5, inv.InvName, inv.InvStd, inv.InvUnit, @@ -7095,7 +7122,8 @@ DROP TABLE #BarCodeTemp DECLARE @bb VARCHAR(MAX) DECLARE @cc VARCHAR(MAX) DECLARE @dd VARCHAR(MAX) - DECLARE @ee VARCHAR(MAX) + DECLARE @ee VARCHAR(MAX) + DECLARE @ff VARCHAR(MAX) DECLARE @b VARCHAR(MAX) --select @ee=lotinfo.id from ICSWareHouseLotInfo lotinfo @@ -7108,7 +7136,7 @@ DROP TABLE #BarCodeTemp IF @ee IS not NULL BEGIN set @wheresql='and a.InvCode=(SELECT InvCode FROM ICSInventoryLot WHERE LotNo=''{2}'')' - set @groupsql='group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -7117,7 +7145,7 @@ DROP TABLE #BarCodeTemp IF @dd IS not NULL BEGIN set @wheresql='and inv.InvStd LIKE ''%{2}%'' and ext.BatchCode= ''{4}'' ' - set @groupsql='group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -7126,7 +7154,7 @@ DROP TABLE #BarCodeTemp IF @aa IS NOT NULL BEGIN set @wheresql='and a.lotno=''{2}'' and ext.BatchCode= ''{4}'' and s.invcode IN(SELECT invcode FROM ICSWareHouseLotInfo where LotNo=''{2}'') and a.invcode=s.invcode ' - set @groupsql=' group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql=' group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -7136,7 +7164,7 @@ DROP TABLE #BarCodeTemp IF @bb IS not NULL BEGIN set @wheresql='and a.locationcode=s.locationcode and a.LocationCode=''{2}'' and ext.BatchCode= ''{4}'' ' - set @groupsql = 'group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql = 'group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.warehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -7145,7 +7173,16 @@ DROP TABLE #BarCodeTemp IF @cc IS not NULL BEGIN set @wheresql='and inv.invcode=''{2}'' and a.invcode=s.invcode and ext.BatchCode= ''{4}'' ' - set @groupsql='group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit, + set @groupsql='group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, + ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' + END + + select @ff=a.id from ICSInventory a INNER JOIN ICSInventoryLot b ON a.invcode=b.invcode and a.workpoint=b.workpoint + INNER JOIN ICSExtension c ON b.ExtensionID=c.id and b.workpoint=c.workpoint where a.EATTRIBUTE5='{2}' AND c.BatchCode='{4}' + IF @ff IS not NULL + BEGIN + set @wheresql='and inv.EATTRIBUTE5=''{2}'' and a.invcode=s.invcode and ext.BatchCode= ''{4}'' ' + set @groupsql='group by lot.EATTRIBUTE2,b.LocationName,lot.ProductDate,ext.BatchCode,inv.LotEnable,a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.InvName,inv.InvStd,inv.InvUnit,inv.LotEnable,a.WarehouseCode,a.LocationCode, inv.INVCODE,inv.INVNAME,inv.INVSTD,a.Quantity,inv.AmountUnit,inv.EATTRIBUTE5, ext.ID,ext.ProjectCode,ext.Version,ext.Brand,ext.cFree1,ext.cFree2,ext.cFree3,ext.cFree4,ext.cFree5,ext.cFree6,ext.cFree7,ext.cFree8,ext.cFree9,ext.cFree10,a.MUSER ,a.MUSERName,a.MTIME' END @@ -7163,7 +7200,7 @@ DROP TABLE #BarCodeTemp set @b = 'IF EXISTS(SELECT a.LotNo FROM ICSInventoryLot a LEFT JOIN ICSWareHouseLotInfo b ON a.LotNo = b.LotNo WHERE a.LotNo = ''{2}'' AND b.LotNo IS NULL) BEGIN - SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode, + SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.EATTRIBUTE5, inv.InvName, inv.InvStd, inv.InvUnit, @@ -7200,7 +7237,7 @@ DROP TABLE #BarCodeTemp END ELSE BEGIN - SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode, + SELECT a.ID,con.ContainerCode,con.ContainerName,a.LotNo,a.InvCode,inv.EATTRIBUTE5, inv.InvName, inv.InvStd, inv.InvUnit,