package fi.em.formPlugin; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.entity.property.ComboProp; import kd.bos.form.events.AfterDoOperationEventArgs; import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.AttachmentServiceHelper; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.imc.bdm.common.constant.BotpCallBackLogConstant; import org.apache.commons.io.FileUtils; import sys.sc.opplugin.utils.InterFaceImgUtils; import sys.sc.opplugin.utils.SftpClient; import javax.swing.filechooser.FileSystemView; import java.io.File; import java.util.List; import java.util.Map; /** * @author cjz * @date 2024/11/7 20:35 * @description:点击按钮下载对应薪酬发放分录模板文件 */ public class SalaryDownloadFilePlugin extends AbstractFormPlugin { //点击按钮下载文件 @Override public void afterDoOperation(AfterDoOperationEventArgs arg){ super.afterDoOperation(arg); String operateKey = arg.getOperateKey(); //获取下拉列表字段 ComboProp comboProp = (ComboProp) getModel().getProperty("nckd_entrytype"); //审核操作代码 String downloadBut="download"; DynamicObject dynamicObject=this.getModel().getDataEntity(true); String nckd_entrytype= dynamicObject.getString("nckd_entrytype"); //通过下拉值获取下拉标题 String displayName = comboProp.getItemByName(nckd_entrytype); if (downloadBut.equals(operateKey)) { QFilter qFilter=new QFilter("number", QCP.equals,"salaryfile"); //下载模板表单 DynamicObject nckd_file= BusinessDataServiceHelper.loadSingle("nckd_file",new QFilter[]{qFilter}); List> list = AttachmentServiceHelper .getAttachments("nckd_file", nckd_file.getPkValue(), "nckd_attachmentpanelap"); //获取下载链接并打开 for(int i = 0; i < list.size(); i++) { String filename=list.get(i).get("name").toString(); if (filename.equals(displayName+".xls")) { String downLoadUrl = list.get(i).get("url").toString(); //调用该url getView().openUrl(downLoadUrl); } } } } }