Пример #1
0
  /**
   * タスクコメントリストを返す
   *
   * @param taskId タスクID
   * @return タスクコメントのリスト
   */
  public static List<ProjectTaskCommentResultData> getProjectTaskCommentList(String taskId) {
    List<ProjectTaskCommentResultData> commentList = new ArrayList<ProjectTaskCommentResultData>();

    try {
      SelectQuery<EipTProjectTaskComment> query = Database.query(EipTProjectTaskComment.class);
      query.setQualifier(
          ExpressionFactory.matchExp(EipTProjectTaskComment.EIP_TPROJECT_TASK_PROPERTY, taskId));

      List<EipTProjectTaskComment> list = query.fetchList();

      /** ファイル操作オブジェクト */
      ProjectFile<EipTProjectTaskCommentFile, EipTProjectTaskComment> pfile =
          new ProjectFile<EipTProjectTaskCommentFile, EipTProjectTaskComment>(
              EipTProjectTaskCommentFile.class);

      for (EipTProjectTaskComment comment : list) {
        ALEipUser user = ALEipUtils.getALEipUser(comment.getTurbineUser().getUserId());
        ProjectTaskCommentResultData data = new ProjectTaskCommentResultData();
        data.initField();
        data.setCommentId(comment.getCommentId());
        data.setTaskId(comment.getTaskId());
        data.setComment(comment.getComment());
        data.setCreateUserId(user.getUserId().getValue());
        data.setCreateUser(user.getAliasName().getValue());
        data.setCreateDate(comment.getCreateDate());
        data.setUpdateDate(comment.getUpdateDate());
        data.setHasPhoto(user.hasPhoto());

        // ファイルリスト
        List<EipTProjectTaskCommentFile> filelist =
            pfile
                .getSelectQueryForFiles(
                    EipTProjectTaskComment.COMMENT_ID_PK_COLUMN,
                    Integer.valueOf(comment.getCommentId()))
                .fetchList();
        data.setAttachmentFiles(pfile.getFileList(filelist));

        commentList.add(data);
      }
    } catch (Exception ex) {
      logger.error("Exception", ex);
    }

    return commentList;
  }
Пример #2
0
  /**
   * タスクに紐づくコメントを削除する
   *
   * @param task タスクオブジェクト
   * @return TRUE 成功 FALSE 失敗
   */
  public static boolean removeProjectTaskComment(RunData rundata, EipTProjectTask task) {

    try {
      // タスクに紐づくコメント
      SelectQuery<EipTProjectTaskComment> query = Database.query(EipTProjectTaskComment.class);
      query.setQualifier(
          ExpressionFactory.matchExp(EipTProjectTaskComment.EIP_TPROJECT_TASK_PROPERTY, task));

      List<EipTProjectTaskComment> taskCommentList = query.fetchList();

      if (taskCommentList == null || taskCommentList.isEmpty()) {
        return true;
      }

      /** ファイル操作オブジェクト */
      ProjectFile<EipTProjectTaskCommentFile, EipTProjectTaskComment> pfile =
          new ProjectFile<EipTProjectTaskCommentFile, EipTProjectTaskComment>(
              EipTProjectTaskCommentFile.class);

      for (EipTProjectTaskComment comment : taskCommentList) {
        // タスクコメントに紐づくファイルを削除
        pfile.removeFile(
            rundata,
            EipTProjectTaskCommentFile.EIP_TPROJECT_TASK_COMMENT_PROPERTY,
            comment.getCommentId());
      }

      // タスクに紐づくコメントを削除
      Database.deleteAll(taskCommentList);

    } catch (Exception ex) {
      logger.error("Exception", ex);
      return false;
    }

    return true;
  }