SalaryDownloadFilePlugin.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package fi.em.formPlugin;
  2. import kd.bos.dataentity.entity.DynamicObject;
  3. import kd.bos.entity.property.ComboProp;
  4. import kd.bos.form.events.AfterDoOperationEventArgs;
  5. import kd.bos.form.plugin.AbstractFormPlugin;
  6. import kd.bos.orm.query.QCP;
  7. import kd.bos.orm.query.QFilter;
  8. import kd.bos.servicehelper.AttachmentServiceHelper;
  9. import kd.bos.servicehelper.BusinessDataServiceHelper;
  10. import kd.imc.bdm.common.constant.BotpCallBackLogConstant;
  11. import org.apache.commons.io.FileUtils;
  12. import sys.sc.opplugin.utils.InterFaceImgUtils;
  13. import sys.sc.opplugin.utils.SftpClient;
  14. import javax.swing.filechooser.FileSystemView;
  15. import java.io.File;
  16. import java.util.List;
  17. import java.util.Map;
  18. /**
  19. * @author cjz
  20. * @date 2024/11/7 20:35
  21. * @description:点击按钮下载对应薪酬发放分录模板文件
  22. */
  23. public class SalaryDownloadFilePlugin extends AbstractFormPlugin {
  24. //点击按钮下载文件
  25. @Override
  26. public void afterDoOperation(AfterDoOperationEventArgs arg){
  27. super.afterDoOperation(arg);
  28. String operateKey = arg.getOperateKey();
  29. //获取下拉列表字段
  30. ComboProp comboProp = (ComboProp) getModel().getProperty("nckd_entrytype");
  31. //审核操作代码
  32. String downloadBut="download";
  33. DynamicObject dynamicObject=this.getModel().getDataEntity(true);
  34. String nckd_entrytype= dynamicObject.getString("nckd_entrytype");
  35. //通过下拉值获取下拉标题
  36. String displayName = comboProp.getItemByName(nckd_entrytype);
  37. if (downloadBut.equals(operateKey)) {
  38. QFilter qFilter=new QFilter("number", QCP.equals,"salaryfile");
  39. //下载模板表单
  40. DynamicObject nckd_file= BusinessDataServiceHelper.loadSingle("nckd_file",new QFilter[]{qFilter});
  41. List<Map<String, Object>> list = AttachmentServiceHelper
  42. .getAttachments("nckd_file", nckd_file.getPkValue(), "nckd_attachmentpanelap");
  43. //获取下载链接并打开
  44. for(int i = 0; i < list.size(); i++) {
  45. String filename=list.get(i).get("name").toString();
  46. if (filename.equals(displayName+".xls")) {
  47. String downLoadUrl = list.get(i).get("url").toString();
  48. //调用该url
  49. getView().openUrl(downLoadUrl);
  50. }
  51. }
  52. }
  53. }
  54. }