package com.yihu.ehr.controller; import com.yihu.ehr.common.constants.Constants; import com.yihu.ehr.dbhelper.jdbc.DBHelper; import com.yihu.ehr.framework.model.Result; import com.yihu.ehr.model.DataAcquistion; import com.yihu.ehr.model.RespResult; import com.yihu.ehr.service.intf.IDataAcquisitionManager; import com.yihu.ehr.util.operator.StringUtil; import org.json.JSONObject; 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 java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by chenweida on 2016/3/18. */ @Controller @RequestMapping("/dataAcquisition") public class DataAcquisitionController { @Autowired private IDataAcquisitionManager dataAcquisitionManager; private DBHelper db = new DBHelper(); @RequestMapping(value = "/getData") @ResponseBody public RespResult getData(HttpServletRequest request) throws Exception { RespResult r = new RespResult(); try { String transactionCode = request.getParameter("transactionCode"); //判断transactionCode是否错误 if (StringUtil.isEmpty(transactionCode)) { r.setRespCode(Constants.SYSTEM_ERROR); r.setRespMessage("transactionCode为空"); return r; } //根据transactionCode查找数据库 List list = db.query("select * from data_acquisition where transactioncode='" + transactionCode + "'"); if (list == null && list.size() == 0) { r.setRespCode(Constants.SYSTEM_ERROR); r.setRespMessage("transactionCode不存在"); return r; } //得到参数 Map paramsMap = request.getParameterMap(); Map params = new HashMap(); for (Map.Entry a : paramsMap.entrySet()) { params.put(a.getKey(), a.getValue()[0]); } JSONObject jo = list.get(0); r.setData(dataAcquisitionManager.gate(jo, params)); //根据参数选择业务函数 r.setTransactionCode(transactionCode); } catch (Exception e) { r.setRespCode(Constants.SYSTEM_ERROR); r.setRespMessage(e.getMessage()); } return r; } /* 系统参数页面 */ @RequestMapping("/dataAcquisitionManager") public String paramManager(Model model) { try { model.addAttribute("contentPage", "/datacquisition/dataAcquistion"); return "partView"; } catch (Exception ex) { model.addAttribute("errorMessage", ex.getMessage()); return "error"; } } @RequestMapping("getDataAcquisition") @ResponseBody public Result getDataAcquisition(int page, int rows) { try { return dataAcquisitionManager.getDataAcquisition(page, rows); } catch (Exception ex) { return Result.error(ex.getMessage()); } } @RequestMapping("editorDataAcq") public String editorDataAcq(Model model, String dataId) { try { //是否编辑 if (dataId != null && dataId.length() > 0) { //获取菜单信息 DataAcquistion jsonS = dataAcquisitionManager.getDataAcquisitionById(dataId); model.addAttribute("model", jsonS); } model.addAttribute("contentPage", "datacquisition/editorDataAcq"); return "pageView"; } catch (Exception ex) { model.addAttribute("contentPage", "datacquisition/editorDataAcq"); return "pageView"; } } @RequestMapping("addDataAcquisition") @ResponseBody public Result addDataAcquisition(HttpServletRequest request) { try { String url = request.getParameter("url"); String request_type = request.getParameter("request_type"); String transactioncode = request.getParameter("transactioncode"); String url_type = request.getParameter("url_type"); String name = request.getParameter("name"); if (dataAcquisitionManager.getDataAcquisitionByCode(transactioncode) != null) { return Result.error("接口代码已经存在"); } if (dataAcquisitionManager.getDataAcquisitionByName(name) != null) { return Result.error("接口名称已经存在"); } return dataAcquisitionManager.addDataAcquisition(url, request_type, transactioncode, url_type, name); } catch (Exception ex) { ex.printStackTrace(); return Result.error(ex.getMessage()); } } @RequestMapping("updateDataAcquisition") @ResponseBody public Result updateDataAcquisition(HttpServletRequest request) { try { String url = request.getParameter("url"); String id = request.getParameter("id"); String request_type = request.getParameter("request_type"); String transactioncode = request.getParameter("transactioncode"); String url_type = request.getParameter("url_type"); String name = request.getParameter("name"); if (dataAcquisitionManager.getDataAcquisitionByCode(transactioncode, id) != null) { return Result.error("接口代码已经存在"); } if (dataAcquisitionManager.getDataAcquisitionByName(name, id) != null) { return Result.error("接口名称已经存在"); } return dataAcquisitionManager.updateDataAcquisition(url, request_type, transactioncode, url_type, name, id); } catch (Exception ex) { ex.printStackTrace(); return Result.error(ex.getMessage()); } } @RequestMapping("deleteDataAcquisition") @ResponseBody public Result deleteDataAcquisition(HttpServletRequest request) { try { String id = request.getParameter("id"); return dataAcquisitionManager.deleteAataAcquisition(id); } catch (Exception ex) { ex.printStackTrace(); return Result.error(ex.getMessage()); } } }