103 lines
4.3 KiB
MySQL
103 lines
4.3 KiB
MySQL
|
|
SELECT DATEDIFF(Day,ISNULL(T3.F_BGP_MAINTDATE,T3.FINSTOCKDATE),GETDATE()) AS DIFFDay
|
||
|
|
,T2.F_BGP_DAY
|
||
|
|
,ISNULL(T7.F_BGP_DAY,- 1) AS FNearDAY
|
||
|
|
,T2.F_BGP_DAY - DATEDIFF(Day,ISNULL(T3.F_BGP_MAINTDATE,GETDATE()),GETDATE()) AS FEnableDay
|
||
|
|
,T2.FNUMBER
|
||
|
|
,T0.FSTOCKORGID
|
||
|
|
,T1.FMATERIALID
|
||
|
|
,T1.FNUMBER AS FMaterialNum
|
||
|
|
,T1.F_BGP_ISCOLDCHAIN
|
||
|
|
,T1.F_BGP_ISSPECIAL
|
||
|
|
,T1.F_BGP_BIGCLASS
|
||
|
|
,T6.FNAME AS F_BGP_BIGCLASS_Name
|
||
|
|
,CONVERT(varchar(10),T1.F_BGP_FIRSTDATE,21) AS F_BGP_FirstDate
|
||
|
|
,(CASE WHEN T1.F_BGP_FirstDate IS NULL THEN 0 WHEN DATEDIFF(Year,T1.F_BGP_FirstDate,GetDate()) > 1 THEN 0 ELSE 1 END) AS DIFFYear
|
||
|
|
,(CASE WHEN T1.F_BGP_FirstDate IS NULL THEN 0 ELSE DATEDIFF(Year,T1.F_BGP_FirstDate,GetDate()) END) AS DIFFYear
|
||
|
|
,T1.F_BGP_MAINTAINCLASS
|
||
|
|
,'0' AS F_BGP_MainteState
|
||
|
|
,T0.FSTOCKUNITID
|
||
|
|
,T0.FBASEUNITID
|
||
|
|
,T0.FQTY
|
||
|
|
,T0.FBaseQty
|
||
|
|
,CONVERT(varchar( 10),isnull(T0.FPRODUCEDATE,T3.FPRODUCEDATE),21) AS FPRODUCEDATE
|
||
|
|
,CONVERT(varchar(10),isnull(T0.FEXPIRYDATE,T3.FEXPIRYDATE),21) AS FExpiryDate
|
||
|
|
,T0.FLOT
|
||
|
|
,T0.FSTOCKID
|
||
|
|
,T0.FSTOCKLOCID
|
||
|
|
,T5.FEXPUNIT
|
||
|
|
,T5.FEXPPERIOD
|
||
|
|
,CASE WHEN T5.FEXPUNIT = 'M' THEN T5.FExpPeriod
|
||
|
|
WHEN T5.FEXPUNIT = 'Y' THEN T5.FExpPeriod * 12
|
||
|
|
WHEN T5.FEXPUNIT = 'D' THEN T5.FExpPeriod / 30 ELSE 0 END AS FExpMonth
|
||
|
|
,ISNULL(T3.F_BGP_MAINTDATE + CAST(T2.F_BGP_DAY AS int),GETDATE()) AS F_BGP_SHOULDMAINTEDATE
|
||
|
|
,T3.FINSTOCKDATE
|
||
|
|
,DATEDIFF(Month,T3.FINSTOCKDATE,GETDATE()) AS FInStockMonth
|
||
|
|
,T0.FOWNERTYPEID
|
||
|
|
,T0.FOWNERID
|
||
|
|
,T0.FKEEPERTYPEID
|
||
|
|
,T0.FKEEPERID
|
||
|
|
,T0.FSTOCKSTATUSID
|
||
|
|
,FAuxPropId
|
||
|
|
,FSecQty
|
||
|
|
,FSecUnitId
|
||
|
|
,t10.FInStockDate FIRFInStockDate
|
||
|
|
,F_BGP_FirstStatus
|
||
|
|
,(Case WHEN T10.FInStockDate is null THEN 0 WHEN DateDiff(Year,T10.FInStockDate,GetDate()) > 1 THEN 0 else 1 end) FDIFFYear
|
||
|
|
,F_BGP_INVENTORYID
|
||
|
|
FROM (
|
||
|
|
SELECT fid F_BGP_INVENTORYID
|
||
|
|
,FSTOCKORGID
|
||
|
|
,FMATERIALID
|
||
|
|
,FBASEUNITID
|
||
|
|
,FSTOCKUNITID
|
||
|
|
,FLOT
|
||
|
|
,FSTOCKID
|
||
|
|
,FSTOCKLOCID
|
||
|
|
,FPRODUCEDATE
|
||
|
|
,FEXPIRYDATE
|
||
|
|
,FOWNERTYPEID
|
||
|
|
,FOWNERID
|
||
|
|
,FKEEPERTYPEID
|
||
|
|
,FKEEPERID
|
||
|
|
,FSTOCKSTATUSID
|
||
|
|
,SUM(FQTY) AS FQTY
|
||
|
|
,SUM(FBASEQTY) AS FBaseQty
|
||
|
|
,FAuxPropId
|
||
|
|
,SUM(FSecQty)as FSecQty
|
||
|
|
,FSecUnitId
|
||
|
|
FROM dbo.T_STK_INVENTORY
|
||
|
|
WHERE not exists(
|
||
|
|
SELECT distinct F_BGP_INVENTORYID
|
||
|
|
FROM T_BGP_MaintePlanB mb where F_BGP_BaseQty > F_BGP_BaseMaintQty AND F_BGP_INVENTORYID = T_STK_INVENTORY.fid )
|
||
|
|
GROUP BY FSTOCKORGID
|
||
|
|
,FMATERIALID
|
||
|
|
,FBASEUNITID
|
||
|
|
,FSTOCKUNITID
|
||
|
|
,FLOT
|
||
|
|
,FSTOCKID
|
||
|
|
,FSTOCKLOCID
|
||
|
|
,FPRODUCEDATE
|
||
|
|
,FEXPIRYDATE
|
||
|
|
,FOWNERTYPEID
|
||
|
|
,FOWNERID
|
||
|
|
,FKEEPERTYPEID
|
||
|
|
,FKEEPERID
|
||
|
|
,FSTOCKSTATUSID
|
||
|
|
,FAuxPropId
|
||
|
|
,FSecUnitId
|
||
|
|
,fid
|
||
|
|
) AS T0
|
||
|
|
INNER JOIN dbo.T_BD_MATERIAL AS T1 ON T0.FMATERIALID = T1.FMASTERID AND T0.FSTOCKORGID = T1.FUSEORGID
|
||
|
|
LEFT JOIN
|
||
|
|
(
|
||
|
|
SELECT FMATERIALID
|
||
|
|
,MIN(FInStockDate)FInStockDate
|
||
|
|
FROM T_BD_LotMaster
|
||
|
|
GROUP BY FMATERIALID
|
||
|
|
)T10 ON T1.FMATERIALID = T10.FMaterialID
|
||
|
|
INNER JOIN dbo.T_BGP_MaintainType AS T2 ON T1.F_BGP_MAINTAINCLASS = T2.FID
|
||
|
|
INNER JOIN dbo.T_BD_LOTMASTER AS T3 ON T0.FLOT = T3.FLOTID
|
||
|
|
INNER JOIN dbo.T_BD_MATERIALSTOCK AS T5 ON T0.FMATERIALID = T5.FMATERIALID
|
||
|
|
LEFT OUTER JOIN dbo.T_BGP_BigClass_L AS T6 ON T1.F_BGP_BIGCLASS = T6.FID
|
||
|
|
LEFT OUTER JOIN dbo.T_BGP_EffectType AS T7 ON T1.F_BGP_EFFECTTYPE = T7.FID
|
||
|
|
WHERE (T0.FBaseQty > 0)
|