金蝶云星空每日库存信息存储到《历史库存信息》

金蝶云星空每日库存信息存储到《历史库存信息》

方案设计

每日凌晨获取当前即时库存明细的库存作为昨日的库存结余记录下来。

详细设计

创建存储过程

CREATE PROC XXXX_P_STK_HisInventoryInfo
AS
BEGIN
  INSERT INTO XXXX_T_STK_HisInventory
  (FID,F_XXXX_Date,FBILLNO,FDOCUMENTSTATUS,F_XXXX_StockOrgId,F_XXXX_StockId
  ,F_XXXX_MATERIALID,F_XXXX_StockQty,F_XXXX_SysLockQty
  ,F_XXXX_CreatorId,F_XXXX_CreateDate,F_XXXX_ModifierId
  ,F_XXXX_ModifyDate,F_XXXX_ApproverId,F_XXXX_ApproveDate) 
   SELECT  ROW_NUMBER() OVER ( ORDER BY T.FMATERIALID,T.FSTOCKID )
  +(SELECT ISNULL(MAX(FID),0) FROM XXXX_T_STK_HisInventory) AS FID,
		  DATEADD(DD,-1,GETDATE()) FDate,
		  CONVERT(
        VARCHAR(40),
        'LSKC'+CONVERT(VARCHAR(8),DATEADD(DD,-1,GETDATE()),112) 
		--+ CONVERT(VARCHAR(2), MONTH(GETDATE() -1)) + CONVERT(VARCHAR(2), DAY(GETDATE() -1))
		+CONVERT(VARCHAR(10),T.FSTOCKID) + CONVERT(VARCHAR(10), T.FMATERIALID)) FBillNo
            ,'C' 
			,T.FSTOCKORGID
			,T.FSTOCKID
			,T.FMATERIALID
            ,T.FQty
            ,T.FSysLockQty
			,16394 AS F_XXXX_CreatorId
			,GETDATE() F_XXXX_CreateDate
			,16394 AS F_XXXX_ModifierId
			,GETDATE() F_XXXX_ModifyDate
			,16394 AS F_XXXX_ApproverId
			,GETDATE() F_XXXX_ApproveDate
			FROM (
					SELECT IT.FSTOCKORGID,IT.FSTOCKID,IT.FMATERIALID,
					ISNULL(SUM(IT.FBaseQty), 0) AS FQty,
					ISNULL(SUM(tlk.fbaselockqty), 0) AS FSysLockQty
				FROM
					t_stk_Inventory IT --《即时库存》
					JOIN t_BD_Stock f ON f.FSTOCKID = IT.FSTOCKID
					LEFT OUTER JOIN ( 	--《库存锁库》
						SELECT
							TKE.FSUPPLYINTERID,
							SUM(ISNULL(TKE.FBASEQTY, 0)) fbaselockqty
						FROM
							T_PLN_RESERVELINKENTRY TKE
							INNER JOIN T_PLN_RESERVELINK TKH ON TKE.FID = TKH.FID
						WHERE
							TKE.FSUPPLYFORMID = 'STK_Inventory'
						GROUP BY
							TKE.FSUPPLYINTERID
					) tlk ON IT.FID = TLK.FSUPPLYINTERID
					WHERE  IT.FSTOCKORGID=100006--AND IT.FSTOCKID=493513 --只存储成品仓的
						GROUP BY
						IT.FSTOCKORGID,IT.FSTOCKID,IT.FMATERIALID 
						) t WHERE t.FQty>0 OR t.FSysLockQty>0
END	
GO

创建执行计划插件

新建类HisInventoryStock,继承IScheduleService
在这里插入图片描述
添加引用

using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core;

在这里插入图片描述
实现run方法

 public void Run(Context ctx, Schedule schedule)
        {
            try
            {
                var updatCount=DBUtils.ExecuteDataSet(ctx, System.Data.CommandType.StoredProcedure, string.Format(@"{0}XXXX_P_STK_HisInventoryInfo",OtherConst.DIALECT), null);
            }
            catch (Exception ee )
            {
                Kingdee.BOS.Log.Logger.Error("库存管理", "每天凌晨记录前一天的历史库存信息异常:" + ee.Message, null);
            }
        }

创建执行计划

服务插件:Krystal.K3cloud.SCM.Stock.Business.PlugIn.LockOperate,Krystal.K3cloud.SCM.Stock.Business.PlugIn
在这里插入图片描述

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值