/** * タスクコメントリストを返す * * @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; }
/** * タスクに紐づくコメントを削除する * * @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; }