电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

自定义WebApi接口查询即时库存序列号

来源:金蝶云社区作者:金蝶2024-09-1610

自定义WebApi接口查询即时库存序列号

一、【需求场景】

接口获取了即时库存后,怎么查每一个物料的具体序列号


二、【问题分析】

系统当前查询对应即时库存的序列号的功能入口,是在即时库存明细选中对应记录联查"序列号报表",WebApi并无相关的接口可以直接调用。

换个思路实现,自定义一个WebApi接口,根据传入的即时库存ID,将联查报表的数据获取到即可满足需求。


三、【方案实现】

1、跟踪联查,追踪到报表核心的SQL查询脚本

image.webp


image.webp


2、自定义WebApi接口,传入即时库存ID,查询数据库组织数据返回

using Kingdee.BOS.ServiceFacade.KDServiceFx;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.WebApi.ServicesStub;
using Newtonsoft.Json.Linq;
using System.Data;

namespace CUS.WebApi.ServicesStub
{
    public class InventorySerialQueryService: AbstractWebApiBusinessService
    {
        public InventorySerialQueryService(KDServiceContext context):base(context)
        {
           
        }

        public JObject ExecuteService(string param)
        {
            return null;
        }

        public DataSet ExecuteDataSet(string param)
        {
            return DBServiceHelper.ExecuteDataSet(this.KDContext.Session.AppContext, BuildInventorySerialQuerySql(param));
        }

        public object ExecuteDynamicObject(string param)
        {
            return DBServiceHelper.ExecuteDynamicObject(this.KDContext.Session.AppContext, BuildInventorySerialQuerySql(param));
        }

        private string BuildInventorySerialQuerySql(string InvId)
        {
            string sql = string.Format(@"
SELECT 'BD_SerialMainFile'                       fformid,
       SM.FSERIALID                              fserialId,                
       INV.FID                                   fid,
       SM.FNUMBER                                fserialno,
       ORGL.FNAME                                fstockorgname,
       MA.FMaterialId                            fmaterialId,
       MA.FNUMBER                                fmaterialnumber,
       MAL.FNAME                                 fmaterialname,
       MAL.FSpecification                        fmaterialmodel,
       INV.FAuxPropID                            fauxpropcomid,
       ' '                                       fauxprop,
       BDSTL.FNAME                               fstockname,
       SMORG.FSTOCKSTATUS                        fstockstatus,
       Row_number()
         OVER(
           ORDER BY INV.FID ASC, SM.FNUMBER ASC) fidentityid
FROM   T_STK_INVENTORY INV
       INNER JOIN T_BD_SERIALBILLTRACE TRA
               ON INV.FID = TRA.FINVID
       INNER JOIN (SELECT Max(T3.FBILLTRACEID) fbilltraceid
                   FROM   T_BD_SERIALBILLTRACE T3
               INNER JOIN (SELECT DISTINCT FSERIALID
                                      FROM   T_BD_

自定义WebApi接口查询即时库存序列号

一、【需求场景】接口获取了即时库存后,怎么查每一个物料的具体序列号二、【问题分析】系统当前查询对应即时库存的序列号的功能入口,是在...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信