diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/HttpClientUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/HttpClientUtil.java index a4594da..2bbb0e0 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/HttpClientUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/HttpClientUtil.java @@ -257,6 +257,50 @@ public class HttpClientUtil { } + public static String doWebServicePost(String apiUrl, Object json) { + HttpClient httpClient = null; + HttpPost httpPost = new HttpPost(apiUrl); + HttpResponse response = null; + String httpStr = null; + + try { + httpClient = new SSLClient(); + httpPost.setConfig(requestConfig); + StringEntity stringEntity = new StringEntity("json="+json.toString(),"UTF-8");//解决中文乱码问题 + stringEntity.setContentEncoding("UTF-8"); + stringEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8"); + httpPost.setHeader("connection", "Keep-Alive"); + httpPost.setEntity(stringEntity); + response = httpClient.execute(httpPost); + int statusCode = response.getStatusLine().getStatusCode(); + System.out.println("return code = "+ statusCode); + if (statusCode != HttpStatus.SC_OK) { + return null; + } + HttpEntity entity = response.getEntity(); + if (entity == null) { + return null; + } + httpStr = EntityUtils.toString(entity, "utf-8"); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (response != null) { + try { + EntityUtils.consume(response.getEntity()); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (httpPost != null) + { + httpPost.releaseConnection(); + } + + } + return httpStr; + } + /** * sslpost * @param apiUrl diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java index 10d9ddd..834af31 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java @@ -1,6 +1,5 @@ package com.lyms.hospitalapi.lhxfy; -import com.alibaba.druid.support.json.JSONUtils; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.biz.service.ResidentsArchiveService; import com.lyms.platform.common.enums.YnEnums; @@ -14,8 +13,9 @@ import com.lyms.platform.pojo.ResidentsArchiveModel; import com.lyms.platform.query.ResidentsArchiveQuery; import net.sf.json.JSONObject; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.dbutils.QueryRunner; -import org.apache.commons.dbutils.handlers.BeanListHandler; +import org.dom4j.Document; +import org.dom4j.DocumentHelper; +import org.dom4j.Element; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; @@ -23,7 +23,7 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; -import java.sql.Connection; + import java.util.*; /** @@ -671,9 +671,10 @@ public class LhxfyService { model.getHusbandAccountAddress(), basicConfigService)); data.put("idCard", model.getHusbandCardNo()); data.put("phoneNumber", model.getHusbandPhone()); + data.put("deviceNum", "管理员"); String husbandJson = JsonUtil.obj2Str(data); System.out.println("HusbandJson=" + husbandJson); - String husbandResult = HttpClientUtil.doPostSSL(LHFY_HIS_URL,husbandJson); + String husbandResult = HttpClientUtil.doWebServicePost(LHFY_HIS_URL,husbandJson); System.out.println("husbandResult="+husbandResult); model.setHusbandBlNum(getPatientId(husbandResult)); @@ -681,16 +682,17 @@ public class LhxfyService { data.put("patientName",model.getWifeName()); data.put("patientSex","女"); data.put("birthday",DateUtil.getyyyy_MM_dd(model.getWifeBirthday())); - data.put("address", CommonsHelper.getResidence(model.getWifeAccountProvince(), + data.put("address", CommonsHelper.getResidence(model.getWifeAccountProvince(), model.getWifeAccountCity(), model.getWifeAccountArea(), model.getWifeAccountStreet(), model.getWifeAccountAddress(), basicConfigService)); data.put("idCard",model.getWifeCardNo()); data.put("phoneNumber", model.getWifePhone()); + data.put("deviceNum", "管理员"); String json = JsonUtil.obj2Str(data); System.out.println("wifeJson=" + json); - String wifeResult = HttpClientUtil.doPostSSL(LHFY_HIS_URL, json); + String wifeResult = HttpClientUtil.doWebServicePost(LHFY_HIS_URL, json); System.out.println("wifeResult="+wifeResult); model.setWifeBlNum(getPatientId(wifeResult)); @@ -726,9 +728,10 @@ public class LhxfyService { data.put("address", addressStr); data.put("idCard", model.getCertificateNum()); data.put("phoneNumber", model.getPhone()); + data.put("deviceNum", "管理员"); String json = JsonUtil.obj2Str(data); System.out.println("residentsJson=" + json); - String residentsResult = HttpClientUtil.doPostSSL(LHFY_HIS_URL,json); + String residentsResult = HttpClientUtil.doWebServicePost(LHFY_HIS_URL,json); System.out.println("residentsResult="+residentsResult); model.setBlNum(getPatientId(residentsResult)); @@ -744,18 +747,31 @@ public class LhxfyService { } - private String getPatientId(String result) + public static String getPatientId(String result) { + //result= "{\"header\":{\"responseCode\":\"100\",\"remark\":\"\"},\"body\":{\"patientId\":\"2107170115\"}}"; if (StringUtils.isNotEmpty(result)) { - JSONObject jsonObject = JsonUtil.getObj(result); - JSONObject jsonObject1 = jsonObject.getJSONObject("header"); - if ("100".equals(jsonObject1.getString("responseCode"))) + try { + Document document = DocumentHelper.parseText(result); + Element recordEle = document.getRootElement(); + String json = recordEle.getStringValue(); + + JSONObject jsonObject = JsonUtil.getObj(json); + JSONObject jsonObject1 = jsonObject.getJSONObject("header"); + if ("100".equals(jsonObject1.getString("responseCode"))) + { + String patientId = jsonObject.getJSONObject("body").getString("patientId"); + if (StringUtils.isNotEmpty(patientId)) + { + return patientId; + } + } + } + catch (Exception e) { - String patientId = jsonObject.getJSONObject("body").getString("patientId"); - return patientId; + return null; } - } return null; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java index 216e6fc..f6dba02 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java @@ -187,8 +187,10 @@ public class BabyCheckController extends BaseController { @RequestParam(value = "highRisk", required = false) Integer highRisk, @RequestParam(value = "waskSon", required = false) Integer waskSon, @RequestParam(value = "checkDoctorId", required = false) String checkDoctorId, + @RequestParam(value = "level", required = false) String level, Integer page, Integer limit, HttpServletRequest request) { - return babyCheckFacade.babyCheckList(checkTime, queryNo, startCheckMonthAge, endCheckMonthAge, nextDate, highRisk, waskSon, checkDoctorId, page, limit, getUserId(request)); + return babyCheckFacade.babyCheckList(checkTime, queryNo, startCheckMonthAge, endCheckMonthAge, + nextDate, highRisk, waskSon, checkDoctorId, page, limit, getUserId(request),level); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index f5da0b7..788d44a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -2485,6 +2485,7 @@ public class BabyBookbuildingFacade { br.setName(data.getName()); br.setParentId(data.getParentId()); br.setDesc(data.getDescribe()); + br.setLevel(data.getLevel()); configResults.add(br); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index 3f9c6a5..80330dd 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -1088,7 +1088,7 @@ public class BabyCheckFacade extends BaseServiceImpl { } public BaseResponse babyCheckList(String checkTime, String queryNo, Integer checkMonthAge, Integer endCheckMonthAge, String nextDate, - Integer highRisk, Integer waskSon, String checkDoctorId,Integer page, Integer limit, Integer userId) { + Integer highRisk, Integer waskSon, String checkDoctorId,Integer page, Integer limit, Integer userId,String level) { boolean flag = false; // List hospital = groupsFacade.findGroupHospital(userId, false); String hospitalId = autoMatchFacade.getHospitalId(userId); @@ -1132,6 +1132,10 @@ public class BabyCheckFacade extends BaseServiceImpl { if (null != waskSon) { criteria.and("waskSon").is(waskSon); } + + if (StringUtils.isNotEmpty(level)) { + criteria.and("diagnoseLevel").in(level); + } if (null != checkDoctorId) { criteria.and("checkDoctor").is(checkDoctorId); } @@ -1176,6 +1180,38 @@ public class BabyCheckFacade extends BaseServiceImpl { map.put("checkDoctor", usersService.getUsers(Integer.valueOf(babyCheckModel.getCheckDoctor())).getName()); } + String diagnoseStr = babyCheckModel.getDiagnose(); + List diagnoseList = new ArrayList<>(); + if (!com.lyms.platform.common.utils.StringUtils.isEmpty(diagnoseStr)) { + List diagnoses = JsonUtil.toList(diagnoseStr, List.class); + for (int i = 0; i < diagnoses.size(); i++) { + if (diagnoses.get(i) != null) { + Map data = new HashMap(); + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); + basicConfigQuery.setYn(YnEnums.YES.getId()); + basicConfigQuery.setParentId(SystemConfig.DIAGNOSE_TYPE_ID); + basicConfigQuery.setId(String.valueOf(diagnoses.get(i))); + List datas = basicConfigService.queryBasicConfig(basicConfigQuery); + if (CollectionUtils.isNotEmpty(datas)) { + data.put("name",datas.get(0).getName()); + data.put("level",datas.get(0).getLevel()); + diagnoseList.add(data); + } else if (CollectionUtils.isEmpty(datas)) { + BasicConfigQuery basicConfigQuery2 = new BasicConfigQuery(); + basicConfigQuery2.setYn(YnEnums.YES.getId()); + basicConfigQuery2.setId(String.valueOf(diagnoses.get(i))); + List datas2 = basicConfigService.queryBasicConfig(basicConfigQuery2); + if (CollectionUtils.isNotEmpty(datas2)) { + data.put("name",datas2.get(0).getName()); + data.put("level",datas2.get(0).getLevel()); + diagnoseList.add(data); + } + } + } + + } + } + map.put("diagnoseList",diagnoseList); map.put("height", babyCheckModel.getHeight()); map.put("weight", babyCheckModel.getWeight()); list.add(map); diff --git a/platform-operate-api/src/main/resources/config.properties b/platform-operate-api/src/main/resources/config.properties index fab49de..6205998 100644 --- a/platform-operate-api/src/main/resources/config.properties +++ b/platform-operate-api/src/main/resources/config.properties @@ -52,6 +52,6 @@ lp_risk_url=http://lp-chengde-api.healthbaby.com.cn:8082 area_url=http://localhost:8082 #隆化妇幼同步his的地址 -lhfy_his_url= +lhfy_his_url=http://10.0.32.141:8087/Default.asmx/HosRegister #隆化妇幼获取lis的url lhfy_lis_url=https://lhfy-chengde-api.healthbaby.com.cn:12356/lis/getLhLisById \ No newline at end of file