From 3d7536ca00f68f462d24a42ed84b3b4b9f7b9069 Mon Sep 17 00:00:00 2001 From: gengxiaokai Date: Thu, 6 Sep 2018 13:43:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=94=9F=E5=84=BF=E7=AD=9B=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/biz/dal/IbabySieveDao.java | 2 + .../platform/biz/dal/impl/BabySieveDaoImpl.java | 2 + .../platform/biz/service/BabySieveService.java | 5 +- .../java/com/lyms/platform/pojo/BabyModel.java | 2 +- .../com/lyms/platform/query/BabySieveQuery.java | 55 +++++++++++++++ .../web/controller/BabySieveController.java | 26 ++++++++ .../operate/web/facade/BabySieveFacede.java | 78 +++++++++++++++++++++- .../operate/web/request/BabySieveAddRequest.java | 12 ++++ .../operate/web/result/BabySieveManager.java | 34 ++++++++++ .../operate/web/result/BabySieveResult.java | 2 +- 10 files changed, 214 insertions(+), 4 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IbabySieveDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IbabySieveDao.java index c24a485..036b023 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IbabySieveDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IbabySieveDao.java @@ -16,6 +16,8 @@ public interface IbabySieveDao { public BabySieveModel addBabySieve(BabySieveModel data); + public BabySieveModel findOneBabySieveById(String id); + public void updateBabySieveById(BabySieveModel obj,String id); public int queryBabySieveCount(MongoQuery query); diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabySieveDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabySieveDaoImpl.java index bacf00d..91fe2db 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabySieveDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabySieveDaoImpl.java @@ -32,6 +32,8 @@ public class BabySieveDaoImpl extends BaseMongoDAOImpl implement update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); } + public BabySieveModel findOneBabySieveById(String id){return findById(id);} + public int queryBabySieveCount(MongoQuery query){return (int) count(query.convertToMongoQuery());} } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySieveService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySieveService.java index 3cba3ca..b01a9b0 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySieveService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySieveService.java @@ -39,9 +39,12 @@ public class BabySieveService { public void updateBabySieveById(BabySieveModel obj,String id){ obj.setModified(new Date()); - babySieveDao.updateBabySieveById(obj,id); + babySieveDao.updateBabySieveById(obj, id); } + public BabySieveModel findOneBabySieveById(String id){ + return babySieveDao.findOneBabySieveById(id); + } } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java index 77ab64d..8f83102 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java @@ -320,7 +320,7 @@ public class BabyModel extends BaseModel { //其他(写明病名并详细描述) private Map jxOther; - //用来标记是否申请新生儿筛查(null:为申请,1:已申请,2:已筛查) + //用来标记是否申请新生儿筛查(null:为申请,1:已申请,2:已筛查,3:已接收) private String sieveStatus; public String getSieveStatus() { diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabySieveQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabySieveQuery.java index 1c71b49..bf45f64 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabySieveQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabySieveQuery.java @@ -5,7 +5,9 @@ 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 org.springframework.data.mongodb.core.query.Criteria; +import java.util.Date; import java.util.List; /** @@ -19,6 +21,42 @@ public class BabySieveQuery extends BaseQuery implements IConvertToNativeQuery { private String matdeliverId;//分娩ID private String patientId;//孕妇建档ID private List listBabyId;//儿童建档ID集合 + private Date applyDateStrat;//申请开始时间 + private Date applyDateEnd;//申请结束时间 + private String testNumber;//血样码 + private String collectHospitalId;//申请医院(采血单位) + + public Date getApplyDateStrat() { + return applyDateStrat; + } + + public void setApplyDateStrat(Date applyDateStrat) { + this.applyDateStrat = applyDateStrat; + } + + public Date getApplyDateEnd() { + return applyDateEnd; + } + + public void setApplyDateEnd(Date applyDateEnd) { + this.applyDateEnd = applyDateEnd; + } + + public String getTestNumber() { + return testNumber; + } + + public void setTestNumber(String testNumber) { + this.testNumber = testNumber; + } + + public String getCollectHospitalId() { + return collectHospitalId; + } + + public void setCollectHospitalId(String collectHospitalId) { + this.collectHospitalId = collectHospitalId; + } public String getId() { return id; @@ -78,6 +116,23 @@ public class BabySieveQuery extends BaseQuery implements IConvertToNativeQuery { if(listBabyId != null && listBabyId.size() > 0){ condition = condition.and("babyId", listBabyId, MongoOper.IN); } + if(testNumber != null){ + condition = condition.and("testNumber", testNumber, MongoOper.IS); + } + if(collectHospitalId != null){ + condition = condition.and("collectHospitalId", collectHospitalId, MongoOper.IS); + } + Criteria c = null; + if(null != applyDateStrat){ + c = Criteria.where("created").gte(applyDateStrat); + } + if(null != applyDateEnd){ + if (null != c) { + c = c.lte(applyDateEnd); + } else { + c = Criteria.where("created").lte(applyDateEnd); + } + } return condition.toMongoQuery(); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabySieveController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabySieveController.java index 8a229a2..cfb716c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabySieveController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabySieveController.java @@ -88,4 +88,30 @@ public class BabySieveController extends BaseController{ return babySieveFacede.queryBabySieveList(babySieveAddRequest); } + /** + * 根据ID查看新生儿筛查申请 + * @param id + * @return + */ + @ResponseBody + @RequestMapping(value = "/getOneBabySieve",method = RequestMethod.GET) + public BaseResponse oneBabySieve(String id) { + return babySieveFacede.getOneBabySieve(id); + } + + + /** + * 新生儿实验室 + * @param babySieveAddRequest + * @return + */ + @ResponseBody + @RequestMapping(value = "/babySieveLab",method = RequestMethod.GET) + public BaseResponse babySieveLab(BabySieveAddRequest babySieveAddRequest,HttpServletRequest request) { + //babySieveAddRequest.setOperatorId(((LoginContext) request.getAttribute("loginContext")).getId()); + babySieveAddRequest.setOperatorId(1000000185); + return babySieveFacede.queryBabySieveList(babySieveAddRequest); + } + + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java index 5b4af91..fac03b9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java @@ -258,7 +258,11 @@ public class BabySieveFacede { babyModelQuery.setDataStatus(false); babyModelQuery.setDeformityKey(babySieveAddRequest.getDeformityKey()); babyModelQuery.setDueType(StringUtils.isEmpty(babySieveAddRequest.getDueType()) ? null : babySieveAddRequest.getDueType()); - babyModelQuery.setSieveStatus(babySieveAddRequest.getSieveStatus()); + if("0".equals(babySieveAddRequest.getSieveStatus())){ + babyModelQuery.setSieveStatus(null); + }else { + babyModelQuery.setSieveStatus(babySieveAddRequest.getSieveStatus()); + } babyModelQuery.setPage(babySieveAddRequest.getPage()); babyModelQuery.setLimit(babySieveAddRequest.getLimit()); babyModelQuery.setNeed("Need"); @@ -287,6 +291,15 @@ public class BabySieveFacede { for(BabyModel babyModel : babyModelList){ if(maternalDeliverModel.getParentId().equals(babyModel.getParentId())){ BabySieveManager babySieveManager = new BabySieveManager(); + //获取母亲基本信息 + Patients patients = patientsService.findOnePatientById(babyModel.getParentId()); + //获取高危因素,高危评分 + HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), false); + babySieveManager.setRiskFactor(highScoreResult.getHighRisk()); + babySieveManager.setRiskScore(highScoreResult.getScoreStr()); + if(null != patients.getDueDate()){ + babySieveManager.setyChanQi(DateUtil.getyyyy_MM_dd(patients.getDueDate())); + } List babies = maternalDeliverModel.getBaby(); if (CollectionUtils.isNotEmpty(babies)) { for (MaternalDeliverModel.Baby baby : babies) { @@ -352,4 +365,67 @@ public class BabySieveFacede { return babySieveManagerResult; } + + /** + * 根据ID查看新生儿筛查申请 + * @param id + * @return + */ + public BaseObjectResponse getOneBabySieve(String id){ + BaseObjectResponse br = new BaseObjectResponse(); + BabySieveModel bm = babySieveService.findOneBabySieveById(id); + if(bm != null){ + br.setData(bm); + br.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return br; + } + return br; + } + + + /** + * 修改申请单状态(新筛实验室接收按钮) + * @param id + * @return + */ + public BaseObjectResponse updateSieveStarts(String id,Integer userId){ + BaseObjectResponse br = new BaseObjectResponse(); + String hospital = autoMatchFacade.getHospitalId(userId); + BabySieveModel bm = babySieveService.findOneBabySieveById(id); + if(null != bm){ + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setId(bm.getBabyId()); + List list = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if(list != null && list.size() > 0){ + //修改儿童档案sieveStatus字段的值 + BabyModel model = new BabyModel(); + model.setSieveStatus("3"); + model.setModified(new Date()); + model.setOperator(userId); + operateLogFacade.addModifyOptLog(userId, Integer.valueOf(hospital), list.get(0), model, OptActionEnums.UPDATE.getId(), "修改儿童筛查状态"); + babyBookbuildingService.updateBabyBuild(model, bm.getBabyId()); + } + br.setData(bm.getId()); + br.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + } + return br; + } + + + /** + * 新生儿筛查实验室列表 + * @param babySieveAddRequest + * @return + */ + public BabySieveManagerResult getBabySieveLab(BabySieveAddRequest babySieveAddRequest){ + BabySieveManagerResult babySieveManagerResult = new BabySieveManagerResult(); + BabyModelQuery babyModelQuery = new BabyModelQuery(); + //查询号 + babyModelQuery.setQueryNo(StringUtils.isEmpty(babySieveAddRequest.getQueryNo()) ? null : babySieveAddRequest.getQueryNo()); + babyModelQuery.setDataStatus(false); + + + return babySieveManagerResult; + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddRequest.java index 00e2a07..4307c69 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddRequest.java @@ -116,6 +116,17 @@ public class BabySieveAddRequest implements IBasicRequestConvert //医院ID private Integer operatorId; + //申请时间 + private String applyDate; + + public String getApplyDate() { + return applyDate; + } + + public void setApplyDate(String applyDate) { + this.applyDate = applyDate; + } + public String getDuescfs() { return duescfs; } @@ -346,6 +357,7 @@ public class BabySieveAddRequest implements IBasicRequestConvert babySieveModel.setId(id); babySieveModel.setCurrentHospitalId(currentHospitalId); babySieveModel.setAddress(address); + babySieveModel.setCollectHospitalId(collectHospitalId); babySieveModel.setCollectDate(DateUtil.parseYMD(collectDate)); babySieveModel.setCollectDocterId(collectDocterId); babySieveModel.setTestNumber(testNumber); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveManager.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveManager.java index 68dcd33..9876b15 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveManager.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveManager.java @@ -1,5 +1,7 @@ package com.lyms.platform.operate.web.result; +import java.util.List; + /** * 新生儿筛查管理返回模型 * Created by Administrator on 2018/9/3. @@ -24,6 +26,14 @@ public class BabySieveManager { //是否高危 private String highRisk; + //高危因素 + private List riskFactor; + //高危评分 + private String riskScore; + + //预产期 + private String yChanQi; + //分娩孕周 private Integer dueWeek; @@ -39,6 +49,30 @@ public class BabySieveManager { //母亲姓名 private String mName; + public List getRiskFactor() { + return riskFactor; + } + + public void setRiskFactor(List riskFactor) { + this.riskFactor = riskFactor; + } + + public String getRiskScore() { + return riskScore; + } + + public void setRiskScore(String riskScore) { + this.riskScore = riskScore; + } + + public String getyChanQi() { + return yChanQi; + } + + public void setyChanQi(String yChanQi) { + this.yChanQi = yChanQi; + } + public String getBirthYMD() { return birthYMD; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveResult.java index d6b4adaa..aa66552 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveResult.java @@ -9,7 +9,7 @@ import java.util.Date; import java.util.List; /** - * 新生儿筛查返回的对象 + * 新生儿筛查申请返回的对象 * Created by Administrator on 2018/8/29. */ public class BabySieveResult { -- 1.8.3.1