From a2d31c906ae6b68e75d47b99029736d660142fd5 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Sat, 14 Aug 2021 14:16:33 +0800 Subject: [PATCH] update --- .../permission/model/ReportMatdeliver.java | 9 +++ .../lyms/platform/permission/model/UsersQuery.java | 10 ++++ .../resources/mainOrm/master/MasterMysqlAntexc.xml | 6 +- .../com/lyms/platform/pojo/BabyCheckModel.java | 8 +++ .../com/lyms/platform/query/MatDeliverQuery.java | 15 +++++ .../web/controller/MatDeliverController.java | 17 ++++++ .../operate/web/controller/TestController.java | 35 ++++++++++++ .../operate/web/facade/BabyCheckFacade.java | 49 ++++++++++------ .../operate/web/facade/MatDeliverFacade.java | 65 ++++++++++++++++++++++ .../operate/web/facade/PatientSyncMysqlFacade.java | 1 + 10 files changed, 197 insertions(+), 18 deletions(-) diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/ReportMatdeliver.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/ReportMatdeliver.java index 45d8cf5..6c158b9 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/ReportMatdeliver.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/ReportMatdeliver.java @@ -17,6 +17,15 @@ public class ReportMatdeliver { private String sourceId; //末次月经 private Date lastMenses; + private String fmDoctor; + + public String getFmDoctor() { + return fmDoctor; + } + + public void setFmDoctor(String fmDoctor) { + this.fmDoctor = fmDoctor; + } public Date getLastMenses() { return lastMenses; diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UsersQuery.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UsersQuery.java index 54e8678..ed267e1 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UsersQuery.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UsersQuery.java @@ -39,6 +39,16 @@ public class UsersQuery extends BaseQuery { private String foreignId; private Integer otherAccount; //第三方帐号, 1医院帐号 + private List names; + + public List getNames() { + return names; + } + + public void setNames(List names) { + this.names = names; + } + public List getIds() { return ids; } diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterMysqlAntexc.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterMysqlAntexc.xml index 175dc50..5c686c8 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterMysqlAntexc.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterMysqlAntexc.xml @@ -1225,7 +1225,8 @@ fmHospital, hospitalId, sourceId, - lastMenses + lastMenses, + fmDoctor ) VALUES ( #{mid}, #{parentId}, @@ -1235,7 +1236,8 @@ #{fmHospital}, #{hospitalId}, #{sourceId}, - #{lastMenses} + #{lastMenses}, + #{fmDoctor} ) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyCheckModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyCheckModel.java index a10208b..e4cf0c9 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyCheckModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyCheckModel.java @@ -259,6 +259,8 @@ public class BabyCheckModel extends BaseModel { private Date birth; //检查月龄 private Integer checkMonth; + //检查天数 + private Integer checkDay; //运动测评 private String sportsEvaluation; //心理行为 @@ -537,7 +539,13 @@ public class BabyCheckModel extends BaseModel { //中医指导 private String tcmGuide; + public Integer getCheckDay() { + return checkDay; + } + public void setCheckDay(Integer checkDay) { + this.checkDay = checkDay; + } public String getTcmGuide() { return tcmGuide; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java index 576da19..f51aa69 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java @@ -141,6 +141,8 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery private String fsHospital; private String fsHospitalId; private boolean isQueryFsHospitalId; + //接生医生 + private String deliverDoctor; /** * 预约联系结果(1-成功、2-失败) */ @@ -345,6 +347,15 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery this.hospitalIdList = hospitalIdList; } + + public String getDeliverDoctor() { + return deliverDoctor; + } + + public void setDeliverDoctor(String deliverDoctor) { + this.deliverDoctor = deliverDoctor; + } + @Override public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); @@ -357,6 +368,10 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery if (CollectionUtils.isNotEmpty(hospitalIdList)) { condition = condition.and("hospitalId", hospitalIdList, MongoOper.IN); } + + if (StringUtils.isNotEmpty(deliverDoctor)) { + condition = condition.and("deliverDoctor", deliverDoctor, MongoOper.IS); + } if (null != rHloseBloodL) { condition = condition.and("rHloseBloodL", rHloseBloodL, MongoOper.GT); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java index ea92347..4a96e3c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java @@ -681,4 +681,21 @@ public class MatDeliverController extends BaseController { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); matDeliverFacade.exporDueOrgCount(time, loginState.getId(), hospitalId, proviceId, cityId, areaId, httpServletResponse); } + + + /** + * 分娩管理统计(产科的) + * @param request + * @param time + * @return + */ + @TokenRequired + @ResponseBody + @RequestMapping(value = "getFmManageCount", method = RequestMethod.GET) + public BaseObjectResponse getFmManageCount(HttpServletRequest request, + @RequestParam(required = true) String time) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return matDeliverFacade.getFmManageCount(time, loginState.getId()); + } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index caafd21..eb3c45a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -4414,6 +4414,41 @@ public class TestController extends BaseController { } + @RequestMapping(value = "/syncBabyCheckDay", method = RequestMethod.GET) + @ResponseBody + public String syncBabyCheckDay(@RequestParam(required = false) String hospitalId) + { + BabyCheckModelQuery query = new BabyCheckModelQuery(); + query.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(hospitalId)) + { + query.setHospitalId(hospitalId); + } + + List checkModels = babyCheckService.queryBabyCheckRecord(query); + System.out.println(checkModels.size()); + if (CollectionUtils.isNotEmpty(checkModels)) + { + for (BabyCheckModel checkModel : checkModels) + { + Date babyBirth = checkModel.getBirth(); + if (babyBirth != null) + { + BabyModel babyModel = babyBookbuildingService.queryBabyById(checkModel.getBuildId()); + if (babyModel != null) + { + babyBirth = babyModel.getBirth(); + } + } + checkModel.setCheckDay(DateUtil.getDays(babyBirth, checkModel.getCheckDate())); + babyCheckService.updateBabyCheck(checkModel, checkModel.getId()); + System.out.println("babyId="+checkModel.getId()); + } + } + return "syncBabyCheckDay"; + } + + @RequestMapping(value = "/syncPatientByHospitalId", method = RequestMethod.GET) @ResponseBody 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 3532028..6462081 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 @@ -512,6 +512,7 @@ public class BabyCheckFacade extends BaseServiceImpl { List babyModelList = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); if (CollectionUtils.isNotEmpty(babyModelList)) { model.setCheckMonth(DateUtil.getBabyAgeMonth(babyModelList.get(0).getBirth(), DateUtil.parseYMD(request.getCheckDate()))); + model.setCheckDay(DateUtil.getDays(babyModelList.get(0).getBirth(), DateUtil.parseYMD(request.getCheckDate()))); model.setBirth(babyModelList.get(0).getBirth()); } } @@ -4256,40 +4257,40 @@ public class BabyCheckFacade extends BaseServiceImpl { startDate = DateUtil.getDayFirstSecond(DateUtil.parseYMD(arrs[0])); endDate = DateUtil.getDayLastSecond(DateUtil.parseYMD(arrs[1])); } - int allBaby = getCheckCount(hospitalId, startDate,endDate,new ArrayList()); + int allBaby = getCheckMonthCount(hospitalId, startDate, endDate, null,null); if (allBaby == 0) { return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(datas).setErrormsg("成功"); } - int baby42 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(1)); + int baby42 = getCheckMonthCount(hospitalId, startDate, endDate, 0,2); datas.add(getMap(baby42, allBaby)); - int baby3 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(3)); + int baby3 = getCheckMonthCount(hospitalId, startDate, endDate, 3,4); datas.add(getMap(baby3, allBaby)); - int baby6 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(6)); + int baby6 = getCheckMonthCount(hospitalId, startDate, endDate, 5,6); datas.add(getMap(baby6, allBaby)); - int baby8 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(8)); + int baby8 = getCheckMonthCount(hospitalId, startDate, endDate, 7,9); datas.add(getMap(baby8,allBaby)); - int baby12 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(12)); + int baby12 = getCheckMonthCount(hospitalId, startDate, endDate, 10,14); datas.add(getMap(baby12, allBaby)); - int baby18 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(18)); + int baby18 = getCheckMonthCount(hospitalId, startDate, endDate, 15,20); datas.add(getMap(baby18, allBaby)); - int baby24 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(24)); + int baby24 = getCheckMonthCount(hospitalId, startDate, endDate, 21,28); datas.add(getMap(baby24, allBaby)); - int baby30 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(30)); + int baby30 = getCheckMonthCount(hospitalId, startDate, endDate, 29,34); datas.add(getMap(baby30, allBaby)); - int baby36 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(36,37,38,39,40,41,42,43,44,45,46,47)); + int baby36 = getCheckMonthCount(hospitalId, startDate, endDate, 35,38); datas.add(getMap(baby36, allBaby)); - int baby40 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(48,49,50,51,52,53,54,55,56,57,58,59)); + int baby40 = getCheckMonthCount(hospitalId, startDate, endDate, 39,48); datas.add(getMap(baby40, allBaby)); - int baby50 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(60,61,62,63,64,65,66,67,68,69,70,71)); + int baby50 = getCheckMonthCount(hospitalId, startDate, endDate, 49,65); datas.add(getMap(baby50, allBaby)); - int baby60 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99)); + int baby60 = getCheckMonthCount(hospitalId, startDate, endDate, 66,1000); datas.add(getMap(baby60, allBaby)); datas.add(getMap(baby42+baby3+baby6+baby8+baby12+baby18+baby24+baby30+baby36+baby40+baby50+baby60, allBaby)); @@ -4311,12 +4312,28 @@ public class BabyCheckFacade extends BaseServiceImpl { } - private int getCheckCount(String hospitalId, Date start, Date end,List checkMonths) { + private int getCheckDayCount(String hospitalId, Date start, Date end,Integer startDay,Integer endDay) { Criteria ca = Criteria.where("hospitalId").is(hospitalId).and("checkDate").gte(start).lte(end); - if (CollectionUtils.isNotEmpty(checkMonths)) + if (startDay != null && end != null) { - ca.and("checkMonth").in(checkMonths); + ca.and("checkDay").gte(startDay).and("checkDay").lte(endDay); + } + Aggregation aggregation4 = + Aggregation.newAggregation( + Aggregation.match(ca), + Aggregation.group("buildId").count().as("总人数")); + AggregationResults outputTypeCount4 = + mongoTemplate.aggregate(aggregation4, "lyms_babycheck", BasicDBObject.class); + return outputTypeCount4.getMappedResults().size(); + } + + private int getCheckMonthCount(String hospitalId, Date start, Date end,Integer startMonth,Integer endMonth) { + + Criteria ca = Criteria.where("hospitalId").is(hospitalId).and("checkDate").gte(start).lte(end); + if (startMonth != null) + { + ca.and("checkMonth").gte(startMonth).and("checkMonth").lte(endMonth); } Aggregation aggregation4 = Aggregation.newAggregation( diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 20de2fa..24fc731 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -23,6 +23,7 @@ import com.lyms.platform.operate.web.worker.*; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.model.UsersQuery; import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; @@ -3642,4 +3643,68 @@ public class MatDeliverFacade { baseResponse.setObject("updateSize:" + updateSize + ";" + "find size:" + deliverModels.size()); return baseResponse; } + + public void getFmManageCount() { + } + + public BaseObjectResponse getFmManageCount(String time, Integer userId) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + + UsersQuery usersQuery = new UsersQuery(); + usersQuery.setOrgId(Integer.parseInt(hospitalId)); + usersQuery.setNames(Arrays.asList("刘桂芬", "贾淑平", "付冬华", "宋伟", "俢素英", "李雅玲", "郝艳清", "李彩岩", "魏秀丽")); + List users = usersService.queryUsers(usersQuery); + + + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setYn(YnEnums.YES.getId()); + matDeliverQuery.setFmHospital(hospitalId); + if (StringUtils.isNotEmpty(time)) + { + matDeliverQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverQuery.setEndStart(DateUtil.getSNDate(time)[1]); + } + int allFmCount = matDeliverService.count(matDeliverQuery); + + List datas = new ArrayList<>(); + int fmNameCount = 0; + int buildNameCount = 0; + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setHospitalId(hospitalId); + int allBuildCount = patientsService.queryPatientCount(patientsQuery); + + for (Users user : users) + { + Map data = new HashMap(); + matDeliverQuery.setDeliverDoctor(String.valueOf(user.getId())); + int fmCount = matDeliverService.count(matDeliverQuery); + fmNameCount+=fmCount; + + data.put("name",user.getName()); + data.put("fmCount", fmCount); + + patientsQuery.setBookbuildingDoctor(String.valueOf(user.getId())); + + int buildCount = patientsService.queryPatientCount(patientsQuery); + buildNameCount+=buildCount; + + data.put("buildCount", buildCount); + data.put("buildAndFmCount", 0); + + datas.add(data); + } + + Map data = new HashMap(); + data.put("name","本院其他医生"); + data.put("fmCount",allFmCount - fmNameCount); + data.put("buildCount",allBuildCount - buildNameCount); + data.put("buildAndFmCount", "-"); + + + BaseObjectResponse objectResponse = new BaseObjectResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + objectResponse.setData(datas); + return objectResponse; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java index 3d11f5d..58daf76 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java @@ -1579,6 +1579,7 @@ public class PatientSyncMysqlFacade { reportMatdeliver.setSourceId(StringUtils.isNotEmpty(pat.getSource()) ? pat.getSource() : maternalDeliverModel.getParentId()); reportMatdeliver.setMid(maternalDeliverModel.getId()); reportMatdeliver.setLastMenses(pat.getLastMenses()); + reportMatdeliver.setFmDoctor(maternalDeliverModel.getDeliverDoctor()); try { ConvertUtils.register(new DateLocaleConverter(), Date.class); BeanUtils.copyProperties(reportMatdeliver,maternalDeliverModel); -- 1.8.3.1