Files
GateDge2023_ljy/04.天大药业(珠海)有限公司/02.天大中医药/GZ.BGP.K3.GSP.Business.PlugIn/sql/提取一般药品养护V1.0.sql
PastSaid fa480006a8 1
2024-07-16 10:33:50 +08:00

28 lines
1.3 KiB
Transact-SQL

declare @FORG int,@leatTime int
set @FORG = 1
SET @leatTime = 30
SELECT t0.fid F_BGP_INVENTORYID
,t0.FSTOCKID,t1.FMaterialId,t0.FLot
,t0.FStockUnitId,t0.FBaseUnitId,t0.FQty,t0.FBaseQty
,t0.FStockStatusId,t0.FStockLocId
,DATEDIFF(DAY,t3.Maintdate,GETDATE()) - t2.F_BGP_DAY + 1 overday
,DATEADD(DAY,(t2.F_BGP_DAY + 0.7),t3.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,t3.Maintdate
FROM T_STK_INVENTORY t0
INNER JOIN T_BD_MATERIAL t1 on t0.FMATERIALID = t1.FMASTERID AND t0.FSTOCKORGID = t1.FUSEORGID
INNER JOIN T_BGP_MaintainType t2 on t1.F_BGP_MAINTAINCLASS = t2.FID AND t2.FNUMBER = '01'
CROSS APPLY (
SELECT ISNULL(t3.F_BGP_MaintDate,t3.FInStockDate) Maintdate,t3.FLOTID,t3.FPRODUCEDATE,t3.FEXPIRYDATE
FROM T_BD_LOTMASTER t3
WHERE t3.FLOTID=t0.FLot
) t3
WHERE 1 = 1
AND DATEDIFF(DAY,t3.Maintdate ,GETDATE()) > t2.F_BGP_DAY - 30 AND t0.FSTOCKORGID = @FORG
AND FBaseQty > 0 AND t1.FDOCUMENTSTATUS='C' AND FStockStatusId = 10000
AND NOT EXISTS (
SELECT 1 FROM T_BGP_MaintePlanB t4
WHERE t4.F_BGP_BaseQty > t4.F_BGP_BaseMaintQty AND t4.F_BGP_INVENTORYID= t0.fid
)
ORDER BY F_BGP_DosageForm,FSTOCKID,FMaterialId