|  | @ -1,15 +1,23 @@
 | 
	
		
			
				|  |  | 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.util.StringUtils;
 | 
	
		
			
				|  |  | 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.
 | 
	
	
		
			
				|  | @ -20,21 +28,35 @@ 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");
 | 
	
		
			
				|  |  |             String page = request.getParameter("page");
 | 
	
		
			
				|  |  |             String filter = request.getParameter("filter");
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(transactionCode)) {
 | 
	
		
			
				|  |  |                 r.setData(gate(request, transactionCode, page, filter));
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 r.setRespCode(Constants.SYSTEM_PARAMS);
 | 
	
		
			
				|  |  |                 r.setRespMessage(Constants.SYSTEM_PARAMS_MESSAGE);
 | 
	
		
			
				|  |  |             //判断transactionCode是否错误
 | 
	
		
			
				|  |  |             if (StringUtil.isEmpty(transactionCode)) {
 | 
	
		
			
				|  |  |                 r.setRespCode(Constants.SYSTEM_ERROR);
 | 
	
		
			
				|  |  |                 r.setRespMessage("transactionCode为空");
 | 
	
		
			
				|  |  |                 return r;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             //根据transactionCode查找数据库
 | 
	
		
			
				|  |  |             List<JSONObject> 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<String, String[]> paramsMap = request.getParameterMap();
 | 
	
		
			
				|  |  |             Map<String, Object> params = new HashMap<String, Object>();
 | 
	
		
			
				|  |  |             for (Map.Entry<String, String[]> 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) {
 | 
	
	
		
			
				|  | @ -44,36 +66,104 @@ public class DataAcquisitionController {
 | 
	
		
			
				|  |  |         return r;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 根据参数选择业务函数
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param request
 | 
	
		
			
				|  |  |      * @param transactionCode
 | 
	
		
			
				|  |  |      * @param page
 | 
	
		
			
				|  |  |      * @param filter
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private String gate(HttpServletRequest request, String transactionCode, String page, String filter) {
 | 
	
		
			
				|  |  |         if (Constants.GETPATIENTQUEUE.equals(transactionCode)) {
 | 
	
		
			
				|  |  |             //获取就诊病人列表(GetPatientQueue)]
 | 
	
		
			
				|  |  |             String beginDate = request.getParameter("beginDate");
 | 
	
		
			
				|  |  |             String endDate = request.getParameter("endDate");
 | 
	
		
			
				|  |  |             return dataAcquisitionManager.getPatientQueue(beginDate, endDate, page, filter);
 | 
	
		
			
				|  |  |     /*
 | 
	
		
			
				|  |  |    系统参数页面
 | 
	
		
			
				|  |  |     */
 | 
	
		
			
				|  |  |     @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");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         } else if (Constants.GETPATIENTDATASET.equals(transactionCode)) {
 | 
	
		
			
				|  |  |             //获取就诊病人档案数据集(GetPatientDataset)
 | 
	
		
			
				|  |  |             String patientId = request.getParameter("patientId");
 | 
	
		
			
				|  |  |             String eventNo = request.getParameter("eventNo");
 | 
	
		
			
				|  |  |             String datasetCode = request.getParameter("datasetCode");
 | 
	
		
			
				|  |  |             return dataAcquisitionManager.getPatientDataset(patientId, eventNo, datasetCode);
 | 
	
		
			
				|  |  |             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 {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         } else if (Constants.POSTPATIENTDATASET.equals(transactionCode)) {
 | 
	
		
			
				|  |  |             //上传就诊病人档案数据集(PostPatientDataset)
 | 
	
		
			
				|  |  |             String patientId = request.getParameter("patientId");
 | 
	
		
			
				|  |  |             String eventNo = request.getParameter("eventNo");
 | 
	
		
			
				|  |  |             String dataset = request.getParameter("dataset");
 | 
	
		
			
				|  |  |             return dataAcquisitionManager.postPatientDataset(patientId, eventNo, dataset);
 | 
	
		
			
				|  |  |             String id = request.getParameter("id");
 | 
	
		
			
				|  |  |             return dataAcquisitionManager.deleteAataAcquisition(id);
 | 
	
		
			
				|  |  |         } catch (Exception ex) {
 | 
	
		
			
				|  |  |             ex.printStackTrace();
 | 
	
		
			
				|  |  |             return Result.error(ex.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return "";
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |