查询库存可用量(随记)原创
金蝶云社区-云社区用户k8649110
云社区用户k8649110
0人赞赏了该文章 21次浏览 未经作者许可,禁止转载编辑于2024年02月27日 09:59:32

SELECT  (CASE WHEN d.FSTOREURNUM=0 THEN (a.FBASEQTY - ISNULL(b.FBASELOCKQTY, 0)) ELSE (a.FBASEQTY - ISNULL(b.FBASELOCKQTY, 0))*d.FSTOREURNOM/d.FSTOREURNUM END) FAVBQTY2,


 ( a.FBASEQTY - ISNULL(b.FBASELOCKQTY, 0) ) FBASEAVBQTY2 ,




a.FID ,


           a.FSTOCKORGID ,


           a.FKEEPERTYPEID ,


           a.FKEEPERID ,


           a.FOWNERTYPEID ,


           a.FOWNERID ,


           a.FSTOCKID ,


           a.FSTOCKLOCID ,


           a.FAUXPROPID ,


           a.FSTOCKSTATUSID ,


           a.FLOT ,


           a.FBOMID ,


           a.FMTONO ,


           a.FPROJECTNO ,


           (CASE WHEN d.FISEXPPARTOFLOT='1' THEN e.FPRODUCEDATE ELSE a.FPRODUCEDATE END) FPRODUCEDATE ,


           (CASE WHEN d.FISEXPPARTOFLOT='1' THEN e.FEXPIRYDATE ELSE a.FEXPIRYDATE END) FEXPIRYDATE ,


           a.FBASEUNITID ,


           a.FBASEQTY ,


           a.FSECQTY ,


           a.FSTOCKUNITID ,


           a.FMATERIALID ,


           (CASE WHEN d.FSTOREURNUM=0 THEN a.FBASEQTY ELSE a.FBASEQTY*d.FSTOREURNOM/d.FSTOREURNUM END) FQTY ,


           (CASE WHEN d.FSTOREURNUM=0 THEN ISNULL(b.FBASELOCKQTY, 0) ELSE ISNULL(b.FBASELOCKQTY, 0)*d.FSTOREURNOM/d.FSTOREURNUM END) FLOCKQTY ,


           a.FSECUNITID ,


           'STK_INVENTORYCUS' AS FOBJECTTYPEID ,


           (CASE WHEN d.FSTOREURNUM=0 THEN (a.FBASEQTY - ISNULL(b.FBASELOCKQTY, 0)) ELSE (a.FBASEQTY - ISNULL(b.FBASELOCKQTY, 0))*d.FSTOREURNOM/d.FSTOREURNUM END) AVBQTY ,


           a.FUPDATETIME ,


           a.FISEFFECTIVED,


        ISNULL(b.FBASELOCKQTY, 0) FBASELOCKQTY ,


        ISNULL(b.FSECLOCKQTY, 0) FSECLOCKQTY ,


        ( a.FBASEQTY - ISNULL(b.FBASELOCKQTY, 0) ) FBASEAVBQTY ,


        ( a.FSECQTY - ISNULL(b.FSECLOCKQTY, 0) ) FSECAVBQTY


FROM    T_STK_INVENTORY a


        INNER JOIN T_BD_MATERIAL c ON c.FMASTERID=a.FMATERIALID and c.FUSEORGID=a.FSTOCKORGID


INNER JOIN T_BD_MATERIALSTOCK d ON d.FMATERIALID=c.FMATERIALID


LEFT JOIN T_BD_LOTMASTER e on e.FLOTID=a.FLOT


        LEFT JOIN ( SELECT  TKE.FSUPPLYINTERID ,


                            SUM(ISNULL(TKE.FBASEQTY, 0)) AS FBASELOCKQTY ,


                            SUM(ISNULL(TKE.FSECQTY, 0)) AS FSECLOCKQTY


                    FROM    T_PLN_RESERVELINKENTRY TKE


                    WHERE   TKE.FSUPPLYFORMID = 'STK_Inventory'


                            AND TKE.FBASEQTY > 0


                            AND ((


                            TKE.FLINKTYPE = '4' AND 1= (


                            SELECT COUNT(1) FROM T_BAS_SYSPARAMETER WHERE fparameterobjid='MFG_PLNParam' AND fparameters.exist('/BillHead[IsEnableReserve="True"]')=0)


                            ) OR (1=1 AND 0=(SELECT COUNT(1) FROM T_BAS_SYSPARAMETER WHERE fparameterobjid='MFG_PLNParam' AND fparameters.exist('/BillHead[IsEnableReserve="True"]')=0))


                            )


                    GROUP BY TKE.FSUPPLYINTERID


                  ) b ON b.FSUPPLYINTERID = a.FID



赞 0