Commit 9aac8e2aac1ca163f5284fbce7fd751ae937f252

Authored by wtt
1 parent fc0dd871b4

update

Showing 6 changed files with 218 additions and 33 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/BabySieveQhdModel.java View file @ 9aac8e2
... ... @@ -32,6 +32,8 @@
32 32 private Date modified;
33 33 //医院ID
34 34 private String hospitalId;
  35 + //证件号
  36 + private String certNo;
35 37  
36 38 /*儿童信息*/
37 39 /*
... ... @@ -71,6 +73,8 @@
71 73 private String zhuYuanNum;
72 74 //母亲证件号码(身份证 军官证 士官证 护照 手机号 其他)
73 75 private String idcard;
  76 + //住院号
  77 + private String bhnum;
74 78 //联系方式
75 79 private String phone;
76 80 //户口性质: 0 城市 1 农村
... ... @@ -147,6 +151,14 @@
147 151 return modified;
148 152 }
149 153  
  154 + public String getBhnum() {
  155 + return bhnum;
  156 + }
  157 +
  158 + public void setBhnum(String bhnum) {
  159 + this.bhnum = bhnum;
  160 + }
  161 +
150 162 public void setModified(Date modified) {
151 163 this.modified = modified;
152 164 }
153 165  
154 166  
155 167  
... ... @@ -383,13 +395,20 @@
383 395 this.weight = weight;
384 396 }
385 397  
  398 + public String getCertNo() {
  399 + return certNo;
  400 + }
386 401  
  402 + public void setCertNo(String certNo) {
  403 + this.certNo = certNo;
  404 + }
387 405  
388   -
389 406 public Map <String,String> convertToDataModel(){
390 407 Map<String,String> map = new HashMap <String,String>();
391 408 map.put("id",id);
392 409 map.put("babyId",babyId);
  410 + map.put("certNo",certNo);
  411 + map.put("bhnum",bhnum);
393 412 map.put("matdeliverId",matdeliverId);
394 413 map.put("patientId",patientId);
395 414 map.put("hospitalId",hospitalId);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabySieveController.java View file @ 9aac8e2
... ... @@ -45,8 +45,20 @@
45 45 //return babySieveFacede.queryBabySieve(cardNo, vcCardNo, 1000000185);
46 46 return babySieveFacede.queryBabySieve(cardNo, vcCardNo, loginState.getId());
47 47 }
  48 + /**
  49 + *查询满足申请筛查的新生儿 秦皇岛版
  50 + * @param request
  51 + * @return
  52 + */
  53 + @TokenRequired
  54 + @ResponseBody
  55 + @RequestMapping(value = "/queryBabySieveQhd",method = RequestMethod.GET)
  56 + public BaseResponse queryBabySieveQhd(@RequestParam(required = false)String cardNo,@RequestParam(required = false)String vcCardNo,HttpServletRequest request) {
  57 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  58 + //return babySieveFacede.queryBabySieve(cardNo, vcCardNo, 1000000185);
  59 + return babySieveFacede.queryBabySieveQhd(cardNo, vcCardNo, loginState.getId());
  60 + }
48 61  
49   -
50 62 /**
51 63 * 增加或更新一条新生儿筛查记录
52 64 *
... ... @@ -119,8 +131,8 @@
119 131 @ResponseBody
120 132 @RequestMapping(value = "/babySieveListQhd",method = RequestMethod.GET)
121 133 public BaseResponse babySieveListQhd(BabySieveAddQhdRequest babySieveAddQhdRequest, HttpServletRequest request) {
122   - babySieveAddQhdRequest.setHospitalId(((LoginContext) request.getAttribute("loginContext")).getId().toString());
123   - return babySieveFacede.queryBabySieveListQhd(babySieveAddQhdRequest);
  134 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  135 + return babySieveFacede.queryBabySieveListQhd(babySieveAddQhdRequest,loginState.getId());
124 136 }
125 137 /**
126 138 * 根据ID查看新生儿筛查申请
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java View file @ 9aac8e2
... ... @@ -38,10 +38,7 @@
38 38 import java.io.File;
39 39 import java.text.ParseException;
40 40 import java.text.SimpleDateFormat;
41   -import java.util.ArrayList;
42   -import java.util.Date;
43   -import java.util.List;
44   -import java.util.Map;
  41 +import java.util.*;
45 42 import java.util.concurrent.Callable;
46 43 import java.util.concurrent.Future;
47 44  
48 45  
... ... @@ -216,7 +213,135 @@
216 213  
217 214 }
218 215  
  216 + /**
  217 + * 新生儿筛查申请前,查询孕妇是否在本院建档以及是否已经录入分娩记录 秦皇岛版
  218 + *
  219 + * @param cardNo
  220 + * @param vcCardNo
  221 + * @param userId
  222 + * @return
  223 + */
  224 + public BaseResponse queryBabySieveQhd(String cardNo, String vcCardNo, Integer userId) {
  225 + //获取本院医院ID
  226 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  227 + PatientsQuery patientsQuery = new PatientsQuery();
  228 + patientsQuery.setHospitalId(hospitalId);
  229 + patientsQuery.setYn(YnEnums.YES.getId());
  230 + if (StringUtils.isNotEmpty(cardNo)) {
  231 + patientsQuery.setCardNo(cardNo);
  232 + } else if (StringUtils.isNotEmpty(vcCardNo)) {
  233 + patientsQuery.setVcCardNo(vcCardNo);
  234 + } else {
  235 + return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请输入查询条件!");
  236 + }
  237 + List <Patients> patients = patientsService.queryPatient(patientsQuery);
  238 + Patients pat = null;
  239 + if (patients == null && patients.size() == 0) {
  240 + return new BaseResponse().setErrorcode(ErrorCodeConstants.BUSINESS_ERROR).
  241 + setErrormsg("该孕妇还未在本院建档,不能进行新生儿筛查申请!");
  242 + }
  243 + pat = patients.get(0);
  244 + //查询是否存在新生儿信息
  245 + BabyModelQuery babyQuery = new BabyModelQuery();
  246 + babyQuery.setParentId(pat.getId());
  247 + List <BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
  248 + if (CollectionUtils.isEmpty(models)) {
  249 + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA)
  250 + .setErrormsg("该孕妇还未在本院填写分娩记录,不能进行新生儿筛查申请!");
  251 + }
  252 + //查询分娩记录
  253 + MatDeliverQuery matDeliverQuery = new MatDeliverQuery();
  254 + matDeliverQuery.setParentId(pat.getId());
  255 + List <MaternalDeliverModel> mList = matDeliverService.pageQuery(matDeliverQuery);
  256 + if (CollectionUtils.isEmpty(mList)) {
  257 + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA)
  258 + .setErrormsg("该孕妇还未在本院填写分娩记录,不能进行新生儿筛查申请!");
  259 + }
  260 + //遍历获取儿童信息
  261 + List <BabySieveQhdManager> babySieveQhdManagerList = new ArrayList <>();
  262 + for (BabyModel babyModel : models) {
  263 + //SieveStatuseNw 值为空时新生儿为未申请筛查的状态
  264 + if (null == babyModel.getSieveStatuseNw()) {
  265 + BabySieveQhdManager babySieveQhdManager = new BabySieveQhdManager();
  266 + babySieveQhdManager.setBabyId(babyModel.getId());
  267 + babySieveQhdManager.setPatientId(pat.getId());
  268 + babySieveQhdManager.setmName(pat.getUsername());
  269 + babySieveQhdManager.setCardNo(pat.getCardNo());
  270 + babySieveQhdManager.setPhone(pat.getPhone());
  271 + babySieveQhdManager.setBirthYMD(DateUtil.getYmd(babyModel.getBirth()));
  272 + babySieveQhdManager.setBabyName(babyModel.getName());
  273 + if (pat.getBirth() != null) {
  274 + babySieveQhdManager.setAge(DateUtil.getAge(pat.getBirth()));//母亲年龄
  275 + }
  276 + for (SexEnum sexEnum : SexEnum.values()) {
  277 + if (sexEnum.getId().equals(babyModel.getSex())) {
  278 + babySieveQhdManager.setSex(sexEnum.getText());//儿童性别
  279 + break;
  280 + }
  281 + }
  282 + babySieveQhdManager.setBirthDays(DateUtil.getDays(babyModel.getBirth(), new Date()));//儿童出生天数
219 283  
  284 + if(CollectionUtils.isNotEmpty(mList)){
  285 + MaternalDeliverModel maternalDeliverModel = mList.get(0);
  286 + babySieveQhdManager.setDueWeek(maternalDeliverModel.getDueWeek());//分娩孕周
  287 + babySieveQhdManager.setMatdeliverId(maternalDeliverModel.getId());//分娩ID
  288 + //分娩方式
  289 + String deliveryMode = "";
  290 + if (StringUtils.isNotEmpty(maternalDeliverModel.getDeliveryMode())) {
  291 + StringBuilder sb = new StringBuilder();
  292 + Map m = JsonUtil.str2Obj(maternalDeliverModel.getDeliveryMode(), Map.class);
  293 + String fmfs = null;
  294 + if (m != null) {
  295 + Object b = m.get("fmfs");
  296 + if (b != null) {
  297 + fmfs = b.toString();
  298 + if (fmfs != null) {
  299 + if (fmfs.equals("1")) {
  300 + String fmName = FmTypeEnums.getFmNameById(fmfs);
  301 + sb.append(fmName);
  302 + if (null != m.get("scfs") && !"null".equals(m.get("scfs").toString())) {
  303 + sb.append(",");
  304 + String scfs = m.get("scfs").toString();
  305 + sb.append(FmTypeEnums.getFmScNameById(scfs));
  306 + }
  307 + deliveryMode = sb.toString();
  308 + } else if (fmfs.equals("2")) {
  309 + String fmName = FmTypeEnums.getFmNameById(fmfs);
  310 + deliveryMode = fmName;
  311 + }
  312 + }
  313 + }
  314 + }
  315 + }
  316 + if (deliveryMode.contains("顺产")) {
  317 + babySieveQhdManager.setDueType(deliveryMode);
  318 + } else {
  319 + babySieveQhdManager.setDueType(deliveryMode);
  320 + babySieveQhdManager.setOperationCause(maternalDeliverModel.getOperationCause() == null ? "--" : maternalDeliverModel.getOperationCause());
  321 + }
  322 + }
  323 + //详细地址(母亲居住地址)
  324 + String jzSheng = CommonsHelper.getName1(pat.getProvinceRegisterId(), basicConfigService);
  325 + String jzShi = CommonsHelper.getName1(pat.getCityRegisterId(), basicConfigService);
  326 + String jzXian = CommonsHelper.getName1(pat.getAreaRegisterId(), basicConfigService);
  327 + String jzXiang = CommonsHelper.getName1(pat.getStreetRegisterId(), basicConfigService);
  328 + String jzd = pat.getAddressRegister();
  329 + String jQquan = jzSheng + jzShi + jzXian + jzXiang + jzd;
  330 + babySieveQhdManager.setAdress(jQquan);
  331 + babySieveQhdManager.setBhnum(models.get(0).getBlNo());//住院号
  332 + babySieveQhdManagerList.add(babySieveQhdManager);
  333 + }
  334 + }
  335 + BaseObjectResponse objectResponse = new BaseObjectResponse();
  336 + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
  337 + objectResponse.setData(babySieveQhdManagerList);
  338 + objectResponse.setErrormsg("成功");
  339 + return objectResponse;
  340 + }
  341 +
  342 +
  343 +
  344 +
220 345 /**
221 346 * 新增或更新一条筛查申请记录
222 347 *
223 348  
... ... @@ -277,13 +402,10 @@
277 402 public BaseResponse addOrUpdateBabySieveQhd(BabySieveAddQhdRequest babySieveAddQhdRequest, Integer userId) {
278 403 BabySieveQhdModel babySieveQhdModel = babySieveAddQhdRequest.convertToDataModel();
279 404 String hospital = autoMatchFacade.getHospitalId(userId);
280   -
281   -// babySieveQhdModel.setBornTime(DateUtil.paseYMDH(babySieveAddQhdRequest.getBornTime()));
282   -// babySieveQhdModel.setCaiXueTime(DateUtil.paseYMDH(babySieveAddQhdRequest.getCaiXueTime()));
283 405 babySieveQhdModel.setHospitalId(hospital);
284 406 //更新数据
285 407 if (StringUtils.isNotEmpty(babySieveAddQhdRequest.getId())) {
286   - if(StringUtils.isNotEmpty(babySieveQhdModel.getBabyId())){
  408 + if (StringUtils.isNotEmpty(babySieveQhdModel.getBabyId())) {
287 409 babySieveQhdService.updateBabySieveById(babySieveQhdModel, babySieveAddQhdRequest.getId());
288 410 BabyModel babyModel = convertSieveQhdBaby(babySieveAddQhdRequest, userId, babySieveQhdModel);
289 411 babyBookbuildingService.updateBabyBuild(babyModel, babySieveQhdModel.getBabyId());
... ... @@ -316,7 +438,7 @@
316 438  
317 439 }
318 440 }
319   -
  441 +
320 442 /**
321 443 * 秦皇岛版儿童产筛字段转换儿童档案
322 444 *
... ... @@ -347,6 +469,7 @@
347 469  
348 470 /**
349 471 * 新生儿筛查管理
  472 + *
350 473 * @param babySieveAddRequest
351 474 * @return
352 475 */
... ... @@ -526,7 +649,7 @@
526 649 * @param babySieveAddQhdRequest
527 650 * @return
528 651 */
529   - public BabySieveManagerResult queryBabySieveListQhd(BabySieveAddQhdRequest babySieveAddQhdRequest) {
  652 + public BabySieveManagerResult queryBabySieveListQhd(BabySieveAddQhdRequest babySieveAddQhdRequest, Integer userId) {
530 653 BabySieveManagerResult babySieveManagerResult = new BabySieveManagerResult();
531 654 BabyModelQuery babyModelQuery = new BabyModelQuery();
532 655 //babyModelQuery.setYn(YnEnums.YES.getId());
... ... @@ -580,7 +703,7 @@
580 703 babyModelQuery.setPage(babySieveAddQhdRequest.getPage());
581 704 babyModelQuery.setLimit(babySieveAddQhdRequest.getLimit());
582 705 babyModelQuery.setNeed("Need");
583   - babyModelQuery.setHospitalId(babySieveAddQhdRequest.getHospitalId());
  706 + babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(userId));
584 707 babyModelQuery.setBuildType(2);
585 708 babyModelQuery.setOrder("birth");
586 709  
... ... @@ -602,7 +725,7 @@
602 725 end = babyModelList.size();
603 726 }
604 727 final List <BabyModel> models = babyModelList.subList(i, end);
605   - Callable c = new BabySieveQhdHandleTask(models, matDeliverService, babySieveQhdService, patientsService, antenatalExaminationFacade, basicConfigService);
  728 + Callable c = new BabySieveQhdHandleTask(models, matDeliverService, babySieveQhdService, patientsService, antenatalExaminationFacade, basicConfigService, organizationService);
606 729 Future f = commonThreadPool.submit(c);
607 730 futures.add(f);
608 731 }
... ... @@ -639,6 +762,7 @@
639 762 }
640 763 return br;
641 764 }
  765 +
642 766 /**
643 767 * 根据ID查看新生儿筛查申请 秦皇岛版
644 768 *
... ... @@ -659,6 +783,7 @@
659 783  
660 784 /**
661 785 * 修改申请单状态(新筛实验室接收按钮)
  786 + *
662 787 * @param id
663 788 * @return
664 789 */
... ... @@ -688,6 +813,7 @@
688 813  
689 814 /**
690 815 * 新生儿筛查实验室列表
  816 + *
691 817 * @param babySieveAddRequest
692 818 * @return
693 819 */
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddQhdRequest.java View file @ 9aac8e2
... ... @@ -22,6 +22,11 @@
22 22 //儿童建档主键
23 23 @NotEmpty(message = "儿童id不能为空")
24 24 private String babyId;
  25 +
  26 + //证件号
  27 + @NotEmpty(message = "证件号不能为空")
  28 + private String certNo;
  29 +
25 30 //分娩id
26 31 private String matdeliverId;
27 32 //孕妇档案id
... ... @@ -309,6 +314,14 @@
309 314 this.bornTime = bornTime;
310 315 }
311 316  
  317 + public String getCertNo() {
  318 + return certNo;
  319 + }
  320 +
  321 + public void setCertNo(String certNo) {
  322 + this.certNo = certNo;
  323 + }
  324 +
312 325 public String getYunZhou() {
313 326 return yunZhou;
314 327 }
... ... @@ -423,6 +436,7 @@
423 436 BabySieveQhdModel babySieveQhdModel = new BabySieveQhdModel();
424 437 babySieveQhdModel.setId(id);
425 438 babySieveQhdModel.setBabyId(babyId);
  439 + babySieveQhdModel.setCertNo(certNo);
426 440 babySieveQhdModel.setMatdeliverId(matdeliverId);
427 441 babySieveQhdModel.setPatientId(patientId);
428 442 babySieveQhdModel.setHospitalId(hospitalId);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveQhdManager.java View file @ 9aac8e2
... ... @@ -19,7 +19,6 @@
19 19 private String matdeliverId;
20 20  
21 21  
22   -
23 22 //母亲姓名
24 23 private String mName;
25 24 //母亲身份证号(也是证件号)
26 25  
27 26  
... ... @@ -63,11 +62,17 @@
63 62 private String ssHospital;
64 63 //详细地址(母亲居住地址)
65 64 private String adress;
  65 + //住院号
  66 + private String bhnum;
66 67  
67 68  
  69 + public String getBhnum() {
  70 + return bhnum;
  71 + }
68 72  
69   -
70   -
  73 + public void setBhnum(String bhnum) {
  74 + this.bhnum = bhnum;
  75 + }
71 76  
72 77 public String getBabyId() {
73 78 return babyId;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/BabySieveQhdHandleTask.java View file @ 9aac8e2
... ... @@ -9,6 +9,7 @@
9 9 import com.lyms.platform.common.utils.JsonUtil;
10 10 import com.lyms.platform.operate.web.facade.AntenatalExaminationFacade;
11 11 import com.lyms.platform.operate.web.result.BabySieveQhdManager;
  12 +import com.lyms.platform.permission.service.OrganizationService;
12 13 import com.lyms.platform.pojo.*;
13 14 import com.lyms.platform.query.MatDeliverQuery;
14 15 import org.apache.commons.lang.StringUtils;
15 16  
16 17  
... ... @@ -34,20 +35,22 @@
34 35 private PatientsService patientsService;
35 36 private AntenatalExaminationFacade antenatalExaminationFacade;
36 37 private BasicConfigService basicConfigService;
  38 + private OrganizationService organizationService;
37 39  
38 40 public BabySieveQhdHandleTask(List<BabyModel> babyModelList,
39 41 MatDeliverService matDeliverService,
40 42 BabySieveQhdService babySieveQhdService,
41 43 PatientsService patientsService,
42 44 AntenatalExaminationFacade antenatalExaminationFacade,
43   - BasicConfigService basicConfigService){
  45 + BasicConfigService basicConfigService,
  46 + OrganizationService organizationService){
44 47 this.babyModelList=babyModelList;
45 48 this.matDeliverService=matDeliverService;
46 49 this.babySieveQhdService=babySieveQhdService;
47 50 this.patientsService=patientsService;
48 51 this.antenatalExaminationFacade=antenatalExaminationFacade;
49 52 this.basicConfigService=basicConfigService;
50   -
  53 + this.organizationService=organizationService;
51 54 }
52 55  
53 56  
54 57  
55 58  
56 59  
57 60  
... ... @@ -66,28 +69,34 @@
66 69 for(MaternalDeliverModel maternalDeliverModel : maternalDeliverModelList){
67 70 for(BabyModel babyModel : babyModelList){
68 71 if(maternalDeliverModel.getParentId().equals(babyModel.getParentId())){
69   - //一会改成秦皇岛的BabySieveQhdModel
70 72 BabySieveQhdModel babySieveQhdModel = new BabySieveQhdModel();
71 73 babySieveQhdModel = babySieveQhdService.getBabySieveQueryBybabyId(babyModel.getId());
72 74 BabySieveQhdManager babySieveQhdManager = new BabySieveQhdManager();
73 75 babySieveQhdManager.setBabyId(babyModel.getId());//儿童建档ID
  76 + babySieveQhdManager.setBhnum(babyModel.getBlNo());//住院号
74 77 babySieveQhdManager.setMatdeliverId(maternalDeliverModel.getId());//分娩ID
75 78  
76 79 if(babySieveQhdModel != null){
77 80  
78   - /*这几个在 产筛申请中获取
79   - babySieveQhdManager.setResult(babySieveModel.getResult);//筛查结果
80   - babySieveQhdManager.setSsHospital(babySieveModel.getSsHospital);//所属医院是当前医院
81   - babySieveQhdManager.setCaiXueTime(DateUtil.getyyyy_MM_dd(babySieveModel.getCaiXueTime()));//采血日期
82   - if(StringUtils.isNotEmpty(babySieveModel.getTestItem()) && StringUtils.isEmpty(babySieveModel.getMsms()) ){
83   - babySieveQhdManager.setSqxm(babySieveModel.getTestItem());//申请项目
84   - }else if(StringUtils.isNotEmpty(babySieveModel.getMsms()) && StringUtils.isEmpty(babySieveModel.getTestItem()) ){
85   - babySieveQhdManager.setSqxm(babySieveModel.getMsms());
  81 + /*这几个在 产筛申请中获取*/
  82 + if("1".equals(babySieveQhdModel.getCsjg())){
  83 + babySieveQhdManager.setResult("阳性");
  84 + }else if("2".equals(babySieveQhdModel.getCsjg())){
  85 + babySieveQhdManager.setResult("阴性");//筛查结果
  86 + }
  87 + if(StringUtils.isNotEmpty(babySieveQhdModel.getSsHospital())){
  88 +// babySieveQhdManager.setSsHospital(organizationService.getOrganizationName(babySieveQhdModel.getSsHospital()));
  89 + babySieveQhdManager.setSsHospital(babySieveQhdModel.getSsHospital());//所属医院是当前医院
  90 + }
  91 + babySieveQhdManager.setCaiXueTime(DateUtil.getyyyy_MM_dd(babySieveQhdModel.getCaiXueTime()));//采血日期
  92 + if(StringUtils.isNotEmpty(babySieveQhdModel.getTestItem()) && StringUtils.isEmpty(babySieveQhdModel.getMsms()) ){
  93 + babySieveQhdManager.setSqxm(babySieveQhdModel.getTestItem());//申请项目
  94 + }else if(StringUtils.isNotEmpty(babySieveQhdModel.getMsms()) && StringUtils.isEmpty(babySieveQhdModel.getTestItem()) ){
  95 + babySieveQhdManager.setSqxm(babySieveQhdModel.getMsms());
86 96 }else {
87   - babySieveQhdManager.setSqxm(babySieveModel.getTestItem() + babySieveModel.getMsms());
  97 + babySieveQhdManager.setSqxm(babySieveQhdModel.getTestItem() + babySieveQhdModel.getMsms());
88 98 }
89 99  
90   -
91 100 babySieveQhdManager.setId(babySieveQhdModel.getId());//新生儿筛查ID
92 101 if("1".equals(babySieveQhdModel.getDueType())){
93 102 String fmName = FmTypeEnums.getFmNameById(babySieveQhdModel.getDueType());//分娩方式
... ... @@ -96,7 +105,7 @@
96 105 }else if("2".equals(babySieveQhdModel.getDueType())){
97 106 String fmName = FmTypeEnums.getFmNameById(babySieveQhdModel.getDueType());
98 107 babySieveQhdManager.setDueType(fmName);
99   - }*/
  108 + }
100 109  
101 110 }
102 111 //获取母亲基本信息