| | |
| | | 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.*; |
| | | 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; |
| | |
| | | |
| | | @Resource |
| | | private AutomessageTransactionEventInterviewMapper automessageTransactionEventInterviewMapper; |
| | | |
| | | |
| | | @Resource |
| | | private GuideRepairOrderMapper guideRepairOrderMapper; |
| | | |
| | | |
| | | @Resource |
| | | private AutomessagePolicyDocumentsMapper automessagePolicyDocumentsMapper; |
| | | |
| | | @Override |
| | | public TransactionEvent selectConfigData(String Id, SysUser sysUser) { |
| | |
| | | |
| | | @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 |
| | |
| | | for (Search search : searches) { |
| | | search.setTransactionEventList(baseMapper.queryMatterNameList(keyWord, search.getClassifyId().toString())); |
| | | } |
| | | queryResults.setOrganizationChartEntityList(organizationChartMapper.selectByKeyWord(keyWord)); |
| | | queryResults.setSearchList(searches); |
| | | List<Search> searchesAssociate = baseMapper.selectSearchAssociateDistinct(keyWord); |
| | | for (Search search : searchesAssociate) { |
| | |
| | | } |
| | | queryResults.setTransactionEventList(searchesAssociate); |
| | | queryResults.setKeywordEntityList(keywordMapper.selectByName(keyWord)); |
| | | queryResults.setAutomessagePolicyDocuments(automessagePolicyDocumentsMapper.selectConfigList(keyWord,"2",null,null)); |
| | | queryResults.setRegulations(automessagePolicyDocumentsMapper.selectConfigList(keyWord,"1",null,null)); |
| | | return queryResults; |
| | | } |
| | | |
| | |
| | | } |
| | | recommendResult.setKeywordEntityList(keywordEntityList); |
| | | List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByKeyWord(keyWord); |
| | | recommendResult.setAutomessagePolicyDocuments(automessagePolicyDocumentsMapper.selectConfigList(keyWord,"2",null,null)); |
| | | recommendResult.setRegulations(automessagePolicyDocumentsMapper.selectConfigList(keyWord,"1",null,null)); |
| | | recommendResult.setOrganizationChartEntityList(organizationChartEntities); |
| | | return recommendResult; |
| | | } |
| | |
| | | @Override |
| | | public List<String> selectclassifyId(String classifyId) { |
| | | return baseMapper.selectclassifyId(classifyId); |
| | | } |
| | | |
| | | @Override |
| | | public List<TransactionEvent> selectClassifyList(List<String> ids) { |
| | | return baseMapper.selectClassifyList(ids); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | @Override |
| | | public List<TransactionEvent> selectList(String keyWord) { |
| | | if (keyWord!=null&&keyWord!=""){ |
| | | return baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda().like(TransactionEvent::getMatterName,keyWord)); |
| | | } |
| | | else { |
| | | return baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda()); |
| | | if (keyWord != null && keyWord != "") { |
| | | return baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda().like(TransactionEvent::getMatterName, keyWord)); |
| | | } else { |
| | | return baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda()); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Integer 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); |
| | | } |
| | | } |
| | | Integer failNum = 0;//失败数量 |
| | | // 获取excel的sheet页数 |
| | | int numberOfSheets = wb.getNumberOfSheets(); |
| | | for (int j = 0; j < numberOfSheets; j++) { |
| | | int i = 2; |
| | | //获取excel字段名称进行比较 |
| | | Sheet sheetAt = wb.getSheetAt(j); |
| | | if(sheetAt.getRow(2)!=null){ |
| | | if (new DataFormatter().formatCellValue(sheetAt.getRow(1).getCell(1)).length()>=3){ |
| | | i--; |
| | | } |
| | | Row row1 = sheetAt.getRow(i); |
| | | TransactionEvent transactionEvent = baseMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda().eq(TransactionEvent::getMatterName, new DataFormatter().formatCellValue(row1.getCell(1)))); |
| | | boolean isAdd = false; |
| | | if (transactionEvent == null) { |
| | | transactionEvent = new TransactionEvent(); |
| | | isAdd = true; |
| | | } |
| | | transactionEvent.setMatterName(new DataFormatter().formatCellValue(row1.getCell(1))); |
| | | Row row2 = sheetAt.getRow(i+1); |
| | | transactionEvent.setSetGist("<p>" + new DataFormatter().formatCellValue(row2.getCell(1)) + "</p>"); |
| | | Row row3 = sheetAt.getRow(i+2); |
| | | Row row4 = sheetAt.getRow(i+3); |
| | | transactionEvent.setBasicInformation("<p> 事项名称:" + new DataFormatter().formatCellValue(row1.getCell(1)) + "<br />" |
| | | + new DataFormatter().formatCellValue(row3.getCell(0)) + ":" + new DataFormatter().formatCellValue(row3.getCell(1))+ "<br />" |
| | | + new DataFormatter().formatCellValue(row3.getCell(3)) + ":" + new DataFormatter().formatCellValue(row3.getCell(4)) + "<br />" |
| | | + new DataFormatter().formatCellValue(row4.getCell(0)) + ":" + new DataFormatter().formatCellValue(row4.getCell(1)) + "</p>"); |
| | | i = i+5; |
| | | String applicationMaterial = "<p>"; |
| | | while (true) { |
| | | Row row = sheetAt.getRow(i); |
| | | if (new DataFormatter().formatCellValue(row.getCell(0)).equals("办理途径、条件和注意事项")) { |
| | | i = i + 2; |
| | | break; |
| | | } |
| | | applicationMaterial = applicationMaterial + "办理区域:" + new DataFormatter().formatCellValue(row.getCell(0)) + "<br />" |
| | | + "部门名称:" + new DataFormatter().formatCellValue(row.getCell(1)) + "<br />" |
| | | + "咨询电话:" + new DataFormatter().formatCellValue(row.getCell(2)) + "<br />" |
| | | + "办公地址:" + new DataFormatter().formatCellValue(row.getCell(3)) + "<br />" |
| | | + "办公时间:" + new DataFormatter().formatCellValue(row.getCell(4)) + "<br />"; |
| | | applicationMaterial = applicationMaterial + "<br />"; |
| | | i++; |
| | | } |
| | | applicationMaterial = applicationMaterial + "</p>"; |
| | | transactionEvent.setApplicationMaterial(applicationMaterial); |
| | | String acceptConditions = "<p>"; |
| | | while (true) { |
| | | Row row = sheetAt.getRow(i); |
| | | if (new DataFormatter().formatCellValue(row.getCell(0)).equals("(二)网上申报")) { |
| | | i = i + 1; |
| | | break; |
| | | } |
| | | acceptConditions = acceptConditions + new DataFormatter().formatCellValue(row.getCell(0)) + " " |
| | | +new DataFormatter().formatCellValue( row.getCell(1)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(2)) + " " |
| | | +new DataFormatter().formatCellValue( row.getCell(3)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(4)) + " "; |
| | | acceptConditions = acceptConditions + "<br />"; |
| | | i++; |
| | | } |
| | | acceptConditions = acceptConditions + "</p>"; |
| | | transactionEvent.setAcceptConditions(acceptConditions); |
| | | String rates = "<p>"; |
| | | while (true) { |
| | | Row row = sheetAt.getRow(i); |
| | | if (new DataFormatter().formatCellValue(row.getCell(0)).equals("(三)手机移动申报")) { |
| | | i = i + 1; |
| | | break; |
| | | } |
| | | rates = rates + new DataFormatter().formatCellValue(row.getCell(0)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(1)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(2)) + " " |
| | | +new DataFormatter().formatCellValue( row.getCell(3)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(4)) + " "; |
| | | rates = rates + "<br />"; |
| | | i++; |
| | | } |
| | | rates = rates + "</p>"; |
| | | transactionEvent.setRates(rates); |
| | | String transactionArea = "<p>"; |
| | | while (true) { |
| | | Row row = sheetAt.getRow(i); |
| | | if (new DataFormatter().formatCellValue(row.getCell(0)).equals("(四)经营许可(备案)事项程序运行图谱(附电子版)")) { |
| | | i = i + 1; |
| | | break; |
| | | } |
| | | transactionArea = transactionArea + new DataFormatter().formatCellValue(row.getCell(0)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(1)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(2)) + " " |
| | | +new DataFormatter().formatCellValue( row.getCell(3)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(4)) + " "; |
| | | transactionArea = transactionArea + "<br />"; |
| | | i++; |
| | | } |
| | | transactionArea = transactionArea + "</p>"; |
| | | transactionEvent.setTransactionArea(transactionArea); |
| | | String handlingProcedures = "<p>"; |
| | | while (true) { |
| | | Row row = sheetAt.getRow(i); |
| | | if (new DataFormatter().formatCellValue(row.getCell(0)).equals("(五)经营许可(备案)事项实施内容一览表(附电子版)")) { |
| | | i = i + 1; |
| | | break; |
| | | } |
| | | handlingProcedures = handlingProcedures + new DataFormatter().formatCellValue(row.getCell(0)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(1)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(2)) + " " |
| | | +new DataFormatter().formatCellValue( row.getCell(3)) + " " |
| | | + new DataFormatter().formatCellValue(row.getCell(4)) + " "; |
| | | 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) { |
| | | failNum++; |
| | | } |
| | | } |
| | | |
| | | } |
| | | if (failNum == 0) {// |
| | | return 3;//全部导入成功 |
| | | } else if (failNum < numberOfSheets) { |
| | | return 2;//部分导入成功 |
| | | } else if (failNum.equals(numberOfSheets)) { |
| | | return 0;//导入失败 |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | } |