package com.yihu.ehr.controller; import com.yihu.ehr.framework.model.Result; import com.yihu.ehr.model.Patient; import com.yihu.ehr.service.intf.ISystemManager; import com.yihu.ehr.model.DataSource; import com.yihu.ehr.model.SystemParams; import com.yihu.ehr.util.httpclient.EsbHttp; import com.yihu.ehr.util.httpclient.Response; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * 数据采集配置页面 * Created by hzp on 2015/8/12. */ @RequestMapping("/system") @Controller("systemController") public class SystemController { @Autowired private ISystemManager system; /******************************** 页面 **********************************/ /* 系统参数页面 */ @RequestMapping("paramManager") public String paramManager(Model model) { try{ SystemParams params = system.getSystemParams(); model.addAttribute("model",params); model.addAttribute("contentPage","/system/paramManager"); return "partView"; } catch (Exception ex) { model.addAttribute("errorMessage",ex.getMessage()); return "error"; } } /* 数据源配置页面 */ @RequestMapping("dataSource") public String dataSource(Model model) { try{ DataSource source = system.getDataSource(); model.addAttribute("model",source); model.addAttribute("contentPage", "/system/dataSource"); return "partView"; } catch (Exception ex) { model.addAttribute("errorMessage",ex.getMessage()); return "error"; } } /*************************** 操作 *******************************************/ /** * 判断是否登录 * @return */ @RequestMapping("isLogin") @ResponseBody public Result isLogin(HttpServletRequest request, HttpServletResponse response) { try { HttpSession session = request.getSession(); Object userInfo = session.getAttribute("userInfo"); if(userInfo==null){ //重定向到指定页面 response.sendRedirect(request.getContextPath() + "/loginPage"); return Result.success("未登录!"); } return Result.success("已登录!"); } catch (Exception ex) { return Result.error(ex.getMessage()); } } /* 登录操作 */ @RequestMapping("loginAction") @ResponseBody public Result loginAction(HttpServletRequest request,String user,String password) { try { HttpSession session = request.getSession(); return system.loginAction(session,user, password); } catch (Exception ex) { return Result.error(ex.getMessage()); } } /* 退出操作 */ @RequestMapping("logoutAction") @ResponseBody public Result logoutAction(HttpServletRequest request) { try { HttpSession session = request.getSession(); session.removeAttribute("userInfo"); return Result.success("退出登录"); } catch (Exception ex) { return Result.error(ex.getMessage()); } } /* 保存参数 */ @RequestMapping("saveSystemParams") @ResponseBody public Result saveSystemParams(String interval,String updateInterval) { try { return system.saveParams(interval, updateInterval); } catch (Exception ex) { return Result.error(ex.getMessage()); } } /* 保存数据源 */ @RequestMapping("saveDataSource") @ResponseBody public Result saveDataSource(String id,String name,String config) { try { return system.saveDataSource(id, name, config); } catch (Exception ex) { return Result.error(ex.getMessage()); } } /* 测试数据源 */ @RequestMapping("testDataSource") @ResponseBody public Result testDataSource(String config) { try { String token = EsbHttp.getToken(); //修改远程补传状态 EsbHttp.changeFillMiningStatus("9","测试","1"); //获取健康云平台标准版本号 String remoteVersion = EsbHttp.getRemoteVersion("41872607-9"); //获取公钥 String publicKey = EsbHttp.getPublicKey(); //注册病人 Patient p = new Patient(); p.setPatientId("1"); p.setEventNo("2"); p.setIdCard("3522251991828317218"); String str = "{\"idCardNo\":\"3522251991828317218\",\"birthday\":-626947200000,\"birthPlace\":null,\"nativePlace\":\"河南省\",\"email\":null,\"gender\":null,\"name\":\"和展鹏对接的\",\"martialStatus\":\"10\",\"nation\":\"1\",\"residenceType\":null,\"workAddress\":null,\"homeAddress\":\"0dae000155fb8a553c5d6125d8610afa\",\"password\":null,\"telphoneNo\":\"\",\"picPath\":null,\"localPath\":null}"; Boolean re = EsbHttp.register(p,str,token); //下载标准包 Response down = EsbHttp.download("","41872607-9"); return system.testDataSource(config); } catch (Exception ex) { return Result.error(ex.getMessage()); } } }