Commit 2a0d7dfc85971d08f90b6b4c23c820ad78ed7a0d

Authored by liquanyu
1 parent d248c26816

肌萎缩

Showing 5 changed files with 406 additions and 23 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/SmnModel.java View file @ 2a0d7df
... ... @@ -3,6 +3,7 @@
3 3 import org.springframework.data.mongodb.core.mapping.Document;
4 4  
5 5 import java.util.Date;
  6 +import java.util.List;
6 7 import java.util.Map;
7 8  
8 9 @Document(collection = "lyms_smn")
9 10  
... ... @@ -40,12 +41,9 @@
40 41 private String cityRegisterId;
41 42 private String areaRegisterId;
42 43 private String streetRegisterId;
43   -
44 44 private String orgProvinceId;
45 45 private String orgCityId;
46 46 private String orgAreaId;
47   -
48   -
49 47 private String ybType;//样本类型 外周血
50 48 private String ybNum;//样本号
51 49 private Date sendDate;//送检时间
52 50  
53 51  
54 52  
55 53  
56 54  
57 55  
... ... @@ -53,23 +51,15 @@
53 51 private String diagnose;//诊断
54 52 private Map<String,Object> familyHistory;//家族史
55 53 private String marriage;//父母是否近亲结婚 1 是 2 否
56   -
57 54 private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格
58   -
59 55 private String hospitalId;//当前录入机构id
60 56 private String sendHospitalId;//送检医院
61   -
62 57 private Double smn7; //基因外显子7
63 58 private Double smn8;//基因外显子8
64   -
65 59 private String smn7Result; //基因外显子7 结果
66 60 private String smn8Result;//基因外显子8 结果
67   -
68 61 private Integer yn;
69   -
70   -
71 62 private Integer result; //1 阴性 2 阳性
72   -
73 63 private String suggest;//建议
74 64 private String checker;//检验员
75 65 private String reviewer;//审核人
... ... @@ -77,6 +67,26 @@
77 67 private Date checkDate;//检查日期
78 68 private Date created;//创建记录时间
79 69  
  70 + private Integer sfStatus;//随访状态 0 终止状态 1 丈夫阳性状态 2 产前诊断异常 3 分娩异常 4新生儿异常
  71 +
  72 + private List<HusbandSmn> husbandSmns;
  73 +
  74 + public List<HusbandSmn> getHusbandSmns() {
  75 + return husbandSmns;
  76 + }
  77 +
  78 + public void setHusbandSmns(List<HusbandSmn> husbandSmns) {
  79 + this.husbandSmns = husbandSmns;
  80 + }
  81 +
  82 + public Integer getSfStatus() {
  83 + return sfStatus;
  84 + }
  85 +
  86 + public void setSfStatus(Integer sfStatus) {
  87 + this.sfStatus = sfStatus;
  88 + }
  89 +
80 90 public String getOrgProvinceId() {
81 91 return orgProvinceId;
82 92 }
... ... @@ -437,6 +447,282 @@
437 447  
438 448 public void setCheckDate(Date checkDate) {
439 449 this.checkDate = checkDate;
  450 + }
  451 +
  452 + public class HusbandSmn{
  453 +
  454 + private String parentId;//行记录id
  455 + private String husbandName;//丈夫姓名
  456 + private Integer husbandAge;//丈夫年龄
  457 + private String husbandCardNo;//丈夫身份证号码
  458 + private String husbandPhone;//丈夫手机
  459 + private String husbandNationId;//丈夫民族Id
  460 + private String ybType;//样本类型 外周血
  461 + private String ybNum;//样本号
  462 + private Date sendDate;//送检时间
  463 + private String sendDoctor;//送检医生
  464 + private String diagnose;//诊断
  465 + private Map<String,Object> familyHistory;//家族史
  466 + private String marriage;//父母是否近亲结婚 1 是 2 否
  467 + private String sendHospitalId;//送检医院
  468 +
  469 + private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格
  470 + private String hospitalId;//当前录入机构id
  471 + private Double smn7; //基因外显子7
  472 + private Double smn8;//基因外显子8
  473 + private String smn7Result; //基因外显子7 结果
  474 + private String smn8Result;//基因外显子8 结果
  475 + private Integer result; //1 阴性 2 阳性
  476 + private String suggest;//建议
  477 + private String checker;//检验员
  478 + private String reviewer;//审核人
  479 + private String approver;//批准人
  480 + private Date checkDate;//检查日期
  481 + private Date created;//创建记录时间
  482 +
  483 + private String orgProvinceId;
  484 + private String orgCityId;
  485 + private String orgAreaId;
  486 +
  487 + public String getParentId() {
  488 + return parentId;
  489 + }
  490 +
  491 + public void setParentId(String parentId) {
  492 + this.parentId = parentId;
  493 + }
  494 +
  495 + public String getHusbandName() {
  496 + return husbandName;
  497 + }
  498 +
  499 + public void setHusbandName(String husbandName) {
  500 + this.husbandName = husbandName;
  501 + }
  502 +
  503 + public Integer getHusbandAge() {
  504 + return husbandAge;
  505 + }
  506 +
  507 + public void setHusbandAge(Integer husbandAge) {
  508 + this.husbandAge = husbandAge;
  509 + }
  510 +
  511 + public String getHusbandCardNo() {
  512 + return husbandCardNo;
  513 + }
  514 +
  515 + public void setHusbandCardNo(String husbandCardNo) {
  516 + this.husbandCardNo = husbandCardNo;
  517 + }
  518 +
  519 + public String getHusbandPhone() {
  520 + return husbandPhone;
  521 + }
  522 +
  523 + public void setHusbandPhone(String husbandPhone) {
  524 + this.husbandPhone = husbandPhone;
  525 + }
  526 +
  527 + public String getHusbandNationId() {
  528 + return husbandNationId;
  529 + }
  530 +
  531 + public void setHusbandNationId(String husbandNationId) {
  532 + this.husbandNationId = husbandNationId;
  533 + }
  534 +
  535 + public String getYbType() {
  536 + return ybType;
  537 + }
  538 +
  539 + public void setYbType(String ybType) {
  540 + this.ybType = ybType;
  541 + }
  542 +
  543 + public String getYbNum() {
  544 + return ybNum;
  545 + }
  546 +
  547 + public void setYbNum(String ybNum) {
  548 + this.ybNum = ybNum;
  549 + }
  550 +
  551 + public Date getSendDate() {
  552 + return sendDate;
  553 + }
  554 +
  555 + public void setSendDate(Date sendDate) {
  556 + this.sendDate = sendDate;
  557 + }
  558 +
  559 + public String getSendDoctor() {
  560 + return sendDoctor;
  561 + }
  562 +
  563 + public void setSendDoctor(String sendDoctor) {
  564 + this.sendDoctor = sendDoctor;
  565 + }
  566 +
  567 + public String getDiagnose() {
  568 + return diagnose;
  569 + }
  570 +
  571 + public void setDiagnose(String diagnose) {
  572 + this.diagnose = diagnose;
  573 + }
  574 +
  575 + public Map<String, Object> getFamilyHistory() {
  576 + return familyHistory;
  577 + }
  578 +
  579 + public void setFamilyHistory(Map<String, Object> familyHistory) {
  580 + this.familyHistory = familyHistory;
  581 + }
  582 +
  583 + public String getMarriage() {
  584 + return marriage;
  585 + }
  586 +
  587 + public void setMarriage(String marriage) {
  588 + this.marriage = marriage;
  589 + }
  590 +
  591 + public Integer getStatus() {
  592 + return status;
  593 + }
  594 +
  595 + public void setStatus(Integer status) {
  596 + this.status = status;
  597 + }
  598 +
  599 + public String getHospitalId() {
  600 + return hospitalId;
  601 + }
  602 +
  603 + public void setHospitalId(String hospitalId) {
  604 + this.hospitalId = hospitalId;
  605 + }
  606 +
  607 + public String getSendHospitalId() {
  608 + return sendHospitalId;
  609 + }
  610 +
  611 + public void setSendHospitalId(String sendHospitalId) {
  612 + this.sendHospitalId = sendHospitalId;
  613 + }
  614 +
  615 + public Double getSmn7() {
  616 + return smn7;
  617 + }
  618 +
  619 + public void setSmn7(Double smn7) {
  620 + this.smn7 = smn7;
  621 + }
  622 +
  623 + public Double getSmn8() {
  624 + return smn8;
  625 + }
  626 +
  627 + public void setSmn8(Double smn8) {
  628 + this.smn8 = smn8;
  629 + }
  630 +
  631 + public String getSmn7Result() {
  632 + return smn7Result;
  633 + }
  634 +
  635 + public void setSmn7Result(String smn7Result) {
  636 + this.smn7Result = smn7Result;
  637 + }
  638 +
  639 + public String getSmn8Result() {
  640 + return smn8Result;
  641 + }
  642 +
  643 + public void setSmn8Result(String smn8Result) {
  644 + this.smn8Result = smn8Result;
  645 + }
  646 +
  647 + public Integer getResult() {
  648 + return result;
  649 + }
  650 +
  651 + public void setResult(Integer result) {
  652 + this.result = result;
  653 + }
  654 +
  655 + public String getSuggest() {
  656 + return suggest;
  657 + }
  658 +
  659 + public void setSuggest(String suggest) {
  660 + this.suggest = suggest;
  661 + }
  662 +
  663 + public String getChecker() {
  664 + return checker;
  665 + }
  666 +
  667 + public void setChecker(String checker) {
  668 + this.checker = checker;
  669 + }
  670 +
  671 + public String getReviewer() {
  672 + return reviewer;
  673 + }
  674 +
  675 + public void setReviewer(String reviewer) {
  676 + this.reviewer = reviewer;
  677 + }
  678 +
  679 + public String getApprover() {
  680 + return approver;
  681 + }
  682 +
  683 + public void setApprover(String approver) {
  684 + this.approver = approver;
  685 + }
  686 +
  687 + public Date getCheckDate() {
  688 + return checkDate;
  689 + }
  690 +
  691 + public void setCheckDate(Date checkDate) {
  692 + this.checkDate = checkDate;
  693 + }
  694 +
  695 + public Date getCreated() {
  696 + return created;
  697 + }
  698 +
  699 + public void setCreated(Date created) {
  700 + this.created = created;
  701 + }
  702 +
  703 + public String getOrgProvinceId() {
  704 + return orgProvinceId;
  705 + }
  706 +
  707 + public void setOrgProvinceId(String orgProvinceId) {
  708 + this.orgProvinceId = orgProvinceId;
  709 + }
  710 +
  711 + public String getOrgCityId() {
  712 + return orgCityId;
  713 + }
  714 +
  715 + public void setOrgCityId(String orgCityId) {
  716 + this.orgCityId = orgCityId;
  717 + }
  718 +
  719 + public String getOrgAreaId() {
  720 + return orgAreaId;
  721 + }
  722 +
  723 + public void setOrgAreaId(String orgAreaId) {
  724 + this.orgAreaId = orgAreaId;
  725 + }
440 726 }
441 727 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java View file @ 2a0d7df
... ... @@ -8,6 +8,7 @@
8 8 import com.lyms.platform.operate.web.facade.SmnFacade;
9 9 import com.lyms.platform.operate.web.request.SmnQueryRequest;
10 10 import com.lyms.platform.operate.web.request.SmnRequest;
  11 +import com.lyms.platform.pojo.SmnModel;
11 12 import org.springframework.beans.factory.annotation.Autowired;
12 13 import org.springframework.stereotype.Controller;
13 14 import org.springframework.web.bind.annotation.*;
... ... @@ -33,6 +34,14 @@
33 34 return smnFacade.addSmn(param, getUserId(request));
34 35 }
35 36  
  37 + @RequestMapping(method = RequestMethod.POST, value = "/addHusbandSmnApply")
  38 + @ResponseBody
  39 + @TokenRequired
  40 + public BaseResponse addHusbandSmnApply(@RequestBody SmnModel.HusbandSmn param, HttpServletRequest request) {
  41 + return smnFacade.addHusbandSmnApply(param, getUserId(request));
  42 + }
  43 +
  44 +
36 45 /**
37 46 * 编辑单个
38 47 *
... ... @@ -66,6 +75,21 @@
66 75 public BaseListResponse getSmnList(@JsonAlias SmnQueryRequest param, HttpServletRequest request) {
67 76 return smnFacade.getSmnList(param, getUserId(request));
68 77 }
  78 +
  79 +
  80 + /**
  81 + * 获取丈夫信息
  82 + * @param cardNo
  83 + * @param request
  84 + * @return
  85 + */
  86 + @RequestMapping(method = RequestMethod.GET, value = "/getHusbandInfo")
  87 + @ResponseBody
  88 + @TokenRequired
  89 + public BaseResponse getHusbandInfo(@RequestParam String cardNo, HttpServletRequest request) {
  90 + return smnFacade.getHusbandInfo(cardNo, getUserId(request));
  91 + }
  92 +
69 93  
70 94 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java View file @ 2a0d7df
... ... @@ -5031,7 +5031,6 @@
5031 5031 DiagnoseConfigQuery diagnoseConfigQuery = new DiagnoseConfigQuery();
5032 5032 diagnoseConfigQuery.setHospitalId(hospitalId);
5033 5033 List <DiagnoseConfigModel> configModels = diagnoseConfigService.queryDiagnoseConfigs(diagnoseConfigQuery);
5034   - System.out.println("configModels" + configModels);
5035 5034 List <Map <String, String>> riskList = new ArrayList <>();
5036 5035  
5037 5036 Map <String, String> status = new HashMap <>();
... ... @@ -5050,7 +5049,6 @@
5050 5049 }
5051 5050 }
5052 5051 Map <Integer, List <DiagnoseItemModel>> mapItems = getRiskConfig(configModels);
5053   - System.out.println("mapItems" + mapItems);
5054 5052 if (mapItems != null && mapItems.size() > 0) {
5055 5053 if (isEnableItem(status, DiagnoseEnums.DiagnoseItemEnums.age.getId()) && type == 0) {
5056 5054 Patients patients = patientsService.findOnePatientById(antExcAddRequest.getParentId());
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java View file @ 2a0d7df
... ... @@ -2,8 +2,10 @@
2 2  
3 3 import com.lyms.platform.biz.service.BasicConfigService;
4 4 import com.lyms.platform.biz.service.PatientsService;
  5 +import com.lyms.platform.common.cache.redis.HashAlgorithm;
5 6 import com.lyms.platform.common.enums.YnEnums;
6 7 import com.lyms.platform.common.result.BaseListResponse;
  8 +import com.lyms.platform.common.result.BaseObjectResponse;
7 9 import com.lyms.platform.common.result.BaseResponse;
8 10 import com.lyms.platform.common.utils.DateUtil;
9 11 import com.lyms.platform.common.utils.MongoConvertHelper;
... ... @@ -13,6 +15,7 @@
13 15 import com.lyms.platform.operate.web.request.SmnRequest;
14 16 import com.lyms.platform.operate.web.result.SmnResult;
15 17 import com.lyms.platform.operate.web.utils.CommonsHelper;
  18 +import com.lyms.platform.permission.model.Organization;
16 19 import com.lyms.platform.permission.service.OrganizationService;
17 20 import com.lyms.platform.permission.service.UsersService;
18 21 import com.lyms.platform.pojo.Patients;
... ... @@ -28,10 +31,7 @@
28 31 import org.springframework.data.mongodb.core.query.Update;
29 32 import org.springframework.stereotype.Component;
30 33  
31   -import java.util.ArrayList;
32   -import java.util.Arrays;
33   -import java.util.Date;
34   -import java.util.List;
  34 +import java.util.*;
35 35  
36 36 @Component
37 37 public class SmnFacade {
... ... @@ -201,6 +201,16 @@
201 201 query.addCriteria(Criteria.where("result").is(result));
202 202 }
203 203  
  204 + Integer startWeek = param.getStartWeek();
  205 + if (startWeek != null) {
  206 + query.addCriteria(Criteria.where("lastMenses").lte(DateUtil.addWeek(new Date(),-startWeek)));
  207 + }
  208 +
  209 + Integer endWeek = param.getEndWeek();
  210 + if (endWeek != null) {
  211 + query.addCriteria(Criteria.where("lastMenses").gte(DateUtil.addWeek(new Date(),-endWeek)));
  212 + }
  213 +
204 214 String sendDate = param.getSendDate();
205 215 if (StringUtils.isNotEmpty(sendDate)) {
206 216 String[] arrs = sendDate.split(" - ");
... ... @@ -274,6 +284,58 @@
274 284 Update update = MongoConvertHelper
275 285 .convertToNativeUpdate(ReflectionUtils.getUpdateField(smnModel));
276 286 mongoTemplate.updateFirst(query, update, SmnModel.class);
  287 + return new BaseResponse();
  288 + }
  289 +
  290 + public BaseResponse getHusbandInfo(String cardNo, Integer userId) {
  291 +
  292 + PatientsQuery patientsQuery = new PatientsQuery();
  293 + patientsQuery.setYn(YnEnums.YES.getId());
  294 + patientsQuery.setType(1);
  295 + patientsQuery.setCardNo(cardNo);
  296 + List<Patients> patients = patientsService.queryPatient(patientsQuery);
  297 + Map data = new HashMap<>();
  298 + if (CollectionUtils.isNotEmpty(patients))
  299 + {
  300 + Patients pat = patients.get(0);
  301 + data.put("husbandName",pat.getHusbandName());
  302 + data.put("husbandPhone",pat.getHusbandPhone());
  303 + data.put("husbandAge",DateUtil.getAge2(pat.getHusbandBirth(),new Date()));
  304 + data.put("husbandNationId",pat.getHnationId());
  305 + data.put("husbandCardNo",pat.getHcertificateNum());
  306 + }
  307 + return new BaseObjectResponse().setData(data).setErrorcode(0).setErrormsg("成功");
  308 + }
  309 +
  310 + public BaseResponse addHusbandSmnApply(SmnModel.HusbandSmn param, Integer userId) {
  311 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  312 + Query query = Query.query(Criteria.where("id").is(param.getParentId()));
  313 + SmnModel smnModel = mongoTemplate.findOne(query, SmnModel.class);
  314 + List<SmnModel.HusbandSmn> husbandSmns = smnModel.getHusbandSmns();
  315 + Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId));
  316 + param.setOrgProvinceId(org.getProvinceId());
  317 + param.setOrgCityId(org.getCityId());
  318 + param.setOrgAreaId(org.getAreaId());
  319 + param.setYbNum(usersService.getSmnSeq(hospitalId));
  320 + param.setHospitalId(hospitalId);
  321 + param.setStatus(1);
  322 + param.setCreated(new Date());
  323 +
  324 + if (CollectionUtils.isNotEmpty(husbandSmns))
  325 + {
  326 + husbandSmns.add(param);
  327 + }
  328 + else
  329 + {
  330 + husbandSmns = new ArrayList<>();
  331 + husbandSmns.add(param);
  332 + }
  333 + smnModel.setHusbandSmns(husbandSmns);
  334 +
  335 + Update update = MongoConvertHelper
  336 + .convertToNativeUpdate(ReflectionUtils.getUpdateField(smnModel));
  337 + mongoTemplate.updateFirst(query, update, SmnModel.class);
  338 +
277 339 return new BaseResponse();
278 340 }
279 341 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java View file @ 2a0d7df
... ... @@ -11,21 +11,34 @@
11 11 private String queryNo;//查询号 身份证号码,手机号码,姓名
12 12 private String sendDate;//送检时间
13 13 private String ybNum;//样本号
14   -
15 14 private String hospitalId;//申请机构id
16 15 private String sendHospitalId;//送检医院id
17   -
18   -
19 16 private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格
20   -
21 17 private Integer result; //1 阴性 2 阳性
22   -
23 18 private String checkDate;//检查日期
24   -
25 19 private String created;//应检查时间
26 20 private String orgProvinceId;
27 21 private String orgCityId;
28 22 private String orgAreaId;
  23 +
  24 + private Integer startWeek;
  25 + private Integer endWeek;
  26 +
  27 + public Integer getStartWeek() {
  28 + return startWeek;
  29 + }
  30 +
  31 + public void setStartWeek(Integer startWeek) {
  32 + this.startWeek = startWeek;
  33 + }
  34 +
  35 + public Integer getEndWeek() {
  36 + return endWeek;
  37 + }
  38 +
  39 + public void setEndWeek(Integer endWeek) {
  40 + this.endWeek = endWeek;
  41 + }
29 42  
30 43 public String getOrgProvinceId() {
31 44 return orgProvinceId;