金蝶EAS,分录表格数据唯一性校验,不允许录入重复值

来源:互联网 发布:域名主机系统 编辑:程序博客网 时间:2024/06/05 09:22

业务场景:业务单据包含分录,单据编辑界面上有分录表格,分录表格录入数据时,校验其中的某一列数据不允许出现重复。

本例中,单据实体名称为ReverseBill,分录实体名称为ReverseBillEntry。

业务校验verifyInput时,界面控件数据已经封装到界面所绑定的数据对象editData。

分录表格中每行数据为一条分录对象ReverseBillEntryInfo、多行数据为分录集合ReverseBillEntryCollection。

/** * 业务逻辑校验 */@Overrideprotected void verifyInput(ActionEvent e) throws Exception {ReverseBillEntryCollection coll = editData.getEntry(); //分录集合if(coll.isEmpty()){MsgBox.showWarning("分录不能为空!");abort(); //中断程序}Set ids = new HashSet(); //利用集合元素唯一性StringBuffer msg = new StringBuffer(); //反馈信息for(int i = 0; i < coll.size(); i++){ReverseBillEntryInfo entry = coll.get(i); //得到一条分录对象String personId = entry.getPerson().getId().toString(); //人员IDif(ids.contains(personId)){msg.append("分录中第" + (i + 1) + "行人员存在重复!\n");} else {ids.add(personId); //人员信息缓存}}if(msg.length() > 0){msg.append("请检查并修改数据,然后重新保存。");MsgBox.showWarning(msg.toString());abort(); //中断程序}}


阅读全文
0 0
原创粉丝点击