From ecbc6c6a14015ba699c19f8e87dbb9177e10a77d Mon Sep 17 00:00:00 2001 From: zhangchao Date: Tue, 22 Oct 2024 11:52:14 +0800 Subject: [PATCH] =?UTF-8?q?#fix:=E4=BC=98=E5=8C=96=E8=89=BE=E6=A2=85?= =?UTF-8?q?=E4=B9=99=E5=8D=B1=E6=80=A5=E5=80=BC=E7=AE=A1=E7=90=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/service/impl/LisServiceImpl.java | 57 +++++++++------------- .../com/lyms/platform/query/PatientsQuery.java | 47 +++++++++++++++++- .../controller/AntenatalExaminationController.java | 2 + .../web/controller/PuerperaManageController.java | 15 +++++- .../platform/operate/web/facade/PatientFacade.java | 20 ++++++++ 5 files changed, 106 insertions(+), 35 deletions(-) diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java index 157a552..3129a0c 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java @@ -258,14 +258,14 @@ public class LisServiceImpl implements LisService { crisisItem.setName(model.getType()); crisisItem.setClassify(model.getType()); crisisItem.setClassifyName(model.getType()); - crisisItem.setResult(item.getResult()); + crisisItem.setResult(item.getResult().trim()); //crisisItem.setFlag(item.getFlag()); crisisItem.setItemCode(code); crisisItem.setItemName(name); crisisItem.setRef(item.getRef()); crisisItem.setUnit(item.getUnit()); lisCrisisItemService.addLisCrisisItem(crisisItem); - String result= getResult(code,name,item.getResult().trim()); + String result= getResult(code,name,crisisItem); if (StringUtils.isNotEmpty(result)){ params.put(code, result); } @@ -813,59 +813,50 @@ public class LisServiceImpl implements LisService { } - private static String getResult(String code,String name,String result){ + private String getResult(String code,String name,LisCrisisItem crisisItem){ if (code.equals("HBcAb")){ if ("乙型肝炎核心抗体(发光法)".equals(name)){ - return result; + return crisisItem.getResult(); } }else if (code.equals("HBeAb")){ if ("乙型肝炎e抗体(发光法)".equals(name)){ - return result; + return crisisItem.getResult(); } }else if (code.equals("HBeAg")){ if ("乙型肝炎e抗原(发光法)".equals(name)){ - return result; + return buildEmergency(crisisItem); } }else if (code.equals("HBsAb")){ if ("乙型肝炎表面抗体(发光法)".equals(name)){ - return result; + return buildEmergency(crisisItem); } }else if (code.equals("HBsAg")){ if ("乙型肝炎表面抗原(发光法)".equals(name)){ - return result; + return buildEmergency(crisisItem); } }else { - return result; + return crisisItem.getResult(); } return null; } - private boolean buildEmergency(String result, ReferValue referValue) { - boolean b = false; - if (StringUtils.isEmpty(result)) { - return b; - } - if ("阴性".equals(result)||"阳性".equals(result)){ - return true; - } - BigDecimal bd = new BigDecimal(result); - if (StringUtils.isNotBlank(referValue.getEmergencyMin()) && StringUtils.isNotBlank(referValue.getEmergencyMax())) { - if (bd.compareTo(new BigDecimal(referValue.getEmergencyMin())) < 0 || - bd.compareTo(new BigDecimal((referValue.getEmergencyMax()))) > 0) { - b = true; - } - } else { - if (StringUtils.isNotBlank(referValue.getEmergencyMin())) { - if (bd.compareTo(new BigDecimal(referValue.getEmergencyMin())) < 0) { - b = true; - } - } else if (StringUtils.isNotBlank(referValue.getEmergencyMax())) { - if (bd.compareTo(new BigDecimal(referValue.getEmergencyMax())) > 0) { - b = true; - } + + + private static String buildEmergency(LisCrisisItem crisisItem) { + String result =crisisItem.getResult(); + String ref=crisisItem.getRef(); + if (StringUtils.isNotEmpty(result)&&StringUtils.isNotEmpty(ref)){ + String array[]= result.split("<"); + String arrays[]= ref.split("<"); + BigDecimal b=new BigDecimal(array[1]); + BigDecimal a=new BigDecimal(arrays[1]); + if (b.compareTo(a)>0){ + return "阳性"; + }else { + return "阴性"; } } - return b; + return null; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index 8e1fb41..11ebb25 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -5,6 +5,7 @@ import com.lyms.platform.common.dao.BaseQuery; import com.lyms.platform.common.dao.operator.MongoCondition; import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.enums.DiseaseTypeEnums; import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.common.utils.StringUtils; import org.apache.commons.collections.CollectionUtils; @@ -454,8 +455,18 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private boolean dtFm=false; private String allPats; + //大同艾梅乙查询 + private String diseaseType; private MongoCondition condition2; + public String getDiseaseType() { + return diseaseType; + } + + public void setDiseaseType(String diseaseType) { + this.diseaseType = diseaseType; + } + public String getAllPats() { return allPats; } @@ -1400,7 +1411,41 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { c1 = c.orCondition(new MongoCondition[]{con1, con2}).getCriteria(); } } - + if(StringUtils.isNotEmpty(diseaseType)){ + MongoCondition c = MongoCondition.newInstance(); + List mongoCondits = new ArrayList <>(); + //乙肝查询 + // hBcAbJ;//乙肝表面抗原 + // hBeAbJ;//乙肝表面抗体 + // hBeAgj;//乙肝e抗原 + // hBsAbJ;//乙肝e抗体 阳 + // hBsAgJ;//乙肝核心抗体 + if (diseaseType.equals(DiseaseTypeEnums.YIGAN.getName())) { + mongoCondits.add(new MongoCondition("hBcAbJ", "阳", MongoOper.LIKE)); + mongoCondits.add(new MongoCondition("hBeAbJ", "阳", MongoOper.LIKE)); + mongoCondits.add(new MongoCondition("hBeAgj", "阳", MongoOper.LIKE)); + mongoCondits.add(new MongoCondition("hBsAbJ", "阴", MongoOper.LIKE)); + mongoCondits.add(new MongoCondition("hBsAgJ", "阳", MongoOper.LIKE)); + + }else if (diseaseType.equals(DiseaseTypeEnums.MEIDU.getName())) { + //梅毒查询 + mongoCondits.add(new MongoCondition("tp", "阳", MongoOper.LIKE).orCondition(new MongoCondition("syjg", "", MongoOper.NE))); + mongoCondits.add(new MongoCondition("HIVJ", "阳", MongoOper.LIKE).orCondition(new MongoCondition("hivkt", "", MongoOper.NE))); + }else { + mongoCondits.add(new MongoCondition("hBcAbJ", "阳", MongoOper.LIKE)); + mongoCondits.add(new MongoCondition("hBeAbJ", "阳", MongoOper.LIKE)); + mongoCondits.add(new MongoCondition("hBeAgj", "阳", MongoOper.LIKE)); + mongoCondits.add(new MongoCondition("hBsAbJ", "阴", MongoOper.LIKE)); + mongoCondits.add(new MongoCondition("hBsAgJ", "阳", MongoOper.LIKE)); + mongoCondits.add(new MongoCondition("tp", "阳", MongoOper.LIKE).orCondition(new MongoCondition("syjg", "", MongoOper.NE))); + mongoCondits.add(new MongoCondition("HIVJ", "阳", MongoOper.LIKE).orCondition(new MongoCondition("hivkt", "", MongoOper.NE))); + } + if (c1 != null) { + c1 = c1.andOperator(c.orCondition(mongoCondits.toArray(new MongoCondition[mongoCondits.size()])).getCriteria()); + } else { + c1 = c.orCondition(mongoCondits.toArray(new MongoCondition[mongoCondits.size()])).getCriteria(); + } + } if (existRiskLevel) { MongoCondition c = MongoCondition.newInstance(); MongoCondition con1 = MongoCondition.newInstance("riskLevelId", "224b2329-cb82-4da3-a071-8527f8283aab", MongoOper.LIKE); // 紫色 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java index ab99cc9..a41bd92 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java @@ -333,6 +333,8 @@ public class AntenatalExaminationController extends BaseController { return antExRecordFacade.findList(antExManagerQueryRequest, loginState.getId(), false, "true",antExManagerQueryRequest.isCurrent()); } + + /** * 功能描述 威海高危统计 * @author 武涛涛 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java index 191729d..f9d0f77 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java @@ -297,6 +297,8 @@ public class PuerperaManageController extends BaseController { return patientFacade.queryCesareanAllPuerpera(patientsQueryRequest, null, 1, loginState.getId(), "true", Boolean.FALSE); } + + /** * 高龄孕产妇全部孕妇管理 * @@ -618,7 +620,18 @@ public class PuerperaManageController extends BaseController { LoginContext loginState = (LoginContext) request1.getAttribute("loginContext"); return patientFacade.patientGuildSms(patientGuideSmsRequest, loginState.getId()); } - + /** + * 艾梅乙孕妇管理 + * + * @return 返回结果 + */ + @RequestMapping(value = "/queryAmyPatients", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse queryAmyPatients(String diseaseType,Integer page,Integer limit, HttpServletRequest request){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return patientFacade.queryAmyPatients(loginState.getId(),diseaseType,page,limit); + } /** * 区域高危孕妇管理 * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index e315af4..d70090d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -704,7 +704,26 @@ public class PatientFacade extends BaseServiceImpl { return patientsQuery; } + /** + * 大同艾梅乙查询 + * @param userId + * @return + */ + public BaseResponse queryAmyPatients(Integer userId,String diseaseType,Integer page,Integer limit){ + String hospital = autoMatchFacade.getHospitalId(userId); + PatientsQuery patientsQuery =new PatientsQuery(); + patientsQuery.setDtFm(true); + patientsQuery.setPage(page); + patientsQuery.setLimit(limit); + patientsQuery.setHospitalId(hospital); + patientsQuery.setYn(1); + patientsQuery.setType(1); + patientsQuery.setDiseaseType(diseaseType); + List patientses = patientsService.queryPatient(patientsQuery); + List data = convertToQuanPatient(patientses, userId, hospital); + return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(patientsQuery.getPageInfo()); + } /** * 查询高危孕妇 @@ -1713,6 +1732,7 @@ public class PatientFacade extends BaseServiceImpl { } + /** * 高龄孕产妇全部孕妇管理 * -- 1.8.3.1