电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

想要显示“附件下载次数”,看这里

来源:金蝶云社区作者:金蝶2024-09-239

想要显示“附件下载次数”,看这里

很多小伙伴在后台给小编私信,希望可以通过案例对附件下载次数的开发进行详细的说明。这不,宠粉的小编带着案例走来了。




1 需求背景


在单据中,附件上传并保存到单据的附件面板。用户点下载后,需要在附件面板上显示下载的次数。如下图所示:


下载次数展示


2 实现方案


1、提交单据时,提交的操作插件需要初始化下载次数为0


由于苍穹平台没有在文件服务器上直接提供文件被下载的次数接口。因此,需要初始化下载次数,将信息保存在备注内容之前,实现代码如下所示:


1//提交的操作插件-
2public class OrderOpPlugin extends AbstractOperationServicePlugIn {
3    @Override
4    public void beginOperationTransaction(BeginOperationTransactionArgs e) {
5        //提交之后,初始化下载次数
6        if (e.getOperationKey().equals("submit")) {
7            DynamicObject[] dataEntities2 = e.getDataEntities();
8            for (DynamicObject dynamicObject : dataEntities2) {
9                Object pkValue = dynamicObject.getPkValue();
10                String name = dynamicObject.getDataEntityType().getName();
11                List<Map<String, Object>> attachments = AttachmentServiceHelper.getAttachments(name, pkValue, "attachmentpanel");
12                for (Map<String, Object> map : attachments) {
13                    String description = (String) map.get("description");
14                    String uid = (String) map.get("uid");
15                    /**
16                     * 初始化:添加下载次数为备注的前缀信息
17                     * 注意如果有撤销操作,则需要在撤销时重置删掉下载次数的备注前缀
18                     */
19                    AttachmentServiceHelper.mark(uid, "|下载次数:0|\t"+ description);
20                }
21            }
22        }
23        super.beginOperationTransaction(e);
24    }
25}


2、附件被下载时需要动态更新下载次数。


附件被下载时,会通过监听附件的下载操作来获取下载次数。动态更新对应附件的下载次数=原下载次数+1。实现代码如下所示:


1//表单插件
2    public class OrderAttamentPlugin extends AbstractBillPlugIn implements AttachmentDownloadListener{
3//(1)添加下载的监听事件
4    @Override
5    public void registerListener(EventObject e) {
6        AttachmentPanel attachment = this.getView().getControl("attachmentpanel");
7        // 下载监听
8        attachment.addDownloadListener(this);
9        super.registerListener(e);
10    }
11//(2)下载后事件中更新下载的次数
12    @Override
13    public void attachmentAfterDownload(AttachmentDownLoadEvent evt) {
14        String billstatus = (String) this.getModel().getValue("billstatus");
15        //提交状态才更新下载次数
16        if (billstatus.equals("B")) {
17            L

想要显示“附件下载次数”,看这里

很多小伙伴在后台给小编私信,希望可以通过案例对附件下载次数的开发进行详细的说明。这不,宠粉的小编带着案例走来了。1 需求背景在单据...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信