From 9ef09e2e6997177c47c89d67434c269fa1bedca5 Mon Sep 17 00:00:00 2001 From: wtt Date: Wed, 8 Jul 2020 17:52:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=86=B3=E9=A3=9F=E5=BD=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lyms/platform/beans/SerialIdEnum.java | 4 +- .../com/lyms/platform/pojo/WxChooseInfoModel.java | 125 +++++++++++++++++++++ .../web/controller/BabyCheckController.java | 31 ++++- .../operate/web/facade/BabyCheckFacade.java | 78 ++++++++++++- .../operate/web/request/WxBabyChooseRequest.java | 14 +++ 5 files changed, 242 insertions(+), 10 deletions(-) create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/WxChooseInfoModel.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/WxBabyChooseRequest.java diff --git a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java index c47f680..b54a4a4 100644 --- a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java +++ b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java @@ -121,8 +121,8 @@ public enum SerialIdEnum { PregnantDeathModel("PregnantDeathModel", 7244731601920572967L), BabyDeathModel("BabyDeathModel", 7244731601924572967L), CervicalCancerModel("CervicalCancerModel", 4302505773278441592L), - DefectiveChildModel("DefectiveChildModel", 1684816144240073408L) - ; + DefectiveChildModel("DefectiveChildModel", 1684816144240073408L), + WxChooseInfoModel("WxChooseInfoModel",-1814469732375965270L); private String cname; private Long cid; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/WxChooseInfoModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/WxChooseInfoModel.java new file mode 100644 index 0000000..82c0f84 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/WxChooseInfoModel.java @@ -0,0 +1,125 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.beans.SerialIdEnum; +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * @Author dongqin + * @Description 小程序孕妇膳食录入信息 + * @Date 14:34 2019/5/30 + */ +@Document(collection = "lyms_wx_choose_info") +public class WxChooseInfoModel extends BaseModel { + + private static final long serialVersionUID = SerialIdEnum.WxChooseInfoModel.getCid(); + + private String id; + + /** + * 孕妇/儿保 id + */ + private String pid; + + /** + * 医院ID + */ + private String hospitalId; + + /** + * 1-孕妇小程序 2-儿保小程序 + */ + private String type; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + private List diets; + + private List yumInfos; + + private String doctorId; + + public String getDoctorId() { + return doctorId; + } + + public void setDoctorId(String doctorId) { + this.doctorId = doctorId; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public List getDiets() { + return diets; + } + + public void setDiets(List diets) { + this.diets = diets; + } + + public List getYumInfos() { + return yumInfos; + } + + public void setYumInfos(List yumInfos) { + this.yumInfos = yumInfos; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } +} 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 c0ccd71..cb7c3de 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 @@ -11,10 +11,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.facade.BabyCheckFacade; -import com.lyms.platform.operate.web.request.BabyBuildInfoParam; -import com.lyms.platform.operate.web.request.BabyCheckRequest; -import com.lyms.platform.operate.web.request.BabyInterrogationRequest; -import com.lyms.platform.operate.web.request.WxBabyMeasureRequest; +import com.lyms.platform.operate.web.request.*; import com.lyms.platform.permission.service.CouponService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -363,6 +360,19 @@ public class BabyCheckController extends BaseController { } /** + * 儿保小程序 - 儿童膳食信息录入 + * + * @param param + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/wx/babyChooseInfo/saveOrUpdate") + @ResponseBody + public BaseResponse babyChooseInfoSaveOrUpdate(@RequestBody WxBabyChooseRequest param) { + return babyCheckFacade.babyChooseInfoSaveOrUpdate(param); + } + + + /** * 儿保小程序 - 儿童测量信息列表 * * @param param @@ -386,6 +396,19 @@ public class BabyCheckController extends BaseController { public BaseResponse babyMeasureInfoDetail(@RequestBody BaseQuery param) { return babyCheckFacade.babyMeasureInfoDetail(param); } + /** + * 获取在儿保小程序中当天填入的最新膳食信息 + * + * @param param + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/babyChooseInfo/detail") + @TokenRequired + @ResponseBody + public BaseResponse babyChooseInfoDetail(@RequestBody BaseQuery param) { + return babyCheckFacade.babyChooseInfoDetail(param); + } + /** * 获取在儿保小程序中当天填入的最新 --- 问诊信息 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 ed18836..a441e8e 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 @@ -10,10 +10,7 @@ import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.*; import com.lyms.platform.common.utils.*; -import com.lyms.platform.operate.web.request.BabyBuildInfoParam; -import com.lyms.platform.operate.web.request.BabyCheckRequest; -import com.lyms.platform.operate.web.request.BabyInterrogationRequest; -import com.lyms.platform.operate.web.request.WxBabyMeasureRequest; +import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.service.BabyAfterVisitService; import com.lyms.platform.operate.web.service.PatientWeightService; @@ -2847,6 +2844,52 @@ public class BabyCheckFacade extends BaseServiceImpl { } /** + * 儿保小程序 - 儿童膳食信息录入 + * + * @param param + * @return + */ + public BaseResponse babyChooseInfoSaveOrUpdate(WxBabyChooseRequest param) { + param.setType("2"); + String pid = param.getPid(); + WxChooseInfoModel model = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("type").is("2")), WxChooseInfoModel.class); + if (model == null) { + List babyInfos = param.getDiets(); + Map map = babyInfos.get(0); + map.put("createTime", DateUtil.getyyyy_MM_dd(new Date())); + param.setCreateTime(new Date()); + WxChooseInfoModel wxModel = param; + mongoTemplate.insert(wxModel); + // 新增 + return new BaseResponse(); + } + param.setUpdateTime(new Date()); + List dbBabyInfos = model.getDiets(); + boolean exist = false; + Map currentMap = param.getDiets().get(0); + if (CollectionUtils.isNotEmpty(dbBabyInfos)) { + for (Map map : dbBabyInfos) { + String dbDate = map.get("createTime").toString(); + String currentDate = DateUtil.getyyyy_MM_dd(new Date()); + if (dbDate.equals(currentDate)) { + exist = true; + map.putAll(currentMap); + // temperature 体温 height 身高 weight 体重 headWidth 头围 bust 胸围 feed 喂养 createTime 时间 + break; + } + } + } + if (!exist) { + Map map = param.getDiets().get(0); + map.put("createTime", DateUtil.getyyyy_MM_dd(new Date())); + dbBabyInfos.add(map); + } + mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(model.getId()).and("type").is("2")), MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(model)), WxChooseInfoModel.class); + return new BaseResponse(); + } + + /** * 儿保小程序 - 儿童测量信息列表 * * @param param @@ -2899,6 +2942,33 @@ public class BabyCheckFacade extends BaseServiceImpl { } /** + * 获取在儿保小程序中当天填入的最新膳食信息 + * + * @param param + * @return + */ + public BaseResponse babyChooseInfoDetail(BaseQuery param) { + List models = mongoTemplate.find(Query.query(Criteria.where("pid").is(param.getKeyword()).and("type").is("2")), WxChooseInfoModel.class); + BaseResponse baseResponse = new BaseResponse(); + if (CollectionUtils.isNotEmpty(models)) { + for (WxChooseInfoModel model : models) { + List babyInfos = model.getDiets(); + if (CollectionUtils.isNotEmpty(babyInfos)) { + for (Map map : babyInfos) { + String currentDate = DateUtil.getyyyy_MM_dd(new Date()); + String dbCreateDime = map.get("createTime").toString(); + if (dbCreateDime.equals(currentDate)) { + baseResponse.setObject(map); + break; + } + } + } + } + } + return baseResponse; + } + + /** * 获取在儿保小程序中当天填入的最新 --- 问诊信息 * * @param param diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/WxBabyChooseRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/WxBabyChooseRequest.java new file mode 100644 index 0000000..1e97b34 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/WxBabyChooseRequest.java @@ -0,0 +1,14 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.pojo.WxChooseInfoModel; + +/** + * + * + * @Description 儿保膳食信息录入 + * @Date 15:30 2019/5/30 + */ + +public class WxBabyChooseRequest extends WxChooseInfoModel { + +} -- 1.8.3.1