Skip to content

Instantly share code, notes, and snippets.

@gitbricho
Created November 14, 2014 01:11
Show Gist options
  • Save gitbricho/85bc1655445813d6a482 to your computer and use it in GitHub Desktop.
Save gitbricho/85bc1655445813d6a482 to your computer and use it in GitHub Desktop.
healthcare: com.itrane.healthcare.command.HomeCmd
/**
* ホームビュー(home.html)用コマンド.
*/
public class HomeCmd implements Serializable {
private static final long serialVersionUID = 1L;
//final private Logger log = LoggerFactory.getLogger(HomeCmd.class);
private Vod vod;
private List<VitalCmd> vitalCmds;
private String sokuteiBi;
private String memo;
private String status;
public HomeCmd() {}
public HomeCmd(Vod vod, List<VitalCmd> vitalCmds, String sokuteiBi,
String memo) {
super();
this.vod = vod;
this.vitalCmds = vitalCmds;
this.sokuteiBi = sokuteiBi;
this.memo = memo;
}
/**
* home.html の入力値を検証し、Vod を更新する。
* 不正な入力値は Vod に反映しない。値が正しければ反映する。
* @param inputCmd
*/
public void checkErrorsAndUpdateVod(HomeCmd inputCmd) {
vod.setMemo(inputCmd.getMemo());
int i = 0;
for (VitalCmd vc : inputCmd.getVitalCmds()) {
Vital todayVital = vod.getVitals().get(i);
VitalCmd todayCmd = vitalCmds.get(i);
String sokuteiTi = vc.getSokuteiTi();
//null,空文字は不可
if (sokuteiTi!=null && !sokuteiTi.equals("")) {
double d = 0;
try {
d = Double.parseDouble(vc.getSokuteiTi());
} catch (NumberFormatException ne) {
}
//1以上の数値 && 未登録のデータにのみ入力値を反映する。
if (d > 0) {
todayVital.setSokuteiTi(vc.getSokuteiTi());
// TODO: デモ版の仕様。実際はシステム時間を設定する。
todayVital.setSokuteiJikan(todayVital.getVitalM().getJikan());
todayCmd.setSokuteiJikan(todayVital.getVitalM().getJikan());
} else if(!todayVital.getSokuteiTi().equals("0")) {
vc.setSokuteiTi(todayVital.getSokuteiTi());
vc.setSokuteiJikan(todayVital.getSokuteiJikan());
}
} else {
//エラー
vc.setErrMsg("入力エラー");
vc.setSokuteiTi("0");
}
i++;
}
}
...
//getter , setter ..
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment