From 34938694f48874dfa6364bae37d7662bade1acc0 Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Tue, 28 Jun 2022 09:17:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=84=BF=E4=BF=9D=E5=BB=BA=E6=A1=A3=E3=80=81?= =?UTF-8?q?=E5=84=BF=E4=BF=9D=E6=A3=80=E6=9F=A5:=E9=A6=96=E6=AC=A1?= =?UTF-8?q?=E9=AB=98=E5=8D=B1=E5=A2=9E=E5=8A=A0=E5=88=B0=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E9=A6=96=E6=AC=A1=E9=AB=98=E5=8D=B1=E5=88=97=E8=A1=A8=E9=80=BB?= =?UTF-8?q?=E8=BE=91,=E5=84=BF=E7=AB=A5=E9=A6=96=E6=AC=A1=E9=AB=98?= =?UTF-8?q?=E5=8D=B1=E5=88=97=E8=A1=A8=E5=B1=95=E7=A4=BA=EF=BC=8C=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/service/AuthenticationService.java | 3 +- .../biz/service/BabyFistRistRecordService.java | 98 ++++++++ .../lyms/platform/pojo/BabyFirstRistRecord.java | 238 +++++++++++++++++++ .../platform/query/BabyFirstRistRecordQuery.java | 260 +++++++++++++++++++++ .../controller/BabyFirstRistRecordController.java | 48 ++++ .../operate/web/facade/BabyBookbuildingFacade.java | 85 +++++++ .../operate/web/facade/BabyCheckFacade.java | 103 +++++++- .../web/facade/BabyFirstRistRecordFacade.java | 147 ++++++++++++ 8 files changed, 980 insertions(+), 2 deletions(-) create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyFistRistRecordService.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/BabyFirstRistRecord.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/query/BabyFirstRistRecordQuery.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyFirstRistRecordController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyFirstRistRecordFacade.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AuthenticationService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AuthenticationService.java index cb85c84..ade0162 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AuthenticationService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AuthenticationService.java @@ -16,7 +16,7 @@ import java.util.Date; import java.util.List; /** - * Created by lqy on 2022/3/17. + * Created by shy on 2022/3/17. * 儿童眼保健-检查 逻辑 */ @@ -71,6 +71,7 @@ public class AuthenticationService extends BaseMongoDAOImpl { public Authentication queryById(String pid) { AuthenticationQuery tQuery = new AuthenticationQuery(); tQuery.setPid(pid); + tQuery.setYn(YnEnums.YES.getId()); MongoQuery query = tQuery.convertToQuery(); return findOne(query.convertToMongoQuery()); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyFistRistRecordService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyFistRistRecordService.java new file mode 100644 index 0000000..206fcf9 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyFistRistRecordService.java @@ -0,0 +1,98 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +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.YnEnums; +import com.lyms.platform.pojo.BabyFirstRistRecord; +import com.lyms.platform.query.AuthenticationQuery; +import com.lyms.platform.query.BabyFirstRistRecordQuery; +import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang.StringUtils; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * Created by shy on 2022/6/27. + * 儿童眼保健-检查 逻辑 + */ + +@Service("BabyFistRistRecordService") +public class BabyFistRistRecordService extends BaseMongoDAOImpl { + + public String add(BabyFirstRistRecord model) { + model.setCreated(new Date()); + mongoTemplate.insert(model); + return model.getId(); + } + + /** + * 根据id修改 + * @param model + */ + public void update(BabyFirstRistRecord model) { + model.setModified(new Date()); + update(new MongoQuery(new MongoCondition("id", model.getId(), MongoOper.IS)).convertToMongoQuery(), model); + } + /** + * 根据parentId修改 + * @param model + */ + public void updateByPid(BabyFirstRistRecord model) { + model.setModified(new Date()); + update(new MongoQuery(new MongoCondition("parentId", model.getParentId(), MongoOper.IS)).convertToMongoQuery(), model); + } + + public void deleteById(String id) { + BabyFirstRistRecord obj = new BabyFirstRistRecord(); + obj.setYn(YnEnums.NO.getId()); + obj.setId(id); + update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); + } + public void deleteByPId(String pid) { + BabyFirstRistRecord obj = new BabyFirstRistRecord(); + obj.setYn(YnEnums.NO.getId()); + obj.setParentId(pid); + update(new MongoQuery(new MongoCondition("parentId", pid, MongoOper.IS)).convertToMongoQuery(), obj); + } + + /** + * + * @param tQuery 查询条件 + * @param sortkeys 按什么字段排序(如null必须sort也为null表示不排序) + * @param sort 排序 ASC/DESC + * Need 给这个字段赋值代表需要分页,null不需要分页 + * @return + */ + public List queryList(BabyFirstRistRecordQuery tQuery, Sort.Direction sort, String[] sortkeys) { + MongoQuery query = tQuery.convertToQuery(); + if (StringUtils.isNotEmpty(tQuery.getNeed())) {//是否需要分页 + tQuery.mysqlBuild((int)count(tQuery.convertToQuery().convertToMongoQuery())); + query.start(tQuery.getOffset()).end(tQuery.getLimit()); + } + if(ArrayUtils.isNotEmpty(sortkeys) && null!=sort){ + for (String sortkey : sortkeys) { + query.addOrder(sort, sortkey); + } + } + return find(query.convertToMongoQuery()); + } + + + public BabyFirstRistRecord queryByPId(String pid) { + BabyFirstRistRecordQuery tQuery = new BabyFirstRistRecordQuery(); + tQuery.setParentId(pid); + tQuery.setYn(YnEnums.YES.getId()); + MongoQuery query = tQuery.convertToQuery(); + return findOne(query.convertToMongoQuery()); + } + + + + + +} \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyFirstRistRecord.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyFirstRistRecord.java new file mode 100644 index 0000000..3f5b151 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyFirstRistRecord.java @@ -0,0 +1,238 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.beans.SerialIdEnum; +import com.lyms.platform.common.result.BaseModel; +import com.lyms.platform.common.utils.PingYinUtil; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 儿童建档、检查。首次高危记录 + * + * @author shiy + */ +@Document(collection = "lyms_babyFirstRistRecord") +public class BabyFirstRistRecord extends BaseModel { + + /** + * id 唯一 + */ + private String id; + /** + * 记录删除状态0:删除 1:正常 + */ + private Integer yn; + /** + * 建档/检查医院 + */ + private String hospitalId; + /** + * 建档/检查 数据id + */ + private String parentId; + /** + * 数据创建时间 + */ + private Date created; + /** + * 数据修改时间 + */ + private Date modified; + /** + * 初次高危发生类型 0:建档高危。1:检查高危 + */ + private Integer ristType; + + /** + * 小孩名称 + */ + private String name; + /** + * 性别 + */ + private Integer sex; + /** + * 生日 + */ + private Date birth; + /** + * 儿童高危因素 + */ + private List highRiskInfo; + /** + * 儿童高危诊断 + */ + private String diagnose; + /** + * 儿童高危确认日期 + */ + private Date diagnosisTime; + /** + * 检查医生 + */ + private String checkDoctor; + /** + * 母亲姓名 + */ + private String mName; + /** + * 分娩医院 + */ + private String fmHospitalId; + /** + * 母亲联系电话 + */ + private String mPhone; + /** + * 母亲证件号 + */ + private String mCertNo; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getSex() { + return sex; + } + + public void setSex(Integer sex) { + this.sex = sex; + } + + public Date getBirth() { + return birth; + } + + public void setBirth(Date birth) { + this.birth = birth; + } + + public List getHighRiskInfo() { + return highRiskInfo; + } + + public void setHighRiskInfo(List highRiskInfo) { + this.highRiskInfo = highRiskInfo; + } + + public String getDiagnose() { + return diagnose; + } + + public void setDiagnose(String diagnose) { + this.diagnose = diagnose; + } + + public Date getDiagnosisTime() { + return diagnosisTime; + } + + public void setDiagnosisTime(Date diagnosisTime) { + this.diagnosisTime = diagnosisTime; + } + + public String getCheckDoctor() { + return checkDoctor; + } + + public void setCheckDoctor(String checkDoctor) { + this.checkDoctor = checkDoctor; + } + + public String getmName() { + return mName; + } + + public void setmName(String mName) { + this.mName = mName; + } + + public String getFmHospitalId() { + return fmHospitalId; + } + + public void setFmHospitalId(String fmHospitalId) { + this.fmHospitalId = fmHospitalId; + } + + public String getmPhone() { + return mPhone; + } + + public void setmPhone(String mPhone) { + this.mPhone = mPhone; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public Integer getRistType() { + return ristType; + } + + public void setRistType(Integer ristType) { + this.ristType = ristType; + } + + public String getmCertNo() { + return mCertNo; + } + + public void setmCertNo(String mCertNo) { + this.mCertNo = mCertNo; + } +} \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyFirstRistRecordQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyFirstRistRecordQuery.java new file mode 100644 index 0000000..ca37d4b --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyFirstRistRecordQuery.java @@ -0,0 +1,260 @@ +package com.lyms.platform.query; + +import com.lyms.platform.common.base.IConvertToNativeQuery; +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.Date; +import java.util.List; + +/** + * 儿童建档、检查。首次高危记录-查询 + *

+ * sy on 2022/6/27 . + */ +public class BabyFirstRistRecordQuery extends BaseQuery implements IConvertToNativeQuery { + + /** + * id 唯一 + */ + private String id; + /** + * 记录删除状态0:删除 1:正常 + */ + private Integer yn; + /** + * 建档/检查医院 + */ + private String hospitalId; + /** + * 建档/检查 数据id + */ + private String parentId; + + /** + * 初次高危发生类型 0:建档高危。1:检查高危 + */ + private Integer ristType; + + /** + * 性别 + */ + private Integer sex; + + /** + * 儿童高危因素 + */ + private List highRiskInfo; + /** + * 儿童高危诊断 + */ + private String diagnose; + /** + * 儿童高危确认日期-开始 + */ + private Date diagnosisTimeStart; + /** + * 儿童高危确认日期-结束 + */ + private Date diagnosisTimeEnd; + /** + * 检查医生 + */ + private String checkDoctor; + + /** + * 分娩医院 + */ + private String fmHospitalId; + + /** + * 查询号(儿童姓名/母亲姓名/母亲电话/母亲身份证) + */ + private String queryNo; + /** + * 母亲证件号 + */ + private String mCertNo; + + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + + if (StringUtils.isNotEmpty( id)) { + condition = condition.and("id", id, MongoOper.IS); + } + if (null != yn) { + condition = condition.and("yn", yn, MongoOper.IS); + } + if (null != sex) { + condition = condition.and("sex", sex, MongoOper.IS); + } + + if (StringUtils.isNotEmpty(hospitalId)) { + condition = condition.and("hospitalId", hospitalId, MongoOper.IS); + } + + if (StringUtils.isNotEmpty( parentId)) { + condition = condition.and("parentId", parentId, MongoOper.IS); + } + if (null != ristType) { + condition = condition.and("ristType", ristType, MongoOper.IS); + } + + if (StringUtils.isNotEmpty( checkDoctor)) { + condition = condition.and("checkDoctor", checkDoctor, MongoOper.IS); + } + if (StringUtils.isNotEmpty( fmHospitalId)) { + condition = condition.and("fmHospitalId", fmHospitalId, MongoOper.IS); + } + if (StringUtils.isNotEmpty( mCertNo)) { + condition = condition.and("mCertNo", mCertNo, MongoOper.IS); + } + + + Criteria c = null; + + if (null != diagnosisTimeStart && diagnosisTimeEnd != null) { + if (null != c) { + c = c.and("diagnosisTime").gte(diagnosisTimeStart).lte(diagnosisTimeEnd); + } else { + c = Criteria.where("diagnosisTime").gte(diagnosisTimeStart).lte(diagnosisTimeEnd); + } + } + + //查询号(儿童姓名/母亲姓名/母亲电话/母亲身份证) + Criteria c2=MongoCondition.newInstance().getCriteria(); + if (StringUtils.isNotEmpty(queryNo)) { + MongoCondition con = MongoCondition.newInstance(); + MongoCondition con0 = MongoCondition.newInstance("name", queryNo, MongoOper.LIKE); + MongoCondition con1 = MongoCondition.newInstance("mName", queryNo, MongoOper.LIKE); + MongoCondition con2 = MongoCondition.newInstance("mPhone", queryNo, MongoOper.LIKE); + MongoCondition con3 = MongoCondition.newInstance("mCertNo", queryNo, MongoOper.LIKE); + c2 = c2.orOperator(con.orCondition(new MongoCondition[]{con0,con1, con2, con3}).getCriteria()); + } + + if (null != c) { + return new MongoCondition(c.andOperator(condition.getCriteria(),c2)).toMongoQuery(); + } + return new MongoCondition(c2.andOperator(condition.getCriteria())).toMongoQuery(); + } + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public Integer getRistType() { + return ristType; + } + + public void setRistType(Integer ristType) { + this.ristType = ristType; + } + + + public Integer getSex() { + return sex; + } + + public void setSex(Integer sex) { + this.sex = sex; + } + + public List getHighRiskInfo() { + return highRiskInfo; + } + + public void setHighRiskInfo(List highRiskInfo) { + this.highRiskInfo = highRiskInfo; + } + + public String getDiagnose() { + return diagnose; + } + + public void setDiagnose(String diagnose) { + this.diagnose = diagnose; + } + + public Date getDiagnosisTimeStart() { + return diagnosisTimeStart; + } + + public void setDiagnosisTimeStart(Date diagnosisTimeStart) { + this.diagnosisTimeStart = diagnosisTimeStart; + } + + public Date getDiagnosisTimeEnd() { + return diagnosisTimeEnd; + } + + public void setDiagnosisTimeEnd(Date diagnosisTimeEnd) { + this.diagnosisTimeEnd = diagnosisTimeEnd; + } + + public String getCheckDoctor() { + return checkDoctor; + } + + public void setCheckDoctor(String checkDoctor) { + this.checkDoctor = checkDoctor; + } + + + public String getFmHospitalId() { + return fmHospitalId; + } + + public void setFmHospitalId(String fmHospitalId) { + this.fmHospitalId = fmHospitalId; + } + + public String getQueryNo() { + return queryNo; + } + + public void setQueryNo(String queryNo) { + this.queryNo = queryNo; + } + + public String getmCertNo() { + return mCertNo; + } + + public void setmCertNo(String mCertNo) { + this.mCertNo = mCertNo; + } +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyFirstRistRecordController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyFirstRistRecordController.java new file mode 100644 index 0000000..829092c --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyFirstRistRecordController.java @@ -0,0 +1,48 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.facade.AuthenticationFacade; +import com.lyms.platform.operate.web.facade.BabyFirstRistRecordFacade; +import com.lyms.platform.pojo.Authentication; +import com.lyms.platform.query.AuthenticationQuery; +import com.lyms.platform.query.BabyFirstRistRecordQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + + +/** + * 儿童建档、检查。首次高危记录 功能 + * sy on 2022/6/27. + */ + +@Controller +@RequestMapping("/babyFirstRistRecord") +public class BabyFirstRistRecordController extends BaseController { + + @Autowired + private BabyFirstRistRecordFacade babyFirstRistRecordFacade; + + + /** + * 儿童首次高危列表 + * @param ModelQuery + * @param request + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/queryListPage",method = RequestMethod.GET) + public BaseResponse queryListPage(BabyFirstRistRecordQuery ModelQuery, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return babyFirstRistRecordFacade.queryListPage(ModelQuery,loginState.getId()); + } + + +} \ No newline at end of file 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 435e4ae..41a9a7f 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 @@ -30,6 +30,7 @@ import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.math.NumberUtils; +import org.apache.velocity.runtime.directive.Break; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.domain.Sort; @@ -195,6 +196,8 @@ public class BabyBookbuildingFacade { @Autowired private MatDeliverFacade matDeliverFacade;//分娩记录 + @Autowired + private BabyFistRistRecordService babyFistRistRecordService; public BaseResponse getBabyBase(String babyId) { //查询儿童的基本信息 @@ -532,6 +535,68 @@ public class BabyBookbuildingFacade { } setRiskCode(request.getId()); + + //判断是否高危,添加到首次高危记录(按隆化高危字段获取) + if(null!=model.getHighRisk()){ + if(1==model.getHighRisk()) { + //儿保检查是否添加过高危 + int ristYn = 0; + //儿保检查记录 + BabyCheckModelQuery query = new BabyCheckModelQuery(); + query.setYn(YnEnums.YES.getId()); + query.setBuildId(model.getId()); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(query); + for (BabyCheckModel babyCheckModel : babyCheckModels) { + BabyFirstRistRecord firstRistRecord = babyFistRistRecordService.queryByPId(babyCheckModel.getId()); + if (null != firstRistRecord) { + ristYn = 1; + break; + } + } + if (ristYn == 0) { + //建档记录是否添加过 + BabyFirstRistRecord firstRistRecord = babyFistRistRecordService.queryByPId(model.getId()); + //修改高危记录 + if (null != firstRistRecord) { + firstRistRecord.setName(model.getName()); + firstRistRecord.setSex(model.getSex()); + firstRistRecord.setBirth(model.getBirth()); + firstRistRecord.setHighRiskInfo(model.getHighRiskInfo()); + firstRistRecord.setDiagnose(model.getDiagnose()); + firstRistRecord.setDiagnosisTime(model.getBuildDate()); + firstRistRecord.setCheckDoctor(model.getBuildDoctor());//建档/检查医生 + firstRistRecord.setmName(model.getMname()); + firstRistRecord.setmPhone(model.getMphone()); + firstRistRecord.setmCertNo(model.getMcertNo()); + firstRistRecord.setFmHospitalId(model.getDeliverOrg()); + firstRistRecord.setParentId(model.getId()); + babyFistRistRecordService.updateByPid(firstRistRecord); + } else { + //新增高危记录 + firstRistRecord.setYn(YnEnums.YES.getId()); + firstRistRecord.setRistType(0);//初次高危发生类型 0:建档高危。1:检查高危 + firstRistRecord.setHospitalId(model.getHospitalId());//建档/检查医院 + firstRistRecord.setParentId(model.getId());//建档/检查 数据id + firstRistRecord.setName(model.getName()); + firstRistRecord.setSex(model.getSex()); + firstRistRecord.setBirth(model.getBirth()); + firstRistRecord.setHighRiskInfo(model.getHighRiskInfo()); + firstRistRecord.setDiagnose(model.getDiagnose()); + firstRistRecord.setDiagnosisTime(model.getBuildDate()); + firstRistRecord.setCheckDoctor(model.getBuildDoctor());//建档/检查医生 + firstRistRecord.setmName(model.getMname()); + firstRistRecord.setmPhone(model.getMphone()); + firstRistRecord.setmCertNo(model.getMcertNo()); + firstRistRecord.setFmHospitalId(model.getDeliverOrg()); + babyFistRistRecordService.add(firstRistRecord); + } + } + }else { + //改为删除状态 + babyFistRistRecordService.deleteByPId(model.getId()); + } + } + BaseObjectResponse br = new BaseObjectResponse(); br.setErrorcode(ErrorCodeConstants.SUCCESS); br.setErrormsg("成功"); @@ -950,6 +1015,26 @@ public class BabyBookbuildingFacade { br.setErrormsg("保存失败"); return br; } + //判断是否高危,添加到首次高危记录(按隆化高危字段获取) + if(null!=model.getHighRisk() && 1==model.getHighRisk()){ + BabyFirstRistRecord firstRistRecord=new BabyFirstRistRecord(); + firstRistRecord.setYn(YnEnums.YES.getId()); + firstRistRecord.setRistType(0);//初次高危发生类型 0:建档高危。1:检查高危 + firstRistRecord.setHospitalId(model.getHospitalId());//建档/检查医院 + firstRistRecord.setParentId(model.getId());//建档/检查 数据id + firstRistRecord.setName(model.getName()); + firstRistRecord.setSex(model.getSex()); + firstRistRecord.setBirth(model.getBirth()); + firstRistRecord.setHighRiskInfo(model.getHighRiskInfo()); + firstRistRecord.setDiagnose(model.getDiagnose()); + firstRistRecord.setDiagnosisTime(model.getBuildDate()); + firstRistRecord.setCheckDoctor(model.getBuildDoctor());//建档/检查医生 + firstRistRecord.setmName(model.getMname()); + firstRistRecord.setmPhone(model.getMphone()); + firstRistRecord.setmCertNo(model.getMcertNo()); + firstRistRecord.setFmHospitalId(model.getDeliverOrg()); + babyFistRistRecordService.add(firstRistRecord); + } //眼保健保存建档时候,保存听力产筛档案mysql表 addMysqlOrUpdateBabyEar(userId, model); 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 48689fc..e4ede00 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 @@ -142,7 +142,8 @@ public class BabyCheckFacade extends BaseServiceImpl { private MeasureDataInfoService mysqlMeasureDataInfoService; @Autowired private MedicineArticleService medicineArticleService; - + @Autowired + private BabyFistRistRecordService babyFistRistRecordService; @Autowired @Qualifier("cfCheckItemService") @@ -299,6 +300,7 @@ public class BabyCheckFacade extends BaseServiceImpl { BabyModelQuery babyModelQuery = new BabyModelQuery(); babyModelQuery.setId(request.getBuildId()); + babyModelQuery.setYn(YnEnums.YES.getId()); List list = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); if (CollectionUtils.isNotEmpty(list)) { bm.setPid(list.get(0).getPid()); @@ -314,6 +316,64 @@ public class BabyCheckFacade extends BaseServiceImpl { updateLastGrowth(model); babyBookbuildingFacade.setRiskCode(request.getBuildId()); + //判断是否高危,添加到首次高危记录(按隆化高危字段获取) + if(null!=model.getHighRisk()){ + if(1==model.getHighRisk()) { + //儿保检查是否添加过高危 + int ristYn = 0; + //儿保检查记录 + BabyCheckModelQuery modelQuery = new BabyCheckModelQuery(); + modelQuery.setYn(YnEnums.YES.getId()); + modelQuery.setBuildId(model.getBuildId()); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(modelQuery); + for (BabyCheckModel babyCheckModel : babyCheckModels) { + BabyFirstRistRecord firstRistRecord = babyFistRistRecordService.queryByPId(babyCheckModel.getId()); + if (null != firstRistRecord) { + ristYn = 1; + break; + } + } + BabyModel babyModel=new BabyModel(); + if(CollectionUtils.isNotEmpty(list)){ + babyModel=list.get(0); + } + BabyFirstRistRecord firstRistRecord=new BabyFirstRistRecord(); + if (ristYn == 0) { + //建档记录是否添加过 + firstRistRecord = babyFistRistRecordService.queryByPId(model.getId()); + //新增高危记录 + if (null == firstRistRecord) { + firstRistRecord.setYn(YnEnums.YES.getId()); + firstRistRecord.setRistType(0);//初次高危发生类型 0:建档高危。1:检查高危 + firstRistRecord.setHospitalId(model.getHospitalId());//建档/检查医院 + firstRistRecord.setParentId(model.getId());//建档/检查 数据id + firstRistRecord.setName(babyModel.getName()); + firstRistRecord.setSex(babyModel.getSex()); + firstRistRecord.setBirth(babyModel.getBirth()); + firstRistRecord.setHighRiskInfo(model.getHighRiskInfo()); + firstRistRecord.setDiagnose(model.getDiagnose()); + firstRistRecord.setDiagnosisTime(model.getCheckDate()); + firstRistRecord.setCheckDoctor(model.getCheckDoctor());//建档/检查医生 + firstRistRecord.setmName(babyModel.getMname()); + firstRistRecord.setmPhone(babyModel.getMphone()); + firstRistRecord.setmCertNo(babyModel.getMcertNo()); + firstRistRecord.setFmHospitalId(babyModel.getDeliverOrg()); + babyFistRistRecordService.add(firstRistRecord); + } + }else { + //修改高危记录 + firstRistRecord.setParentId(model.getId()); + firstRistRecord.setHighRiskInfo(model.getHighRiskInfo()); + firstRistRecord.setDiagnose(model.getDiagnose()); + firstRistRecord.setDiagnosisTime(model.getCheckDate()); + firstRistRecord.setCheckDoctor(model.getCheckDoctor());//建档/检查医生 + babyFistRistRecordService.updateByPid(firstRistRecord); + } + }else { + //改为删除状态 + babyFistRistRecordService.deleteByPId(model.getId()); + } + } return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } @@ -997,6 +1057,47 @@ public class BabyCheckFacade extends BaseServiceImpl { babyBookbuildingFacade.setRiskCode(request.getBuildId()); + //判断是否高危,添加到首次高危记录(按隆化高危字段获取) + if(null!=model.getHighRisk()){ + //儿保检查是否添加过高危 + int ristYn = 0; + //儿保检查记录 + BabyCheckModelQuery query = new BabyCheckModelQuery(); + query.setYn(YnEnums.YES.getId()); + query.setBuildId(model.getBuildId()); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(query); + for (BabyCheckModel babyCheckModel : babyCheckModels) { + BabyFirstRistRecord firstRistRecord = babyFistRistRecordService.queryByPId(babyCheckModel.getId()); + if (null != firstRistRecord) { + ristYn = 1; + break; + } + } + if (ristYn == 0) { + //建档记录是否添加过 + BabyFirstRistRecord firstRistRecord = babyFistRistRecordService.queryByPId(model.getId()); + //增加高危记录 + if (null == firstRistRecord) { + BabyModel babyModel = babyBookbuildingService.queryBabyBuildById(model.getBuildId()); + firstRistRecord.setYn(YnEnums.YES.getId()); + firstRistRecord.setRistType(0);//初次高危发生类型 0:建档高危。1:检查高危 + firstRistRecord.setHospitalId(model.getHospitalId());//建档/检查医院 + firstRistRecord.setParentId(model.getId());//建档/检查 数据id + firstRistRecord.setName(babyModel.getName()); + firstRistRecord.setSex(babyModel.getSex()); + firstRistRecord.setBirth(model.getBirth()); + firstRistRecord.setHighRiskInfo(model.getHighRiskInfo()); + firstRistRecord.setDiagnose(model.getDiagnose()); + firstRistRecord.setDiagnosisTime(model.getCheckDate()); + firstRistRecord.setCheckDoctor(model.getCheckDoctor());//建档/检查医生 + firstRistRecord.setmName(babyModel.getMname()); + firstRistRecord.setmPhone(babyModel.getMphone()); + firstRistRecord.setmCertNo(babyModel.getMcertNo()); + firstRistRecord.setFmHospitalId(babyModel.getDeliverOrg()); + babyFistRistRecordService.add(firstRistRecord); + } + } + } br.setErrorcode(ErrorCodeConstants.SUCCESS); br.setErrormsg("成功"); br.setData(model.getId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyFirstRistRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyFirstRistRecordFacade.java new file mode 100644 index 0000000..6ff8248 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyFirstRistRecordFacade.java @@ -0,0 +1,147 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.AuthenticationService; +import com.lyms.platform.biz.service.BabyFistRistRecordService; +import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.OptActionEnums; +import com.lyms.platform.common.enums.SexEnum; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.*; +import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.operate.web.utils.ResponseUtil; +import com.lyms.platform.permission.dao.master.CouponMapper; +import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.Authentication; +import com.lyms.platform.pojo.BabyFirstRistRecord; +import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.query.AuthenticationQuery; +import com.lyms.platform.query.BabyFirstRistRecordQuery; +import com.lyms.platform.query.BasicConfigQuery; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletResponse; +import java.util.*; + +@Component +public class BabyFirstRistRecordFacade { + @Autowired + private AutoMatchFacade autoMatchFacade; + @Autowired + private BasicConfigService basicConfigService; + @Autowired + private BabyFistRistRecordService babyFistRistRecordService; + @Autowired + private BasicConfigFacade basicConfigFacade; + @Autowired + private UsersService usersService; + @Autowired + private OrganizationService organizationService; + + + + /** + * 儿童首次高危列表 + * @param request + * @param userid + * @return + */ + public BaseObjectResponse queryListPage(BabyFirstRistRecordQuery request, Integer userid) { + BaseObjectResponse br = new BaseObjectResponse(); + String hospitalId = autoMatchFacade.getHospitalId(userid); + request.setHospitalId(hospitalId); + request.setYn(YnEnums.YES.getId()); + request.setNeed("true"); + //结束日期加上时分秒 + if (null != request.getDiagnosisTimeEnd()) { + request.setDiagnosisTimeEnd(DateUtil.getDayLastSecond(request.getDiagnosisTimeEnd())); + } + + List result = new ArrayList<>(); + try { + List listPage=babyFistRistRecordService.queryList(request,Sort.Direction.DESC,new String[]{"diagnosisTime"}); + + for (BabyFirstRistRecord model : listPage) { + Map map=ReflectionUtils.beanToMap(model);//对象转map + //性别 + map.put("sex", SexEnum.getTextById(model.getSex())); + //月龄 + map.put("monthAge",DateUtil.getBabyMonthAge(model.getBirth(),new Date())); + //高危因素 + List highRiskInfos = basicConfigFacade.queryBaseInfoByMap(model.getHighRiskInfo()); + map.put("highRiskInfo",highRiskInfos); + //高危诊断 + String diagnose = ""; + String diagnoseStr = model.getDiagnose(); + if (StringUtils.isNotEmpty(diagnoseStr)) { + List diagnoses = JsonUtil.toList(diagnoseStr, List.class); + for (int i = 0; i < diagnoses.size(); i++) { + if (diagnoses.get(i) != null) { + 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)) { + if (i != diagnoses.size() - 1) { + diagnose += datas.get(0).getName() + ","; + } else { + diagnose += datas.get(0).getName(); + } + } + } + } + } + map.put("diagnose",diagnose); + map.put("diagnosisTime",DateUtil.getYyyyMmDd(model.getDiagnosisTime())); + String checkDoctor=""; + if (StringUtils.isNotEmpty(model.getCheckDoctor())) { + + if ("a9e5507f-e7da-4ec6-b8db-9a1e4d1b7c29".equals(model.getCheckDoctor())) { + checkDoctor="产科病房"; + } else { + Users users = usersService.getUsers(Integer.parseInt(model.getCheckDoctor())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + checkDoctor = users.getName(); + } + } + + } + map.put("checkDoctor",checkDoctor); + String fmHospitalName=""; + if (StringUtils.isNotEmpty(model.getFmHospitalId())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(model.getFmHospitalId())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + fmHospitalName=organization.getName(); + } + } + map.put("fmHospitalName",fmHospitalName); + + result.add(map); + } + } catch (Exception e) { + e.printStackTrace(); + br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + br.setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + return br; + } + + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setData(result); + br.setPageInfo(request.getPageInfo()); + br.setErrormsg("成功"); + return br; + } + +} -- 1.8.3.1