From 9e1dd3f7ca77fb839510337c47cc4722d8229ca7 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Sat, 2 Jul 2016 15:40:53 +0800 Subject: [PATCH] 1 --- .../lyms/platform/biz/dal/ISieveApplyOrderDao.java | 7 + .../java/com/lyms/platform/biz/dal/ISieveDao.java | 48 +++++++ .../biz/dal/impl/SieveApplyOrderDaoImpl.java | 17 +++ .../lyms/platform/biz/dal/impl/SieveDaoImpl.java | 53 ++++++++ .../lyms/platform/biz/service/PatientsService.java | 130 ++++++++++++++++-- .../lyms/platform/biz/service/SieveService.java | 43 ++++++ .../main/java/com/lyms/platform/common/Test.java | 38 +++++- .../com/lyms/platform/common/utils/DateUtil.java | 6 +- .../lyms/platform/pojo/SieveApplyOrderModel.java | 29 ++++ .../java/com/lyms/platform/pojo/SieveModel.java | 147 ++++++++++++++++++++- .../com/lyms/platform/pojo/SieveResultModel.java | 118 +++++++++++++++++ .../com/lyms/platform/query/PatientsQuery.java | 41 +++++- .../lyms/platform/query/SieveApplyOrderQuery.java | 45 ++++++- .../platform/data/controller/TaskController.java | 6 + .../src/main/webapp/WEB-INF/vm/task/index.vm | 8 ++ .../operate/web/controller/SieveController.java | 42 ++++++ .../platform/operate/web/facade/SieveFacade.java | 51 +++++++ .../operate/web/request/ChanQianDiaAddRequest.java | 75 +++++++++++ .../operate/web/request/SieveAddRequest.java | 109 +++++++++++++++ 19 files changed, 994 insertions(+), 19 deletions(-) create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ISieveDao.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/SieveDaoImpl.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SieveService.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/SieveResultModel.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ChanQianDiaAddRequest.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveAddRequest.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ISieveApplyOrderDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ISieveApplyOrderDao.java index 6a08869..a36eadb 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ISieveApplyOrderDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ISieveApplyOrderDao.java @@ -25,4 +25,11 @@ public interface ISieveApplyOrderDao { * @return */ List queryList(MongoQuery mongoQuery); + + /** + * 修改一条转诊信息 + * + * @param sieveApplyOrderModel + */ + void updateSieve(SieveApplyOrderModel sieveApplyOrderModel); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ISieveDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ISieveDao.java new file mode 100644 index 0000000..ce2638c --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ISieveDao.java @@ -0,0 +1,48 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.SieveModel; +import com.lyms.platform.pojo.SieveResultModel; + +/** + * Created by Administrator on 2016/6/30 0030. + */ +public interface ISieveDao { + + /** + * 增加产筛结果 + * + * @param sieveResultModel + * @return + */ + SieveResultModel addSieveResult(SieveResultModel sieveResultModel); + + /** + * 根据id查询产筛结果 + * + * @param id + * @return + */ + SieveResultModel findById(String id); + + /** + * 修改数据 + */ + void update(MongoQuery mongoQuery, SieveResultModel sieveResultModel); + + /** + * 修改产前诊断记录 + * + * @param sieveModel + */ + void updateChanQianSieve(SieveModel sieveModel); + + /** + * 增加产前记录 + * + * @param sieveModel + */ + void addChanQianSieve(SieveModel sieveModel); + + +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/SieveApplyOrderDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/SieveApplyOrderDaoImpl.java index cacab3d..d2c2818 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/SieveApplyOrderDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/SieveApplyOrderDaoImpl.java @@ -2,11 +2,15 @@ package com.lyms.platform.biz.dal.impl; import com.lyms.platform.biz.dal.ISieveApplyOrderDao; import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.pojo.ReferralApplyOrderModel; import com.lyms.platform.pojo.SieveApplyOrderModel; import org.springframework.stereotype.Repository; +import java.util.Date; import java.util.List; /** @@ -19,6 +23,10 @@ import java.util.List; public class SieveApplyOrderDaoImpl extends BaseMongoDAOImpl implements ISieveApplyOrderDao { @Override public SieveApplyOrderModel addApplyOrder(SieveApplyOrderModel obj) { + obj.setStatus(0); + obj.setYn(YnEnums.YES.getId()); + obj.setCreated(new Date()); + obj.setModified(new Date()); return save(obj); } @@ -26,4 +34,13 @@ public class SieveApplyOrderDaoImpl extends BaseMongoDAOImpl queryList(MongoQuery mongoQuery) { return find(mongoQuery.convertToMongoQuery()); } + + /** + * 修改一条转诊信息 + * + * @param sieveApplyOrderModel + */ + public void updateSieve(SieveApplyOrderModel sieveApplyOrderModel){ + update(new MongoQuery(new MongoCondition("id", sieveApplyOrderModel.getId(), MongoOper.IS)).convertToMongoQuery(), sieveApplyOrderModel); + } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/SieveDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/SieveDaoImpl.java new file mode 100644 index 0000000..8dbab27 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/SieveDaoImpl.java @@ -0,0 +1,53 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.ISieveDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.utils.MongoConvertHelper; +import com.lyms.platform.common.utils.ReflectionUtils; +import com.lyms.platform.pojo.SieveModel; +import com.lyms.platform.pojo.SieveResultModel; +import org.springframework.data.mongodb.core.query.Update; +import org.springframework.stereotype.Repository; +import org.springframework.util.Assert; + +/** + * Created by Administrator on 2016/6/30 0030. + */ +@Repository("sieveDao") +public class SieveDaoImpl extends BaseMongoDAOImpl implements ISieveDao { + @Override + public SieveResultModel addSieveResult(SieveResultModel sieveResultModel) { + return save(sieveResultModel); + } + + /** + * 根据id查询产筛结果 + * + * @param id + * @return + */ + public SieveResultModel findById(String id) { + return super.findById(id); + } + + /** + * 修改数据 + */ + public void update(MongoQuery mongoQuery, SieveResultModel sieveResultModel) { + update(mongoQuery.convertToMongoQuery(), sieveResultModel); + } + + public void updateChanQianSieve(SieveModel sieveModel) { + Update update = MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(sieveModel)); + Assert.notNull(update, "execute update method must not null."); + mongoTemplate.updateMulti(new MongoQuery(new MongoCondition("id", sieveModel.getId(), MongoOper.IS)).convertToMongoQuery(), update, SieveModel.class); + } + public void addChanQianSieve(SieveModel sieveModel){ + Assert.notNull(sieveModel, "execute insert method must not null."); + mongoTemplate.insert(sieveModel); + } +} \ No newline at end of file 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 353b64d..162f3f4 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 @@ -1,20 +1,29 @@ package com.lyms.platform.biz.service; +import com.lyms.platform.biz.dal.IAntenatalExaminationDao; import com.lyms.platform.biz.dal.IPatientDao; -import com.lyms.platform.common.dao.operator.MongoCondition; -import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.biz.dal.ISieveApplyOrderDao; +import com.lyms.platform.biz.dal.ISieveDao; import com.lyms.platform.common.dao.operator.MongoQuery; -import com.lyms.platform.common.dao.operator.Page; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.LogUtil; +import com.lyms.platform.pojo.AntenatalExaminationModel; import com.lyms.platform.pojo.Patients; -import com.lyms.platform.pojo.PuerperaModel; +import com.lyms.platform.pojo.SieveApplyOrderModel; +import com.lyms.platform.pojo.SieveModel; +import com.lyms.platform.query.AntExQuery; import com.lyms.platform.query.PatientsQuery; -import com.lyms.platform.query.PuerperaModelQuery; +import com.lyms.platform.query.SieveApplyOrderQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -23,8 +32,15 @@ import java.util.List; @Service public class PatientsService { + @Autowired private IPatientDao iPatientDao; + @Autowired + private ISieveDao sieveDao; + @Autowired + private IAntenatalExaminationDao iAntenatalExaminationDao; + @Autowired + private ISieveApplyOrderDao iSieveApplyOrderDao; public Patients addPatient(Patients obj) { return iPatientDao.addPatient(obj); @@ -45,7 +61,6 @@ public class PatientsService { } - public int queryPatientCount(PatientsQuery patientsQuery) { return iPatientDao.queryPatientCount(patientsQuery.convertToQuery()); } @@ -62,9 +77,9 @@ public class PatientsService { * @return */ public Patients findOnePatientByCardNo(PatientsQuery puerperaQuery) { - List result = iPatientDao.queryPatient(puerperaQuery.convertToQuery()); - if(CollectionUtils.isNotEmpty(result)){ - return result.get(0); + List result = iPatientDao.queryPatient(puerperaQuery.convertToQuery()); + if (CollectionUtils.isNotEmpty(result)) { + return result.get(0); } return null; } @@ -72,4 +87,101 @@ public class PatientsService { public Patients findOnePatientById(String id) { return iPatientDao.getPatient(id); } + + /** + * 满足孕15+3至20+6之间和有产筛申请单的数据 + */ + public void addSieveJob() { + //查询出满足15+3 20+6的孕妇 + Date endDate = DateUtil.addDay(new Date(), -108); + Date start = DateUtil.addDay(new Date(), -146); + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setLastMensesEnd(endDate); + patientsQuery.setLastMensesStart(start); + patientsQuery.setYn(YnEnums.YES.getId()); + List patientses = iPatientDao.queryPatient(patientsQuery.convertToQuery()); + int batchSize = 200; + if (CollectionUtils.isNotEmpty(patientses)) { + LogUtil.taskInfo("add sieve form patent job size:" + patientses.size()); + 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 PatientWorker(patient)).start(); + } + } + SieveApplyOrderQuery sieveApplyOrderQuery = new SieveApplyOrderQuery(); + sieveApplyOrderQuery.setStatus(0); + sieveApplyOrderQuery.setYn(YnEnums.YES.getId()); + //查询转诊申请单 + List list = iSieveApplyOrderDao.queryList(sieveApplyOrderQuery.convertToQuery()); + if (CollectionUtils.isNotEmpty(list)) { + List idList = new ArrayList<>(); + for (SieveApplyOrderModel orderModel : list) { + if (null != orderModel.getParentId()) { + Patients patients= iPatientDao.getPatient(orderModel.getId()); + if(null!=patients){ + SieveModel sieveModel = convertToModel(patients); + sieveDao.addChanQianSieve(sieveModel); + } + idList.add(orderModel.getId()); + } + } + SieveApplyOrderModel sieveApplyOrderModel=new SieveApplyOrderModel(); + sieveApplyOrderModel.setStatus(1); + for(String str:idList){ + sieveApplyOrderModel.setId(str); + sieveApplyOrderModel.setModified(new Date()); + iSieveApplyOrderDao.updateSieve(sieveApplyOrderModel); + } + } + } + + private SieveModel convertToModel(Patients patients) { + SieveModel sieveModel = new SieveModel(); + sieveModel.setParentId(patients.getId()); + sieveModel.setLastMenses(patients.getLastMenses()); + int days = DateUtil.daysBetween(patients.getLastMenses(), new Date()); + String week = (days / 7) + ""; + int day = (days % 7); + String dueWeek = "孕" + week + "周" + (day > 0 ? "+" + day + "天" : ""); + sieveModel.setDueWeek(dueWeek); + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setYn(YnEnums.YES.getId()); + antExQuery.setNeed("1"); + antExQuery.setPage(1); + antExQuery.setLimit(1); + List list = iAntenatalExaminationDao.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + if (CollectionUtils.isNotEmpty(list)) { + sieveModel.setTireNumber(NumberUtils.toInt(list.get(0).getTireNumber())); + } + sieveModel.setPhone(patients.getPhone()); + return sieveModel; + } + + private class PatientWorker extends Thread { + private List patientses; + private long startTime; + + private PatientWorker(List patientses) { + this.patientses = patientses; + startTime = System.currentTimeMillis(); + } + + @Override + public void run() { + LogUtil.taskInfo("add sieve PatientWorker job :" + getName() + " start."); + for (Patients patient : patientses) { + SieveModel sieveModel = convertToModel(patient); + sieveDao.addChanQianSieve(sieveModel); + } + LogUtil.taskInfo("add sieve PatientWorker job :" + getName() + " end.costTime :" + (System.currentTimeMillis() - startTime) + " ms."); + } + } } \ No newline at end of file diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SieveService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SieveService.java new file mode 100644 index 0000000..d925a67 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SieveService.java @@ -0,0 +1,43 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.ISieveDao; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.pojo.SieveModel; +import com.lyms.platform.pojo.SieveResultModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; + +/** + * Created by Administrator on 2016/6/30 0030. + */ +@Service +public class SieveService { + + @Autowired + private ISieveDao iSieveDao; + + public SieveResultModel addSieve(SieveResultModel obj){ + obj.setModified(new Date()); + obj.setCreated(new Date()); + obj.setYn(YnEnums.YES.getId()); + return iSieveDao.addSieveResult(obj); + } + + public SieveResultModel findById(String id){ + return iSieveDao.findById(id); + } + + + public void updateOneChanQianDiaSieve(SieveModel sieveModel){ + sieveModel.setModified(new Date()); + iSieveDao.updateChanQianSieve(sieveModel); + } + public void addChanQianSieve(SieveModel sieveModel){ + sieveModel.setModified(new Date()); + sieveModel.setCreated(new Date()); + sieveModel.setYn(YnEnums.YES.getId()); + iSieveDao.addChanQianSieve(sieveModel); + } +} \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/Test.java b/platform-common/src/main/java/com/lyms/platform/common/Test.java index 0911d56..b6f4de3 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/Test.java +++ b/platform-common/src/main/java/com/lyms/platform/common/Test.java @@ -1,11 +1,39 @@ package com.lyms.platform.common; +import com.lyms.platform.common.utils.MessageUtil; +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.methods.ByteArrayRequestEntity; +import org.apache.commons.httpclient.methods.PostMethod; + public class Test { public static void main(String[] args) { -// String s="[{\"functionCode\": null,\"id\": 83,\"moduleName\": \"平台管理-医院管理\"+","+\"action\": \"View\"+","+"\"permissionName\": \"查看\",+"; - /* "moduleCode": null,+ - "functionName": "床位类型管理",+ - "ext": "/v1/sickbedTypes}]";*/ -// System.out.println(s); + String s ="\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " 1\n" + + " \n" + + " 1\n" + + " \n" + + " 测试\n" + + " \n" + + " 测试1\n" + + " \n" + + " \n" + + ""; + System.out.print(s); + HttpClient httpClient=new HttpClient(); + PostMethod post = new MessageUtil.UTF8PostMethod("http://119.90.43.70:8090/WCFAPPService.svc"); + post.setRequestEntity(new ByteArrayRequestEntity(s.getBytes())); + post.setRequestHeader("Content-Type", "text/xml;charset=utf-8"); + post.setRequestHeader("SOAPAction","http://tempuri.org/IAppWCFService/EditChildMesage"); + try { + httpClient.executeMethod(post); + String result = new String(post.getResponseBodyAsString()); + System.out.print("register result : " + result); + }catch (Exception e){ + + } } } diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index 34a9aac..2d27ab6 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -461,8 +461,10 @@ public class DateUtil { // System.out.println(getDaySeconds()); int s = getBabyAgeMonth(parseYMD("2016-05-26"), new Date()); - - System.out.println(getBabyAgeMonth(parseYMD("2016-05-23"), new Date())); + SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd "); +// System.out.println(getBabyAgeMonth(parseYMD("2016-05-23"), new Date())); + System.out.println(DateUtil.getyyyy_MM_dd_hms(DateUtil.addDay(new Date(),-108))); + System.out.println(DateUtil.getyyyy_MM_dd_hms(DateUtil.addDay(new Date(), -146))); // System.out.print(1457688652-23341); //1457711993 // 1426089600 diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveApplyOrderModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveApplyOrderModel.java index 5cafdd7..a1d072a 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveApplyOrderModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveApplyOrderModel.java @@ -22,6 +22,35 @@ public class SieveApplyOrderModel { private String checkDate; //申请医生 private String applyDoctor; + //标识是否同步过数据 + private Integer status; + private Integer yn; + + private Date modified; + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } public Date getCreated() { return created; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java index f7fc84a..422d162 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java @@ -7,7 +7,7 @@ import java.util.Date; /** * 产前筛查 - * + *

* Created by Administrator on 2016/6/29 0029. */ @Document(collection = "lyms_sieve") @@ -34,6 +34,151 @@ public class SieveModel extends BaseModel { private String cqResult; //妊娠结局 private String renShenResult; + + // 诊断时间 + private String diaTime; + //诊断单位 + private String diaUnit; + //录入人员 + private String publishName; + private Date created; private Date modified; + private Integer yn; + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getCqResult() { + return cqResult; + } + + public void setCqResult(String cqResult) { + this.cqResult = cqResult; + } + + public Integer getCqStatus() { + return cqStatus; + } + + public void setCqStatus(Integer cqStatus) { + this.cqStatus = cqStatus; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public String getDiaTime() { + return diaTime; + } + + public void setDiaTime(String diaTime) { + this.diaTime = diaTime; + } + + public String getDiaUnit() { + return diaUnit; + } + + public void setDiaUnit(String diaUnit) { + this.diaUnit = diaUnit; + } + + public String getDueWeek() { + return dueWeek; + } + + public void setDueWeek(String dueWeek) { + this.dueWeek = dueWeek; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Date getLastMenses() { + return lastMenses; + } + + public void setLastMenses(Date lastMenses) { + this.lastMenses = lastMenses; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPublishName() { + return publishName; + } + + public void setPublishName(String publishName) { + this.publishName = publishName; + } + + public String getRenShenResult() { + return renShenResult; + } + + public void setRenShenResult(String renShenResult) { + this.renShenResult = renShenResult; + } + + public Integer getTireNumber() { + return tireNumber; + } + + public void setTireNumber(Integer tireNumber) { + this.tireNumber = tireNumber; + } + + public Integer getZtfx() { + return ztfx; + } + + public void setZtfx(Integer ztfx) { + this.ztfx = ztfx; + } } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveResultModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveResultModel.java new file mode 100644 index 0000000..eb0c9e5 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveResultModel.java @@ -0,0 +1,118 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + +/** + * 产筛结果 + *

+ * Created by Administrator on 2016/6/29 0029. + */ +@Document(collection = "lyms_sieveresult") +public class SieveResultModel extends BaseModel { + private String id; + private String parentId; + + private String tszhz;// 唐氏综合症 + private String sjgjx;// 神经管畸形 + private String sbst;// 18-三体 + private String dzhpx;// 地中海贫血 + private String cspj;// 产筛评价 + //录入人员 + private String publishName; + + + private Integer yn; + private Date created; + private Date modified; + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public String getCspj() { + return cspj; + } + + public void setCspj(String cspj) { + this.cspj = cspj; + } + + public String getDzhpx() { + return dzhpx; + } + + public void setDzhpx(String dzhpx) { + this.dzhpx = dzhpx; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getPublishName() { + return publishName; + } + + public void setPublishName(String publishName) { + this.publishName = publishName; + } + + public String getSbst() { + return sbst; + } + + public void setSbst(String sbst) { + this.sbst = sbst; + } + + public String getSjgjx() { + return sjgjx; + } + + public void setSjgjx(String sjgjx) { + this.sjgjx = sjgjx; + } + + public String getTszhz() { + return tszhz; + } + + public void setTszhz(String tszhz) { + this.tszhz = tszhz; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index 1f32b8a..7906142 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -61,6 +61,15 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private Date dueDateStart; private Date dueDateEnd; + /** + * 末次月经 + */ + private Date lastMensesStart; + + /** + * 末次月经 + */ + private Date lastMensesEnd; /** * 地址 @@ -120,6 +129,22 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private Integer hospitalId; + public Date getLastMensesEnd() { + return lastMensesEnd; + } + + public void setLastMensesEnd(Date lastMensesEnd) { + this.lastMensesEnd = lastMensesEnd; + } + + public Date getLastMensesStart() { + return lastMensesStart; + } + + public void setLastMensesStart(Date lastMensesStart) { + this.lastMensesStart = lastMensesStart; + } + public Integer getHospitalId() { return hospitalId; } @@ -403,9 +428,23 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { if (-1 != type) { condition = condition.and("type", type, MongoOper.IS); } - boolean isAddStart = Boolean.FALSE; Criteria c = null; + if(null!=lastMensesStart){ + c = Criteria.where("lastMenses").gte(dueDateStart); + isAddStart = Boolean.TRUE; + } + if (null != lastMensesStart) { + if (isAddStart) { + c = c.lte(lastMensesStart); + } else { + c = Criteria.where("lastMenses").lte(lastMensesStart); + } + isAddStart = Boolean.TRUE; + } + if (isAddStart) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } if (null != dueDateStart) { c = Criteria.where("dueDate").gte(dueDateStart); isAddStart = Boolean.TRUE; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/SieveApplyOrderQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/SieveApplyOrderQuery.java index e95e926..472d7b3 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/SieveApplyOrderQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/SieveApplyOrderQuery.java @@ -13,9 +13,52 @@ public class SieveApplyOrderQuery extends BaseQuery implements IConvertToNativeQ private String parentId; + private Integer status; + + private Integer yn; + + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + @Override public MongoQuery convertToQuery() { - MongoCondition condition = MongoCondition.newInstance("parentId",parentId, MongoOper.IS); + MongoCondition condition = MongoCondition.newInstance(); + if(null!=parentId){ + condition= condition.and("parentId",parentId, MongoOper.IS); + } + if(null!=yn){ + condition= condition.and("yn",yn, MongoOper.IS); + } + if(null!=status){ + condition= condition.and("status",status, MongoOper.IS); + } + if(null!=id){ + condition= condition.and("id",id, MongoOper.IS); + } + return condition.toMongoQuery(); } diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/controller/TaskController.java b/platform-data-api/src/main/java/com/lyms/platform/data/controller/TaskController.java index fbd0fc4..b8ff00e 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/controller/TaskController.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/controller/TaskController.java @@ -1,8 +1,10 @@ package com.lyms.platform.data.controller; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.data.service.DataImportTaskService; import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.pojo.Patients; import com.lyms.platform.query.BasicConfigQuery; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; @@ -31,6 +33,8 @@ public class TaskController extends BaseController { @Autowired private BasicConfigService basicConfigService; + @Autowired + private PatientsService patientsService; @RequestMapping(value = "/index") @@ -103,6 +107,8 @@ public class TaskController extends BaseController { e.printStackTrace(); } writeString(response, "success"); + }else if("addSieveJob".equals(sid)){ + patientsService.addSieveJob(); } else { diff --git a/platform-data-api/src/main/webapp/WEB-INF/vm/task/index.vm b/platform-data-api/src/main/webapp/WEB-INF/vm/task/index.vm index fca2d24..f8474a9 100644 --- a/platform-data-api/src/main/webapp/WEB-INF/vm/task/index.vm +++ b/platform-data-api/src/main/webapp/WEB-INF/vm/task/index.vm @@ -49,6 +49,14 @@ + + 产前筛查患者数据 + + 无 + + + +