自定义列表数据的打印顺序原创
金蝶云社区-新用户123
新用户123
1人赞赏了该文章 783次浏览 未经作者许可,禁止转载编辑于2021年08月06日 18:12:08

标签:

打印、排序

需求背景:

需求背景:例如列表有10条数据,批量打印时用户希望根据暂存、已提交、已审核顺序进行打印。

实现方案:

通过打印插件进行干预:在插件中获取导套打数据源,将数据按照自定义规则进行排序。

操作步骤:

1.新建打印模板

 image.png

 

 

 

 

 

 

 

 

 

 

 

2.配置打印模板

 image.png

 

 

 

 

3.注册打印插件

kd.bos.poc.formplugin.PrintPlugin

插件代码参考附件。

实现效果:

【插件干预前】:将按列表顺序打印

image.png

【插件干预后】:将按暂存,已提交,已审核重排序后打印。

 image.png

image.png

image.png

 

 

附件:

public class PrintPlugin extends  AbstractPrintServicePlugin{

   public void beforeLoadData(BeforeLoadDataArgs e) {

      String soure =e.getDataSourceName();

      if("entryentity".equalsIgnoreCase(soure)) {

          e.setCancel(true);

      }

   }

public void customPrintDataEntities(CustomPrintDataEntitiesArgs e) {

e.getDataEntities().sort(new Comparator<DynamicObject>(){

            @Override

            public int compare(DynamicObject arg0, DynamicObject arg1) {

               return arg1.get("billstatus").toString().compareTo(arg0.get("billstatus").toString());//根据单据上的某个字段排序

            }

          });

       

}

}

 

 

 

 


赞 1