shenyijian
2024-06-20 41a83e40f815a01bfe314538c06f285e7085eed5
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java
@@ -1,6 +1,7 @@
package cn.gistack.sm.sjztmd.word.util;
import cn.gistack.alerts.sms.vo.SmsResultVO;
import cn.gistack.sm.intelligentCall.vo.CallTaskResultVO;
import cn.gistack.sm.sjztmd.util.MyDateUtils;
import cn.gistack.sm.sjztmd.word.vo.*;
import com.deepoove.poi.XWPFTemplate;
@@ -21,10 +22,10 @@
 */
public class WordUtil {
   public static byte[] compileTemplateAndRenderData(TbWordVO tbWordVO,Map<String,Object> tableMap) throws Exception {
   public static byte[] compileTemplateAndRenderData(TbWordVO tbWordVO, Map<String, Object> tableMap) throws Exception {
      InputStream inputStream = WordUtil.class.getClassLoader().getResourceAsStream("word/doc/skcgmb.docx");
      ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
      XWPFTemplate template = XWPFTemplate.compile(inputStream).render(createParams(tbWordVO,tableMap));
      XWPFTemplate template = XWPFTemplate.compile(inputStream).render(createParams(tbWordVO, tableMap));
      template.write(outputStream);
      outputStream.flush();
      outputStream.close();
@@ -37,7 +38,7 @@
    *
    * @return
    */
   private static Map<String, Object> createParams(TbWordVO tbWordVO,Map<String,Object> tableMap) {
   private static Map<String, Object> createParams(TbWordVO tbWordVO, Map<String, Object> tableMap) {
      Map<String, Object> params = new HashMap<>();
      params.put("水库名称", tbWordVO.getResName());
      params.put("市", tbWordVO.getCityName());
@@ -88,10 +89,10 @@
   }
   public static byte[] GetOverInfo(List<TotalInfo> totalList, List<DzkInfo> dzkList, List<OverDetail> overDetailList,List<SzInfo> szInfoList,List<SmsResultVO> dxyjList) throws Exception {
   public static byte[] GetOverInfo(List<TotalInfo> totalList, List<DzkInfo> dzkList, List<OverDetail> overDetailList, List<SzInfo> szInfoList, List<SmsResultVO> dxyjList, List<CallTaskResultVO> whtjList) throws Exception {
      InputStream inputStream = WordUtil.class.getClassLoader().getResourceAsStream("word/doc/overFloodTemplate.docx");
      ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
      OverWord overWord = new OverWord(totalList, dzkList, overDetailList, szInfoList, dxyjList);
      OverWord overWord = new OverWord(totalList, dzkList, overDetailList, szInfoList, dxyjList, whtjList,null);
      XWPFTemplate template = XWPFTemplate.compile(inputStream).render(createOverWordParam(overWord));
      template.write(outputStream);
      outputStream.flush();
@@ -100,19 +101,18 @@
   }
   /**
    *
    * @param totalList 全省水库超汛
    * @param dzkList 大中库超汛
    * @param overDetailList 超汛明细
    * @param szInfoList 省直超汛
    * @param totalOverList 超正常
    * @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{
   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);
      OverWord overWord = new OverWord(totalList, dzkList, overDetailList, szInfoList, totalOverList, totalOver10List);
      XWPFTemplate template = XWPFTemplate.compile(inputStream).render(createOverWordParam(overWord));
      template.write(outputStream);
      outputStream.flush();
@@ -135,7 +135,7 @@
      params.put("省直水库详情", overWord.getProvinceInfo());
      params.put("短信预警和外呼抽查", overWord.getSmsResultInfo());
      //不在汛期内
      if (!MyDateUtils.isTodayInFloodSeason()){
      if (!MyDateUtils.isTodayInFloodSeason()) {
         params.put("全省水库超正常", overWord.getTotalOverNormalInfo());
         params.put("全省水库超正常十厘米以上", overWord.getTotalOverNormal10Info());
         params.put("超正常小型水库详情", overWord.getOverNormalSmallInfo());