fengjin
2022-11-08 9bbe23024b988c44abcaeb81f725ad3d13a42fc0
办事指南导入功能
4个文件已修改
170 ■■■■■ 已修改文件
flower_city/pom.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/controller/TransactionEventController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/service/ITransactionEventService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/pom.xml
@@ -93,6 +93,20 @@
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.1</version>
        </dependency>
        <dependency>
            <groupId>com.icexxx</groupId>
            <artifactId>iceworkday</artifactId>
            <version>2.0.2.0</version>
flower_city/src/main/java/com/dg/core/controller/TransactionEventController.java
@@ -303,8 +303,11 @@
    {
        boolean a = false;
        String fileName = file.getOriginalFilename();
        return  null;
        boolean b = iTransactionEventService.batchImport(fileName, file);
        if (b){
            return  ResultData.success("导入成功");
        }
        return   ResultData.error("导入失败");
    }
flower_city/src/main/java/com/dg/core/service/ITransactionEventService.java
@@ -7,6 +7,7 @@
import com.dg.core.db.manual.pojo.RecommendResult;
import com.dg.core.db.manual.pojo.Search;
import org.springframework.data.repository.query.Param;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -150,5 +151,6 @@
     * @return
     */
    List<TransactionEvent> selectClassifyList(List<String> ids);
    boolean batchImport(String fileName, MultipartFile file) ;
}
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()+"&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;
    }
}