From b6f14769392f60d2617695e8a68815ff138faeb0 Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Wed, 29 Dec 2021 11:28:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BB=A6=E5=B9=B3-=E5=84=BF=E7=AB=A5=E8=B4=AB?= =?UTF-8?q?=E8=A1=80=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/query/AntExChuQuery.java | 2 +- .../lyms/platform/query/BabyCheckModelQuery.java | 44 ++++++++- .../web/controller/BabyCheckController.java | 15 ++- .../operate/web/facade/BabyCheckFacade.java | 110 +++++++++++++++++++++ 4 files changed, 167 insertions(+), 4 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/AntExChuQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/AntExChuQuery.java index 4a4172e..332fed6 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/AntExChuQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/AntExChuQuery.java @@ -380,7 +380,7 @@ public class AntExChuQuery extends BaseQuery implements IConvertToNativeQuery { if (null != end) { if (null != c) { - c = c.and("checkTime").lte(end); + c = c.lte(end); } else { c = Criteria.where("checkTime").lte(end); } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java index 899b48d..ab70507 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.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.utils.StringUtils; import org.springframework.data.mongodb.core.query.Criteria; import java.util.Arrays; @@ -89,6 +90,35 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu private Date modifiedEnd; private Integer highRisk; + //滦平儿保血红蛋白统计 + private String hemoglobinStart; + private String hemoglobinEnd; + private String hemoglobinLt; + + public String getHemoglobinLt() { + return hemoglobinLt; + } + + public void setHemoglobinLt(String hemoglobinLt) { + this.hemoglobinLt = hemoglobinLt; + } + + public String getHemoglobinStart() { + return hemoglobinStart; + } + + public void setHemoglobinStart(String hemoglobinStart) { + this.hemoglobinStart = hemoglobinStart; + } + + public String getHemoglobinEnd() { + return hemoglobinEnd; + } + + public void setHemoglobinEnd(String hemoglobinEnd) { + this.hemoglobinEnd = hemoglobinEnd; + } + public Integer getHighRisk() { return highRisk; } @@ -178,6 +208,9 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu MongoCondition condition2 = new MongoCondition("created", gteCreated, MongoOper.GTE); condition = condition.orCondition(new MongoCondition[]{mongoCondition, condition2}); } + if(StringUtils.isNotEmpty(hemoglobinLt)){ + condition=condition.and("hemoglobin", hemoglobinLt, MongoOper.LT); + } Criteria c = null; if (null != birthStart) { @@ -226,7 +259,7 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu if(null != createdTimeStart && createdTimeEnd != null){ if(null != c){ - c = c.where("created").gte(createdTimeStart).lte(createdTimeEnd); + c = c.and("created").gte(createdTimeStart).lte(createdTimeEnd); }else{ c = Criteria.where("created").gte(createdTimeStart).lte(createdTimeEnd); } @@ -234,12 +267,19 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu if(null != modifiedStart && modifiedEnd != null){ if(null != c){ - c = c.where("modified").gte(modifiedStart).lte(modifiedEnd); + c = c.and("modified").gte(modifiedStart).lte(modifiedEnd); }else{ c = Criteria.where("modified").gte(modifiedStart).lte(modifiedEnd); } } + if(null != hemoglobinStart && hemoglobinEnd != null){ + if(null != c){ + c = c.and("hemoglobin").gte(hemoglobinStart).lte(hemoglobinEnd); + }else{ + c = Criteria.where("hemoglobin").gte(createdTimeStart).lte(createdTimeEnd); + } + } if (c != null) { return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); 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 0d6148f..d5d88ee 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 @@ -16,6 +16,7 @@ import com.lyms.platform.operate.web.facade.BabyCheckFacade; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.permission.service.CouponService; +import com.lyms.platform.pojo.AntExChuModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -628,5 +629,17 @@ public class BabyCheckController extends BaseController { return babyCheckFacade.getBabyDoctorCount(checkTime, getUserId(request)); } - + /** + * 儿童统计管理-儿童贫血统计 + * 儿保检查记录中统计 + * @param + * @return + */ + @RequestMapping(value = "/getBabyCheckHemoglobin", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse getBabyCheckHemoglobin(@RequestParam(required = true) String hospitalId, + @RequestParam(required = true) String checkTime) { + return babyCheckFacade.getBabyCheckHemoglobin(hospitalId,checkTime); + } } \ No newline at end of file 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 dccfe05..04075ba 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 @@ -4645,4 +4645,114 @@ public class BabyCheckFacade extends BaseServiceImpl { return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(datas).setErrormsg("成功"); } + + public BaseResponse getBabyCheckHemoglobin(String hospitalId, String checkTime) { + BaseResponse br=new BaseResponse(); + List> mapList=new ArrayList<>(); + BabyCheckModelQuery query = new BabyCheckModelQuery(); + if (null != checkTime) { + try { + query.setCheckDateStart(DateUtil.getSNDate(checkTime)[0]); + query.setCheckDateEnd(DateUtil.getSNDate(checkTime)[1]); + } catch (Exception e) { + } + } + query.setHospitalId(hospitalId); + int total=0; + for (int i=1;i<=6;i++){ + Mapmap =new HashMap<>(); + int cms=0,cme=0; + //全区间总数 + if(i==6){ + map.put("zTotal", total); + mapList.add(map); + break; + } + String lightHls="0",lightHln="0"; + String middleHls="0",middleHln="0"; + String matterHls="0",matterHln="0"; + String severityHll="0"; + switch (i){ + case 1: + /** + * 1-4个月 + */ + cms=1;cme=4; + middleHls="60";middleHln="89"; + matterHls="30";matterHln="59";severityHll="30"; + break; + case 2: + /** + * 4-6个月 + */ + cms=4;cme=6; + //(90-100g/l) + lightHls="90";lightHln="100"; middleHls="60";middleHln="89"; + matterHls="30";matterHln="59";severityHll="30"; + break; + case 3: + /** + * 6-59个月 + */ + cms=6;cme=72; + //(90-110g/l) + lightHls="90";lightHln="110"; middleHls="60";middleHln="89"; + matterHls="30";matterHln="59";severityHll="30"; + break; + case 4: + /** + * 6-11岁 + */ + cms=72;cme=132; + //(90-115g/l) + lightHls="90";lightHln="115"; middleHls="60";middleHln="89"; + matterHls="30";matterHln="59";severityHll="30"; + break; + case 5: + /** + * 12-14岁 + */ + cms=144;cme=168; + //(90-120g/l) + lightHls="90";lightHln="120"; middleHls="60";middleHln="89"; + matterHls="30";matterHln="59";severityHll="30"; + break; + } + query.setCheckMonthStart(cms); + query.setCheckMonthEnd(cme); + //轻度贫血 + query.setHemoglobinStart(lightHls); + query.setHemoglobinEnd(lightHln); + int light =babyCheckService.queryBabyCheckCount(query); + map.put("light",light); + //中度贫血 + query.setHemoglobinStart(middleHls); + query.setHemoglobinEnd(middleHln); + int middle =babyCheckService.queryBabyCheckCount(query); + map.put("middle",middle); + //重度贫血 + query.setHemoglobinStart(matterHls); + query.setHemoglobinEnd(matterHls); + int matter =babyCheckService.queryBabyCheckCount(query); + map.put("matter",matter); + //极重度贫血 + query.setHemoglobinLt(severityHll); + query.setHemoglobinStart(null); + query.setHemoglobinEnd(null); + int severity =babyCheckService.queryBabyCheckCount(query); + map.put("severity",severity); + //月龄区间总数 + map.put("total",light+middle+matter+severity); + if(cms==1){ + map.put("total",middle+matter+severity); + } + //汇总总数 + total+=Integer.parseInt(map.get("total").toString()); + mapList.add(map); + } + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setObject(mapList); + return br; + } } \ No newline at end of file -- 1.8.3.1