diff --git a/ruoyi-dw/src/main/java/com/ruoyi/dw/service/impl/DwQuestionServiceImpl.java b/ruoyi-dw/src/main/java/com/ruoyi/dw/service/impl/DwQuestionServiceImpl.java index e8d4fc4..da1e3d6 100644 --- a/ruoyi-dw/src/main/java/com/ruoyi/dw/service/impl/DwQuestionServiceImpl.java +++ b/ruoyi-dw/src/main/java/com/ruoyi/dw/service/impl/DwQuestionServiceImpl.java @@ -3,10 +3,12 @@ package com.ruoyi.dw.service.impl; import java.util.ArrayList; import java.util.List; +import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.dw.domain.DwAnswer; import com.ruoyi.dw.domain.DwInfo; import com.ruoyi.dw.mapper.DwAnswerMapper; +import com.ruoyi.dw.mapper.DwInfoMapper; import org.apache.poi.ss.usermodel.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,6 +34,9 @@ public class DwQuestionServiceImpl implements IDwQuestionService @Resource private DwAnswerMapper dwAnswerMapper; + @Resource + private RedisCache redisCache; + /** * 查询调查问卷问题 * @@ -115,9 +120,13 @@ public class DwQuestionServiceImpl implements IDwQuestionService } List answers = new ArrayList(); for (int i = 1; i <= rows; i++) { + //第一个调查问卷问题 + Row row = sheet.getRow(i); + String id = row.getCell(0).getStringCellValue(); + if (redisCache.hasKey(id)){ + continue; + } if (dwInfo.getId().intValue() == 1) { - //第一个调查问卷问题 - Row row = sheet.getRow(i); DwAnswer answer1 = new DwAnswer(); Cell cell15 = row.getCell(15); answer1.setAnswer(cell15.getStringCellValue()); @@ -157,7 +166,7 @@ public class DwQuestionServiceImpl implements IDwQuestionService DwAnswer answer7 = new DwAnswer(); Cell cell21 = row.getCell(21); Cell cell22 = row.getCell(22); - if (StringUtils.isNotEmpty(cell22.getStringCellValue())){ + if (cell22 != null && StringUtils.isNotEmpty(cell22.getStringCellValue())){ answer7.setAnswer(cell22.getStringCellValue()); }else { answer7.setAnswer(cell21.getStringCellValue()); @@ -216,7 +225,7 @@ public class DwQuestionServiceImpl implements IDwQuestionService DwAnswer answer16 = new DwAnswer(); Cell cell42 = row.getCell(42); Cell cell43 = row.getCell(43); - if (StringUtils.isNotEmpty(cell43.getStringCellValue())){ + if (cell43 != null && StringUtils.isNotEmpty(cell43.getStringCellValue())){ answer16.setAnswer(cell43.getStringCellValue()); }else { answer16.setAnswer(cell42.getStringCellValue()); @@ -239,7 +248,7 @@ public class DwQuestionServiceImpl implements IDwQuestionService DwAnswer answer19 = new DwAnswer(); Cell cell46 = row.getCell(46); Cell cell47 = row.getCell(47); - if (StringUtils.isNotEmpty(cell47.getStringCellValue())){ + if (cell47 != null && StringUtils.isNotEmpty(cell47.getStringCellValue())){ answer19.setAnswer(cell47.getStringCellValue()); }else { answer19.setAnswer(cell46.getStringCellValue()); @@ -280,7 +289,7 @@ public class DwQuestionServiceImpl implements IDwQuestionService DwAnswer answer25 = new DwAnswer(); Cell cell62 = row.getCell(62); Cell cell63 = row.getCell(63); - if (StringUtils.isNotEmpty(cell63.getStringCellValue())){ + if (cell63 != null && StringUtils.isNotEmpty(cell63.getStringCellValue())){ answer25.setAnswer(cell63.getStringCellValue()); }else { answer25.setAnswer(cell62.getStringCellValue()); @@ -423,15 +432,414 @@ public class DwQuestionServiceImpl implements IDwQuestionService answer41.setQuestionId(41L); answers.add(answer41); }else if (dwInfo.getId() == 2) { - + DwAnswer answer1 = new DwAnswer(); + Cell cell15 = row.getCell(15); + answer1.setAnswer(cell15.getStringCellValue()); + answer1.setInfoId(dwInfo.getId()); + answer1.setQuestionId(42L); + answers.add(answer1); + DwAnswer answer2 = new DwAnswer(); + Cell cell16 = row.getCell(16); + answer2.setAnswer(cell16.getStringCellValue()); + answer2.setInfoId(dwInfo.getId()); + answer2.setQuestionId(43L); + answers.add(answer2); + DwAnswer answer3 = new DwAnswer(); + Cell cell17 = row.getCell(17); + Cell cell18 = row.getCell(18); + if (cell18 != null && StringUtils.isNotEmpty(cell18.getStringCellValue())) { + answer3.setAnswer(cell18.getStringCellValue()); + }else { + answer3.setAnswer(cell17.getStringCellValue()); + } + answer3.setInfoId(dwInfo.getId()); + answer3.setQuestionId(44L); + answers.add(answer3); + DwAnswer answer4 = new DwAnswer(); + Cell cell19 = row.getCell(19); + answer4.setAnswer(cell19.getStringCellValue()); + answer4.setInfoId(dwInfo.getId()); + answer4.setQuestionId(45L); + answers.add(answer4); + DwAnswer answer5 = new DwAnswer(); + Cell cell20 = row.getCell(20); + answer5.setAnswer(cell20.getStringCellValue()); + answer5.setInfoId(dwInfo.getId()); + answer5.setQuestionId(46L); + answers.add(answer5); + DwAnswer answer6 = new DwAnswer(); + Cell cell21 = row.getCell(21); + answer6.setAnswer(cell21.getStringCellValue()); + answer6.setInfoId(dwInfo.getId()); + answer6.setQuestionId(47L); + answers.add(answer6); + DwAnswer answer7 = new DwAnswer(); + Cell cell22 = row.getCell(22); + Cell cell23 = row.getCell(23); + if (cell23 != null && StringUtils.isNotEmpty(cell23.getStringCellValue())) { + answer7.setAnswer(cell23.getStringCellValue()); + }else { + answer7.setAnswer(cell22.getStringCellValue()); + } + answer7.setInfoId(dwInfo.getId()); + answer7.setQuestionId(48L); + answers.add(answer7); + DwAnswer answer8 = new DwAnswer(); + Cell cell24 = row.getCell(24); + answer8.setAnswer(cell24.getStringCellValue()); + answer8.setInfoId(dwInfo.getId()); + answer8.setQuestionId(49L); + answers.add(answer8); + DwAnswer answer9 = new DwAnswer(); + Cell cell25 = row.getCell(25); + answer9.setAnswer(cell25.getStringCellValue()); + answer9.setInfoId(dwInfo.getId()); + answer9.setQuestionId(50L); + answers.add(answer9); + DwAnswer answer10 = new DwAnswer(); + Cell cell26 = row.getCell(26); + answer10.setAnswer(cell26.getStringCellValue()); + answer10.setInfoId(dwInfo.getId()); + answer10.setQuestionId(51L); + answers.add(answer10); + DwAnswer answer11 = new DwAnswer(); + Cell cell39 = row.getCell(39); + answer11.setAnswer(cell39.getStringCellValue()); + answer11.setInfoId(dwInfo.getId()); + answer11.setQuestionId(52L); + answers.add(answer11); + DwAnswer answer12 = new DwAnswer(); + Cell cell40 = row.getCell(40); + answer12.setAnswer(cell40.getStringCellValue()); + answer12.setInfoId(dwInfo.getId()); + answer12.setQuestionId(53L); + answers.add(answer12); + DwAnswer answer13 = new DwAnswer(); + Cell cell41 = row.getCell(41); + Cell cell42 = row.getCell(42); + Cell cell43 = row.getCell(43); + answer13.setAnswer(cell41.getStringCellValue() + ","+cell42.getStringCellValue() + + "," +cell43.getStringCellValue()); + answer13.setInfoId(dwInfo.getId()); + answer13.setQuestionId(54L); + answers.add(answer13); + DwAnswer answer14 = new DwAnswer(); + Cell cell44 = row.getCell(44); + answer14.setAnswer(cell44.getStringCellValue()); + answer14.setInfoId(dwInfo.getId()); + answer14.setQuestionId(55L); + answers.add(answer14); + DwAnswer answer15 = new DwAnswer(); + Cell cell45 = row.getCell(45); + Cell cell46 = row.getCell(46); + if (cell45 != null && cell45.getStringCellValue().equals("否")){ + answer15.setAnswer("否"); + }else { + answer15.setAnswer(cell46.getStringCellValue()); + } + answer15.setInfoId(dwInfo.getId()); + answer15.setQuestionId(56L); + answers.add(answer15); + DwAnswer answer16 = new DwAnswer(); + Cell cell47 = row.getCell(47); + answer16.setAnswer(cell47.getStringCellValue()); + answer16.setInfoId(dwInfo.getId()); + answer16.setQuestionId(57L); + answers.add(answer16); + DwAnswer answer17 = new DwAnswer(); + Cell cell48 = row.getCell(48); + Cell cell49 = row.getCell(49); + Cell cell50 = row.getCell(50); + answer17.setAnswer(cell48.getStringCellValue() + "," +cell49.getStringCellValue() + + "," +cell50.getStringCellValue()); + answer17.setInfoId(dwInfo.getId()); + answer17.setQuestionId(58L); + answers.add(answer17); + DwAnswer answer18 = new DwAnswer(); + Cell cell51 = row.getCell(51); + Cell cell59 = row.getCell(59); + if (cell59 != null && StringUtils.isNotEmpty(cell59.getStringCellValue())){ + answer18.setAnswer(cell51.getStringCellValue().replace("其他","") + + cell59.getStringCellValue()); + }else { + answer18.setAnswer(cell51.getStringCellValue()); + } + answer18.setInfoId(dwInfo.getId()); + answer18.setQuestionId(59L); + answers.add(answer18); + DwAnswer answer19 = new DwAnswer(); + Cell cell60 = row.getCell(60); + answer19.setAnswer(cell60.getStringCellValue()); + answer19.setInfoId(dwInfo.getId()); + answer19.setQuestionId(60L); + answers.add(answer19); + DwAnswer answer20 = new DwAnswer(); + Cell cell68 = row.getCell(68); + Cell cell76 = row.getCell(76); + if (cell76 != null && StringUtils.isNotEmpty(cell76.getStringCellValue())){ + answer20.setAnswer(cell68.getStringCellValue().replace("其他","") + + cell76.getStringCellValue()); + }else { + answer20.setAnswer(cell68.getStringCellValue()); + } + answer20.setInfoId(dwInfo.getId()); + answer20.setQuestionId(61L); + answers.add(answer20); + DwAnswer answer21 = new DwAnswer(); + Cell cell77 = row.getCell(77); + answer21.setAnswer(cell77.getStringCellValue()); + answer21.setInfoId(dwInfo.getId()); + answer21.setQuestionId(62L); + answers.add(answer21); + DwAnswer answer22 = new DwAnswer(); + Cell cell79 = row.getCell(79); + answer22.setAnswer(cell79.getStringCellValue()); + answer22.setInfoId(dwInfo.getId()); + answer22.setQuestionId(63L); + answers.add(answer22); + DwAnswer answer23 = new DwAnswer(); + Cell cell80 = row.getCell(80); + Cell cell81 = row.getCell(81); + if (cell81 != null && StringUtils.isNotEmpty(cell81.getStringCellValue())){ + answer23.setAnswer(cell81.getStringCellValue()); + }else { + answer23.setAnswer(cell80.getStringCellValue()); + } + answer23.setInfoId(dwInfo.getId()); + answer23.setQuestionId(64L); + answers.add(answer23); + DwAnswer answer24 = new DwAnswer(); + Cell cell82 = row.getCell(82); + answer24.setAnswer(cell82.getStringCellValue()); + answer24.setInfoId(dwInfo.getId()); + answer24.setQuestionId(65L); + answers.add(answer24); }else if (dwInfo.getId() == 3) { - + DwAnswer answer1 = new DwAnswer(); + Cell cell15 = row.getCell(15); + answer1.setAnswer(cell15.getStringCellValue()); + answer1.setInfoId(dwInfo.getId()); + answer1.setQuestionId(66L); + answers.add(answer1); + DwAnswer answer2 = new DwAnswer(); + Cell cell16 = row.getCell(16); + answer2.setAnswer(cell16.getStringCellValue()); + answer2.setInfoId(dwInfo.getId()); + answer2.setQuestionId(67L); + answers.add(answer2); + DwAnswer answer3 = new DwAnswer(); + Cell cell17 = row.getCell(17); + answer3.setAnswer(cell17.getStringCellValue()); + answer3.setInfoId(dwInfo.getId()); + answer3.setQuestionId(68L); + answers.add(answer3); + DwAnswer answer4 = new DwAnswer(); + Cell cell18 = row.getCell(18); + answer4.setAnswer(cell18.getStringCellValue()); + answer4.setInfoId(dwInfo.getId()); + answer4.setQuestionId(69L); + answers.add(answer4); + DwAnswer answer5 = new DwAnswer(); + Cell cell19 = row.getCell(19); + answer5.setAnswer(cell19.getStringCellValue()); + answer5.setInfoId(dwInfo.getId()); + answer5.setQuestionId(70L); + answers.add(answer5); + DwAnswer answer6 = new DwAnswer(); + Cell cell20 = row.getCell(20); + answer6.setAnswer(cell20.getStringCellValue()); + answer6.setInfoId(dwInfo.getId()); + answer6.setQuestionId(71L); + answers.add(answer6); + DwAnswer answer7 = new DwAnswer(); + Cell cell21 = row.getCell(21); + answer7.setAnswer(cell21.getStringCellValue()); + answer7.setInfoId(dwInfo.getId()); + answer7.setQuestionId(72L); + answers.add(answer7); + DwAnswer answer8 = new DwAnswer(); + Cell cell22 = row.getCell(22); + answer8.setAnswer(cell22.getStringCellValue()); + answer8.setInfoId(dwInfo.getId()); + answer8.setQuestionId(73L); + answers.add(answer8); + DwAnswer answer9 = new DwAnswer(); + Cell cell23 = row.getCell(23); + answer9.setAnswer(cell23.getStringCellValue()); + answer9.setInfoId(dwInfo.getId()); + answer9.setQuestionId(74L); + answers.add(answer9); + DwAnswer answer10 = new DwAnswer(); + String answer10_str = ""; + Cell cell25 = row.getCell(25); + if (cell25 != null && StringUtils.isNotEmpty(cell25.getStringCellValue())){ + answer10_str = cell25.getStringCellValue() + ","; + } + Cell cell26 = row.getCell(26); + if (cell26 != null && StringUtils.isNotEmpty(cell26.getStringCellValue())){ + answer10_str = cell26.getStringCellValue() + ","; + } + Cell cell27 = row.getCell(27); + if (cell27 != null && StringUtils.isNotEmpty(cell27.getStringCellValue())){ + answer10_str = cell27.getStringCellValue() + ","; + } + Cell cell28 = row.getCell(28); + if (cell28 != null && StringUtils.isNotEmpty(cell28.getStringCellValue())){ + answer10_str = cell28.getStringCellValue() + ","; + } + Cell cell29 = row.getCell(29); + if (cell29 != null && StringUtils.isNotEmpty(cell29.getStringCellValue())){ + answer10_str = cell29.getStringCellValue() + ","; + } + Cell cell31 = row.getCell(31); + if (cell31 != null && StringUtils.isNotEmpty(cell31.getStringCellValue())){ + answer10_str = cell31.getStringCellValue() + ","; + } + Cell cell33 = row.getCell(33); + if (cell33!=null && StringUtils.isNotEmpty(cell33.getStringCellValue())){ + answer10_str = cell33.getStringCellValue() + ","; + } + answer10.setAnswer(answer10_str.substring(0,answer10_str.length()-1)); + answer10.setInfoId(dwInfo.getId()); + answer10.setQuestionId(75L); + answers.add(answer10); + DwAnswer answer11 = new DwAnswer(); + Cell cell34 = row.getCell(34); + Cell cell35 = row.getCell(35); + if (cell35 != null && StringUtils.isNotEmpty(cell35.getStringCellValue())){ + answer11.setAnswer(cell35.getStringCellValue()); + }else { + answer11.setAnswer(cell34.getStringCellValue()); + } + answer11.setInfoId(dwInfo.getId()); + answer11.setQuestionId(76L); + answers.add(answer11); + DwAnswer answer12 = new DwAnswer(); + Cell cell36 = row.getCell(36); + answer12.setAnswer(cell36.getStringCellValue()); + answer12.setInfoId(dwInfo.getId()); + answer12.setQuestionId(77L); + answers.add(answer12); + DwAnswer answer13 = new DwAnswer(); + Cell cell37 = row.getCell(37); + Cell cell38 = row.getCell(38); + if (cell38 != null && StringUtils.isNotEmpty(cell38.getStringCellValue())){ + answer13.setAnswer(cell38.getStringCellValue()); + }else { + answer13.setAnswer(cell37.getStringCellValue()); + } + answer13.setInfoId(dwInfo.getId()); + answer13.setQuestionId(78L); + answers.add(answer13); + DwAnswer answer14 = new DwAnswer(); + Cell cell39 = row.getCell(39); + answer14.setAnswer(cell39.getStringCellValue()); + answer14.setInfoId(dwInfo.getId()); + answer14.setQuestionId(79L); + answers.add(answer14); + DwAnswer answer15 = new DwAnswer(); + Cell cell41 = row.getCell(41); + Cell cell42 = row.getCell(42); + Cell cell43 = row.getCell(43); + Cell cell44 = row.getCell(44); + Cell cell45 = row.getCell(45); + Cell cell47 = row.getCell(47); + String answer15_str = ""; + if (cell41 != null && StringUtils.isNotEmpty(cell41.getStringCellValue())){ + answer15_str = cell41.getStringCellValue() + ","; + } + if (cell42 != null && StringUtils.isNotEmpty(cell42.getStringCellValue())){ + answer15_str = cell42.getStringCellValue() + ","; + } + if (cell43 != null && StringUtils.isNotEmpty(cell43.getStringCellValue())){ + answer15_str = cell43.getStringCellValue() + ","; + } + if (cell44 != null && StringUtils.isNotEmpty(cell44.getStringCellValue())){ + answer15_str = cell44.getStringCellValue() + ","; + } + if (cell45 != null && StringUtils.isNotEmpty(cell45.getStringCellValue())){ + answer15_str = cell45.getStringCellValue() + ","; + } + if (cell47 != null && StringUtils.isNotEmpty(cell47.getStringCellValue())){ + answer15_str = cell47.getStringCellValue() + ","; + } + answer15.setAnswer(answer15_str.substring(0,answer15_str.length()-1)); + answer15.setInfoId(dwInfo.getId()); + answer15.setQuestionId(80L); + answers.add(answer15); + DwAnswer answer16 = new DwAnswer(); + Cell cell48 = row.getCell(48); + answer16.setAnswer(cell48.getStringCellValue()); + answer16.setInfoId(dwInfo.getId()); + answer16.setQuestionId(81L); + answers.add(answer16); + DwAnswer answer17 = new DwAnswer(); + Cell cell49 = row.getCell(49); + answer17.setAnswer(cell49.getStringCellValue()); + answer17.setInfoId(dwInfo.getId()); + answer17.setQuestionId(82L); + answers.add(answer17); + DwAnswer answer18 = new DwAnswer(); + Cell cell56 = row.getCell(56); + answer18.setAnswer(cell56.getStringCellValue()); + answer18.setInfoId(dwInfo.getId()); + answer18.setQuestionId(83L); + answers.add(answer18); + DwAnswer answer19 = new DwAnswer(); + Cell cell63 = row.getCell(63); + answer19.setAnswer(cell63.getStringCellValue()); + answer19.setInfoId(dwInfo.getId()); + answer19.setQuestionId(84L); + answers.add(answer19); + DwAnswer answer20 = new DwAnswer(); + Cell cell70 = row.getCell(70); + answer20.setAnswer(cell70.getStringCellValue()); + answer20.setInfoId(dwInfo.getId()); + answer20.setQuestionId(85L); + answers.add(answer20); + DwAnswer answer21 = new DwAnswer(); + Cell cell72 = row.getCell(72); + Cell cell73 = row.getCell(73); + Cell cell74 = row.getCell(74); + Cell cell75 = row.getCell(75); + Cell cell76 = row.getCell(76); + Cell cell78 = row.getCell(78); + String answer21_str = ""; + if (cell72 != null && StringUtils.isNotEmpty(cell72.getStringCellValue())){ + answer21_str = cell72.getStringCellValue() + ","; + } + if (cell73 != null && StringUtils.isNotEmpty(cell73.getStringCellValue())){ + answer21_str = cell73.getStringCellValue() + ","; + } + if (cell74 != null && StringUtils.isNotEmpty(cell74.getStringCellValue())){ + answer21_str = cell74.getStringCellValue() + ","; + } + if (cell75 != null && StringUtils.isNotEmpty(cell75.getStringCellValue())){ + answer21_str = cell75.getStringCellValue() + ","; + } + if (cell76 != null && StringUtils.isNotEmpty(cell76.getStringCellValue())){ + answer21_str = cell76.getStringCellValue() + ","; + } + if (cell78 != null && StringUtils.isNotEmpty(cell78.getStringCellValue())){ + answer21_str = cell78.getStringCellValue() + ","; + } + answer21.setAnswer(answer21_str.substring(0,answer21_str.length()-1)); + answer21.setInfoId(dwInfo.getId()); + answer21.setQuestionId(86L); + answers.add(answer21); + DwAnswer answer22 = new DwAnswer(); + Cell cell79 = row.getCell(79); + answer22.setAnswer(cell79.getStringCellValue()); + answer22.setInfoId(dwInfo.getId()); + answer22.setQuestionId(87L); + answers.add(answer22); }else { return -2; } + redisCache.setCacheObject(id, true); } dwAnswerMapper.insertDwAnswerBatch(answers); - return rows-1; + return rows; }catch (Exception ex){ ex.printStackTrace(); return -1;