diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java index 25d403e..280d4da 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java @@ -37,8 +37,6 @@ public class PatientsService { private MatDeliverService matDeliverService; @Autowired - private MongoTemplate mongoTemplate; - @Autowired private IPatientDao iPatientDao; @Autowired private ISieveDao sieveDao; @@ -199,36 +197,7 @@ public class PatientsService { iPatientDao.updatePatientLastCheckEmployeeIdOne(id, lastCheckEmployeeId); } - /** - * 添加肌萎缩 10 -14周 - */ - public void addSmnJob() { - Date endDate = DateUtil.addDay(DateUtil.formatDate(new Date()), -70); - Date start = DateUtil.addDay(DateUtil.formatDate(new Date()), -98); - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setLastMensesEnd(endDate); - patientsQuery.setLastMensesStart(start); - patientsQuery.setYn(YnEnums.YES.getId()); - patientsQuery.setDueStatus(0); - patientsQuery.setType(1); - List patientses = iPatientDao.queryPatient(patientsQuery.convertToQuery()); - int batchSize = 200; - if (CollectionUtils.isNotEmpty(patientses)) { - int end = 0; - List patient; - for (int i = 0; i < patientses.size(); ) { - end = i + batchSize; - if (end > patientses.size()) { - end = patientses - .size(); - } - patient = patientses.subList(i, end); - i += batchSize; - new Thread(new PatientSmnWorker(patient)).start(); - } - } - } /** * 满足孕15+3至20+6之间和有产筛申请单的数据 @@ -1010,38 +979,7 @@ public class PatientsService { public List predictedStatistics() { return iPatientDao.predictedStatistics(); } - private class PatientSmnWorker extends Thread { - - private List patientses; - private long startTime; - - private PatientSmnWorker(List patientses) { - this.patientses = patientses; - startTime = System.currentTimeMillis(); - } - @Override - public void run() { - if (CollectionUtils.isNotEmpty(patientses)) - { - for (Patients patient : patientses) { - Query query = Query.query(Criteria.where("patientId").is(patient.getId())); - List smnModels = mongoTemplate.find(query, SmnModel.class); - if (CollectionUtils.isEmpty(smnModels)) - { - SmnModel smnModel = new SmnModel(); - BeanUtils.copyProperties(patient,smnModel); - smnModel.setStatus(1); - smnModel.setCreated(new Date()); - smnModel.setPatientId(patient.getId()); - smnModel.setId(null); - smnModel.setYn(YnEnums.YES.getId()); - mongoTemplate.save(smnModel); - } - } - } - } - } private class PatientWorker extends Thread { private List patientses; 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 39a2766..e6ca1a7 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.Map; @Document(collection = "lyms_smn") public class SmnModel { @@ -15,6 +16,8 @@ public class SmnModel { private String phone; private Date birth; private String vcCardNo; + //孕妇民族Id + private String pnationId; /** * 身份证号码 */ @@ -38,14 +41,18 @@ public class SmnModel { private String areaRegisterId; private String streetRegisterId; + private String orgProvinceId; + private String orgCityId; + private String orgAreaId; + - private String mzNum; //门诊号 - private String bedNum;//床号 private String ybType;//样本类型 外周血 private String ybNum;//样本号 private Date sendDate;//送检时间 private String sendDoctor;//送检医生 private String diagnose;//诊断 + private Map familyHistory;//家族史 + private String marriage;//父母是否近亲结婚 1 是 2 否 private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 @@ -70,6 +77,54 @@ public class SmnModel { private Date checkDate;//检查日期 private Date 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; + } + + public String getPnationId() { + return pnationId; + } + + public void setPnationId(String pnationId) { + this.pnationId = pnationId; + } + + 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 getYn() { return yn; } @@ -238,22 +293,6 @@ public class SmnModel { this.streetRegisterId = streetRegisterId; } - public String getMzNum() { - return mzNum; - } - - public void setMzNum(String mzNum) { - this.mzNum = mzNum; - } - - public String getBedNum() { - return bedNum; - } - - public void setBedNum(String bedNum) { - this.bedNum = bedNum; - } - public String getYbType() { return ybType; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java index 4589056..7017ea0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java @@ -87,7 +87,7 @@ public class BabyBuildController extends BaseController { Integer userId = loginState.getId(); String hospitalId = autoMatchFacade.getHospitalId(userId); - if (request != null && !StringUtils.isEmpty(request.getId()) && ((request.getDataStatus() != null && !"1".equals(request.getDataStatus().toString())))) { + if (request != null && !StringUtils.isEmpty(request.getId())) { return babyBookbuildingFacade.updateBabyBookbuilding(request, userId); } return babyBookbuildingFacade.addBabyBookbuilding(request, loginState.getId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 5a547ae..77b3df8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -80,6 +80,8 @@ public class TestController extends BaseController { private ResidentsArchiveService residentsArchiveService; @Autowired private PatientsService patientsService; + @Autowired + private SmnTaskFacade smnTaskFacade; @Autowired private UsersService usersService; @@ -608,14 +610,13 @@ public class TestController extends BaseController { @RequestMapping(value = "/addSmnJob", method = RequestMethod.GET) @ResponseBody public String addSmnJob() { - patientsService.addSmnJob(); + smnTaskFacade.addSmnJob(); return "finish"; } @RequestMapping(value = "/autoMatDeliver", method = RequestMethod.GET) @ResponseBody public String autoMatDeliver() { patientsService.autoMatDeliver(); - ; return "finish"; } @@ -623,7 +624,6 @@ public class TestController extends BaseController { @ResponseBody public String delSieve() { patientsService.delSieve(); - ; return "finish"; } 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 919f3b9..7c26af9 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 @@ -3956,6 +3956,7 @@ public class AntenatalExaminationFacade { List list = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); antexListResult.convertToResult(list, patients, antExChulist); + antexListResult.setPnationStr(CommonsHelper.getName1(patients.getPnationId(),basicConfigService)); antexListResult.setData(handlAntData(antExChulist, list)); //围场产筛12-30孕周 显示 申请产筛按钮 标记字段isSieve(cap方法增加了hospitalId 参数) antexListResult.setIsSieve(cap(patients.getLastMenses(), patients.getId(),StringUtils.isNotEmpty(hospitalId)?Integer.valueOf(hospitalId):null)); 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 b9307c5..2ea73ca 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 @@ -13,6 +13,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.service.OrganizationService; import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.SmnModel; import com.lyms.platform.query.PatientsQuery; @@ -37,6 +38,8 @@ public class SmnFacade { private AutoMatchFacade autoMatchFacade; @Autowired + private OrganizationService organizationService; + @Autowired private MongoTemplate mongoTemplate; @Autowired private BasicConfigService basicConfigService; @@ -129,18 +132,16 @@ public class SmnFacade { { query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); } - else if (param.getQueryType() == 2) + else if (param.getQueryType() == 3) { - query.addCriteria(Criteria.where("sendHospitalId").is(hospitalId)); - if (StringUtils.isNotEmpty(param.getHospitalId())) - { - query.addCriteria(Criteria.where("hospitalId").is(param.getHospitalId())); - } + query.addCriteria(Criteria.where("status").gte(2)); } - else + + if (StringUtils.isNotEmpty(param.getSendHospitalId())) { - query.addCriteria(Criteria.where("status").gte(2)); + query.addCriteria(Criteria.where("sendHospitalId").is(param.getSendHospitalId())); } + String pid = param.getPid(); if (StringUtils.isNotEmpty(pid)) { query.addCriteria(Criteria.where("pid").is(pid)); @@ -153,14 +154,23 @@ public class SmnFacade { if (StringUtils.isNotEmpty(patientId)) { query.addCriteria(Criteria.where("patientId").is(patientId)); } - String mzNum = param.getMzNum(); - if (StringUtils.isNotEmpty(mzNum)) { - query.addCriteria(Criteria.where("mzNum").is(mzNum)); + + String orgProvinceId = param.getOrgProvinceId(); + if (StringUtils.isNotEmpty(orgProvinceId)) { + query.addCriteria(Criteria.where("orgProvinceId").is(orgProvinceId)); } - String bedNum = param.getBedNum(); - if (StringUtils.isNotEmpty(bedNum)) { - query.addCriteria(Criteria.where("bedNum").is(bedNum)); + + String orgCityId = param.getOrgCityId(); + if (StringUtils.isNotEmpty(orgCityId)) { + query.addCriteria(Criteria.where("orgCityId").is(orgCityId)); } + + String orgAreaId = param.getOrgAreaId(); + if (StringUtils.isNotEmpty(orgAreaId)) { + query.addCriteria(Criteria.where("orgAreaId").is(orgAreaId)); + } + + String ybNum = param.getYbNum(); if (StringUtils.isNotEmpty(ybNum)) { query.addCriteria(Criteria.where("ybNum").is(ybNum)); @@ -185,6 +195,15 @@ public class SmnFacade { query.addCriteria(Criteria.where("sendDate").gte(start).lte(end)); } + String created = param.getCreated(); + if (StringUtils.isNotEmpty(created)) { + String[] arrs = created.split(" - "); + Date start = DateUtil.parseYMD(arrs[0]); + Date end = DateUtil.parseYMD(arrs[1]); + end = DateUtil.getDayLastSecond(end); + query.addCriteria(Criteria.where("created").gte(start).lte(end)); + } + String checkDate = param.getCheckDate(); if (StringUtils.isNotEmpty(checkDate)) { String[] arrs = checkDate.split(" - "); @@ -214,12 +233,15 @@ public class SmnFacade { SmnResult re = new SmnResult(); BeanUtils.copyProperties(model, re); + re.setSendHospital(organizationService.getOrganizationName(model.getSendHospitalId())); re.setApplyWeek(DateUtil.getWeekDesc(model.getLastMenses(),model.getSendDate())); + re.setCurrentWeek(DateUtil.getWeekDesc(model.getLastMenses(),new Date())); re.setAddressRegisterStr(CommonsHelper.getResidence(model.getProvinceRegisterId(), model.getCityRegisterId(), model.getAreaRegisterId(), model.getStreetRegisterId(), model.getAddressRegister(), basicConfigService)); + re.setPnationStr(CommonsHelper.getName1(model.getPnationId(),basicConfigService)); results.add(re); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnTaskFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnTaskFacade.java new file mode 100644 index 0000000..90cfad4 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnTaskFacade.java @@ -0,0 +1,102 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.SmnModel; +import com.lyms.platform.query.PatientsQuery; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Component +public class SmnTaskFacade { + + @Autowired + private MongoTemplate mongoTemplate; + @Autowired + private PatientsService patientService; + @Autowired + private OrganizationService organizationService; + + /** + * 添加肌萎缩 10 -14周 + */ + public void addSmnJob() { + Date endDate = DateUtil.addDay(DateUtil.formatDate(new Date()), -70); + Date start = DateUtil.addDay(DateUtil.formatDate(new Date()), -98); + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setLastMensesEnd(endDate); + patientsQuery.setLastMensesStart(start); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setDueStatus(0); + //排查本院隐藏建档 + patientsQuery.setExtEnable(false); + patientsQuery.setBuildTypeNot(1); + patientsQuery.setType(1); + List patientses = patientService.queryPatient(patientsQuery); + int batchSize = 200; + if (CollectionUtils.isNotEmpty(patientses)) { + + int end = 0; + List patient; + for (int i = 0; i < patientses.size(); ) { + end = i + batchSize; + if (end > patientses.size()) { + end = patientses + .size(); + } + patient = patientses.subList(i, end); + i += batchSize; + new Thread(new PatientSmnWorker(patient)).start(); + } + } + } + + private class PatientSmnWorker extends Thread { + + private List patientses; + private long startTime; + + private PatientSmnWorker(List patientses) { + this.patientses = patientses; + startTime = System.currentTimeMillis(); + } + + @Override + public void run() { + if (CollectionUtils.isNotEmpty(patientses)) + { + for (Patients patient : patientses) { + Query query = Query.query(Criteria.where("patientId").is(patient.getId())); + List smnModels = mongoTemplate.find(query, SmnModel.class); + if (CollectionUtils.isEmpty(smnModels)) + { + Organization org = organizationService.getOrganization(Integer.parseInt(patient.getHospitalId())); + SmnModel smnModel = new SmnModel(); + smnModel.setOrgProvinceId(org.getProvinceId()); + smnModel.setOrgCityId(org.getCityId()); + smnModel.setOrgAreaId(org.getAreaId()); + BeanUtils.copyProperties(patient,smnModel); + smnModel.setStatus(1); + smnModel.setCreated(new Date()); + smnModel.setPatientId(patient.getId()); + smnModel.setId(null); + smnModel.setYn(YnEnums.YES.getId()); + mongoTemplate.save(smnModel); + } + } + } + } + } +} 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 ce81672..02150e3 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 @@ -10,8 +10,6 @@ public class SmnQueryRequest extends BaseQuery { private String pid; private String queryNo;//查询号 身份证号码,手机号码,姓名 private String sendDate;//送检时间 - private String mzNum; //门诊号 - private String bedNum;//床号 private String ybNum;//样本号 private String hospitalId;//申请机构id @@ -24,6 +22,43 @@ public class SmnQueryRequest extends BaseQuery { private String checkDate;//检查日期 + private String created;//应检查时间 + private String orgProvinceId; + private String orgCityId; + private String orgAreaId; + + 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; + } + + public String getCreated() { + return created; + } + + public void setCreated(String created) { + this.created = created; + } + public String getId() { return id; } @@ -72,22 +107,6 @@ public class SmnQueryRequest extends BaseQuery { this.sendDate = sendDate; } - public String getMzNum() { - return mzNum; - } - - public void setMzNum(String mzNum) { - this.mzNum = mzNum; - } - - public String getBedNum() { - return bedNum; - } - - public void setBedNum(String bedNum) { - this.bedNum = bedNum; - } - public String getYbNum() { return ybNum; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntexListResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntexListResult.java index a6e4de8..8c57b46 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntexListResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntexListResult.java @@ -90,6 +90,17 @@ public class AntexListResult { //预约建档舒张压(低压) private String qhdjdszy; + //孕妇民族 + private String pnationStr; + + public String getPnationStr() { + return pnationStr; + } + + public void setPnationStr(String pnationStr) { + this.pnationStr = pnationStr; + } + public String getQhdjdheight() { return qhdjdheight; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmnResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmnResult.java index 7502a6b..9b270e3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmnResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmnResult.java @@ -9,6 +9,33 @@ public class SmnResult extends SmnModel { private String addressRegisterStr; //居住地址 private String applyWeek; //申请孕周 + private String currentWeek; //当前孕周 + private String pnationStr; //民族 + private String sendHospital;//送检医院 + + public String getSendHospital() { + return sendHospital; + } + + public void setSendHospital(String sendHospital) { + this.sendHospital = sendHospital; + } + + public String getCurrentWeek() { + return currentWeek; + } + + public void setCurrentWeek(String currentWeek) { + this.currentWeek = currentWeek; + } + + public String getPnationStr() { + return pnationStr; + } + + public void setPnationStr(String pnationStr) { + this.pnationStr = pnationStr; + } public String getApplyWeek() { return applyWeek;