package com.lemon.lifecenter.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.lemon.lifecenter.common.LifeCenterConfigVO; import com.lemon.lifecenter.common.LifeCenterController; import com.lemon.lifecenter.common.LifeCenterSessionController; import com.lemon.lifecenter.dto.PatientDTO; import com.lemon.lifecenter.dto.RoleDTO; import com.lemon.lifecenter.service.AcceptService; import com.lemon.lifecenter.service.MobilePatientService; import com.lemon.lifecenter.service.PatientService; import com.lemon.lifecenter.service.RoleService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping("/mobile") public class MobileMenuController extends LifeCenterController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private PatientService patientService; @Autowired private MobilePatientService mpatientService; @Autowired private LifeCenterConfigVO configVO; @Autowired private AcceptService acceptService; @Autowired private RoleService roleService; @RequestMapping("/menu") public ModelAndView menu(@RequestParam(value="redirectUrl", required=false, defaultValue="") String redirectUrl, HttpServletRequest request, HttpServletResponse response) throws Exception { String patientId = LifeCenterSessionController.getSession(request, "sesMId"); String roomId = LifeCenterSessionController.getSession(request, "sesMRoomNum"); String patientName = LifeCenterSessionController.getSession(request, "sesMName"); String sesMpIdx = LifeCenterSessionController.getSession( request, "sesMpIdx" ); String sesMCenterName = LifeCenterSessionController.getSession( request, "sesMCenterName" ); String sesMCenterCode = LifeCenterSessionController.getSession( request, "sesMCenterCode" ); String sesMDeviceVersion = LifeCenterSessionController.getSession( request, "sesMDeviceVersion" ); PatientDTO dto = new PatientDTO(); dto.setPatientIdx(Integer.parseInt(sesMpIdx)); int cnt = patientService.selectMunJinCount(dto); dto.setCenterCode( Integer.valueOf( sesMCenterCode ) ); String tel = mpatientService.selectMPatientAdminPhone(dto).getAdminPhone(); if (!tel.equals( "" )) { tel = tel.replace("-", ""); if (tel.length() == 8) { tel = tel.replaceFirst("^([0-9]{4})([0-9]{4})$", "$1-$2"); } else if (tel.length() == 12) { tel = tel.replaceFirst("(^[0-9]{4})([0-9]{4})([0-9]{4})$", "$1-$2-$3"); } else { tel = tel.replaceFirst("(^02|[0-9]{3})([0-9]{3,4})([0-9]{4})$", "$1-$2-$3"); } } ModelAndView mv = setMobileMV("menu/menu"); mv.addObject("patientIdx", sesMpIdx); mv.addObject("patientId", patientId); mv.addObject("roomId", roomId); mv.addObject("name", patientName); mv.addObject("munjinCnt", cnt); mv.addObject("centerName", sesMCenterName); mv.addObject("centerCode", sesMCenterCode); mv.addObject("redirectUrl", redirectUrl); mv.addObject( "tel", tel ); mv.addObject( "deviceVersion", sesMDeviceVersion ); return mv; } @RequestMapping("/guide") public ModelAndView guide(HttpServletRequest request, HttpServletResponse response) { ModelAndView mv = setMobileMV("menu/guide"); return mv; } @RequestMapping("/call") public ModelAndView call( @RequestParam(value="c", required=false, defaultValue="") String centerCode, HttpServletRequest request, HttpServletResponse response) throws Exception { PatientDTO pdto = new PatientDTO(); pdto.setCenterCode( Integer.valueOf( centerCode ) ); String tel = mpatientService.selectMPatientAdminPhone(pdto).getAdminPhone(); if (!tel.equals( "" )) { tel = tel.replace("-", ""); if (tel.length() == 8) { tel = tel.replaceFirst("^([0-9]{4})([0-9]{4})$", "$1-$2"); } else if (tel.length() == 12) { tel = tel.replaceFirst("(^[0-9]{4})([0-9]{4})([0-9]{4})$", "$1-$2-$3"); } else { tel = tel.replaceFirst("(^02|[0-9]{3})([0-9]{3,4})([0-9]{4})$", "$1-$2-$3"); } } ModelAndView mv = setMobileMV("menu/call"); mv.addObject( "tel", tel ); return mv; } @RequestMapping("/device") @ResponseBody public String device(HttpServletRequest request, HttpServletResponse response) { // 기기등록 화면은 native 화면이라 클릭시 메뉴 접근 count 만 ++ 시킴 String patientIdx = LifeCenterSessionController.getSession(request, "sesMpIdx"); RoleDTO roleDTO = new RoleDTO(); roleDTO.setPatientIdx(Integer.valueOf(patientIdx.toString())); roleDTO.setMenuCode("M0018"); //기기등록 메뉴코드 roleService.insertMobileMenuAccessLog(roleDTO); return ""; } @RequestMapping("/emergency") @ResponseBody public String emergency(HttpServletRequest request, HttpServletResponse response) { // 응급전화 버튼 클릭시 메뉴 접근 count 만 ++ 시킴 String patientIdx = LifeCenterSessionController.getSession(request, "sesMpIdx"); RoleDTO roleDTO = new RoleDTO(); roleDTO.setPatientIdx(Integer.valueOf(patientIdx.toString())); roleDTO.setMenuCode("M0021"); // 응급전화 메뉴코드 roleService.insertMobileMenuAccessLog(roleDTO); return ""; } }