查询即时库存可用量SQL语句原创
金蝶云社区-果果01
果果01
3人赞赏了该文章 109次浏览 未经作者许可,禁止转载编辑于2024年10月31日 17:25:24

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.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


图标赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!