Browse Source

项目进度详情开发

anderx 1 year ago
parent
commit
d6c5e28336

+ 44 - 1
src/main/java/com/goafanti/common/utils/excel/NewExcelUtil.java

@@ -7,6 +7,7 @@ import com.goafanti.common.utils.DateUtils;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.common.utils.excel.Excel.ColumnType;
 import com.goafanti.common.utils.excel.Excel.Type;
+import com.goafanti.techproject.bo.TaskDetailsBo;
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.hssf.usermodel.*;
 import org.apache.poi.ss.usermodel.*;
@@ -1904,5 +1905,47 @@ public class NewExcelUtil<T> {
 	}
 
 
-
+	public Result exportTaskDetailsExcel(TaskDetailsBo byTid, String uploadPath) {
+		OutputStream out = null;
+		String filename="";
+		uploadPath=uploadPath+"\\"+"tmp\\member_progress.xls";
+        try {
+            FileInputStream fileInputStream = new FileInputStream(uploadPath);
+			Workbook workbook = new XSSFWorkbook(fileInputStream);
+			sheet = workbook.getSheetAt(0);
+			Row row = sheet.createRow(5);
+
+			filename = encodingFilename(sheetName);
+			out = new FileOutputStream(getAbsoluteFile(filename));
+			T vo = (T) byTid;
+			int column = 0;
+			for (Object[] os : fields) {
+				Field field = (Field) os[0];
+				Excel excel = (Excel) os[1];
+				// 设置实体类私有属性可访问
+				field.setAccessible(true);
+				this.addCell(excel, row, vo, field, column++);
+			}
+			wb.write(out);
+			return new Result().data(filename);
+		} catch (Exception e) {
+			e.printStackTrace();
+			throw new BusinessException("导出Excel失败,请联系网站管理员!");
+		} finally {
+			if (wb != null) {
+				try {
+					wb.close();
+				} catch (IOException e1) {
+					e1.printStackTrace();
+				}
+			}
+			if (out != null) {
+				try {
+					out.close();
+				} catch (IOException e1) {
+					e1.printStackTrace();
+				}
+			}
+		}
+    }
 }

+ 10 - 0
src/main/java/com/goafanti/techproject/controller/TaskDetailsController.java

@@ -96,5 +96,15 @@ public class TaskDetailsController extends BaseController {
         return new Result<>().data(this.taskDetailsService.list(in, pageNo, pageSize));
     }
 
+    /**
+     * 导出数据
+     *
+     * @return
+     */
+    @GetMapping("/export")
+    public Result<TaskDetails> export(Integer id) {
+        return new Result<>().data(this.taskDetailsService.export(id));
+    }
+
 }
 

+ 4 - 1
src/main/java/com/goafanti/techproject/service/TaskDetailsService.java

@@ -1,6 +1,7 @@
 package com.goafanti.techproject.service;
 
 import com.goafanti.common.model.TaskDetails;
+import com.goafanti.techproject.bo.TaskDetailsBo;
 
 /**
  * 项目申报详情(TaskDetails)表服务接口
@@ -51,5 +52,7 @@ public interface TaskDetailsService {
      */
     Object list(TaskDetails in, Integer pageNo, Integer pageSize);
 
-    Object getByTid(Integer id);
+    TaskDetailsBo getByTid(Integer id);
+
+    Object export(Integer id);
 }

+ 18 - 1
src/main/java/com/goafanti/techproject/service/impl/TaskDetailsServiceImpl.java

@@ -2,6 +2,7 @@ package com.goafanti.techproject.service.impl;
 
 import com.goafanti.common.dao.*;
 import com.goafanti.common.model.*;
+import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
@@ -9,6 +10,7 @@ import com.goafanti.order.bo.TOrderTaskBo;
 import com.goafanti.techproject.bo.TaskDetailsBo;
 import com.goafanti.techproject.service.TaskDetailsService;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -41,6 +43,10 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
     private TaskAnnualReportMapper taskAnnualReportMapper;
 
 
+    @Value(value = "${upload.path}")
+    private final String	uploadPath			= null;
+
+
     @Override
     public Pagination<TaskDetails> list(TaskDetails taskDetails, Integer pageNo, Integer pageSize) {
         Map<String, Object> params = new HashMap<>();
@@ -50,7 +56,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
     }
 
     @Override
-    public Object getByTid(Integer id) {
+    public TaskDetailsBo getByTid(Integer id) {
         TOrderNew tOrderNew = tOrderNewMapper.selectByTid(id);
         TOrderMid mid = tOrderMidMapper.selectByOrderNo(tOrderNew.getOrderNo());
         List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), 4);
@@ -105,6 +111,8 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
     }
 
 
+
+
     /**
      * 通过ID查询单条数据
      *
@@ -229,4 +237,13 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
         this.taskDetailsMapper.deleteById(id);
         return true;
     }
+
+
+    @Override
+    public Object export(Integer id) {
+        NewExcelUtil<TaskDetailsBo> excel=new NewExcelUtil<TaskDetailsBo>(TaskDetailsBo.class);
+        TaskDetailsBo byTid = getByTid(id);
+
+        return excel.exportTaskDetailsExcel(byTid,uploadPath);
+    }
 }