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 | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 165 insertions(+), 5 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 9c9e4d3..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 @@ -5,18 +5,24 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dg.core.db.gen.entity.*; -import com.dg.core.db.gen.mapper.AutomessageTransactionEventInterviewMapper; -import com.dg.core.db.gen.mapper.KeywordMapper; -import com.dg.core.db.gen.mapper.OrganizationChartMapper; -import com.dg.core.db.gen.mapper.TransactionEventMapper; +import com.dg.core.db.gen.mapper.*; import com.dg.core.db.manual.pojo.QueryResults; import com.dg.core.db.manual.pojo.RecommendResult; 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; import java.time.format.DateTimeFormatter; @@ -36,6 +42,10 @@ @Resource private AutomessageTransactionEventInterviewMapper automessageTransactionEventInterviewMapper; + + + @Resource + private GuideRepairOrderMapper guideRepairOrderMapper; @Override public TransactionEvent selectConfigData(String Id, SysUser sysUser) { @@ -88,7 +98,12 @@ @Override public int deleteConfigById(String Id) { - return baseMapper.deleteConfigById(Id); + List<GuideRepairOrder> guideRepairOrders = guideRepairOrderMapper + .selectList(new QueryWrapper<GuideRepairOrder>().lambda().eq(GuideRepairOrder::getMatterId, Id)); + if (guideRepairOrders.size() == 0){ + return baseMapper.deleteConfigById(Id); + } + return 0; } @Override @@ -243,4 +258,149 @@ return baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda()); } } + + + @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