From 285cc36cd3cf9fe11e97a8730a06fcb58000a295 Mon Sep 17 00:00:00 2001 From: hanshaofeng Date: Thu, 20 Oct 2016 11:50:04 +0800 Subject: [PATCH] add import test --- .../lyms/platform/biz/service/SyncDataService.java | 2 + .../lyms/hospitalapi/qhdfy/QhdfyHisService.java | 60 ++++++++++++++++++++++ .../operate/web/controller/SyncDataController.java | 51 ++++++++++++++++++ .../operate/web/service/SyncDataTaskService.java | 46 +++++++++++++++++ 4 files changed, 159 insertions(+) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SyncDataService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SyncDataService.java index 3bc3dfe..c5bde52 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SyncDataService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SyncDataService.java @@ -38,4 +38,6 @@ public class SyncDataService { return iSyncDataDao.querySyncData(query.addOrder(Sort.Direction.ASC, "created")); } + + } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java index 9aa3eb9..d8372a6 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java @@ -1,5 +1,9 @@ package com.lyms.hospitalapi.qhdfy; +import com.lyms.hospitalapi.pojo.CheckItemResponse; +import com.lyms.hospitalapi.pojo.CheckResponse; +import com.lyms.hospitalapi.pojo.LisCheckInfo; +import com.lyms.hospitalapi.pojo.LisCheckResult; import com.lyms.platform.biz.dal.AssayConfigDao; import com.lyms.platform.biz.param.AssayConfigQuery; import com.lyms.platform.biz.service.AssayConfigService; @@ -15,6 +19,7 @@ import com.lyms.platform.query.PatientsQuery; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; +import org.apache.commons.lang.StringUtils; import org.joda.time.DateTime; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -141,4 +146,59 @@ public class QhdfyHisService { return result; } + public List queryLisCheckList(String cardNo) { + List result = new ArrayList<>(); + if (StringUtils.isNotBlank(cardNo)) { + Connection conn = ConnTools.makeLisConnection(); + QueryRunner queryRunner = new QueryRunner(); + try { + List list = queryRunner.query(conn, "select * from lis_check_info where P_CARD = '"+cardNo+"'", new BeanListHandler(LisCheckInfo.class)); + if (list.size() > 0) { + for (LisCheckInfo info:list) { + if (StringUtils.isNotBlank(info.getP_APPLICATIONNUM())) { + List resultList = queryRunner.query(conn, "select * from lis_check_result where P_APPLICATIONNUM = '"+info.getP_APPLICATIONNUM()+"'", new BeanListHandler(LisCheckResult.class)); + if (resultList != null && resultList.size() > 0) { + CheckResponse check = new CheckResponse(); + check.setModified(DateUtil.parseYMDHMS(info.getMODIFIED())); + check.setType(1); + check.setName(info.getP_NAME()); + check.setTitle(info.getP_TITLE()); + check.setAge(info.getP_AGE()); + check.setApplyDate(DateUtil.parseYMDHMS(info.getP_CHECKTIME())); + check.setApplyDateStr(DateUtil.getyyyy_MM_dd(DateUtil.parseYMDHMS(info.getP_CHECKTIME()))); + check.setCheckDept(info.getP_CHECKDEPARTNAME()); + check.setDoctor(info.getP_APPLATIONDOCNAME()); + if ("1".equals(info.getP_SEX())) { + check.setSex("男"); + } else if ("2".equals(info.getP_SEX())) { + check.setSex("女"); + } + List itemList = new ArrayList<>(); + check.setItemList(itemList); + for (LisCheckResult checkItem:resultList) { + CheckItemResponse item = new CheckItemResponse(); + item.setName(checkItem.getP_ITEMNAME()); + item.setCode(checkItem.getP_ITEMCODE()); + item.setRefer(checkItem.getP_REFERENCEVALUE()); + item.setResult(checkItem.getP_ITEMRESULT()); + item.setUnit(checkItem.getP_UNIT()); + item.setSpecial(checkItem.getP_HIGHANDLOWMARK()); + itemList.add(item); + } + result.add(check); + } + } + } + } + DbUtils.closeQuietly(conn); + return result; + } catch (SQLException e) { + DbUtils.closeQuietly(conn); + e.printStackTrace(); + return result; + } + } + return result; + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java new file mode 100644 index 0000000..cc47f51 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java @@ -0,0 +1,51 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.biz.service.SyncDataService; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.pojo.SyncDataModel; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.query.SyncDataQuery; +import org.apache.commons.lang.StringUtils; +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.RequestMethod; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * Created by riecard on 2016/10/20. + */ +@Controller +public class SyncDataController extends BaseController { + + @Autowired + private SyncDataService syncDataService; + + @RequestMapping(value = "/findSyncData", method = RequestMethod.POST) + public void findSyncData(HttpServletResponse response) { + SyncDataQuery syncDataQuery = new SyncDataQuery(); + syncDataQuery.setNeed("y"); + syncDataQuery.setLimit(100); + syncDataQuery.setStatus(1); + List list = syncDataService.querySyncData(syncDataQuery); + writeJson(response, JsonUtil.array2JsonString(list)); + } + + @RequestMapping(value = "/updateSyncData", method = RequestMethod.POST) + public void updateSyncData(HttpServletResponse response, String ids) { + if (StringUtils.isNotBlank(ids)) { + String[] array = ids.split(","); + for (String id:array) { + SyncDataModel model = new SyncDataModel(); + model.setId(id); + model.setStatus(0); + syncDataService.updateSyncData(model); + } + writeString(response,"updateSyncData success"); + } + writeString(response, "updateSyncData fail"); + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java index 8fedf75..2ebba28 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java @@ -1,9 +1,15 @@ package com.lyms.platform.operate.web.service; +import com.lyms.platform.biz.service.MongoSyncService; import com.lyms.platform.biz.service.SyncDataService; import com.lyms.platform.common.pojo.SyncDataModel; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.common.utils.MessageUtil; import com.lyms.platform.common.utils.MongoSyncUtil; import com.lyms.platform.query.SyncDataQuery; +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.NameValuePair; +import org.apache.commons.httpclient.methods.PostMethod; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,6 +25,9 @@ public class SyncDataTaskService { @Autowired private SyncDataService syncDataService; + @Autowired + private MongoSyncService mongoSyncService; + public void syncData() { SyncDataQuery query = new SyncDataQuery(); query.setStatus(1); @@ -34,4 +43,41 @@ public class SyncDataTaskService { } } + public void qhdfySyncData() { + try { + HttpClient client = new HttpClient(); + client.getHttpConnectionManager().getParams().setConnectionTimeout(10000); + client.getHttpConnectionManager().getParams().setSoTimeout(10000); + PostMethod post = new MessageUtil.UTF8PostMethod("http://121.22.16.246:18018/findSyncData"); + client.executeMethod(post); + int statusCode = post.getStatusCode(); + String json = post.getResponseBodyAsString(); + System.out.println(json); + post.releaseConnection(); + StringBuffer ids = new StringBuffer(); + if (200 == statusCode) { + List list = JsonUtil.toList(json,SyncDataModel.class); + for (SyncDataModel model:list) { + boolean boo = mongoSyncService.syncData(model.getAction(),model.getDataId(), model.getClassName(), model.getJsonData()); + if (boo) { + ids.append(model.getId()); + ids.append(","); + } + } + if (ids.length() > 0) { + PostMethod post1 = new MessageUtil.UTF8PostMethod("http://121.22.16.246:18018/updateSyncData"); + NameValuePair[] pairs = { + new NameValuePair("ids", ids.toString()), + }; + post1.setRequestBody(pairs); + client.executeMethod(post1); + System.out.println(post1.getResponseBodyAsString()); + post.releaseConnection(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } -- 1.8.3.1