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()+"&nbsp; "
+                    +row.getCell(1).getStringCellValue()+"&nbsp; "
+                    +row.getCell(2).getStringCellValue()+"&nbsp; ";
+            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()+"&nbsp; "
+                    +row.getCell(1).getStringCellValue()+"&nbsp; "
+                    +row.getCell(2).getStringCellValue()+"&nbsp; ";
+            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()+"&nbsp; "
+                    +row.getCell(1).getStringCellValue()+"&nbsp; "
+                    +row.getCell(2).getStringCellValue()+"&nbsp; ";
+            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()+"&nbsp; "
+                    +row.getCell(1).getStringCellValue()+"&nbsp; "
+                    +row.getCell(2).getStringCellValue()+"&nbsp; ";
+            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