Commit bd4542f0 authored by alex yao's avatar alex yao

Merge remote-tracking branch 'origin/release_gdghg' into release_gdghg

parents fa44ec3a ff7ec0c6
......@@ -9,10 +9,15 @@ import java.util.List;
import cn.com.yict.framemax.web.permission.Access;
import cn.com.yict.framemax.web.permission.Permission;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Permission(Access.Safety)
public interface BizExtractionDocFlowRest extends BaseRest {
......@@ -39,5 +44,7 @@ public interface BizExtractionDocFlowRest extends BaseRest {
* @return
* @throws Exception
*/
String report(@RequestParam String bizTextInTaskId) throws Exception;
String report(String bizTextInTaskId) throws Exception;
}
\ No newline at end of file
......@@ -69,6 +69,6 @@ public interface ExtractionRest extends BaseRest {
FileUploadResponse createDocFlowTask(MultipartFile multipartFile, String workspaceid, String category) throws IOException;
BizExtractionReviewTaskModel getReviewTaskByTextInTaskId(String textInTaskId) throws Exception;
BizExtractionReviewTaskModel getReviewTaskByTextInTaskId(@RequestParam String textInTaskId) throws Exception;
}
package cn.com.poc.covenant.rest.impl;
import cn.com.poc.common.constant.FormReportingConstant;
import cn.com.poc.common.service.BosConfigService;
import cn.com.poc.common.utils.UUIDTool;
import cn.com.poc.covenant.convert.BizExtractionDocFlowConvert;
import cn.com.poc.covenant.dto.BizExtractionDocFlowDto;
import cn.com.poc.covenant.entity.BizExtractionDocFlowEntity;
import cn.com.poc.covenant.rest.BizExtractionDocFlowRest;
import cn.com.poc.covenant.service.BizExtractionDocFlowService;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.style.column.AbstractColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.tools.ant.taskdefs.Java;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import static org.apache.logging.log4j.core.util.FileUtils.getFileExtension;
@Component
public class BizExtractionDocFlowRestImpl implements BizExtractionDocFlowRest {
@Resource
private BizExtractionDocFlowService service;
@Resource
private BosConfigService bossConfigService;
@Override
public BizExtractionDocFlowDto getByTaskInId(String taskInId) throws Exception {
Assert.notNull(taskInId);
......@@ -42,9 +68,65 @@ public class BizExtractionDocFlowRestImpl implements BizExtractionDocFlowRest {
@Override
public String report(String bizTextInTaskId) throws Exception {
Assert.notNull(bizTextInTaskId);
//mock
return "https://gsst-poe-sit.gz.bcebos.com/v1/%E6%B0%91%E9%97%B4%E5%80%9F%E8%B4%B7%E7%BA%A0%E7%BA%B7%E6%B0%91%E4%BA%8B%E8%B5%B7%E8%AF%89%E7%8A%B6.docx";
BizExtractionDocFlowDto bizExtractionDocFlowDto = getByTaskInId(bizTextInTaskId);
if(StringUtils.isEmpty(bizExtractionDocFlowDto.getBizDocFlowFields())){
throw new Exception("数据为空");
}
List<List<String>> head = head(bizExtractionDocFlowDto.getBizDocFlowFields());
List<List<String>> data = data(bizExtractionDocFlowDto.getBizDocFlowFields());
// 设置响应体
// response.reset();
// response.setContentType("application/vnd.ms-excel;charset=utf-8");
// response.setCharacterEncoding("utf-8");
// response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode( "识别内容导出.xls", "utf-8"));
File file = File.createTempFile("temp", "." + UUIDTool.getUUID());
EasyExcel.write(file)
.excelType(ExcelTypeEnum.XLS) // excel类型
.head(head).sheet("\"识别内容导出.xls\"")
.registerWriteHandler(new AbstractColumnWidthStyleStrategy() {
@Override
protected void setColumnWidth(WriteSheetHolder writeSheetHolder, List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
// 设置列宽
Sheet sheet = writeSheetHolder.getSheet();
sheet.setColumnWidth(cell.getColumnIndex(), FormReportingConstant.EXCEL_CONFIG.COLUMN_WIDTH);
}
}).doWrite(data);
InputStream in = new FileInputStream(file);
return bossConfigService.upload(in,"xls","");
}
public List<List<String>> head(String bizDocFlowItems){
List<List<String>> list = new ArrayList<>();
JSONArray jSONArray = JSONObject.parseArray(bizDocFlowItems);
for (int i = 0; i < jSONArray.size(); i++) {
List<String> head0 = new ArrayList<>();
JSONObject jsonObject = jSONArray.getJSONObject(i);
head0.add(jsonObject.get("key").toString());
list.add(head0);
}
return list;
}
public List<List<String>> data(String bizDocFlowItems){
List<List<String>> list = new ArrayList<>();
JSONArray jSONArray = JSONObject.parseArray(bizDocFlowItems);
List<String> head0 = new ArrayList<>();
for (int i = 0; i < jSONArray.size(); i++) {
JSONObject jsonObject = jSONArray.getJSONObject(i);
head0.add(jsonObject.get("value").toString());
}
list.add(head0);
return list;
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package cn.com.poc.covenant.rest.impl;
import cn.com.poc.common.service.BosConfigService;
import cn.com.poc.thirdparty.resource.text_in.entity.doc_flow.FileUploadResponse;
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.multipart.MultipartFile;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment