即时库存查询SQL示例

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

即时库存查询SQL示例

关于:即时库存查询脚本示例


【即时库存SQL示例

SELECT TI.FSTOCKORGID,TI.FKEEPERTYPEID,TI.FKEEPERID,TI.FOWNERTYPEID,TI.FOWNERID,
TI.FMATERIALID,TI.FSTOCKID,TI.FSTOCKLOCID,TI.FAUXPROPID,TI.FSTOCKSTATUSID,
TI.FLOT,TI.FBOMID,TI.FMTONO,TI.FPROJECTNO,
(CASE WHEN TMS.FISEXPPARTOFLOT = '1' THEN TL.FPRODUCEDATE ELSE TI.FPRODUCEDATE END) 
AS FPRODUCEDATE,
(CASE WHEN TMS.FISEXPPARTOFLOT = '1' THEN TL.FEXPIRYDATE ELSE TI.FEXPIRYDATE END) 
AS FEXPIRYDATE,
--基本单位库存量、辅助单位库存量
TI.FBASEUNITID,TI.FBASEQTY,TI.FSECUNITID,TI.FSECQTY
--基本单位锁库量、辅助单位锁库量
,TSUB.FBASELOCKQTY AS FBASELOCKQTY,TSUB.FSECLOCKQTY AS FSECLOCKQTY 
FROM T_STK_INVENTORY TI
INNER JOIN T_BD_MATERIAL TM ON TI.FMATERIALID = TM.FMASTERID 
    AND TI.FSTOCKORGID = TM.FUSEORGID
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_LOTMASTER TL ON TI.FLOT = TL.FMASTERID 
    AND TI.FSTOCKORGID=TL.FUSEORGID AND TL.FBIZTYPE = '1'
--以下锁库和预留
LEFT JOIN (SELECT TLKE.FSUPPLYINTERID AS FINVENTRYID, 
        SUM(TLKE.FBASEQTY) AS FBASELOCKQTY,SUM(TLKE.FSECQTY) AS FSECLOCKQTY
    FROM T_PLN_RESERVELINKENTRY TLKE 
    INNER JOIN T_PLN_RESERVELINK TLKH ON TLKE.FID = TLKH.FID 
    WHERE TLKE.FSUPPLYFORMID = 'STK_Inventory' AND TLKE.FLINKTYPE = '4'
    GROUP BY TLKE.FSUPPLYINTERID) TSUB ON TI.FID = TSUB.FINVENTRYID
WHERE TI.FISEFFECTIVED = '1'
  1. 以上仅取库存维度各个内码字段,编码和名称需要关联各自表取数,避免关联过多表引发性能问题。

  2. 即时库存表中关于生产日期FPRODUCEDATE、和有效期至FEXPIRYDATE,需要根据是否启用附属信息判断取数。

  3. 即时库存表中 仅FBASEQTY、FSECQTY 准确可用,其他业务单位数量需要自行取出换算计算。

  4. 即时库存表中 的所有锁库数量也是需要根据预留表来取数计算,其中条件(AND TLKE.FLINKTYPE = '4')需要根据系统是否启用预留来决定是否需要添加该条件,启用预留则不需要该条件,不启用则限定只获取锁库数据。

  5. 即时库存表中 FISEFFECTIVED 标识该行库存是否有效,取数仅取有效数据即可。


【延伸阅读】

  1. 仓位&辅助属性相关表说明

  2. 即时库存查询脚本示例

  3. 即时库存查询WebApi接口

  4. 即时库存二开字段方案整理

即时库存查询SQL示例

关于:即时库存查询脚本示例【即时库存SQL示例】SELECT TI.FSTOCKORGID,TI.FKEEPERTYPEID,TI.FKEEPERID,TI.FOWNERTYPEID,TI.FOWNERID,TI.FM...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息