From 9bbe23024b988c44abcaeb81f725ad3d13a42fc0 Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期二, 08 十一月 2022 16:26:06 +0800 Subject: [PATCH] 办事指南导入功能 --- flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java | 147 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 147 insertions(+), 0 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java index 0d3a4c8..8afa77d 100644 --- a/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java +++ b/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java @@ -11,11 +11,17 @@ import com.dg.core.db.manual.pojo.Search; import com.dg.core.service.ITransactionEventService; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.io.InputStream; import java.time.LocalDate; import java.time.LocalDateTime; @@ -254,6 +260,147 @@ } + @Override + public boolean batchImport(String fileName, MultipartFile file) { + boolean notNull = false; + if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { + throw new RuntimeException("选择文件格式不正确,请下载模板上传"); + } + boolean isExcel2003 = true; + if (fileName.matches("^.+\\.(?i)(xlsx)$")) { + isExcel2003 = false; + } + InputStream is = null; + try { + is = file.getInputStream(); + } catch (IOException e) { + throw new RuntimeException(e); + } + Workbook wb = null; + + if (isExcel2003) { + try { + wb = new HSSFWorkbook(is); + } catch (IOException e) { + throw new RuntimeException(e); + } + } else { + try { + wb = new XSSFWorkbook(is); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + // 获取excel的sheet页数 + int numberOfSheets = wb.getNumberOfSheets(); + //获取excel字段名称进行比较 + Sheet sheetAt = wb.getSheetAt(0); + Row row1 = sheetAt.getRow(2); + TransactionEvent transactionEvent = baseMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda().eq(TransactionEvent::getMatterName, row1.getCell(1).getStringCellValue())); + boolean isAdd=false; + if(transactionEvent==null){ + transactionEvent=new TransactionEvent(); + isAdd=true; + } + transactionEvent.setMatterName(row1.getCell(1).getStringCellValue()); + Row row2 = sheetAt.getRow(3); + transactionEvent.setSetGist("<p>"+row2.getCell(1).getStringCellValue()+"</p>"); + Row row3 = sheetAt.getRow(4); + Row row4 = sheetAt.getRow(5); + transactionEvent.setBasicInformation("<p> 事项名称:"+row1.getCell(1).getStringCellValue()+"<br />" + +row3.getCell(0).getStringCellValue()+":"+row3.getCell(1).getStringCellValue()+"<br />" + +row3.getCell(3).getStringCellValue()+":"+row3.getCell(4).getStringCellValue()+"<br />" + +row4.getCell(0).getStringCellValue()+":"+row4.getCell(1).getStringCellValue()+"</p>"); + int i=7; + String applicationMaterial="<p>"; + while (true){ + Row row = sheetAt.getRow(i); + if (row.getCell(0).getStringCellValue().equals("办理途径、条件和注意事项")){ + i=i+2; + break; + } + applicationMaterial=applicationMaterial+"办理区域:"+row.getCell(0).getStringCellValue()+"<br />" + +"咨询电话:"+row.getCell(1).getStringCellValue()+"<br />" + +"办公地址:"+row.getCell(2).getStringCellValue()+"<br />" + +"办公时间:"+row.getCell(3).getStringCellValue()+"<br />"; + applicationMaterial=applicationMaterial+"<br />"; + i++; + } + applicationMaterial=applicationMaterial+"</p>"; + transactionEvent.setApplicationMaterial(applicationMaterial); + String acceptConditions="<p>"; + while (true){ + Row row = sheetAt.getRow(i); + if (row.getCell(0).getStringCellValue().equals("(二)网上申报")){ + i=i+1; + break; + } + acceptConditions=acceptConditions+row.getCell(0).getStringCellValue()+" " + +row.getCell(1).getStringCellValue()+" " + +row.getCell(2).getStringCellValue()+" "; + acceptConditions=acceptConditions+"<br />"; + i++; + } + acceptConditions=acceptConditions+"</p>"; + transactionEvent.setAcceptConditions(acceptConditions); + String rates="<p>"; + while (true){ + Row row = sheetAt.getRow(i); + if (row.getCell(0).getStringCellValue().equals("(三)手机移动申报")){ + i=i+1; + break; + } + rates=rates+row.getCell(0).getStringCellValue()+" " + +row.getCell(1).getStringCellValue()+" " + +row.getCell(2).getStringCellValue()+" "; + rates=rates+"<br />"; + i++; + } + rates=rates+"</p>"; + transactionEvent.setRates(rates); + String transactionArea="<p>"; + while (true){ + Row row = sheetAt.getRow(i); + if (row.getCell(0).getStringCellValue().equals("(四)经营许可(备案)事项程序运行图谱(附电子版)")){ + i=i+1; + break; + } + transactionArea=transactionArea+row.getCell(0).getStringCellValue()+" " + +row.getCell(1).getStringCellValue()+" " + +row.getCell(2).getStringCellValue()+" "; + transactionArea=transactionArea+"<br />"; + i++; + } + transactionArea=transactionArea+"</p>"; + transactionEvent.setTransactionArea(transactionArea); + String handlingProcedures="<p>"; + while (true){ + Row row = sheetAt.getRow(i); + if (row.getCell(0).getStringCellValue().equals("(五)经营许可(备案)事项实施内容一览表(附电子版)")){ + i=i+1; + break; + } + handlingProcedures=handlingProcedures+row.getCell(0).getStringCellValue()+" " + +row.getCell(1).getStringCellValue()+" " + +row.getCell(2).getStringCellValue()+" "; + handlingProcedures=handlingProcedures+"<br />"; + i++; + } + handlingProcedures=handlingProcedures+"</p>"; + transactionEvent.setHandlingProcedures(handlingProcedures); + int ans; + if (isAdd){ + ans= baseMapper.insert(transactionEvent); + }else { + ans =baseMapper.updateById(transactionEvent); + } + if (ans>0){ + return true; + } + return false; + } + + } -- Gitblit v1.7.1