当前位置: 首页 > news >正文

EAS_提供多个单据详情查询接口数据给第三方进行单据查看

        EAS版本为8.2.本次由于停用流程助手,需要将在流程助手审批单据,提供给第三方进行审批,因此需要提供审批页面,单据的查看数据进行展示,本次需要提供的查询单据数量较多,为避免频繁编写查询语句,我们可以基于I9摘要去查询,实现最小繁琐复杂的单个单据查询

1、审批任务记录上是有实体全路径的fbillentity,即使只知道单据的iD,我们也能根据ID得到这个单据的类型和实体路径

image

 2、I9摘要记录了单据显示在移动端的字段,我们可以通过实体路径,按如下sql查询即可获取该类单据的在流程助手显示的字段及属性和顺序,其中fmetadatapk 未单据的实体全路径,需要查什么单据类型直接传入

对应的实体全路径即可

SELECT fpropertygroup AS PROPERTY_GROUP,findex,fpropertyname AS PROPERTY_NAME,falias_l2 AS FILED_NAME,fshowformate AS showFormate  from T_WM_BillDigest  WHERE fmetadatapk ='com.kingdee.eas.cp.bc.app.BizAccountBill' AND fpropertyname IS NOT NULL ORDER BY fpropertygroup,findex 

 

image

 3,然后将查询的分组名称PROPERTY_GROUP和属性名称property_name拼接到查询对象中,查询即可,这样就不用重新去编写每个单据查询语句,也不会造成所要获取的某个F7字段的名称属性为空

关键代码如下:

public static List<BillDigestVo>  queryBillDetails(Context ctx, String billEntity) throws Exception {String prepSql_query = "SELECT fpropertygroup AS PROPERTY_GROUP,fpropertyname AS PROPERTY_NAME,falias_l2 AS FILED_NAME,fshowformate AS showFormate  " +"from T_WM_BillDigest  WHERE fmetadatapk ='"+billEntity+"' AND fpropertyname IS NOT NULL ORDER BY fpropertygroup,findex ";IRowSet rowSet = DbUtil.executeQuery(ctx, prepSql_query);List<BillDigestVo> result = new ArrayList<BillDigestVo>();//获取所有的lableList<String> columnLabels = new ArrayList<String>();if (rowSet != null && rowSet.getMetaData() != null) {for (int i = 1; i <= rowSet.getMetaData().getColumnCount(); i++) {columnLabels.add(rowSet.getMetaData().getColumnLabel(i));}}// 根据lable获取所有查询结果JSONArray columnBodys = new JSONArray();while (rowSet.next()) {JSONObject row = new JSONObject();for (String colLabel : columnLabels) {// 大写转换成驼峰写法
                row.put(Utils.toCamelCase(colLabel), rowSet.getObject(colLabel));}columnBodys.add(row);}result = JSON.parseArray(JSON.toJSONString(columnBodys), BillDigestVo.class);return result;}//这个里billEntity就是实体全路径List<BillDigestVo> billDigestVoList = AssignUtil.queryBillDetails(ctx, billEntity);SelectorItemCollection sic = new SelectorItemCollection();for (BillDigestVo billDigestVo : billDigestVoList){String propertyGroup = billDigestVo.getPropertyGroup();String propertyName = billDigestVo.getPropertyName();String queryFiled = propertyName;if (Utils.isNotEmpty(propertyGroup)){queryFiled = propertyGroup + "." + propertyName;}sic.add(new SelectorItemInfo(queryFiled));}sic.add(new SelectorItemInfo("creator.name"));sic.add(new SelectorItemInfo("creator.person.number"));sic.add(new SelectorItemInfo("createtime"));//让后使用下面语句查询即可获取需要的字段PaymentBillInfo info = PaymentBillFactory.getLocalInstance(ctx).getPaymentBillInfo(new ObjectUuidPK(billId), sic);

 

http://www.zskr.cn/news/40131.html

相关文章:

  • 备考笔记7
  • 详细介绍:常见反爬虫策略与破解方案汇总
  • 2025 年 11 月财税合规审计报告服务商权威推荐榜:专业审计、税务合规、财务风控,企业财税合规审计报告公司精选
  • P5369 最大前缀和
  • 奋飞咨询:以专业之光,照亮企业可持续发展通途
  • cpp生成1到n生成全排列的三种方法
  • 【Redis】实操:cluster集群部署
  • 实用指南:【Nest】登录鉴权
  • 程序员修炼之道:从小工到专家-2
  • 从零实现3D Gaussian Splatting:完整渲染流程的PyTorch代码详解
  • NOIP2025模拟1
  • 文生视频时代,RustFS如何成为AI资产库的最佳底座?
  • 25.11.4联考题解
  • d11.4t4 answer
  • 详细介绍:当AI化身数据炼金术士:初级Python开发者如何将创意炼成黄金代码?—— 老码农的炼金术指南
  • AGC052做题记录
  • Windows11-GPT
  • 1. markdown转word 第一步: markdown转html
  • docker换源
  • pypinyin很好用
  • P13.torchvision中的数据集使用
  • k8s删除Terminating状态的命名空间
  • go语言访问新浪股票(hq.sinajs.cn)
  • 优化算法三剑客:SGD、Adam、AdamW的深度对比
  • 从零开始搭建你的 Hexo 静态博客(支持 macOS 与 Windows)
  • cmake也是个恶大的玩意
  • docker 常用命令本地部署打包
  • 用古代数论分析电磁波频谱
  • AddressSanitizer (ASan) is a fast memory error detector
  • 2025年11月轴连轴承厂家推荐榜:行业领导者徐州优力同创解决方案解析