导入模板下载修复文本格式
This commit is contained in:
		
							parent
							
								
									3863e66e11
								
							
						
					
					
						commit
						a14577ebd4
					
				| 
						 | 
					@ -1,34 +1,43 @@
 | 
				
			||||||
package shkd.repc.recon.formplugin;
 | 
					package shkd.repc.recon.formplugin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.alibaba.fastjson.JSON;
 | 
				
			||||||
import kd.bos.context.RequestContext;
 | 
					import kd.bos.context.RequestContext;
 | 
				
			||||||
import kd.bos.dataentity.entity.DynamicObject;
 | 
					import kd.bos.dataentity.entity.DynamicObject;
 | 
				
			||||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
					import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
				
			||||||
 | 
					import kd.bos.dataentity.resource.ResManager;
 | 
				
			||||||
import kd.bos.dataentity.utils.StringUtils;
 | 
					import kd.bos.dataentity.utils.StringUtils;
 | 
				
			||||||
 | 
					import kd.bos.entity.EntityMetadataCache;
 | 
				
			||||||
 | 
					import kd.bos.entity.MainEntityType;
 | 
				
			||||||
 | 
					import kd.bos.entity.operate.result.OperationResult;
 | 
				
			||||||
 | 
					import kd.bos.exception.KDBizException;
 | 
				
			||||||
import kd.bos.fileservice.FileItem;
 | 
					import kd.bos.fileservice.FileItem;
 | 
				
			||||||
import kd.bos.fileservice.FileService;
 | 
					import kd.bos.fileservice.FileService;
 | 
				
			||||||
import kd.bos.fileservice.FileServiceFactory;
 | 
					import kd.bos.fileservice.FileServiceFactory;
 | 
				
			||||||
 | 
					import kd.bos.form.FormShowParameter;
 | 
				
			||||||
 | 
					import kd.bos.form.ShowType;
 | 
				
			||||||
 | 
					import kd.bos.form.control.Control;
 | 
				
			||||||
import kd.bos.form.control.events.ItemClickEvent;
 | 
					import kd.bos.form.control.events.ItemClickEvent;
 | 
				
			||||||
 | 
					import kd.bos.form.dto.ImportPermissionParam;
 | 
				
			||||||
import kd.bos.form.events.AfterDoOperationEventArgs;
 | 
					import kd.bos.form.events.AfterDoOperationEventArgs;
 | 
				
			||||||
import kd.bos.form.plugin.AbstractFormPlugin;
 | 
					import kd.bos.form.plugin.AbstractFormPlugin;
 | 
				
			||||||
 | 
					import kd.bos.form.plugin.importentry.ImportEntryModelExporter;
 | 
				
			||||||
 | 
					import kd.bos.form.plugin.importentry.ImportEntryWriterBuilder;
 | 
				
			||||||
 | 
					import kd.bos.form.util.ImportOperationLog;
 | 
				
			||||||
 | 
					import kd.bos.list.BillList;
 | 
				
			||||||
import kd.bos.orm.query.QCP;
 | 
					import kd.bos.orm.query.QCP;
 | 
				
			||||||
import kd.bos.orm.query.QFilter;
 | 
					import kd.bos.orm.query.QFilter;
 | 
				
			||||||
 | 
					import kd.bos.service.metadata.export.ExportWriterFormat;
 | 
				
			||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
					import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
				
			||||||
 | 
					import kd.bos.url.UrlService;
 | 
				
			||||||
import kd.sdk.plugin.Plugin;
 | 
					import kd.sdk.plugin.Plugin;
 | 
				
			||||||
import org.apache.poi.ss.usermodel.FillPatternType;
 | 
					import org.apache.poi.ss.usermodel.*;
 | 
				
			||||||
import org.apache.poi.ss.usermodel.HorizontalAlignment;
 | 
					 | 
				
			||||||
import org.apache.poi.ss.usermodel.IndexedColors;
 | 
					 | 
				
			||||||
import org.apache.poi.ss.usermodel.VerticalAlignment;
 | 
					 | 
				
			||||||
import org.apache.poi.xssf.usermodel.*;
 | 
					import org.apache.poi.xssf.usermodel.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.awt.*;
 | 
					import java.awt.*;
 | 
				
			||||||
import java.io.ByteArrayInputStream;
 | 
					import java.awt.Color;
 | 
				
			||||||
import java.io.ByteArrayOutputStream;
 | 
					import java.io.*;
 | 
				
			||||||
import java.io.InputStream;
 | 
					 | 
				
			||||||
import java.io.OutputStream;
 | 
					 | 
				
			||||||
import java.text.SimpleDateFormat;
 | 
					import java.text.SimpleDateFormat;
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.*;
 | 
				
			||||||
import java.util.Date;
 | 
					 | 
				
			||||||
import java.util.EventObject;
 | 
					 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					@ -55,109 +64,175 @@ public class ContractMaterialTemplatePlugin extends AbstractFormPlugin implement
 | 
				
			||||||
                this.getView().showMessage("请先维护引入模板");
 | 
					                this.getView().showMessage("请先维护引入模板");
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            //表头字段
 | 
					//            //表头字段
 | 
				
			||||||
            List<DynamicObject> list = new ArrayList<>();
 | 
					//            List<DynamicObject> list = new ArrayList<>();
 | 
				
			||||||
            DynamicObjectCollection entry = template.getDynamicObjectCollection("treeentryentity");
 | 
					//            DynamicObjectCollection entry = template.getDynamicObjectCollection("treeentryentity");
 | 
				
			||||||
            if (null != entry && entry.size() != 0) {
 | 
					//            if (null != entry && entry.size() != 0) {
 | 
				
			||||||
                for (int i = 0; i < entry.size(); i++) {
 | 
					//                for (int i = 0; i < entry.size(); i++) {
 | 
				
			||||||
                    DynamicObject dynamicObject = entry.get(i);
 | 
					//                    DynamicObject dynamicObject = entry.get(i);
 | 
				
			||||||
                    if (dynamicObject.getBoolean("isimport")) {
 | 
					//                    if (dynamicObject.getBoolean("isimport")) {
 | 
				
			||||||
                        list.add(dynamicObject);
 | 
					//                        list.add(dynamicObject);
 | 
				
			||||||
                    }
 | 
					//                    }
 | 
				
			||||||
                }
 | 
					//                }
 | 
				
			||||||
            }
 | 
					//            }
 | 
				
			||||||
            if (list.size() == 0) return;
 | 
					//            if (list.size() == 0) return;
 | 
				
			||||||
            //构建导出前四行数据
 | 
					//            //构建导出前四行数据
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//            // 创建Excel工作簿
 | 
				
			||||||
 | 
					//            XSSFWorkbook workbook = new XSSFWorkbook();
 | 
				
			||||||
 | 
					//            XSSFSheet sheet = workbook.createSheet("明细 # qeug_orderformentry");
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//            // 第一行:明细标题
 | 
				
			||||||
 | 
					//            XSSFRow row1 = sheet.createRow(0);
 | 
				
			||||||
 | 
					//            XSSFCell cell1 = row1.createCell(0);
 | 
				
			||||||
 | 
					//            cell1.setCellValue("明细 # qeug_orderformentry");
 | 
				
			||||||
 | 
					//            XSSFCellStyle style1 = workbook.createCellStyle();
 | 
				
			||||||
 | 
					//            XSSFFont font1 = workbook.createFont();
 | 
				
			||||||
 | 
					//            font1.setFontName("宋体");
 | 
				
			||||||
 | 
					//            font1.setFontHeightInPoints((short) 11);
 | 
				
			||||||
 | 
					//            style1.setFont(font1);
 | 
				
			||||||
 | 
					//            style1.setAlignment(HorizontalAlignment.CENTER);
 | 
				
			||||||
 | 
					//            style1.setVerticalAlignment(VerticalAlignment.CENTER);
 | 
				
			||||||
 | 
					//            sheet.setColumnWidth(0, 31 * 256); // 设置列宽
 | 
				
			||||||
 | 
					//            row1.setHeightInPoints(14.4f);
 | 
				
			||||||
 | 
					//            cell1.setCellStyle(style1);
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//            // 第二行:说明文本
 | 
				
			||||||
 | 
					//            XSSFRow row2 = sheet.createRow(1);
 | 
				
			||||||
 | 
					//            XSSFCell cell2 = row2.createCell(0);
 | 
				
			||||||
 | 
					//            cell2.setCellValue("1、请将鼠标移到灰色标题行查看字段录入要求。2、红色带星号(*)的字段为必录字段。");
 | 
				
			||||||
 | 
					//            XSSFCellStyle style2 = workbook.createCellStyle();
 | 
				
			||||||
 | 
					//            XSSFFont font2 = workbook.createFont();
 | 
				
			||||||
 | 
					//            font2.setFontName("Calibri");
 | 
				
			||||||
 | 
					//            font2.setFontHeightInPoints((short) 11);
 | 
				
			||||||
 | 
					//            style2.setFont(font2);
 | 
				
			||||||
 | 
					//            style2.setAlignment(HorizontalAlignment.LEFT);
 | 
				
			||||||
 | 
					//            style2.setVerticalAlignment(VerticalAlignment.CENTER);
 | 
				
			||||||
 | 
					//            style2.setWrapText(true); // 自动换行
 | 
				
			||||||
 | 
					//            row2.setHeightInPoints(60);
 | 
				
			||||||
 | 
					//            sheet.setColumnWidth(0, 31 * 256); // 设置列宽
 | 
				
			||||||
 | 
					//            cell2.setCellStyle(style2);
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//            // 第三行:list中的entitynumber
 | 
				
			||||||
 | 
					//            XSSFRow row3 = sheet.createRow(2);
 | 
				
			||||||
 | 
					//            for (int i = 0; i < list.size(); i++) {
 | 
				
			||||||
 | 
					//                DynamicObject dynamicObject = list.get(i);
 | 
				
			||||||
 | 
					//                String entityNumber = null;
 | 
				
			||||||
 | 
					//                String importProp = dynamicObject.getString("importprop");
 | 
				
			||||||
 | 
					//                if (!("").equals(importProp)) {
 | 
				
			||||||
 | 
					//                    entityNumber = dynamicObject.getString("entitynumber") + "." + dynamicObject.getString("importprop");
 | 
				
			||||||
 | 
					//                } else {
 | 
				
			||||||
 | 
					//                    entityNumber = dynamicObject.getString("entitynumber");
 | 
				
			||||||
 | 
					//                }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//                XSSFCell cell = row3.createCell(i);
 | 
				
			||||||
 | 
					//                cell.setCellValue(entityNumber);
 | 
				
			||||||
 | 
					//                XSSFCellStyle style3 = workbook.createCellStyle();
 | 
				
			||||||
 | 
					//                XSSFFont font3 = workbook.createFont();
 | 
				
			||||||
 | 
					//                font3.setFontName("宋体");
 | 
				
			||||||
 | 
					//                font3.setFontHeightInPoints((short) 11);
 | 
				
			||||||
 | 
					//                style3.setFont(font3);
 | 
				
			||||||
 | 
					//                style3.setAlignment(HorizontalAlignment.CENTER);
 | 
				
			||||||
 | 
					//                style3.setVerticalAlignment(VerticalAlignment.CENTER);
 | 
				
			||||||
 | 
					//                sheet.setColumnWidth(i, 31 * 256); // 设置列宽
 | 
				
			||||||
 | 
					//                row3.setHeightInPoints(14.4f);
 | 
				
			||||||
 | 
					//                cell.setCellStyle(style3);
 | 
				
			||||||
 | 
					//            }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//            // 第四行:list中的entityname
 | 
				
			||||||
 | 
					//            XSSFRow row4 = sheet.createRow(3);
 | 
				
			||||||
 | 
					//            for (int i = 0; i < list.size(); i++) {
 | 
				
			||||||
 | 
					//                DynamicObject dynamicObject = list.get(i);
 | 
				
			||||||
 | 
					//                String entityName = dynamicObject.getString("entitydescription");
 | 
				
			||||||
 | 
					//                XSSFCell cell = row4.createCell(i);
 | 
				
			||||||
 | 
					//                cell.setCellValue(entityName);
 | 
				
			||||||
 | 
					//                XSSFCellStyle style4 = workbook.createCellStyle();
 | 
				
			||||||
 | 
					//                XSSFFont font4 = workbook.createFont();
 | 
				
			||||||
 | 
					//                font4.setFontName("Calibri");
 | 
				
			||||||
 | 
					//                font4.setFontHeightInPoints((short) 11);
 | 
				
			||||||
 | 
					//                font4.setColor(IndexedColors.RED.getIndex());
 | 
				
			||||||
 | 
					//                style4.setFont(font4);
 | 
				
			||||||
 | 
					//                style4.setAlignment(HorizontalAlignment.CENTER);
 | 
				
			||||||
 | 
					//                style4.setVerticalAlignment(VerticalAlignment.CENTER);
 | 
				
			||||||
 | 
					//                style4.setFillForegroundColor(new XSSFColor(new Color(192, 192, 192), new DefaultIndexedColorMap())); // 灰色背景
 | 
				
			||||||
 | 
					//                style4.setFillPattern(FillPatternType.SOLID_FOREGROUND);
 | 
				
			||||||
 | 
					//                sheet.setColumnWidth(i, 31 * 256); // 设置列宽
 | 
				
			||||||
 | 
					//                row4.setHeightInPoints(14.4f);
 | 
				
			||||||
 | 
					//                cell.setCellStyle(style4);
 | 
				
			||||||
 | 
					//            }
 | 
				
			||||||
 | 
					//            // 上传Excel文件并获取下载路径
 | 
				
			||||||
 | 
					//            String uploadedFilePath = uploadExcel(workbook);
 | 
				
			||||||
 | 
					//            String downloadUrl = RequestContext.get().getClientFullContextPath() + "/attachment/download.do?path=" + uploadedFilePath;
 | 
				
			||||||
 | 
					//            this.getView().openUrl(downloadUrl);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // 创建Excel工作簿
 | 
					            try {
 | 
				
			||||||
            XSSFWorkbook workbook = new XSSFWorkbook();
 | 
					                this.pushBillTemplate(template);
 | 
				
			||||||
            XSSFSheet sheet = workbook.createSheet("明细 # qeug_orderformentry");
 | 
					            } catch (IOException e) {
 | 
				
			||||||
 | 
					                throw new RuntimeException(e);
 | 
				
			||||||
            // 第一行:明细标题
 | 
					 | 
				
			||||||
            XSSFRow row1 = sheet.createRow(0);
 | 
					 | 
				
			||||||
            XSSFCell cell1 = row1.createCell(0);
 | 
					 | 
				
			||||||
            cell1.setCellValue("明细 # qeug_orderformentry");
 | 
					 | 
				
			||||||
            XSSFCellStyle style1 = workbook.createCellStyle();
 | 
					 | 
				
			||||||
            XSSFFont font1 = workbook.createFont();
 | 
					 | 
				
			||||||
            font1.setFontName("宋体");
 | 
					 | 
				
			||||||
            font1.setFontHeightInPoints((short) 11);
 | 
					 | 
				
			||||||
            style1.setFont(font1);
 | 
					 | 
				
			||||||
            style1.setAlignment(HorizontalAlignment.CENTER);
 | 
					 | 
				
			||||||
            style1.setVerticalAlignment(VerticalAlignment.CENTER);
 | 
					 | 
				
			||||||
            sheet.setColumnWidth(0, 31 * 256); // 设置列宽
 | 
					 | 
				
			||||||
            row1.setHeightInPoints(14.4f);
 | 
					 | 
				
			||||||
            cell1.setCellStyle(style1);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // 第二行:说明文本
 | 
					 | 
				
			||||||
            XSSFRow row2 = sheet.createRow(1);
 | 
					 | 
				
			||||||
            XSSFCell cell2 = row2.createCell(0);
 | 
					 | 
				
			||||||
            cell2.setCellValue("1、请将鼠标移到灰色标题行查看字段录入要求。2、红色带星号(*)的字段为必录字段。");
 | 
					 | 
				
			||||||
            XSSFCellStyle style2 = workbook.createCellStyle();
 | 
					 | 
				
			||||||
            XSSFFont font2 = workbook.createFont();
 | 
					 | 
				
			||||||
            font2.setFontName("Calibri");
 | 
					 | 
				
			||||||
            font2.setFontHeightInPoints((short) 11);
 | 
					 | 
				
			||||||
            style2.setFont(font2);
 | 
					 | 
				
			||||||
            style2.setAlignment(HorizontalAlignment.LEFT);
 | 
					 | 
				
			||||||
            style2.setVerticalAlignment(VerticalAlignment.CENTER);
 | 
					 | 
				
			||||||
            style2.setWrapText(true); // 自动换行
 | 
					 | 
				
			||||||
            row2.setHeightInPoints(60);
 | 
					 | 
				
			||||||
            sheet.setColumnWidth(0, 31 * 256); // 设置列宽
 | 
					 | 
				
			||||||
            cell2.setCellStyle(style2);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // 第三行:list中的entitynumber
 | 
					 | 
				
			||||||
            XSSFRow row3 = sheet.createRow(2);
 | 
					 | 
				
			||||||
            for (int i = 0; i < list.size(); i++) {
 | 
					 | 
				
			||||||
                DynamicObject dynamicObject = list.get(i);
 | 
					 | 
				
			||||||
                String entityNumber = null;
 | 
					 | 
				
			||||||
                String importProp = dynamicObject.getString("importprop");
 | 
					 | 
				
			||||||
                if (!("").equals(importProp)) {
 | 
					 | 
				
			||||||
                    entityNumber = dynamicObject.getString("entitynumber") + "." + dynamicObject.getString("importprop");
 | 
					 | 
				
			||||||
                } else {
 | 
					 | 
				
			||||||
                    entityNumber = dynamicObject.getString("entitynumber");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                XSSFCell cell = row3.createCell(i);
 | 
					 | 
				
			||||||
                cell.setCellValue(entityNumber);
 | 
					 | 
				
			||||||
                XSSFCellStyle style3 = workbook.createCellStyle();
 | 
					 | 
				
			||||||
                XSSFFont font3 = workbook.createFont();
 | 
					 | 
				
			||||||
                font3.setFontName("宋体");
 | 
					 | 
				
			||||||
                font3.setFontHeightInPoints((short) 11);
 | 
					 | 
				
			||||||
                style3.setFont(font3);
 | 
					 | 
				
			||||||
                style3.setAlignment(HorizontalAlignment.CENTER);
 | 
					 | 
				
			||||||
                style3.setVerticalAlignment(VerticalAlignment.CENTER);
 | 
					 | 
				
			||||||
                sheet.setColumnWidth(i, 31 * 256); // 设置列宽
 | 
					 | 
				
			||||||
                row3.setHeightInPoints(14.4f);
 | 
					 | 
				
			||||||
                cell.setCellStyle(style3);
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // 第四行:list中的entityname
 | 
					 | 
				
			||||||
            XSSFRow row4 = sheet.createRow(3);
 | 
					 | 
				
			||||||
            for (int i = 0; i < list.size(); i++) {
 | 
					 | 
				
			||||||
                DynamicObject dynamicObject = list.get(i);
 | 
					 | 
				
			||||||
                String entityName = dynamicObject.getString("entitydescription");
 | 
					 | 
				
			||||||
                XSSFCell cell = row4.createCell(i);
 | 
					 | 
				
			||||||
                cell.setCellValue(entityName);
 | 
					 | 
				
			||||||
                XSSFCellStyle style4 = workbook.createCellStyle();
 | 
					 | 
				
			||||||
                XSSFFont font4 = workbook.createFont();
 | 
					 | 
				
			||||||
                font4.setFontName("Calibri");
 | 
					 | 
				
			||||||
                font4.setFontHeightInPoints((short) 11);
 | 
					 | 
				
			||||||
                font4.setColor(IndexedColors.RED.getIndex());
 | 
					 | 
				
			||||||
                style4.setFont(font4);
 | 
					 | 
				
			||||||
                style4.setAlignment(HorizontalAlignment.CENTER);
 | 
					 | 
				
			||||||
                style4.setVerticalAlignment(VerticalAlignment.CENTER);
 | 
					 | 
				
			||||||
                style4.setFillForegroundColor(new XSSFColor(new Color(192, 192, 192), new DefaultIndexedColorMap())); // 灰色背景
 | 
					 | 
				
			||||||
                style4.setFillPattern(FillPatternType.SOLID_FOREGROUND);
 | 
					 | 
				
			||||||
                sheet.setColumnWidth(i, 31 * 256); // 设置列宽
 | 
					 | 
				
			||||||
                row4.setHeightInPoints(14.4f);
 | 
					 | 
				
			||||||
                cell.setCellStyle(style4);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            // 上传Excel文件并获取下载路径
 | 
					 | 
				
			||||||
            String uploadedFilePath = uploadExcel(workbook);
 | 
					 | 
				
			||||||
            String downloadUrl = RequestContext.get().getClientFullContextPath() + "/attachment/download.do?path=" + uploadedFilePath;
 | 
					 | 
				
			||||||
            this.getView().openUrl(downloadUrl);
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void pushBillTemplate(DynamicObject templateObj) throws IOException {
 | 
				
			||||||
 | 
					        String billFormId = "recon_contractbill";
 | 
				
			||||||
 | 
					        Object pkValue = templateObj.getPkValue();
 | 
				
			||||||
 | 
					        Object[] templates = new Object[]{pkValue};
 | 
				
			||||||
 | 
					            if (templates != null && templates.length != 0) {
 | 
				
			||||||
 | 
					                int maxTemplate = this.getMaxDownloadTemplateCountProperty();
 | 
				
			||||||
 | 
					                if (templates.length > maxTemplate) {
 | 
				
			||||||
 | 
					                    this.getView().showMessage(String.format(ResManager.loadKDString("只允许同时下载%s个模板。", "DownloadTemplatePlugin_5", "bos-import", new Object[0]), maxTemplate));
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    MainEntityType mainEntityType = EntityMetadataCache.getDataEntityType(billFormId);
 | 
				
			||||||
 | 
					                    Object[] var6 = templates;
 | 
				
			||||||
 | 
					                    int var7 = templates.length;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    for(int var8 = 0; var8 < var7; ++var8) {
 | 
				
			||||||
 | 
					                        Object template = var6[var8];
 | 
				
			||||||
 | 
					                        String fileName = this.createFileName(mainEntityType, (Long)template);
 | 
				
			||||||
 | 
					                        ExportWriterFormat format = (new ImportEntryWriterBuilder()).build(billFormId, (Long)template);
 | 
				
			||||||
 | 
					                        ImportEntryModelExporter dataExporter = new ImportEntryModelExporter(format);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        try {
 | 
				
			||||||
 | 
					                            dataExporter.init((String)null);
 | 
				
			||||||
 | 
					                            dataExporter.write();
 | 
				
			||||||
 | 
					                            String url = dataExporter.flush(this.getModel().getDataEntityType(), fileName);
 | 
				
			||||||
 | 
					                            url = UrlService.getAttachmentFullUrl(url);
 | 
				
			||||||
 | 
					                            this.getView().download(url);
 | 
				
			||||||
 | 
					                            this.getView().sendFormAction(this.getView());
 | 
				
			||||||
 | 
					                        } finally {
 | 
				
			||||||
 | 
					                            dataExporter.close();
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    ImportOperationLog.getInstance().createAppLog(billFormId, ResManager.loadKDString("下载", "DownLoadEntryTemplatePlugin_0", "bos-import", new Object[0]), ResManager.loadKDString("单据体引入模板下载成功", "DownLoadEntryTemplatePlugin_1", "bos-import", new Object[0]));
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        //}
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private String createFileName(MainEntityType mainEntityType, Long templateId) {
 | 
				
			||||||
 | 
					        DynamicObject templateData = BusinessDataServiceHelper.loadSingle(templateId, "bos_importentry_template");
 | 
				
			||||||
 | 
					        String fileName = mainEntityType.getDisplayName().getLocaleValue() + "_";
 | 
				
			||||||
 | 
					        if (templateData != null) {
 | 
				
			||||||
 | 
					            fileName = fileName + templateData.get("name");
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            fileName = fileName + ResManager.loadKDString("无模板名称", "ImportTemplatePlugin_24", "bos-import", new Object[0]);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return fileName;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private int getMaxDownloadTemplateCountProperty() {
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            return Integer.parseInt(System.getProperty("max.download.template.count", "20"));
 | 
				
			||||||
 | 
					        } catch (NumberFormatException var2) {
 | 
				
			||||||
 | 
					            //log.warn(var2);
 | 
				
			||||||
 | 
					            return 20;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 上传Excel文件并返回路径
 | 
					     * 上传Excel文件并返回路径
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue