From 9aac8e2aac1ca163f5284fbce7fd751ae937f252 Mon Sep 17 00:00:00 2001 From: wtt Date: Tue, 17 Nov 2020 16:13:57 +0800 Subject: [PATCH] update --- .../com/lyms/platform/pojo/BabySieveQhdModel.java | 21 ++- .../web/controller/BabySieveController.java | 18 ++- .../operate/web/facade/BabySieveFacede.java | 150 +++++++++++++++++++-- .../web/request/BabySieveAddQhdRequest.java | 14 ++ .../operate/web/result/BabySieveQhdManager.java | 11 +- .../operate/web/utils/BabySieveQhdHandleTask.java | 37 +++-- 6 files changed, 218 insertions(+), 33 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabySieveQhdModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabySieveQhdModel.java index e9d91dd..20dbab6 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabySieveQhdModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabySieveQhdModel.java @@ -32,6 +32,8 @@ public class BabySieveQhdModel extends BaseModel { private Date modified; //医院ID private String hospitalId; + //证件号 + private String certNo; /*儿童信息*/ /* @@ -71,6 +73,8 @@ public class BabySieveQhdModel extends BaseModel { private String zhuYuanNum; //母亲证件号码(身份证 军官证 士官证 护照 手机号 其他) private String idcard; + //住院号 + private String bhnum; //联系方式 private String phone; //户口性质: 0 城市 1 农村 @@ -147,6 +151,14 @@ public class BabySieveQhdModel extends BaseModel { return modified; } + public String getBhnum() { + return bhnum; + } + + public void setBhnum(String bhnum) { + this.bhnum = bhnum; + } + public void setModified(Date modified) { this.modified = modified; } @@ -383,13 +395,20 @@ public class BabySieveQhdModel extends BaseModel { this.weight = weight; } + public String getCertNo() { + return certNo; + } - + public void setCertNo(String certNo) { + this.certNo = certNo; + } public Map convertToDataModel(){ Map map = new HashMap (); map.put("id",id); map.put("babyId",babyId); + map.put("certNo",certNo); + map.put("bhnum",bhnum); map.put("matdeliverId",matdeliverId); map.put("patientId",patientId); map.put("hospitalId",hospitalId); 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 e075831..c84d5be 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 @@ -45,7 +45,19 @@ public class BabySieveController extends BaseController{ //return babySieveFacede.queryBabySieve(cardNo, vcCardNo, 1000000185); return babySieveFacede.queryBabySieve(cardNo, vcCardNo, loginState.getId()); } - + /** + *查询满足申请筛查的新生儿 秦皇岛版 + * @param request + * @return + */ + @TokenRequired + @ResponseBody + @RequestMapping(value = "/queryBabySieveQhd",method = RequestMethod.GET) + public BaseResponse queryBabySieveQhd(@RequestParam(required = false)String cardNo,@RequestParam(required = false)String vcCardNo,HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + //return babySieveFacede.queryBabySieve(cardNo, vcCardNo, 1000000185); + return babySieveFacede.queryBabySieveQhd(cardNo, vcCardNo, loginState.getId()); + } /** * 增加或更新一条新生儿筛查记录 @@ -119,8 +131,8 @@ public class BabySieveController extends BaseController{ @ResponseBody @RequestMapping(value = "/babySieveListQhd",method = RequestMethod.GET) public BaseResponse babySieveListQhd(BabySieveAddQhdRequest babySieveAddQhdRequest, HttpServletRequest request) { - babySieveAddQhdRequest.setHospitalId(((LoginContext) request.getAttribute("loginContext")).getId().toString()); - return babySieveFacede.queryBabySieveListQhd(babySieveAddQhdRequest); + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return babySieveFacede.queryBabySieveListQhd(babySieveAddQhdRequest,loginState.getId()); } /** * 根据ID查看新生儿筛查申请 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 3d66d7f..a2f0a9d 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 @@ -38,10 +38,7 @@ import org.springframework.stereotype.Component; import java.io.File; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.Future; @@ -216,6 +213,134 @@ public class BabySieveFacede { } + /** + * 新生儿筛查申请前,查询孕妇是否在本院建档以及是否已经录入分娩记录 秦皇岛版 + * + * @param cardNo + * @param vcCardNo + * @param userId + * @return + */ + public BaseResponse queryBabySieveQhd(String cardNo, String vcCardNo, Integer userId) { + //获取本院医院ID + String hospitalId = autoMatchFacade.getHospitalId(userId); + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(cardNo)) { + patientsQuery.setCardNo(cardNo); + } else if (StringUtils.isNotEmpty(vcCardNo)) { + patientsQuery.setVcCardNo(vcCardNo); + } else { + return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请输入查询条件!"); + } + List patients = patientsService.queryPatient(patientsQuery); + Patients pat = null; + if (patients == null && patients.size() == 0) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.BUSINESS_ERROR). + setErrormsg("该孕妇还未在本院建档,不能进行新生儿筛查申请!"); + } + pat = patients.get(0); + //查询是否存在新生儿信息 + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setParentId(pat.getId()); + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isEmpty(models)) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA) + .setErrormsg("该孕妇还未在本院填写分娩记录,不能进行新生儿筛查申请!"); + } + //查询分娩记录 + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setParentId(pat.getId()); + List mList = matDeliverService.pageQuery(matDeliverQuery); + if (CollectionUtils.isEmpty(mList)) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA) + .setErrormsg("该孕妇还未在本院填写分娩记录,不能进行新生儿筛查申请!"); + } + //遍历获取儿童信息 + List babySieveQhdManagerList = new ArrayList <>(); + for (BabyModel babyModel : models) { + //SieveStatuseNw 值为空时新生儿为未申请筛查的状态 + if (null == babyModel.getSieveStatuseNw()) { + BabySieveQhdManager babySieveQhdManager = new BabySieveQhdManager(); + babySieveQhdManager.setBabyId(babyModel.getId()); + babySieveQhdManager.setPatientId(pat.getId()); + babySieveQhdManager.setmName(pat.getUsername()); + babySieveQhdManager.setCardNo(pat.getCardNo()); + babySieveQhdManager.setPhone(pat.getPhone()); + babySieveQhdManager.setBirthYMD(DateUtil.getYmd(babyModel.getBirth())); + babySieveQhdManager.setBabyName(babyModel.getName()); + if (pat.getBirth() != null) { + babySieveQhdManager.setAge(DateUtil.getAge(pat.getBirth()));//母亲年龄 + } + for (SexEnum sexEnum : SexEnum.values()) { + if (sexEnum.getId().equals(babyModel.getSex())) { + babySieveQhdManager.setSex(sexEnum.getText());//儿童性别 + break; + } + } + babySieveQhdManager.setBirthDays(DateUtil.getDays(babyModel.getBirth(), new Date()));//儿童出生天数 + + if(CollectionUtils.isNotEmpty(mList)){ + MaternalDeliverModel maternalDeliverModel = mList.get(0); + babySieveQhdManager.setDueWeek(maternalDeliverModel.getDueWeek());//分娩孕周 + babySieveQhdManager.setMatdeliverId(maternalDeliverModel.getId());//分娩ID + //分娩方式 + String deliveryMode = ""; + if (StringUtils.isNotEmpty(maternalDeliverModel.getDeliveryMode())) { + StringBuilder sb = new StringBuilder(); + Map m = JsonUtil.str2Obj(maternalDeliverModel.getDeliveryMode(), Map.class); + String fmfs = null; + if (m != null) { + Object b = m.get("fmfs"); + if (b != null) { + fmfs = b.toString(); + if (fmfs != null) { + if (fmfs.equals("1")) { + String fmName = FmTypeEnums.getFmNameById(fmfs); + sb.append(fmName); + if (null != m.get("scfs") && !"null".equals(m.get("scfs").toString())) { + sb.append(","); + String scfs = m.get("scfs").toString(); + sb.append(FmTypeEnums.getFmScNameById(scfs)); + } + deliveryMode = sb.toString(); + } else if (fmfs.equals("2")) { + String fmName = FmTypeEnums.getFmNameById(fmfs); + deliveryMode = fmName; + } + } + } + } + } + if (deliveryMode.contains("顺产")) { + babySieveQhdManager.setDueType(deliveryMode); + } else { + babySieveQhdManager.setDueType(deliveryMode); + babySieveQhdManager.setOperationCause(maternalDeliverModel.getOperationCause() == null ? "--" : maternalDeliverModel.getOperationCause()); + } + } + //详细地址(母亲居住地址) + String jzSheng = CommonsHelper.getName1(pat.getProvinceRegisterId(), basicConfigService); + String jzShi = CommonsHelper.getName1(pat.getCityRegisterId(), basicConfigService); + String jzXian = CommonsHelper.getName1(pat.getAreaRegisterId(), basicConfigService); + String jzXiang = CommonsHelper.getName1(pat.getStreetRegisterId(), basicConfigService); + String jzd = pat.getAddressRegister(); + String jQquan = jzSheng + jzShi + jzXian + jzXiang + jzd; + babySieveQhdManager.setAdress(jQquan); + babySieveQhdManager.setBhnum(models.get(0).getBlNo());//住院号 + babySieveQhdManagerList.add(babySieveQhdManager); + } + } + BaseObjectResponse objectResponse = new BaseObjectResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setData(babySieveQhdManagerList); + objectResponse.setErrormsg("成功"); + return objectResponse; + } + + + /** * 新增或更新一条筛查申请记录 @@ -277,13 +402,10 @@ public class BabySieveFacede { public BaseResponse addOrUpdateBabySieveQhd(BabySieveAddQhdRequest babySieveAddQhdRequest, Integer userId) { BabySieveQhdModel babySieveQhdModel = babySieveAddQhdRequest.convertToDataModel(); String hospital = autoMatchFacade.getHospitalId(userId); - -// babySieveQhdModel.setBornTime(DateUtil.paseYMDH(babySieveAddQhdRequest.getBornTime())); -// babySieveQhdModel.setCaiXueTime(DateUtil.paseYMDH(babySieveAddQhdRequest.getCaiXueTime())); babySieveQhdModel.setHospitalId(hospital); //更新数据 if (StringUtils.isNotEmpty(babySieveAddQhdRequest.getId())) { - if(StringUtils.isNotEmpty(babySieveQhdModel.getBabyId())){ + if (StringUtils.isNotEmpty(babySieveQhdModel.getBabyId())) { babySieveQhdService.updateBabySieveById(babySieveQhdModel, babySieveAddQhdRequest.getId()); BabyModel babyModel = convertSieveQhdBaby(babySieveAddQhdRequest, userId, babySieveQhdModel); babyBookbuildingService.updateBabyBuild(babyModel, babySieveQhdModel.getBabyId()); @@ -316,7 +438,7 @@ public class BabySieveFacede { } } - + /** * 秦皇岛版儿童产筛字段转换儿童档案 * @@ -347,6 +469,7 @@ public class BabySieveFacede { /** * 新生儿筛查管理 + * * @param babySieveAddRequest * @return */ @@ -526,7 +649,7 @@ public class BabySieveFacede { * @param babySieveAddQhdRequest * @return */ - public BabySieveManagerResult queryBabySieveListQhd(BabySieveAddQhdRequest babySieveAddQhdRequest) { + public BabySieveManagerResult queryBabySieveListQhd(BabySieveAddQhdRequest babySieveAddQhdRequest, Integer userId) { BabySieveManagerResult babySieveManagerResult = new BabySieveManagerResult(); BabyModelQuery babyModelQuery = new BabyModelQuery(); //babyModelQuery.setYn(YnEnums.YES.getId()); @@ -580,7 +703,7 @@ public class BabySieveFacede { babyModelQuery.setPage(babySieveAddQhdRequest.getPage()); babyModelQuery.setLimit(babySieveAddQhdRequest.getLimit()); babyModelQuery.setNeed("Need"); - babyModelQuery.setHospitalId(babySieveAddQhdRequest.getHospitalId()); + babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(userId)); babyModelQuery.setBuildType(2); babyModelQuery.setOrder("birth"); @@ -602,7 +725,7 @@ public class BabySieveFacede { end = babyModelList.size(); } final List models = babyModelList.subList(i, end); - Callable c = new BabySieveQhdHandleTask(models, matDeliverService, babySieveQhdService, patientsService, antenatalExaminationFacade, basicConfigService); + Callable c = new BabySieveQhdHandleTask(models, matDeliverService, babySieveQhdService, patientsService, antenatalExaminationFacade, basicConfigService, organizationService); Future f = commonThreadPool.submit(c); futures.add(f); } @@ -639,6 +762,7 @@ public class BabySieveFacede { } return br; } + /** * 根据ID查看新生儿筛查申请 秦皇岛版 * @@ -659,6 +783,7 @@ public class BabySieveFacede { /** * 修改申请单状态(新筛实验室接收按钮) + * * @param id * @return */ @@ -688,6 +813,7 @@ public class BabySieveFacede { /** * 新生儿筛查实验室列表 + * * @param babySieveAddRequest * @return */ diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddQhdRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddQhdRequest.java index 9d1f16c..56aac6e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddQhdRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddQhdRequest.java @@ -22,6 +22,11 @@ public class BabySieveAddQhdRequest implements IBasicRequestConvert babyModelList, MatDeliverService matDeliverService, BabySieveQhdService babySieveQhdService, PatientsService patientsService, AntenatalExaminationFacade antenatalExaminationFacade, - BasicConfigService basicConfigService){ + BasicConfigService basicConfigService, + OrganizationService organizationService){ this.babyModelList=babyModelList; this.matDeliverService=matDeliverService; this.babySieveQhdService=babySieveQhdService; this.patientsService=patientsService; this.antenatalExaminationFacade=antenatalExaminationFacade; this.basicConfigService=basicConfigService; - + this.organizationService=organizationService; } @@ -66,28 +69,34 @@ public class BabySieveQhdHandleTask implements Callable { for(MaternalDeliverModel maternalDeliverModel : maternalDeliverModelList){ for(BabyModel babyModel : babyModelList){ if(maternalDeliverModel.getParentId().equals(babyModel.getParentId())){ - //一会改成秦皇岛的BabySieveQhdModel BabySieveQhdModel babySieveQhdModel = new BabySieveQhdModel(); babySieveQhdModel = babySieveQhdService.getBabySieveQueryBybabyId(babyModel.getId()); BabySieveQhdManager babySieveQhdManager = new BabySieveQhdManager(); babySieveQhdManager.setBabyId(babyModel.getId());//儿童建档ID + babySieveQhdManager.setBhnum(babyModel.getBlNo());//住院号 babySieveQhdManager.setMatdeliverId(maternalDeliverModel.getId());//分娩ID if(babySieveQhdModel != null){ - /*这几个在 产筛申请中获取 - babySieveQhdManager.setResult(babySieveModel.getResult);//筛查结果 - babySieveQhdManager.setSsHospital(babySieveModel.getSsHospital);//所属医院是当前医院 - babySieveQhdManager.setCaiXueTime(DateUtil.getyyyy_MM_dd(babySieveModel.getCaiXueTime()));//采血日期 - if(StringUtils.isNotEmpty(babySieveModel.getTestItem()) && StringUtils.isEmpty(babySieveModel.getMsms()) ){ - babySieveQhdManager.setSqxm(babySieveModel.getTestItem());//申请项目 - }else if(StringUtils.isNotEmpty(babySieveModel.getMsms()) && StringUtils.isEmpty(babySieveModel.getTestItem()) ){ - babySieveQhdManager.setSqxm(babySieveModel.getMsms()); + /*这几个在 产筛申请中获取*/ + if("1".equals(babySieveQhdModel.getCsjg())){ + babySieveQhdManager.setResult("阳性"); + }else if("2".equals(babySieveQhdModel.getCsjg())){ + babySieveQhdManager.setResult("阴性");//筛查结果 + } + if(StringUtils.isNotEmpty(babySieveQhdModel.getSsHospital())){ +// babySieveQhdManager.setSsHospital(organizationService.getOrganizationName(babySieveQhdModel.getSsHospital())); + babySieveQhdManager.setSsHospital(babySieveQhdModel.getSsHospital());//所属医院是当前医院 + } + babySieveQhdManager.setCaiXueTime(DateUtil.getyyyy_MM_dd(babySieveQhdModel.getCaiXueTime()));//采血日期 + if(StringUtils.isNotEmpty(babySieveQhdModel.getTestItem()) && StringUtils.isEmpty(babySieveQhdModel.getMsms()) ){ + babySieveQhdManager.setSqxm(babySieveQhdModel.getTestItem());//申请项目 + }else if(StringUtils.isNotEmpty(babySieveQhdModel.getMsms()) && StringUtils.isEmpty(babySieveQhdModel.getTestItem()) ){ + babySieveQhdManager.setSqxm(babySieveQhdModel.getMsms()); }else { - babySieveQhdManager.setSqxm(babySieveModel.getTestItem() + babySieveModel.getMsms()); + babySieveQhdManager.setSqxm(babySieveQhdModel.getTestItem() + babySieveQhdModel.getMsms()); } - babySieveQhdManager.setId(babySieveQhdModel.getId());//新生儿筛查ID if("1".equals(babySieveQhdModel.getDueType())){ String fmName = FmTypeEnums.getFmNameById(babySieveQhdModel.getDueType());//分娩方式 @@ -96,7 +105,7 @@ public class BabySieveQhdHandleTask implements Callable { }else if("2".equals(babySieveQhdModel.getDueType())){ String fmName = FmTypeEnums.getFmNameById(babySieveQhdModel.getDueType()); babySieveQhdManager.setDueType(fmName); - }*/ + } } //获取母亲基本信息 -- 1.8.3.1