package open.dolphin.impl.pvt; import java.awt.event.MouseEvent; import java.text.MessageFormat; import java.util.Date; import javax.swing.JTable; import open.dolphin.client.ClientContext; import open.dolphin.infomodel.ModelUtils; import open.dolphin.infomodel.PatientVisitModel; import open.dolphin.table.ListTableSorter; import org.apache.commons.lang.time.DurationFormatUtils; /** * * @author Kazushi Minagawa. * @author modified by masuda, Masuda Naika */ public class RowTipsTable extends JTable { @Override public String getToolTipText(MouseEvent e) { ListTableSorter sorter = (ListTableSorter) getModel(); int row = rowAtPoint(e.getPoint()); PatientVisitModel pvt = (PatientVisitModel) sorter.getObject(row); //pns^ 待ち時間表示 modified by masuda //return pvt != null ? pvt.getPatient().getKanaName() : null; if (pvt != null) { Date pvtDate = ModelUtils.getDateTimeAsObject(pvt.getPvtDate()); String waitingTime = ""; if (!pvt.getStateBit(PatientVisitModel.BIT_SAVE_CLAIM) && !pvt.getStateBit(PatientVisitModel.BIT_MODIFY_CLAIM)) { Date now = new Date(); //waitingTime = " - 待ち時間 "; if (now.after(pvtDate)) { waitingTime = waitingTime + DurationFormatUtils.formatPeriod(pvtDate.getTime(), now.getTime(), "HH:mm"); } else { waitingTime = "00:00"; } } String fmt = ClientContext.getMyBundle(RowTipsTable.class).getString("messageFormat.watingTime.toolTipText"); MessageFormat msf = new MessageFormat(fmt); String toolTipText = msf.format(new Object[]{pvt.getPatientModel().getKanaName(), waitingTime}); return toolTipText; } return null; //pns$ } }