|
@@ -1,16 +1,22 @@
|
|
|
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.OrganizationRating;
|
|
|
import com.ims.eval.entity.dto.result.R;
|
|
|
import com.ims.eval.service.IOrganizationRatingService;
|
|
|
+import com.ims.eval.util.ExcelUtil;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
+import java.io.InputStream;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -85,4 +91,66 @@ public class OrganizationRatingController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导入
|
|
|
+ *
|
|
|
+ * @param file 文件
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @PostMapping(value = "/import")
|
|
|
+ public R importData(@RequestParam("file") MultipartFile file) {
|
|
|
+ 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<OrganizationRating> organizationRatingList = new ArrayList<>();
|
|
|
+ //Excel导入导出的单元类
|
|
|
+ List<String[]> strings = ExcelUtil.readData(fileType, startRows, true, is);
|
|
|
+ //遍历Excel表每一行的数据
|
|
|
+ for (String[] str : strings) {
|
|
|
+ OrganizationRating organizationRating = new OrganizationRating();
|
|
|
+
|
|
|
+ organizationRating.setId(str[0]);//主键
|
|
|
+ organizationRating.setOrganizationShortName(str[1]);//考评组织名称
|
|
|
+ organizationRating.setOrganizationId(str[2]);//考评组织ID
|
|
|
+ organizationRating.setBinSection(str[3]);//板块id
|
|
|
+ organizationRating.setYear(str[5]);//年度
|
|
|
+ organizationRating.setScjyRate(str[6]);//生产经营评级
|
|
|
+ organizationRating.setQqRate(str[7]);//基建评级
|
|
|
+ organizationRating.setJjRate(str[8]);//基建评级
|
|
|
+ organizationRating.setYearRate(str[9]);//年度评级
|
|
|
+ organizationRating.setRemark(str[10]);
|
|
|
+
|
|
|
+
|
|
|
+ if (null == str[0] || "".equals(str[0])) {
|
|
|
+ organizationRating.setCreateTime(DateUtil.date());
|
|
|
+ } else {
|
|
|
+ organizationRating.setUpdateTime(DateUtil.date());
|
|
|
+ }
|
|
|
+ organizationRatingList.add(organizationRating);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ boolean b = organizationRatingService.saveOrUpdateBatch(organizationRatingList);
|
|
|
+ if (b) {
|
|
|
+ return R.ok().data(b);
|
|
|
+ } else {
|
|
|
+ return R.error().data("保存失败!");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ return R.customError(e.getMessage()).data("失败!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return R.customError("上传文件为空!");
|
|
|
+ }
|
|
|
+
|
|
|
}
|