打印插件修改打印数据原创
4人赞赏了该文章
726次浏览
编辑于2023年12月20日 10:16:02
public class CustomCodePrintPlugin extends AbstractPrintPlugin {
@Override
public void afterLoadData(AfterLoadDataEvent evt) {
super.afterLoadData(evt);
List<DataRowSet> dataRowSets = evt.getDataRowSets();//元数据
List<DataRowSet> newdataRowSets = new ArrayList<>();//新数据
List<DataRowSet> newdataRowSets = new ArrayList<>();//新数据
for (DataRowSet dataRowSet : dataRowSets) {
String entryId = entrtyRow.getField("id").toString();//获取数据
dataRowSet.add("sn",new TextField(entryId));//修改数据
DataRowSet dataRowSet2 = dataRowSet.deepCopy();
newdataRowSets.add(dataRowSet2);
evt.setDataRowSets(newdataRowSets);
}
}
}
----------------------------获取列表选择行-------------------
final PrtDataSource dataSource;
//数据源为主数据源类型
if (!((dataSource = evt.getDataSource()) instanceof MainDataSource)) {
return;
}
String pageId;
// pageId不可以为空
if (StringUtils.isBlank(pageId = ((MainDataSource)dataSource).getPageId())) {
return;
}
int[] selectRows;
int[] selectlistRows;
final EntryGrid entryEntity = SessionManager.getCurrent().getView(pageId).getControl(ENTRY_FIELD);
//分录控件存在,且所选分录至少勾选一行
if (entryEntity == null || (selectRows = entryEntity.getSelectRows()).length <= 0) {
//数据源为主数据源类型
if (!((dataSource = evt.getDataSource()) instanceof MainDataSource)) {
return;
}
String pageId;
// pageId不可以为空
if (StringUtils.isBlank(pageId = ((MainDataSource)dataSource).getPageId())) {
return;
}
int[] selectRows;
int[] selectlistRows;
final EntryGrid entryEntity = SessionManager.getCurrent().getView(pageId).getControl(ENTRY_FIELD);
//分录控件存在,且所选分录至少勾选一行
if (entryEntity == null || (selectRows = entryEntity.getSelectRows()).length <= 0) {
}else {
//移除未勾选的分录行
for (DataRowSet row : evt.getDataRowSets()) {
List<DataRowSet> entryRows = row.getCollectionField("entryentity").getValue();
List<DataRowSet> moveRows = new ArrayList<>(selectRows.length);
Arrays.stream(selectRows).forEach(index -> moveRows.add(entryRows.get(index)));
row.getCollectionField(ENTRY_FIELD).setValue(moveRows);
}
}
for (DataRowSet row : evt.getDataRowSets()) {
List<DataRowSet> entryRows = row.getCollectionField("entryentity").getValue();
List<DataRowSet> moveRows = new ArrayList<>(selectRows.length);
Arrays.stream(selectRows).forEach(index -> moveRows.add(entryRows.get(index)));
row.getCollectionField(ENTRY_FIELD).setValue(moveRows);
}
}
-----------------获取表单所选的单据体行-----------------------
final BillList listentryEntity = SessionManager.getCurrent().getView(pageId).getControl("billlistap");
if (listentryEntity == null || (selectlistRows = listentryEntity.getSelectedRows().getRowKeys()).length <= 0) {
}else{
if (!ObjectUtils.isEmpty(listentryEntity)){
ListSelectedRowCollection selectedRows = listentryEntity.getSelectedRows();
//分录控件存在,且所选分录至少勾选一行
if ( selectedRows.size() > 0) {
List<String> selectRow = new ArrayList();
for (ListSelectedRow selectedRow : selectedRows) {
selectRow.add(selectedRow.getEntryPrimaryKeyValue().toString());
}
List<DataRowSet> dataRowSets = evt.getDataRowSets();
for (int i = 0; i < dataRowSets.size(); i++) {
Field entrty = dataRowSets.get(i).getField("entryentity");
List<DataRowSet> entrtyRow = (ArrayList) entrty.getValue();
for (int j = 0; j < entrtyRow.size(); j++) {
String entryId = entrtyRow.get(j).getField("id").toString();
if (!selectRow.contains(entryId)) {
entrtyRow.remove(j);
j--;
}
}
}
}
}
}
if (listentryEntity == null || (selectlistRows = listentryEntity.getSelectedRows().getRowKeys()).length <= 0) {
}else{
if (!ObjectUtils.isEmpty(listentryEntity)){
ListSelectedRowCollection selectedRows = listentryEntity.getSelectedRows();
//分录控件存在,且所选分录至少勾选一行
if ( selectedRows.size() > 0) {
List<String> selectRow = new ArrayList();
for (ListSelectedRow selectedRow : selectedRows) {
selectRow.add(selectedRow.getEntryPrimaryKeyValue().toString());
}
List<DataRowSet> dataRowSets = evt.getDataRowSets();
for (int i = 0; i < dataRowSets.size(); i++) {
Field entrty = dataRowSets.get(i).getField("entryentity");
List<DataRowSet> entrtyRow = (ArrayList) entrty.getValue();
for (int j = 0; j < entrtyRow.size(); j++) {
String entryId = entrtyRow.get(j).getField("id").toString();
if (!selectRow.contains(entryId)) {
entrtyRow.remove(j);
j--;
}
}
}
}
}
}
赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *
10金币20金币30金币40金币50金币60金币
可用金币: 0