/**
   * 遠征報告書を書き込む
   *
   * @param dto 遠征結果
   */
  public static void storeCreateMissionReport(MissionResultDto dto) {
    try {
      List<MissionResultDto> dtoList = Collections.singletonList(dto);

      Path report = FileUtils.getStoreFile(AppConstants.LOG_MISSION, AppConstants.LOG_MISSION_ALT);

      FileUtils.writeCsvStripFirstColumn(
          report,
          CreateReportLogic.getCreateMissionResultHeader(),
          CreateReportLogic.getMissionResultBody(dtoList),
          true);
    } catch (IOException e) {
      LoggerHolder.LOG.warn("報告書の保存に失敗しました", e);
    }
  }
  /**
   * 資材ログを書き込む
   *
   * @param material 資材
   */
  public static void storeMaterialReport(MaterialDto material) {
    try {
      List<MaterialDto> dtoList = Collections.singletonList(material);

      Path report =
          FileUtils.getStoreFile(AppConstants.LOG_RESOURCE, AppConstants.LOG_RESOURCE_ALT);

      FileUtils.writeCsvStripFirstColumn(
          report,
          CreateReportLogic.getMaterialHeader(),
          CreateReportLogic.getMaterialStoreBody(dtoList),
          true);
    } catch (IOException e) {
      LoggerHolder.LOG.warn("報告書の保存に失敗しました", e);
    }
  }
  /**
   * 開発報告書を書き込む
   *
   * @param dto 開発報告
   */
  public static void storeCreateItemReport(CreateItemDto dto) {
    try {
      List<CreateItemDto> dtoList = Collections.singletonList(dto);

      Path report =
          FileUtils.getStoreFile(AppConstants.LOG_CREATE_ITEM, AppConstants.LOG_CREATE_ITEM_ALT);

      FileUtils.writeCsvStripFirstColumn(
          report,
          CreateReportLogic.getCreateItemHeader(),
          CreateReportLogic.getCreateItemBody(dtoList),
          true);
    } catch (IOException e) {
      LoggerHolder.LOG.warn("報告書の保存に失敗しました", e);
    }
  }
  /**
   * 海戦・ドロップ報告書を書き込む
   *
   * @param dto 海戦・ドロップ報告
   */
  public static void storeBattleResultReport(BattleResultDto dto) {
    try {
      List<BattleResultDto> dtoList = Collections.singletonList(dto);

      Path report =
          FileUtils.getStoreFile(
              AppConstants.LOG_BATTLE_RESULT, AppConstants.LOG_BATTLE_RESULT_ALT);

      FileUtils.writeCsvStripFirstColumn(
          report,
          CreateReportLogic.getBattleResultStoreHeader(),
          CreateReportLogic.getBattleResultStoreBody(dtoList),
          true);
    } catch (IOException e) {
      LoggerHolder.LOG.warn("報告書の保存に失敗しました", e);
    }
  }