Browse Source

单位考评评级

wangchangsheng 1 year ago
parent
commit
5f023a6e2b

+ 68 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/controller/OrganizationRatingController.java

@@ -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("上传文件为空!");
+	}
+
 }

+ 4 - 3
ims-service/ims-eval/src/main/java/com/ims/eval/entity/OrganizationRating.java

@@ -2,7 +2,8 @@ package com.ims.eval.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import java.time.LocalDateTime;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -86,12 +87,12 @@ public class OrganizationRating extends Model {
     /**
      * 创建时间
      */
-    private LocalDateTime createTime;
+    private Date createTime;
 
     /**
      * 更新时间
      */
-    private LocalDateTime updateTime;
+    private Date updateTime;
 
     /**
      * 备注