74 lines
2.4 KiB
MySQL
74 lines
2.4 KiB
MySQL
|
|
CREATE PROC [dbo].[GetSalePriceNew]
|
|||
|
|
(
|
|||
|
|
@FDate date,
|
|||
|
|
@FMaterID int,
|
|||
|
|
@Fprice decimal(28,10) out,
|
|||
|
|
@FDateO nvarchar(50) out,
|
|||
|
|
@FAmount decimal(28,10) out,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
@FQTY decimal(28,10) out ,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|||
|
|
@FStockId nvarchar(1000)
|
|||
|
|
)
|
|||
|
|
as
|
|||
|
|
begin
|
|||
|
|
|
|||
|
|
--declare @FDate date,
|
|||
|
|
--@FMaterID int,
|
|||
|
|
--@Fprice decimal(28,10) ,
|
|||
|
|
--@FDateO nvarchar(50) ,
|
|||
|
|
--@FAmount decimal(28,10) ,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
--@FQTY decimal(28,10) ,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|||
|
|
--@FStockId nvarchar(1000)
|
|||
|
|
--SET @FDate = ''
|
|||
|
|
--SET @FMaterID = 0
|
|||
|
|
--SET @FStockId = 0
|
|||
|
|
--exec GetSalePriceNew @FDate , @FMaterID ,@Fprice out , @FDateO out ,@FAmount out,@FQTY out ,@FStockId
|
|||
|
|
--SELECT @FDate,@FMaterID,@Fprice,@FDateO,@FAmount,@FQTY,@FStockId
|
|||
|
|
|
|||
|
|
declare @Fyear int
|
|||
|
|
declare @Fmonth int
|
|||
|
|
|
|||
|
|
declare @FNumber nvarchar(100)
|
|||
|
|
|
|||
|
|
SELECT @FNumber= fnumber FROM T_BD_MATERIAL WHERE FMATERIALID=@FMaterID
|
|||
|
|
|
|||
|
|
SELECT TOP 1
|
|||
|
|
@Fyear = FYEAR
|
|||
|
|
,@Fmonth = FPERIOD
|
|||
|
|
,@FAMOUNT = sum(FAMOUNT)
|
|||
|
|
,@FQty = sum(FQTY)
|
|||
|
|
,@Fprice = CASE WHEN @FQty<>0 THEN ROUND( @FAMOUNT/@FQty,6) ELSE 0 END
|
|||
|
|
,@FDateO= CONVERT(nvarchar(10),FYEAR)+'.'+CONVERT(nvarchar(10),FPERIOD)
|
|||
|
|
FROM
|
|||
|
|
(
|
|||
|
|
SELECT a.FNUMBER,THO.FYEAR ,THO.FPERIOD,THIB.FAMOUNT,THIB.FQTY
|
|||
|
|
FROM T_HS_INIVSTOCKDIMENSION THS --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
INNER JOIN T_HS_INIVBALANCE THIB --<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>
|
|||
|
|
ON (THS.FENTRYID = THIB.FDIMEENTRYID AND THIB.FENDINITKEY = '0')
|
|||
|
|
INNER JOIN T_HS_OUTACCTG THO ON THIB.FID = THO.FID
|
|||
|
|
INNER JOIN T_HS_CALDIMENSIONS TCH ON TCH.FDIMENSIONID = THO.FDIMENSIONID
|
|||
|
|
INNER JOIN T_BD_MATERIAL a ON a.FMATERIALID=THS.FMATERIALID
|
|||
|
|
WHERE
|
|||
|
|
((TCH.FACCTSYSTEMID = 1 AND TCH.FACCTPOLICYID = 1)
|
|||
|
|
AND THS.FSTOCKORGID = 101542)
|
|||
|
|
AND a.FNUMBER=@FNumber
|
|||
|
|
AND @FStockId = THS.FSTOCKID
|
|||
|
|
|
|||
|
|
UNION ALL
|
|||
|
|
|
|||
|
|
SELECT a.FNUMBER, THO.FYEAR ,THO.FPERIOD, THIB.FAMOUNT ,THIB.FQTY
|
|||
|
|
FROM T_HS_INIVSTOCKDIMENSION THS --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
INNER JOIN T_HS_INIVBALANCE_H THIB --<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>
|
|||
|
|
ON (THS.FENTRYID = THIB.FDIMEENTRYID AND THIB.FENDINITKEY = '0')
|
|||
|
|
INNER JOIN T_HS_OUTACCTG THO ON THIB.FID = THO.FID
|
|||
|
|
INNER JOIN T_HS_CALDIMENSIONS TCH ON TCH.FDIMENSIONID = THO.FDIMENSIONID
|
|||
|
|
INNER JOIN T_BD_MATERIAL a ON a.FMATERIALID=THS.FMATERIALID
|
|||
|
|
WHERE
|
|||
|
|
((TCH.FACCTSYSTEMID = 1 AND TCH.FACCTPOLICYID = 1) AND THS.FSTOCKORGID = 101542)
|
|||
|
|
AND a.FNUMBER = @FNumber
|
|||
|
|
AND @FStockId = THS.fstockid
|
|||
|
|
) t
|
|||
|
|
GROUP BY FYEAR ,FPERIOD
|
|||
|
|
HAVING FYEAR*100 + FPERIOD <= year(@FDate) * 100 + MONTH(@FDate) AND sum(FQTY) >0
|
|||
|
|
ORDER BY FYEAR DESC , FPERIOD DESC
|
|||
|
|
RETURN
|
|||
|
|
END
|