金蝶SHR,在列表对某个金额字段汇总展示的需求

embedded/2024/9/25 15:24:43/

接到这个需求的初衷是因为二开了一个内推费用计算,其中有一列本次发放奖金,希望能做个汇总,以便转薪酬后去汇总核对

刚开始也翻看了薪酬查询的表格底部汇总,捣鼓了半天搞不出来,恕我无能。。。

后面换种方式,就自己干脆在列表头旁边增加一个汇总字段,不在底部了

问题又来了,我怎么能得到当前列表的数据,且去汇总??

仔细阅读了底部查询逻辑,使用query查询用的查询是QueryExecutorFactory这个里面的接口

直接上代码:

        String query = "com.kingdee.eas.custom.cmpemp.app.InternalCalcQuery";IQueryExecutor exec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK(query));try {exec.setObjectView(defaultEntityViewInfo);String[] strArray = {"thisBonus"};IRowSet sumSet = exec.sum(strArray);if(sumSet.next()){String setString = sumSet.getString("thisBonus");if(StringUtils.isNotEmpty(setString)){BigDecimal thisBonus = new BigDecimal(setString);logger.error("===thisBonus:"+thisBonus);String plainString = thisBonus.stripTrailingZeros().toPlainString();logger.error("===plainString:"+plainString);gridDataEntity.setUserdata(plainString);}else{gridDataEntity.setUserdata("0");}}} catch (BOSException e) {throw new RuntimeException(e);} catch (SQLException e) {throw new RuntimeException(e);}

刚好里面有个sum汇总,直接满足了需求,既可以拿到前端传递的参数,还可以直接汇总,不用重新写sql,这种方法就是根据前端筛选条件动态查询汇总和列表数据,不用单独点合计

还有一些特殊设置,比如忽略0等等

        //设置过滤的sql条件exec.setObjectView(entityViewInfo);//设置忽略排序exec.option().isIgnoreOrder = true;exec.option().isAutoIgnoreZero = true;exec.option().isAutoTranslateBoolean = true;exec.option().isAutoTranslateEnum = true;exec.option().isIgnorePermissionCheck = false;

其实还可以分组,获取打印的sql等,可以仔细查看com.kingdee.bos.dao.query.IDataProvider

这个类


http://www.ppmy.cn/embedded/113650.html

相关文章

【Linux】查看操作系统开机时初始化的驱动模块列表的一个方法

这个方法是摸索出来的,也不一定对: 1、驱动层module_init(module_init_function)作为模块初始化,并且提供模块内部初始化的函数名; 2、找到所有驱动目录drivers下所有module_init(module_init_function),在内核6.9.0…

Agile Modbus STM32裸机移植 从机使用

本教程手把手教你实现Agile Modbus,照抄就能成。 并且会解读函数功能含义。 1. 引言 Agile Modbus 是一个轻量级的 Modbus 协议栈,可以满足用户在任何场景下的需求。 功能 支持 rtu 和 tcp 协议,使用纯 C 语言开发,不涉及任何硬…

深度学习的笔记

1. 从huggingface上仅下载pytorch模型权重和配置文件到服务器 import os import shutil from huggingface_hub import snapshot_download# 直接指定模型和下载路径 model_name openai/clip-vit-base-patch32 download_path /home/xxx/.cache/huggingface/hub/models--anas-a…

基于stm32的四旋翼无人机控制系统设计系统设计与实现

文章目录 前言资料获取设计介绍功能介绍设计程序 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业…

1. 如何在Java中连接MySQL数据库?请解释使用JDBC连接的步骤。

要在Java中连接MySQL数据库,通常使用JDBC(Java Database Connectivity)API。这是一个用于执行SQL语句的Java API,可以用来访问关系型数据库。下面是使用JDBC连接MySQL数据库的详细步骤: 1. 添加MySQL JDBC驱动 首先&a…

每日新闻掌握【2024年9月12日 星期四】

2024年9月12日 星期四 农历八月初十 大公司/大事件 iPhone 16 Pro Max机型或占总销量35% 市场研究机构TechInsights发布报告,预计iPhone 16系列的出货量将超过其前代产品,2024年全球出货量预计将达到7300万台。此外iPhone 16 Pro Max预计将成为iPhone …

如何用python做一个计算器

很久不更新了,今天来更新一下,初学python,若有可以完善部分可以私信,谢谢大家的支持,代码如下: print("欢迎使用计算器")aint(input("请输入第一个数字\n")) bint(input("请输入第…

小程序面试题四

一、如何提高微信小程序的应用速度? 提高微信小程序的应用速度,可以从多个方面进行优化。以下是一些关键的方法和建议: 1. 优化网络请求 减少请求次数:尽可能合并多个请求,减少HTTP请求的次数。这可以通过批量处理数…