diff --git a/device/src/main/java/com/njcn/gather/device/device/controller/PqDevController.java b/device/src/main/java/com/njcn/gather/device/device/controller/PqDevController.java index c91376a9..8c6d44eb 100644 --- a/device/src/main/java/com/njcn/gather/device/device/controller/PqDevController.java +++ b/device/src/main/java/com/njcn/gather/device/device/controller/PqDevController.java @@ -168,6 +168,36 @@ public class PqDevController extends BaseController { } } + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD) + @PostMapping(value = "/importContrastData") + @ApiOperation("批量导入被检设备数据") + @ApiImplicitParam(name = "file", value = "被检设备数据文件", required = true) + public HttpResult importContrastData(@RequestParam("file") MultipartFile file, HttpServletResponse response) { + String methodDescribe = getMethodDescribe("importContrastData"); + LogUtil.njcnDebug(log, "{},上传文件为:{}", methodDescribe, file.getOriginalFilename()); + ImportParams params = new ImportParams(); + params.setHeadRows(2); + params.setNeedVerify(true); + params.setStartSheetIndex(0); + params.setSheetNum(1); + try { + ExcelImportResult excelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), PqDevExcel.ContrastImportData.class, params); + //如果存在非法数据,将不合格的数据导出 + if (excelImportResult.isVerifyFail()) { + // 此处前端要做特殊处理,具体可以参考技术监督的数据导入 + Workbook failWorkbook = excelImportResult.getFailWorkbook(); + PoiUtil.exportFileByWorkbook(failWorkbook, "非法被检设备数据.xlsx", response); + } else { + //批量录入数据 + List list = excelImportResult.getList(); + pqDevService.importContrastData(list); + } + } catch (Exception e) { + throw new BusinessException(DevResponseEnum.IMPORT_DATA_FAIL); + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD) @PostMapping(value = "/import") @ApiOperation("批量导入被检设备数据")