44 lines
1.2 KiB
Transact-SQL
44 lines
1.2 KiB
Transact-SQL
declare @FORG int,@leatTime int
|
|
set @FORG = 1
|
|
SET @leatTime = 30
|
|
SELECT t0.fid F_BGP_INVENTORYID
|
|
,t0.FSTOCKID
|
|
,t1.FMaterialId
|
|
,FLot
|
|
,FStockUnitId, FBaseUnitId, FQty,FBaseQty, FStockStatusId
|
|
,FStockLocId ,DATEDIFF(DAY,Maintdate ,GETDATE())-89 overday
|
|
,dateadd(DAY,90.7,Maintdate) as F_BGP_ShouldMainteDate
|
|
,ISNULL(t3.FPRODUCEDATE,t0.FPRODUCEDATE) FPRODUCEDATE
|
|
,ISNULL(t3.FEXPIRYDATE,t0.FEXPIRYDATE) FEXPIRYDATE
|
|
,GETDATE() F_BGP_MAINTEPLANDATE
|
|
,FOwnerTypeId
|
|
,FOwnerId
|
|
,FKeeperTypeId
|
|
,FKeeperId
|
|
,FStockStatusId
|
|
,FAuxPropId
|
|
,FSecQty
|
|
,FSecUnitId
|
|
,Maintdate
|
|
FROM T_STK_INVENTORY t0
|
|
,T_BD_MATERIAL t1
|
|
,T_BGP_MaintainType t2
|
|
,(SELECT ISNULL(F_BGP_MaintDate,FInStockDate) Maintdate
|
|
,FLOTID,FPRODUCEDATE,FEXPIRYDATE
|
|
FROM T_BD_LOTMASTER) t3
|
|
WHERE t0.FMaterialId = t1.FMasterId
|
|
AND F_BGP_MaintainClass=t2.FID
|
|
AND t2.F_BGP_DAY = 90
|
|
AND t3.FLOTID=t0.FLot
|
|
AND DATEDIFF(DAY,Maintdate ,GETDATE()) > 90 - @leatTime
|
|
AND t0.FSTOCKORGID = @FORG
|
|
AND FBaseQty > 0
|
|
AND t1.FDOCUMENTSTATUS='C'
|
|
AND FStockStatusId = 10000
|
|
AND t1.FuseORGID=@FORG
|
|
AND NOT EXISTS(
|
|
SELECT F_BGP_INVENTORYID
|
|
FROM T_BGP_MaintePlanB mb
|
|
WHERE F_BGP_BaseQty > F_BGP_BaseMaintQty AND F_BGP_INVENTORYID= t0.fid
|
|
)
|
|
ORDER BY F_BGP_DosageForm,FSTOCKID,FMaterialId |