diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SmnModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SmnModel.java index e6ca1a7..2ce0a07 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/SmnModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SmnModel.java @@ -3,6 +3,7 @@ package com.lyms.platform.pojo; import org.springframework.data.mongodb.core.mapping.Document; import java.util.Date; +import java.util.List; import java.util.Map; @Document(collection = "lyms_smn") @@ -40,12 +41,9 @@ public class SmnModel { private String cityRegisterId; private String areaRegisterId; private String streetRegisterId; - private String orgProvinceId; private String orgCityId; private String orgAreaId; - - private String ybType;//样本类型 外周血 private String ybNum;//样本号 private Date sendDate;//送检时间 @@ -53,23 +51,15 @@ public class SmnModel { private String diagnose;//诊断 private Map familyHistory;//家族史 private String marriage;//父母是否近亲结婚 1 是 2 否 - private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 - private String hospitalId;//当前录入机构id private String sendHospitalId;//送检医院 - private Double smn7; //基因外显子7 private Double smn8;//基因外显子8 - private String smn7Result; //基因外显子7 结果 private String smn8Result;//基因外显子8 结果 - private Integer yn; - - private Integer result; //1 阴性 2 阳性 - private String suggest;//建议 private String checker;//检验员 private String reviewer;//审核人 @@ -77,6 +67,26 @@ public class SmnModel { private Date checkDate;//检查日期 private Date created;//创建记录时间 + private Integer sfStatus;//随访状态 0 终止状态 1 丈夫阳性状态 2 产前诊断异常 3 分娩异常 4新生儿异常 + + private List husbandSmns; + + public List getHusbandSmns() { + return husbandSmns; + } + + public void setHusbandSmns(List husbandSmns) { + this.husbandSmns = husbandSmns; + } + + public Integer getSfStatus() { + return sfStatus; + } + + public void setSfStatus(Integer sfStatus) { + this.sfStatus = sfStatus; + } + public String getOrgProvinceId() { return orgProvinceId; } @@ -438,4 +448,280 @@ public class SmnModel { public void setCheckDate(Date checkDate) { this.checkDate = checkDate; } + + public class HusbandSmn{ + + private String parentId;//行记录id + private String husbandName;//丈夫姓名 + private Integer husbandAge;//丈夫年龄 + private String husbandCardNo;//丈夫身份证号码 + private String husbandPhone;//丈夫手机 + private String husbandNationId;//丈夫民族Id + private String ybType;//样本类型 外周血 + private String ybNum;//样本号 + private Date sendDate;//送检时间 + private String sendDoctor;//送检医生 + private String diagnose;//诊断 + private Map familyHistory;//家族史 + private String marriage;//父母是否近亲结婚 1 是 2 否 + private String sendHospitalId;//送检医院 + + private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 + private String hospitalId;//当前录入机构id + private Double smn7; //基因外显子7 + private Double smn8;//基因外显子8 + private String smn7Result; //基因外显子7 结果 + private String smn8Result;//基因外显子8 结果 + private Integer result; //1 阴性 2 阳性 + private String suggest;//建议 + private String checker;//检验员 + private String reviewer;//审核人 + private String approver;//批准人 + private Date checkDate;//检查日期 + private Date created;//创建记录时间 + + private String orgProvinceId; + private String orgCityId; + private String orgAreaId; + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getHusbandName() { + return husbandName; + } + + public void setHusbandName(String husbandName) { + this.husbandName = husbandName; + } + + public Integer getHusbandAge() { + return husbandAge; + } + + public void setHusbandAge(Integer husbandAge) { + this.husbandAge = husbandAge; + } + + public String getHusbandCardNo() { + return husbandCardNo; + } + + public void setHusbandCardNo(String husbandCardNo) { + this.husbandCardNo = husbandCardNo; + } + + public String getHusbandPhone() { + return husbandPhone; + } + + public void setHusbandPhone(String husbandPhone) { + this.husbandPhone = husbandPhone; + } + + public String getHusbandNationId() { + return husbandNationId; + } + + public void setHusbandNationId(String husbandNationId) { + this.husbandNationId = husbandNationId; + } + + public String getYbType() { + return ybType; + } + + public void setYbType(String ybType) { + this.ybType = ybType; + } + + public String getYbNum() { + return ybNum; + } + + public void setYbNum(String ybNum) { + this.ybNum = ybNum; + } + + public Date getSendDate() { + return sendDate; + } + + public void setSendDate(Date sendDate) { + this.sendDate = sendDate; + } + + public String getSendDoctor() { + return sendDoctor; + } + + public void setSendDoctor(String sendDoctor) { + this.sendDoctor = sendDoctor; + } + + public String getDiagnose() { + return diagnose; + } + + public void setDiagnose(String diagnose) { + this.diagnose = diagnose; + } + + public Map getFamilyHistory() { + return familyHistory; + } + + public void setFamilyHistory(Map familyHistory) { + this.familyHistory = familyHistory; + } + + public String getMarriage() { + return marriage; + } + + public void setMarriage(String marriage) { + this.marriage = marriage; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getSendHospitalId() { + return sendHospitalId; + } + + public void setSendHospitalId(String sendHospitalId) { + this.sendHospitalId = sendHospitalId; + } + + public Double getSmn7() { + return smn7; + } + + public void setSmn7(Double smn7) { + this.smn7 = smn7; + } + + public Double getSmn8() { + return smn8; + } + + public void setSmn8(Double smn8) { + this.smn8 = smn8; + } + + public String getSmn7Result() { + return smn7Result; + } + + public void setSmn7Result(String smn7Result) { + this.smn7Result = smn7Result; + } + + public String getSmn8Result() { + return smn8Result; + } + + public void setSmn8Result(String smn8Result) { + this.smn8Result = smn8Result; + } + + public Integer getResult() { + return result; + } + + public void setResult(Integer result) { + this.result = result; + } + + public String getSuggest() { + return suggest; + } + + public void setSuggest(String suggest) { + this.suggest = suggest; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public String getReviewer() { + return reviewer; + } + + public void setReviewer(String reviewer) { + this.reviewer = reviewer; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + public Date getCheckDate() { + return checkDate; + } + + public void setCheckDate(Date checkDate) { + this.checkDate = checkDate; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public String getOrgProvinceId() { + return orgProvinceId; + } + + public void setOrgProvinceId(String orgProvinceId) { + this.orgProvinceId = orgProvinceId; + } + + public String getOrgCityId() { + return orgCityId; + } + + public void setOrgCityId(String orgCityId) { + this.orgCityId = orgCityId; + } + + public String getOrgAreaId() { + return orgAreaId; + } + + public void setOrgAreaId(String orgAreaId) { + this.orgAreaId = orgAreaId; + } + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java index a520b94..9a9d3f6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java @@ -8,6 +8,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.facade.SmnFacade; import com.lyms.platform.operate.web.request.SmnQueryRequest; import com.lyms.platform.operate.web.request.SmnRequest; +import com.lyms.platform.pojo.SmnModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -33,6 +34,14 @@ public class SmnController extends BaseController { return smnFacade.addSmn(param, getUserId(request)); } + @RequestMapping(method = RequestMethod.POST, value = "/addHusbandSmnApply") + @ResponseBody + @TokenRequired + public BaseResponse addHusbandSmnApply(@RequestBody SmnModel.HusbandSmn param, HttpServletRequest request) { + return smnFacade.addHusbandSmnApply(param, getUserId(request)); + } + + /** * 编辑单个 * @@ -67,4 +76,19 @@ public class SmnController extends BaseController { return smnFacade.getSmnList(param, getUserId(request)); } + + /** + * 获取丈夫信息 + * @param cardNo + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getHusbandInfo") + @ResponseBody + @TokenRequired + public BaseResponse getHusbandInfo(@RequestParam String cardNo, HttpServletRequest request) { + return smnFacade.getHusbandInfo(cardNo, getUserId(request)); + } + + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 7c26af9..a14d211 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -5031,7 +5031,6 @@ public class AntenatalExaminationFacade { DiagnoseConfigQuery diagnoseConfigQuery = new DiagnoseConfigQuery(); diagnoseConfigQuery.setHospitalId(hospitalId); List configModels = diagnoseConfigService.queryDiagnoseConfigs(diagnoseConfigQuery); - System.out.println("configModels" + configModels); List > riskList = new ArrayList <>(); Map status = new HashMap <>(); @@ -5050,7 +5049,6 @@ public class AntenatalExaminationFacade { } } Map > mapItems = getRiskConfig(configModels); - System.out.println("mapItems" + mapItems); if (mapItems != null && mapItems.size() > 0) { if (isEnableItem(status, DiagnoseEnums.DiagnoseItemEnums.age.getId()) && type == 0) { Patients patients = patientsService.findOnePatientById(antExcAddRequest.getParentId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java index aa97b1e..0fe16b2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java @@ -2,8 +2,10 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.cache.redis.HashAlgorithm; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.MongoConvertHelper; @@ -13,6 +15,7 @@ import com.lyms.platform.operate.web.request.SmnQueryRequest; import com.lyms.platform.operate.web.request.SmnRequest; import com.lyms.platform.operate.web.result.SmnResult; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.Patients; @@ -28,10 +31,7 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; @Component public class SmnFacade { @@ -201,6 +201,16 @@ public class SmnFacade { query.addCriteria(Criteria.where("result").is(result)); } + Integer startWeek = param.getStartWeek(); + if (startWeek != null) { + query.addCriteria(Criteria.where("lastMenses").lte(DateUtil.addWeek(new Date(),-startWeek))); + } + + Integer endWeek = param.getEndWeek(); + if (endWeek != null) { + query.addCriteria(Criteria.where("lastMenses").gte(DateUtil.addWeek(new Date(),-endWeek))); + } + String sendDate = param.getSendDate(); if (StringUtils.isNotEmpty(sendDate)) { String[] arrs = sendDate.split(" - "); @@ -276,4 +286,56 @@ public class SmnFacade { mongoTemplate.updateFirst(query, update, SmnModel.class); return new BaseResponse(); } + + public BaseResponse getHusbandInfo(String cardNo, Integer userId) { + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setType(1); + patientsQuery.setCardNo(cardNo); + List patients = patientsService.queryPatient(patientsQuery); + Map data = new HashMap<>(); + if (CollectionUtils.isNotEmpty(patients)) + { + Patients pat = patients.get(0); + data.put("husbandName",pat.getHusbandName()); + data.put("husbandPhone",pat.getHusbandPhone()); + data.put("husbandAge",DateUtil.getAge2(pat.getHusbandBirth(),new Date())); + data.put("husbandNationId",pat.getHnationId()); + data.put("husbandCardNo",pat.getHcertificateNum()); + } + return new BaseObjectResponse().setData(data).setErrorcode(0).setErrormsg("成功"); + } + + public BaseResponse addHusbandSmnApply(SmnModel.HusbandSmn param, Integer userId) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + Query query = Query.query(Criteria.where("id").is(param.getParentId())); + SmnModel smnModel = mongoTemplate.findOne(query, SmnModel.class); + List husbandSmns = smnModel.getHusbandSmns(); + Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId)); + param.setOrgProvinceId(org.getProvinceId()); + param.setOrgCityId(org.getCityId()); + param.setOrgAreaId(org.getAreaId()); + param.setYbNum(usersService.getSmnSeq(hospitalId)); + param.setHospitalId(hospitalId); + param.setStatus(1); + param.setCreated(new Date()); + + if (CollectionUtils.isNotEmpty(husbandSmns)) + { + husbandSmns.add(param); + } + else + { + husbandSmns = new ArrayList<>(); + husbandSmns.add(param); + } + smnModel.setHusbandSmns(husbandSmns); + + Update update = MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(smnModel)); + mongoTemplate.updateFirst(query, update, SmnModel.class); + + return new BaseResponse(); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java index 02150e3..06ebcd7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java @@ -11,22 +11,35 @@ public class SmnQueryRequest extends BaseQuery { private String queryNo;//查询号 身份证号码,手机号码,姓名 private String sendDate;//送检时间 private String ybNum;//样本号 - private String hospitalId;//申请机构id private String sendHospitalId;//送检医院id - - private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 - private Integer result; //1 阴性 2 阳性 - private String checkDate;//检查日期 - private String created;//应检查时间 private String orgProvinceId; private String orgCityId; private String orgAreaId; + private Integer startWeek; + private Integer endWeek; + + public Integer getStartWeek() { + return startWeek; + } + + public void setStartWeek(Integer startWeek) { + this.startWeek = startWeek; + } + + public Integer getEndWeek() { + return endWeek; + } + + public void setEndWeek(Integer endWeek) { + this.endWeek = endWeek; + } + public String getOrgProvinceId() { return orgProvinceId; }