|
@ -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 "";
|
|
|
}
|
|
|
}
|