package org.jeecg.modules.eam.controller;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.apache.poi.ss.usermodel.*;
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.jeecg.common.api.vo.FileUploadResult;
|
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
import org.jeecg.common.constant.CommonConstant;
|
import org.jeecg.common.exception.JeecgBootException;
|
import org.jeecg.common.system.base.controller.JeecgController;
|
import org.jeecg.common.util.FileUtil;
|
import org.jeecg.modules.eam.constant.BusinessCodeConst;
|
import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum;
|
import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum;
|
import org.jeecg.modules.eam.dto.MaintenanceStandardImport;
|
import org.jeecg.modules.eam.dto.SecondMaintenanceStandardImport;
|
import org.jeecg.modules.eam.dto.ThirdMaintenanceStandardImport;
|
import org.jeecg.modules.eam.dto.WeekMaintenanceStandardImport;
|
import org.jeecg.modules.eam.entity.EamEquipment;
|
import org.jeecg.modules.eam.entity.EamMaintenanceStandard;
|
import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail;
|
import org.jeecg.modules.eam.request.EamMaintenanceStandardRequest;
|
import org.jeecg.modules.eam.service.IEamEquipmentService;
|
import org.jeecg.modules.eam.service.IEamMaintenanceStandardService;
|
import org.jeecg.modules.eam.vo.EamMaintenanceStandardVo;
|
import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
import org.jeecgframework.poi.excel.entity.ImportParams;
|
import org.jeecgframework.poi.util.PoiPublicUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* @Description: 保养标准
|
* @Author: jeecg-boot
|
* @Date: 2025-03-26
|
* @Version: V1.0
|
*/
|
@Slf4j
|
@Api(tags = "保养标准")
|
@RestController
|
@RequestMapping("/eam/maintenanceStandard")
|
public class EamMaintenanceStandardController extends JeecgController<EamMaintenanceStandard, IEamMaintenanceStandardService> {
|
@Autowired
|
private IEamMaintenanceStandardService eamMaintenanceStandardService;
|
@Autowired
|
private ISysBusinessCodeRuleService businessCodeRuleService;
|
@Autowired
|
private IEamEquipmentService eamEquipmentService;
|
|
/**
|
* 流程启动,保存对应的数据
|
* @param id
|
* @return
|
*/
|
@ApiOperation(value = "保养标准-流程启动保存对应的数据", notes = "保养标准-流程启动保存对应的数据")
|
@GetMapping(value = "/saveEamMaintenanceStandardProcess")
|
public Result<?> saveEamMaintenanceStandardProcess(String id){
|
return Result.OK(eamMaintenanceStandardService.saveEamMaintenanceStandardProcess(id));
|
}
|
|
/**
|
* 流程审核
|
* @param eamMaintenanceStandardVo
|
* @return
|
*/
|
@ApiOperation(value = "保养标准-流程审核", notes = "保养标准-流程审核")
|
@PostMapping(value = "/audit")
|
public Result<?> auditEamMaintenanceStandard(EamMaintenanceStandardVo eamMaintenanceStandardVo){
|
return Result.OK(eamMaintenanceStandardService.auditEamMaintenanceStandard(eamMaintenanceStandardVo));
|
}
|
|
/**
|
* 分页列表查询
|
*
|
* @param eamMaintenanceStandard
|
* @param pageNo
|
* @param pageSize
|
* @param req
|
* @return
|
*/
|
@ApiOperation(value = "保养标准-分页列表查询", notes = "保养标准-分页列表查询")
|
@GetMapping(value = "/list")
|
public Result<?> queryPageList(EamMaintenanceStandard eamMaintenanceStandard,
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
HttpServletRequest req) {
|
// QueryWrapper<EamMaintenanceStandard> queryWrapper = QueryGenerator.initQueryWrapper(eamMaintenanceStandard, req.getParameterMap());
|
Page<EamMaintenanceStandard> page = new Page<EamMaintenanceStandard>(pageNo, pageSize);
|
IPage<EamMaintenanceStandard> pageList = eamMaintenanceStandardService.queryPageList(page, eamMaintenanceStandard);
|
return Result.OK(pageList);
|
}
|
|
/**
|
* 添加
|
*
|
* @param standardRequest
|
* @return
|
*/
|
@AutoLog(value = "保养标准-添加")
|
@ApiOperation(value = "保养标准-添加", notes = "保养标准-添加")
|
@PostMapping(value = "/add")
|
public Result<?> add(@RequestBody EamMaintenanceStandardRequest standardRequest) {
|
if (standardRequest == null) {
|
return Result.error("添加的对象不能为空!");
|
}
|
if (CollectionUtil.isEmpty(standardRequest.getTableDetailList())) {
|
return Result.error("保养项不能为空!");
|
}
|
String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
|
standardRequest.setStandardCode(codeSeq);
|
boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
|
if (!b) {
|
return Result.error("添加失败!");
|
}
|
return Result.OK("添加成功!");
|
}
|
|
/**
|
* 编辑
|
*
|
* @param standardRequest
|
* @return
|
*/
|
@AutoLog(value = "保养标准-编辑")
|
@ApiOperation(value = "保养标准-编辑", notes = "保养标准-编辑")
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
|
public Result<?> edit(@RequestBody EamMaintenanceStandardRequest standardRequest) {
|
if (standardRequest == null) {
|
return Result.error("添加的对象不能为空!");
|
}
|
if (CollectionUtil.isEmpty(standardRequest.getTableDetailList())) {
|
return Result.error("保养项不能为空!");
|
}
|
boolean b = eamMaintenanceStandardService.editMaintenanceStandard(standardRequest);
|
if (!b) {
|
return Result.error("编辑失败!");
|
}
|
return Result.OK("编辑成功!");
|
}
|
|
/**
|
* 升版
|
*
|
* @param standardRequest
|
* @return
|
*/
|
@AutoLog(value = "保养标准-升版")
|
@ApiOperation(value = "保养标准-升版", notes = "保养标准-升版")
|
@RequestMapping(value = "/upgrade", method = {RequestMethod.PUT, RequestMethod.POST})
|
public Result<?> upgrade(@RequestBody EamMaintenanceStandardRequest standardRequest) {
|
if (standardRequest == null) {
|
return Result.error("添加的对象不能为空!");
|
}
|
if (CollectionUtil.isEmpty(standardRequest.getTableDetailList())) {
|
return Result.error("保养项不能为空!");
|
}
|
String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
|
standardRequest.setStandardCode(codeSeq);
|
boolean b = eamMaintenanceStandardService.upgradeMaintenanceStandard(standardRequest);
|
if (!b) {
|
return Result.error("升版失败!");
|
}
|
return Result.OK("升版成功!");
|
}
|
|
/**
|
* 查询标准列表-前端展示该用户拥有的标准
|
* @param keyword 设备编号
|
* @param maintenanceCategory 保养类型
|
* @return
|
*/
|
@AutoLog(value = "保养标准-查询标准列表-前端展示该用户拥有的标准")
|
@ApiOperation(value = "保养标准-查询标准列表-前端展示该用户拥有的标准", notes = "保养标准-查询标准列表-前端展示该用户拥有的标准")
|
@GetMapping(value = "/listByUser")
|
public Result<?> listByUser(@RequestParam(name = "keyword", required = false) String keyword,
|
@RequestParam(name = "equipmentId", required = false) String equipmentId,
|
@RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize,
|
@RequestParam(name = "maintenanceCategory", required = false) String maintenanceCategory) {
|
List<EamMaintenanceStandard> list = eamMaintenanceStandardService.queryListByKeywordAndCategory(keyword, equipmentId, pageSize, maintenanceCategory);
|
return Result.OK(list);
|
}
|
|
/**
|
* 通过id删除
|
*
|
* @param id
|
* @return
|
*/
|
@AutoLog(value = "保养标准-通过id删除")
|
@ApiOperation(value = "保养标准-通过id删除", notes = "保养标准-通过id删除")
|
@DeleteMapping(value = "/delete")
|
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
|
EamMaintenanceStandard entity = eamMaintenanceStandardService.getById(id);
|
if (entity != null) {
|
entity.setDelFlag(CommonConstant.DEL_FLAG_1);
|
eamMaintenanceStandardService.updateById(entity);
|
}
|
return Result.OK("删除成功!");
|
}
|
|
/**
|
* 通过id作废
|
*
|
* @param id
|
* @return
|
*/
|
@AutoLog(value = "保养标准-作废")
|
@ApiOperation(value = "保养标准-作废", notes = "保养标准-作废")
|
@DeleteMapping(value = "/abolish")
|
public Result<?> abolish(@RequestParam(name = "id", required = true) String id) {
|
EamMaintenanceStandard entity = eamMaintenanceStandardService.getById(id);
|
if (entity != null) {
|
entity.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name());
|
eamMaintenanceStandardService.updateById(entity);
|
}
|
return Result.OK("作废成功!");
|
}
|
|
/**
|
* 批量删除
|
*
|
* @param ids
|
* @return
|
*/
|
@AutoLog(value = "保养标准-批量删除")
|
@ApiOperation(value = "保养标准-批量删除", notes = "保养标准-批量删除")
|
@DeleteMapping(value = "/deleteBatch")
|
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
|
List<String> list = Arrays.asList(ids.split(","));
|
list.forEach(id -> {
|
EamMaintenanceStandard entity = eamMaintenanceStandardService.getById(id);
|
if (entity != null) {
|
entity.setDelFlag(CommonConstant.DEL_FLAG_1);
|
eamMaintenanceStandardService.updateById(entity);
|
}
|
});
|
return Result.OK("批量删除成功!");
|
}
|
|
/**
|
* 通过id查询
|
*
|
* @param id
|
* @return
|
*/
|
@ApiOperation(value = "保养标准-通过id查询", notes = "保养标准-通过id查询")
|
@GetMapping(value = "/queryById")
|
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
|
EamMaintenanceStandard eamMaintenanceStandard = eamMaintenanceStandardService.getById(id);
|
return Result.OK(eamMaintenanceStandard);
|
}
|
|
/**
|
* 导出excel
|
*
|
* @param request
|
* @param eamMaintenanceStandard
|
*/
|
@RequestMapping(value = "/exportXls")
|
public ModelAndView exportXls(HttpServletRequest request, EamMaintenanceStandard eamMaintenanceStandard) {
|
return super.exportXls(request, eamMaintenanceStandard, EamMaintenanceStandard.class, "保养标准");
|
}
|
|
/**
|
* 通过excel导入数据
|
*
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value = "/inspectionImportExcel", method = RequestMethod.POST)
|
public Result<?> inspectionImportExcel(HttpServletRequest request, HttpServletResponse response) {
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
// 获取上传文件对象
|
MultipartFile file = entity.getValue();
|
ImportParams params = new ImportParams();
|
params.setTitleRows(2);
|
params.setHeadRows(1);
|
params.setSheetNum(1);
|
params.setNeedSave(true);
|
EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
|
try {
|
//读取设备编号,图片等
|
readExcel(file, standardRequest);
|
EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
|
if(equipment == null) {
|
log.error("设备不存在:{}", standardRequest.getEquipmentCode());
|
continue;
|
}
|
standardRequest.setStandardName(standardRequest.getEquipmentName() + "点检标准");
|
standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.POINT_INSPECTION.name());
|
standardRequest.setEquipmentId(equipment.getId());
|
//读取保养明细内容
|
List<MaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), MaintenanceStandardImport.class, params);
|
//明细项
|
List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
|
standardRequest.setTableDetailList(tableList);
|
String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
|
standardRequest.setStandardCode(codeSeq);
|
boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
|
if (!b) {
|
log.error("保存失败! {}", standardRequest.getEquipmentCode());
|
}
|
} catch (Exception e) {
|
//update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
|
String msg = e.getMessage();
|
log.error("文件 {} 处理异常: {}", file.getOriginalFilename(), msg, e);
|
//update-end-author:taoyan date:20211124 for: 导入数据重复增加提示
|
} finally {
|
try {
|
file.getInputStream().close();
|
} catch (IOException e) {
|
log.error(e.getMessage(), e);
|
}
|
}
|
}
|
return Result.ok("文件导入完成!");
|
}
|
|
/**
|
* 通过excel导入数据
|
*
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value = "/weekMaintenanceImportExcel", method = RequestMethod.POST)
|
public Result<?> weekMaintenanceImportExcel(HttpServletRequest request, HttpServletResponse response) {
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
// 获取上传文件对象
|
MultipartFile file = entity.getValue();
|
ImportParams params = new ImportParams();
|
params.setTitleRows(2);
|
params.setHeadRows(1);
|
params.setSheetNum(1);
|
params.setNeedSave(true);
|
EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
|
try {
|
//读取设备编号,图片等
|
readWeekExcel(file, standardRequest);
|
EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
|
if(equipment == null) {
|
log.error("设备不存在:{}", standardRequest.getEquipmentCode());
|
continue;
|
}
|
standardRequest.setStandardName(standardRequest.getEquipmentName() + "周保标准");
|
standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.WEEK_MAINTENANCE.name());
|
standardRequest.setEquipmentId(equipment.getId());
|
//读取保养明细内容
|
List<WeekMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), WeekMaintenanceStandardImport.class, params);
|
//明细项
|
List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
|
standardRequest.setTableDetailList(tableList);
|
String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
|
standardRequest.setStandardCode(codeSeq);
|
boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
|
if (!b) {
|
log.error("保存失败! {}", standardRequest.getEquipmentCode());
|
}
|
} catch (Exception e) {
|
//update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
|
String msg = e.getMessage();
|
log.error("文件 {} 处理异常: {}", file.getOriginalFilename(), msg, e);
|
//update-end-author:taoyan date:20211124 for: 导入数据重复增加提示
|
} finally {
|
try {
|
file.getInputStream().close();
|
} catch (IOException e) {
|
log.error(e.getMessage(), e);
|
}
|
}
|
}
|
return Result.ok("文件导入完成!");
|
}
|
|
/**
|
* 通过excel导入数据
|
*
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value = "/secondMaintenanceImportExcel", method = RequestMethod.POST)
|
public Result<?> secondMaintenanceImportExcel(HttpServletRequest request, HttpServletResponse response) {
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
// 获取上传文件对象
|
MultipartFile file = entity.getValue();
|
ImportParams params = new ImportParams();
|
params.setTitleRows(2);
|
params.setHeadRows(1);
|
params.setSheetNum(1);
|
params.setNeedSave(true);
|
EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
|
try {
|
//读取设备编号,图片等
|
readWeekExcel(file, standardRequest);
|
EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
|
if(equipment == null) {
|
log.error("设备不存在:{}", standardRequest.getEquipmentCode());
|
continue;
|
}
|
standardRequest.setStandardName(standardRequest.getEquipmentName() + "二保标准");
|
standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.SECOND_MAINTENANCE.name());
|
standardRequest.setEquipmentId(equipment.getId());
|
//读取保养明细内容
|
List<SecondMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), SecondMaintenanceStandardImport.class, params);
|
//明细项
|
List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
|
standardRequest.setTableDetailList(tableList);
|
String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
|
standardRequest.setStandardCode(codeSeq);
|
boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
|
if (!b) {
|
log.error("保存失败! {}", standardRequest.getEquipmentCode());
|
}
|
} catch (Exception e) {
|
//update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
|
String msg = e.getMessage();
|
log.error("文件 {} 处理异常: {}", file.getOriginalFilename(), msg, e);
|
//update-end-author:taoyan date:20211124 for: 导入数据重复增加提示
|
} finally {
|
try {
|
file.getInputStream().close();
|
} catch (IOException e) {
|
log.error(e.getMessage(), e);
|
}
|
}
|
}
|
return Result.ok("文件导入完成!");
|
}
|
|
/**
|
* 通过excel导入数据
|
*
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value = "/thirdMaintenanceImportExcel", method = RequestMethod.POST)
|
public Result<?> thirdMaintenanceImportExcel(HttpServletRequest request, HttpServletResponse response) {
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
// 获取上传文件对象
|
MultipartFile file = entity.getValue();
|
ImportParams params = new ImportParams();
|
params.setTitleRows(2);
|
params.setHeadRows(1);
|
params.setSheetNum(1);
|
params.setNeedSave(true);
|
EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
|
try {
|
//读取设备编号,图片等
|
readWeekExcel(file, standardRequest);
|
EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
|
if(equipment == null) {
|
log.error("设备不存在:{}", standardRequest.getEquipmentCode());
|
continue;
|
}
|
standardRequest.setStandardName(standardRequest.getEquipmentName() + "三保标准");
|
standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.THIRD_MAINTENANCE.name());
|
standardRequest.setEquipmentId(equipment.getId());
|
//读取保养明细内容
|
List<ThirdMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), ThirdMaintenanceStandardImport.class, params);
|
//明细项
|
List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
|
standardRequest.setTableDetailList(tableList);
|
String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
|
standardRequest.setStandardCode(codeSeq);
|
boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
|
if (!b) {
|
log.error("保存失败! {}", standardRequest.getEquipmentCode());
|
}
|
} catch (Exception e) {
|
//update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
|
String msg = e.getMessage();
|
log.error("文件 {} 处理异常: {}", file.getOriginalFilename(), msg, e);
|
//update-end-author:taoyan date:20211124 for: 导入数据重复增加提示
|
} finally {
|
try {
|
file.getInputStream().close();
|
} catch (IOException e) {
|
log.error(e.getMessage(), e);
|
}
|
}
|
}
|
return Result.ok("文件导入完成!");
|
}
|
|
/**
|
* 读取Excel 第一行, 第二行的信息,包括图片信息
|
* @param file
|
* @param request
|
*/
|
private void readExcel(MultipartFile file, EamMaintenanceStandardRequest request) {
|
Workbook book = null;
|
boolean isXSSFWorkbook = false;
|
try {
|
book = WorkbookFactory.create(file.getInputStream());
|
if (book instanceof XSSFWorkbook) {
|
isXSSFWorkbook = true;
|
}
|
|
Sheet sheet = book.getSheetAt(0);
|
//第一行读取
|
Row row = sheet.getRow(0);
|
//设备编码
|
Cell equipmentCode = row.getCell(15);
|
if(CellType.NUMERIC.equals(equipmentCode.getCellType())) {
|
request.setEquipmentCode(String.valueOf((int) equipmentCode.getNumericCellValue()));
|
}else if(CellType.STRING.equals(equipmentCode.getCellType())) {
|
request.setEquipmentCode(equipmentCode.getStringCellValue());
|
}
|
if (StringUtils.isBlank(request.getEquipmentCode())) {
|
throw new JeecgBootException("Excel【 " + file.getOriginalFilename() + "】没有读取到设备编号,导入失败!");
|
}
|
//初始日期
|
Cell initialDate = row.getCell(11);
|
if (DateUtil.isCellDateFormatted(initialDate)) {
|
request.setInitialDate(initialDate.getDateCellValue());
|
} else {
|
request.setInitialDate(new Date());
|
}
|
//设备名称
|
Cell equipmentName = row.getCell(13);
|
request.setEquipmentName(equipmentName.getStringCellValue());
|
|
//第二行读取
|
row = sheet.getRow(1);
|
//保养周期
|
Cell period = row.getCell(11);
|
if (CellType.NUMERIC.equals(period.getCellType())) {
|
request.setMaintenancePeriod((int) period.getNumericCellValue());
|
} else {
|
//默认点检周期 1
|
request.setMaintenancePeriod(1);
|
}
|
//文件编码
|
Cell fileCode = row.getCell(13);
|
request.setFileCode(fileCode.getStringCellValue());
|
} catch (Exception e) {
|
log.error("读取Excel信息失败:{}", e.getMessage(), e);
|
}
|
}
|
|
/**
|
* 读取Excel 第一行, 第二行的信息
|
* @param file
|
* @param request
|
*/
|
public void readWeekExcel(MultipartFile file, EamMaintenanceStandardRequest request) {
|
Workbook book = null;
|
boolean isXSSFWorkbook = false;
|
try {
|
book = WorkbookFactory.create(file.getInputStream());
|
if (book instanceof XSSFWorkbook) {
|
isXSSFWorkbook = true;
|
}
|
|
Sheet sheet = book.getSheetAt(0);
|
//第一行读取
|
Row row = sheet.getRow(0);
|
//设备编码
|
Cell equipmentCode = row.getCell(10);
|
if(CellType.NUMERIC.equals(equipmentCode.getCellType())) {
|
request.setEquipmentCode(String.valueOf((int) equipmentCode.getNumericCellValue()));
|
}else if(CellType.STRING.equals(equipmentCode.getCellType())) {
|
request.setEquipmentCode(equipmentCode.getStringCellValue());
|
}
|
if (StringUtils.isBlank(request.getEquipmentCode())) {
|
throw new JeecgBootException("Excel【 " + file.getOriginalFilename() + "】没有读取到设备编号,导入失败!");
|
}
|
//初始日期
|
Cell initialDate = row.getCell(6);
|
if (DateUtil.isCellDateFormatted(initialDate)) {
|
request.setInitialDate(initialDate.getDateCellValue());
|
} else {
|
request.setInitialDate(new Date());
|
}
|
//设备名称
|
Cell equipmentName = row.getCell(8);
|
request.setEquipmentName(equipmentName.getStringCellValue());
|
|
//第二行读取
|
row = sheet.getRow(1);
|
//保养周期
|
Cell period = row.getCell(6);
|
if (CellType.NUMERIC.equals(period.getCellType())) {
|
request.setMaintenancePeriod((int) period.getNumericCellValue());
|
} else {
|
request.setMaintenancePeriod(null);
|
}
|
//文件编码
|
Cell fileCode = row.getCell(8);
|
request.setFileCode(fileCode.getStringCellValue());
|
} catch (Exception e) {
|
log.error("读取Excel信息失败:{}", e.getMessage(), e);
|
}
|
}
|
}
|