/** * @param rundata * @param context * @param values * @param msgList * @return * @throws ALPageNotFoundException * @throws ALDBErrorException */ @Override protected boolean action( RunData rundata, Context context, List<String> values, List<String> msgList) throws ALPageNotFoundException, ALDBErrorException { try { Expression exp1 = ExpressionFactory.matchExp( EipTNoteMap.USER_ID_PROPERTY, Integer.valueOf(ALEipUtils.getUserId(rundata))); Expression exp2 = ExpressionFactory.inDbExp(EipTNote.NOTE_ID_PK_COLUMN, values); List<EipTNoteMap> list = Database.query(EipTNoteMap.class, exp1).andQualifier(exp2).fetchList(); if (list == null || list.size() <= 0) { return false; } for (EipTNoteMap notemap : list) { notemap.setNoteStat(NoteUtils.NOTE_STAT_READ); } Database.commit(); } catch (Exception ex) { Database.rollback(); logger.error("note", ex); return false; } return true; }
/** * @param map * @return */ @Override protected Object getResultData(EipTNoteMap map) { try { EipTNote record = map.getEipTNote(); NoteClientResultData rd = new NoteClientResultData(); rd.initField(); rd.setNoteId(record.getNoteId().intValue()); rd.setClientName(ALCommonUtils.compressString(record.getClientName(), getStrLength())); rd.setCompanyName(ALCommonUtils.compressString(record.getCompanyName(), getStrLength())); rd.setNoteStat(map.getNoteStat()); rd.setAcceptDate(record.getAcceptDate()); String subject = ""; if (record.getSubjectType().equals("0")) { subject = ALCommonUtils.compressString(record.getCustomSubject(), getStrLength()); } else if (record.getSubjectType().equals("1")) { subject = ALLocalizationUtils.getl10n("NOTE_CALL_AGAIN_NO_PERIOD"); } else if (record.getSubjectType().equals("2")) { subject = ALLocalizationUtils.getl10n("NOTE_MAIL_CALL_BACK"); } else if (record.getSubjectType().equals("3")) { subject = ALLocalizationUtils.getl10n("NOTE_MAIL_TELL_ME"); } else if (record.getSubjectType().equals("4")) { subject = ALLocalizationUtils.getl10n("NOTE_MAIL_TAKE_A_MESSAGE"); } rd.setSubject(subject); if (NoteUtils.NOTE_STAT_NEW.equals(map.getNoteStat())) { rd.setNoteStat(NoteUtils.NOTE_STAT_NEW); rd.setNoteStatImage("images/note/note_new_message.gif"); rd.setNoteStatImageDescription(ALLocalizationUtils.getl10n("NOTE_NEW_MESSAGE")); } else if (NoteUtils.NOTE_STAT_UNREAD.equals(map.getNoteStat())) { rd.setNoteStat(NoteUtils.NOTE_STAT_UNREAD); rd.setNoteStatImage("images/note/note_unread_message.gif"); rd.setNoteStatImageDescription(ALLocalizationUtils.getl10n("NOTE_UNREAD_MESSAGE")); } else { rd.setNoteStat(NoteUtils.NOTE_STAT_READ); rd.setNoteStatImage("images/note/note_read_message.gif"); rd.setNoteStatImageDescription(ALLocalizationUtils.getl10n("NOTE_READ_MESSAGE")); } ALEipUser user = ALEipUtils.getALEipUser(Integer.valueOf(record.getOwnerId()).intValue()); rd.setSrcUserId(record.getOwnerId()); rd.setSrcUserFullName(user.getAliasName().getValue()); return rd; } catch (RuntimeException e) { logger.error("note", e); return null; } catch (Exception ex) { logger.error("note", ex); return null; } }