致远OA表单自定义函数(明细表去重拼接)

本文介绍了工程师在处理OA表单中月加班费用申报表时遇到的重复人员名问题,通过Groovy的unique()函数实现快速去重,提供了简洁的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求背景

         昨天,接到一个十万火急的电话,工程师在电话中痛诉最近被明细表计算给逼疯了,刚解决取指定明细行值的需求,现在又有明细表计算需求:有一张月加班费用申报表,明细表中记录了员工每天的加班情况,需要在主表中显示本月所有加班人员的名称,且人员名称不能重复。

        反应快的小伙伴马上就想到了本表汇总,通过新增汇总表就可以实现人名的去重。
       对的,这个办法确实可用,和小编当时想到的方案一样。可是工程师兄弟不买账,希望能给一个操作简单的方案。有什么办法可以一步到位呢?

        忽然,想到自己曾在Excel用unique()函数去重,经过查找发现grovy同样提供unique()函数。通过反复测试整理出一段短小强悍的代码,终不负所托啊。

 代码分享

def data = param[0];
String res = "";
res=data.unique();
return res.replace('[', '').replace(']', '').replace(', ', '、').trim();

操作设置

 

效果展示

 

以上就是致远OA表单上明细表间重复判断的分享,脚本用的语言是groovy 。

技术无限,分享有限,欢迎交流 ~ 

### 致远OA中实现多人选择并汇总至主表的方法 #### 创建自定义函数以支持多人员选择 为了实现在致远OA中创建能够选择多个用户的自定义字段,并最终将这些数据汇总到主表,在开发过程中需遵循特定的设计模式和技术栈。 在致远OA平台下,通过扩展其内置功能模块可达成此目的。具体而言,利用`CustomField`类来构建新的属性项,该属性允许用户输入或挑选多位同事作为值的一部分[^1]。对于此类复杂类型的处理逻辑,则依赖于后台服务端代码编写以及前端交互界面设计两大部分共同协作完成。 ```java // Java伪代码示例:注册一个多选成员字段 public class MultiUserSelector extends CustomField { @Override protected void init() { setFieldType(FieldType.MULTI_USER_SELECTOR); setName("multi_user_field"); } } ``` #### 将子表中的信息同步更新回主记录 当涉及到跨表格间的数据交换操作时——即把由上述定制化组件收集来的参与者列表反馈给主要条目里对应的位置上,这通常意味着要建立一种双向绑定机制或者事件监听器架构。每当关联的次级单元格发生变动(新增、删除人选),便会触发相应的处理器负责通知上级实体作出相应调整。 ```javascript // JavaScript伪代码示例:监听变化并将结果提交给服务器 function onSelectionChanged(selectedUsers) { fetch('/api/updateMainRecord', { method: 'POST', body: JSON.stringify({ users: selectedUsers }), }); } ``` #### 设计考虑与最佳实践建议 - **用户体验优化**:确保整个过程流畅自然,减少不必要的加载等待;提供即时验证提示帮助防止误操作。 - **安全性保障措施**:严格校验传入参数合法性,防范SQL注入等常见攻击手段;采用HTTPS协议加密传输敏感资料。 - **性能效率考量**:合理控制查询规模避免过度消耗资源;实施分页展示大量联系人选项提升响应速度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

致远OA开发实施运维支持

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值