| | |
| | | package cn.gistack.sm.sjztmd.word.util; |
| | | |
| | | import cn.gistack.sm.sjztmd.util.MyDateUtils; |
| | | import cn.gistack.sm.sjztmd.word.vo.*; |
| | | import com.deepoove.poi.XWPFTemplate; |
| | | import com.deepoove.poi.data.NumbericRenderData; |
| | |
| | | return outputStream.toByteArray(); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param totalList 全省水库超汛 |
| | | * @param dzkList 大中库超汛 |
| | | * @param overDetailList 超汛明细 |
| | | * @param szInfoList 省直超汛 |
| | | * @param totalOverList 超正常 |
| | | * @param totalOver10List 超正常10cm |
| | | * @return |
| | | */ |
| | | public static byte[] GetNotInSeasonOverInfo(List<TotalInfo> totalList, List<DzkInfo> dzkList, List<OverDetail> overDetailList, List<SzInfo> szInfoList, List<TotalInfo> totalOverList, List<TotalInfo> totalOver10List) throws Exception{ |
| | | InputStream inputStream = WordUtil.class.getClassLoader().getResourceAsStream("word/doc/inFloodSeason_overFloodTemplate.docx"); |
| | | ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); |
| | | OverWord overWord = new OverWord(totalList, dzkList, overDetailList, szInfoList,totalOverList,totalOver10List); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream).render(createOverWordParam(overWord)); |
| | | template.write(outputStream); |
| | | outputStream.flush(); |
| | | outputStream.close(); |
| | | return outputStream.toByteArray(); |
| | | } |
| | | |
| | | private static Map<String, Object> createOverWordParam(OverWord overWord) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | |
| | |
| | | params.put("大型水库详情", overWord.getOverBigInfo()); |
| | | params.put("中型水库详情", overWord.getOverMidInfo()); |
| | | params.put("省直水库详情", overWord.getProvinceInfo()); |
| | | //不在汛期内 |
| | | if (!MyDateUtils.isTodayInFloodSeason()){ |
| | | params.put("全省水库超正常", overWord.getTotalOverNormalInfo()); |
| | | params.put("全省水库超正常十厘米以上", overWord.getTotalOverNormal10Info()); |
| | | params.put("超正常小型水库详情", overWord.getOverNormalSmallInfo()); |
| | | params.put("超正常大型水库详情", overWord.getOverNormalBigInfo()); |
| | | params.put("超正常中型水库详情", overWord.getOverNormalMidInfo()); |
| | | } |
| | | |
| | | return params; |
| | | |
| | | } |
| | | |
| | | private static byte[] GenerateWord(String templatePath, Object object) throws Exception { |
| | |
| | | return outputStream.toByteArray(); |
| | | } |
| | | |
| | | |
| | | } |