doctorInfoController

来源:互联网 发布:广西广电网络快吗 编辑:程序博客网 时间:2024/06/08 19:33

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.ddoc.backend.admin.controllers.doctors;

import com.csig.entities.standards.CountryStateCities;
import com.csig.entities.standards.CountryStatesProvinces;
import com.csig.types.exceptions.InvalidInputException;
import com.csig.types.exceptions.InvalidRequestException;
import com.csig.types.exceptions.LoginInvalidException;
import com.ddoc.entities.Appointments;
import com.ddoc.entities.Contact;
import com.ddoc.entities.Doctor;
import com.ddoc.interfaces.services.IAppointmentsService;
import com.ddoc.interfaces.services.accounts.IAccountService;
import com.ddoc.interfaces.services.addresses.IAddressService;
import com.ddoc.interfaces.services.doctors.IDoctorService;
import com.ddoc.types.doctors.AppointmentSearchFilters;
import com.ddoc.types.doctors.DoctorSearchFilters;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;
import javax.inject.Named;
import javax.security.auth.login.AccountNotFoundException;
import org.apache.commons.lang3.StringUtils;

/**
*
* @author songlinlin
*/
@Named
@ViewScoped
public class DoctorInfoController implements Serializable {

private static final long serialVersionUID = -5076562333997840033L;private Integer doctorId;private Doctor doctorInfo;@EJB(name = "DoctorEJB")private IDoctorService doctorService;@EJB(name = "AppointmentsEJB")private IAppointmentsService appointmentsService;@EJB(name = "AccountEJB")private IAccountService accountService;private List<Appointments> appointmentList;@EJB(name = "AddressServiceEJB")private IAddressService addressService;private List<CountryStatesProvinces> homeProvinceList;private List<CountryStateCities> homeCityList;private List<CountryStatesProvinces> workProvinceList;private List<CountryStateCities> workCityList;private Contact modifiedContact;private String newPassword;private String[] years = {"2017", "2016", "2015", "2014", "2013", "2012", "2011", "2010", "2009", "2008", "2007", "2006",    "2005", "2004", "2003", "2002", "2001", "2000", "1999", "1998", "1997", "1996", "1995", "1994", "1993", "1992", "1991", "1990"};private static final Logger LOG = Logger.getLogger(DoctorInfoController.class.getName());public void onPreRenderView() {    loadData();    loadDoctorInfo();}public void loadDoctorInfo() {    if (doctorId == null) {        LOG.severe("No DoctorID provided.");        return;    }    if (doctorInfo == null) {        DoctorSearchFilters filters = new DoctorSearchFilters();        List<Integer> doctorIdList = new ArrayList<>();        doctorIdList.add(doctorId);        filters.setDoctorIdList(doctorIdList);        try {            List<Doctor> doctorList = doctorService.getDoctorInfo(filters, 0, 1);            if (doctorList != null && !doctorList.isEmpty()) {                this.doctorInfo = doctorList.get(0);            }catch (Exception e) {            final String message = "System error retrieving doctor info.";            FacesMessage fmsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, message, message);            FacesContext.getCurrentInstance().addMessage(null, fmsg);      }   }}public void updateContact() {    try {        accountService.updateContact('D', doctorId, doctorInfo.getContactId());        loadDoctorInfo();        final String message = "Doctor contact data saved.";        FacesMessage fmsg = new FacesMessage(FacesMessage.SEVERITY_INFO, message, message);        FacesContext.getCurrentInstance().addMessage(null, fmsg);    } catch (InvalidInputException ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);        final String message = "Invalid input while saving Doctor contact data.";        FacesMessage fmsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, message, message);        FacesContext.getCurrentInstance().addMessage(null, fmsg);    } catch (InvalidRequestException ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);        final String message = "Invalid request while saving Doctor contact data.";        FacesMessage fmsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, message, message);        FacesContext.getCurrentInstance().addMessage(null, fmsg);    }}public void doctorUpdatePassword() {    try {        accountService.doctorUpdatePassword(doctorInfo.getAccountName(), newPassword, doctorInfo.getPassword(), false);        loadDoctorInfo();        final String message = "Doctor Password data saved.";        FacesMessage fmsg = new FacesMessage(FacesMessage.SEVERITY_INFO, message, message);        FacesContext.getCurrentInstance().addMessage(null, fmsg);    } catch (InvalidInputException ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);        final String message = "Invalid input while saving Doctor Password data.";        FacesMessage fmsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, message, message);        FacesContext.getCurrentInstance().addMessage(null, fmsg);    } catch (AccountNotFoundException ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);    } catch (LoginInvalidException ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);    } catch (Exception ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);    }}public void updateAccount() {    try {        accountService.updateDoctor(doctorInfo);        loadDoctorInfo();        final String message = "Doctor Account data saved.";        FacesMessage fmsg = new FacesMessage(FacesMessage.SEVERITY_INFO, message, message);        FacesContext.getCurrentInstance().addMessage(null, fmsg);    } catch (InvalidInputException ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);    } catch (InvalidRequestException ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);    } catch (AccountNotFoundException ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);    }}public void loadData() {    AppointmentSearchFilters filter = new AppointmentSearchFilters();    filter.setDoctorId(doctorId);    Calendar calStart = Calendar.getInstance();    calStart.set(Calendar.HOUR, 0);    calStart.set(Calendar.MINUTE, 0);    calStart.set(Calendar.SECOND, 0);    calStart.set(Calendar.MILLISECOND, 0);    calStart.set(Calendar.MINUTE, 0);    filter.setStartTimeFrom(calStart.getTime());    Calendar calTo = Calendar.getInstance();    calTo.set(Calendar.DAY_OF_YEAR, calStart.get(Calendar.DAY_OF_YEAR));    calTo.add(Calendar.DAY_OF_MONTH, 30);    calTo.set(Calendar.HOUR, 0);    calTo.set(Calendar.MINUTE, 0);    calTo.set(Calendar.SECOND, 0);    calTo.set(Calendar.MILLISECOND, 0);    filter.setStartTimeTo(calTo.getTime());    System.out.println("doctorId=" + doctorId);    try {        appointmentList = appointmentsService.getAppointments(filter, true, true, 0, 100);        System.out.println("appointmentList=" + appointmentList.size());    } catch (InvalidRequestException ex) {        Logger.getLogger(DoctorInfoController.class.getName()).log(Level.SEVERE, null, ex);    }}public Integer getDoctorId() {    return doctorId;}public void setDoctorId(Integer doctorId) {    this.doctorId = doctorId;}public Doctor getDoctorInfo() {    return doctorInfo;}public void setDoctorInfo(Doctor doctorInfo) {    this.doctorInfo = doctorInfo;}public List<Appointments> getAppointmentList() {    return appointmentList;}public void setAppointmentList(List<Appointments> appointmentList) {    this.appointmentList = appointmentList;}public Contact getModifiedContact() {    return modifiedContact;}public void setModifiedContact(Contact modifiedContact) {    this.modifiedContact = modifiedContact;}public String getNewPassword() {    return newPassword;}public void setNewPassword(String newPassword) {    this.newPassword = newPassword;}public String[] getYears() {    return years;}public void setYears(String[] years) {    this.years = years;}

}

0 0
原创粉丝点击