aix
2024-07-08 94ffd01bac711963ecc42e7cf8ab300045f16423
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java
@@ -2,6 +2,7 @@
import cn.gistack.alerts.sms.vo.SmsResultVO;
import cn.gistack.sm.intelligentCall.vo.CallTaskResultVO;
import cn.gistack.sm.sjztmd.entity.YwFloodReportInfo;
import cn.gistack.sm.sjztmd.util.MyDateUtils;
import cn.gistack.sm.sjztmd.word.vo.*;
import com.deepoove.poi.XWPFTemplate;
@@ -89,11 +90,11 @@
   }
   public static byte[] GetOverInfo(List<TotalInfo> totalList, List<DzkInfo> dzkList, List<OverDetail> overDetailList, List<SzInfo> szInfoList, List<SmsResultVO> dxyjList, List<CallTaskResultVO> whtjList) throws Exception {
   public static byte[] GetOverInfo(List<TotalInfo> totalList, List<DzkInfo> dzkList, List<OverDetail> overDetailList, List<SzInfo> szInfoList, List<SmsResultVO> dxyjList, List<CallTaskResultVO> whtjList, YwFloodReportInfo ywFloodReportInfo) 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, whtjList,null);
      XWPFTemplate template = XWPFTemplate.compile(inputStream).render(createOverWordParam(overWord));
      OverWord overWord = new OverWord(totalList, dzkList, overDetailList, szInfoList, dxyjList, whtjList, null);
      XWPFTemplate template = XWPFTemplate.compile(inputStream).render(createOverWordParam(overWord, ywFloodReportInfo));
      template.write(outputStream);
      outputStream.flush();
      outputStream.close();
@@ -144,12 +145,36 @@
         params.put("超正常中型水库详情", overWord.getOverNormalMidInfo());
      }
      //短信预警和外呼统计
      //短信预警
      return params;
   }
   private static Map<String, Object> createOverWordParam(OverWord overWord, YwFloodReportInfo info) {
      Map<String, Object> params = new HashMap<>();
      //外呼统计
      params.put("时间", overWord.getTm());
      params.put("全省水库超汛限", overWord.getTotalInfo());
      params.put("小型水库详情", overWord.getOverSmallInfo());
      String dxStr = StringUtil.isNotBlank(overWord.getOverBigInfo()) ? "超汛限的水库的大型水库有:" : "";
      params.put("超汛限的水库的大型水库有", dxStr);
      params.put("大型水库详情", overWord.getOverBigInfo());
      String zxStr = StringUtil.isNotBlank(overWord.getOverMidInfo()) ? "超汛限的水库的中型水库有:" : "";
      params.put("超汛限的水库的中型水库有", zxStr);
      params.put("中型水库详情", overWord.getOverMidInfo());
      params.put("省直水库详情", overWord.getProvinceInfo());
      params.put("短信预警和外呼抽查", overWord.getSmsResultInfo());
      params.put("重点水库详情", overWord.getZdInfo());
      //不在汛期内
      if (!MyDateUtils.isTodayInFloodSeason()) {
         params.put("全省水库超正常", overWord.getTotalOverNormalInfo());
         params.put("全省水库超正常十厘米以上", overWord.getTotalOverNormal10Info());
         params.put("超正常小型水库详情", overWord.getOverNormalSmallInfo());
         params.put("超正常大型水库详情", overWord.getOverNormalBigInfo());
         params.put("超正常中型水库详情", overWord.getOverNormalMidInfo());
      }
      //昨日报汛
      params.put("昨日全省水库超汛限", "昨日全省水库超汛限:" + info.getTotalInfo().replace("今日", "昨日"));
      params.put("昨日超汛限的小型水库有", "昨日超汛限的小型水库有:" + info.getOversmallInfo());
      return params;
   }
@@ -165,4 +190,9 @@
   }
   public static OverWord GetOverInfo(List<TotalInfo> totalList) {
      OverWord overWord = new OverWord(totalList);
      return overWord;
   }
}