From e9cbc4b86621cfdc2b7039e56fad760e80865389 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <279049017@qq.com> Date: Tue, 17 Nov 2020 17:53:36 +0800 Subject: [PATCH] Merge branch 'dev' of ssh://192.168.2.240:29418/kidgrow-microservices-platform into dev --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ScreeningOrganizationInfoController.java | 88 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 78 insertions(+), 10 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ScreeningOrganizationInfoController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ScreeningOrganizationInfoController.java index 9c856e7..0a12b38 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ScreeningOrganizationInfoController.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ScreeningOrganizationInfoController.java @@ -1,11 +1,14 @@ package com.kidgrow.oprationcenter.controller; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSONObject; import com.kidgrow.common.controller.BaseController; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.utils.ExcelUtil; import com.kidgrow.common.utils.QRCodeUtil; +import com.kidgrow.oprationcenter.model.ScreeningOrganizationExcel; import com.kidgrow.oprationcenter.model.ScreeningOrganizationInfo; import com.kidgrow.oprationcenter.service.IScreeningOrganizationInfoService; import com.kidgrow.redis.util.RedisUtils; @@ -20,13 +23,12 @@ import org.springframework.validation.BindingResult; import org.springframework.validation.ObjectError; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Decoder; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.io.OutputStream; +import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -180,22 +182,88 @@ out = response.getOutputStream(); fileInputStream = new ByteArrayInputStream(arr); int len = 0; - byte[] by = new byte[1024*10]; - while ((len = fileInputStream.read(by))>0){ - out.write(by,0,len); + byte[] by = new byte[1024 * 10]; + while ((len = fileInputStream.read(by)) > 0) { + out.write(by, 0, len); } - }catch (Exception w){ - log.error("",w); - }finally { + } catch (Exception w) { + log.error("", w); + } finally { try { out.close(); fileInputStream.close(); - }catch(Exception w){ + } catch (Exception w) { } } } + + /** + * 导入文件 + */ + @ApiOperation(value = "导入") + @PostMapping("/import") + public ResultBody downLoad(@RequestParam("file") MultipartFile excel, + @RequestParam("hospitalId") String hospitalId, + @RequestParam("areaCode") String areaCode, + @RequestParam("areaName") String areaName, + @RequestParam("hospitalName") String hospitalName) { + + int rowNum = 0; + + try { + if (!excel.isEmpty()) { + List<ScreeningOrganizationExcel> list = ExcelUtil.importExcel(excel, 0, 1, ScreeningOrganizationExcel.class); + rowNum = list.size(); + if (rowNum > 0) { + List<ScreeningOrganizationInfo> users = new ArrayList<>(rowNum); + String[] area = areaCode.split("#"); + + list.forEach(u -> { + ScreeningOrganizationInfo user = new ScreeningOrganizationInfo(); + BeanUtil.copyProperties(u, user); + user.setSourceHospitalName(hospitalName); + user.setSourceHospitalId(Long.parseLong(hospitalId)); + user.setProvince(area[0]); + user.setCity(area[1]); + user.setArea(area[2]); + user.setAreaCode(areaName); + users.add(user); + }); + organizationInfoService.saveBatch(users); + } + } + } catch (Exception e) { + log.error("导入失败", e); + } + return ResultBody.ok().msg("导入数据成功,一共【" + rowNum + "】行"); + } + + /** + * 下载模板 + */ + @ApiOperation(value = "下载模板") + @PostMapping("/export") + public void export(HttpServletResponse response) { + try { + InputStream inStream =this.getClass().getResourceAsStream("/static/pages/template/机构导入模板.xlsx"); + // 设置输出的格式 + response.reset(); + response.setContentType("bin"); + response.addHeader("Content-Disposition", "attachment; filename=机构导入模板.xlsx"); + // 循环取出流中的数据 + byte[] b = new byte[100]; + int len; + + while ((len = inStream.read(b)) > 0) { + response.getOutputStream().write(b, 0, len); + } + inStream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } } -- Gitblit v1.8.0