瀏覽代碼

增加部门评级导出

hlf 1 年之前
父節點
當前提交
15f7f9b4d5

+ 84 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/controller/DepartmentPerformanceAppraisalRatingController.java

@@ -1,13 +1,21 @@
 package com.ims.eval.controller;
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ims.eval.config.CustomException;
+import com.ims.eval.entity.EvaluationDeptBusinessContent;
 import com.ims.eval.entity.EvaluationDeptRating;
 import com.ims.eval.entity.dto.result.R;
 import com.ims.eval.service.IEvaluationDeptRatingService;
+import com.ims.eval.util.ExcelUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletRequest;
+import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -18,6 +26,7 @@ import java.util.List;
  * @date 2023/4/28 16:22
  * 文件说明:
  */
+@Slf4j
 @RestController
 @RequestMapping("//evaluation-dept-rating")
 public class DepartmentPerformanceAppraisalRatingController {
@@ -91,4 +100,79 @@ public class DepartmentPerformanceAppraisalRatingController {
 			return R.error().data("删除失败!");
 		}
 	}
+
+	/**
+	 * 导入
+	 *
+	 * @param file
+	 * @param request
+	 * @return
+	 */
+	@PostMapping(value = "/import")
+	public R importData(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
+		if (!file.isEmpty()) {
+			try {
+				//获取原始的文件名
+				String originalFilename = file.getOriginalFilename();
+				//获取文件类型
+				String fileType = originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length());
+				//默认从第一行开始读取
+				int startRows = 1;
+				//获取输入流
+				InputStream is = file.getInputStream();
+				List<EvaluationDeptRating> evaluationDeptRatingList = new ArrayList<>();
+				//Excel导入导出的单元类
+				List<String[]> strings = ExcelUtil.readData(fileType, startRows, true, is);
+				//遍历Excel表每一行的数据
+				for (String[] str : strings) {
+					EvaluationDeptRating evaluationDeptRating = new EvaluationDeptRating();
+					evaluationDeptRating.setId(str[0]);
+					evaluationDeptRating.setDeptId(str[1]);
+					evaluationDeptRating.setDeptName(str[2]);
+					evaluationDeptRating.setAnnual(str[3]);
+					evaluationDeptRating.setJan(str[4]);
+					evaluationDeptRating.setJanContent(str[5]);
+					evaluationDeptRating.setFeb(str[6]);
+					evaluationDeptRating.setFebContent(str[7]);
+					evaluationDeptRating.setMar(str[8]);
+					evaluationDeptRating.setMarContent(str[9]);
+					evaluationDeptRating.setApr(str[10]);
+					evaluationDeptRating.setAprContent(str[11]);
+					evaluationDeptRating.setMay(str[12]);
+					evaluationDeptRating.setMayContent(str[13]);
+					evaluationDeptRating.setJun(str[14]);
+					evaluationDeptRating.setJunContent(str[15]);
+					evaluationDeptRating.setJul(str[16]);
+					evaluationDeptRating.setJulContent(str[17]);
+					evaluationDeptRating.setAug(str[18]);
+					evaluationDeptRating.setAugContent(str[19]);
+					evaluationDeptRating.setSep(str[20]);
+					evaluationDeptRating.setSepContent(str[21]);
+					evaluationDeptRating.setOct(str[22]);
+					evaluationDeptRating.setOctContent(str[23]);
+					evaluationDeptRating.setNov(str[24]);
+					evaluationDeptRating.setNovContent(str[25]);
+					evaluationDeptRating.setDece(str[26]);
+					evaluationDeptRating.setDeceContent(str[27]);
+					evaluationDeptRating.setAcount(str[28]);
+					if (null == str[0] || "".equals(str[0])) {
+						evaluationDeptRating.setCreateTime(DateUtil.date());
+					} else {
+						evaluationDeptRating.setUpdateTime(DateUtil.date());
+					}
+					evaluationDeptRatingList.add(evaluationDeptRating);
+				}
+				boolean b = evaluationDeptRatingService.saveOrUpdateBatch(evaluationDeptRatingList);
+				if (b) {
+					return R.ok().data(b);
+				} else {
+					return R.error().data("保存失败!");
+				}
+			} catch (Exception e) {
+				log.error("错误", e);
+				return R.customError(e.getMessage()).data("失败!");
+			}
+		}
+		return R.customError("上传文件为空!");
+	}
 }