diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/PatientCheckTicketDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/PatientCheckTicketDao.java index af14e83..5c46a38 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/PatientCheckTicketDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/PatientCheckTicketDao.java @@ -20,4 +20,6 @@ public interface PatientCheckTicketDao { public List queryTicket(MongoQuery query); + void findAndModify(MongoQuery query,PatientCheckTicket ticket); + } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientCheckTicketDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientCheckTicketDaoImpl.java index 4c2adc3..cea74da 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientCheckTicketDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientCheckTicketDaoImpl.java @@ -39,4 +39,8 @@ public class PatientCheckTicketDaoImpl extends BaseMongoDAOImpl queryTicket(MongoQuery query) { return find(query.convertToMongoQuery()); } + + public void findAndModify(MongoQuery query,PatientCheckTicket ticket){ + updateMulti(query.convertToMongoQuery(), ticket); + } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientCheckTicketService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientCheckTicketService.java index 2d644fe..051277f 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientCheckTicketService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientCheckTicketService.java @@ -29,6 +29,10 @@ public class PatientCheckTicketService { patientCheckTicketDao.updateTicket(obj);; } + + + + public String updateTicket(String id, Integer status, String cousumeHospitalId) { PatientCheckTicket ticket = getTicket(id); if (ticket == null) { @@ -45,6 +49,10 @@ public class PatientCheckTicketService { return null; } + public void findAndModify(PatientCheckTicketQuery query,PatientCheckTicket ticket){ + patientCheckTicketDao.findAndModify(query.convertToQuery(),ticket); + } + public PatientCheckTicket getTicket(String id) { return patientCheckTicketDao.getTicket(id); } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientCheckTicketQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientCheckTicketQuery.java index 2747f30..a9876a4 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientCheckTicketQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientCheckTicketQuery.java @@ -8,6 +8,8 @@ import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.utils.StringUtils; import org.springframework.data.mongodb.core.query.Criteria; +import java.util.Date; + /** * Created by riecard on 2016/12/28. */ @@ -28,6 +30,24 @@ public class PatientCheckTicketQuery extends BaseQuery implements IConvertToNati private String hospitalId; private String consumeHospitalId; private Integer status; // 1:创建未使用, 2:产检使用,3:分娩销毁 + private Date createdStart; + private Date createdEnd; + + public Date getCreatedStart() { + return createdStart; + } + + public void setCreatedStart(Date createdStart) { + this.createdStart = createdStart; + } + + public Date getCreatedEnd() { + return createdEnd; + } + + public void setCreatedEnd(Date createdEnd) { + this.createdEnd = createdEnd; + } @Override public MongoQuery convertToQuery() { @@ -50,6 +70,25 @@ public class PatientCheckTicketQuery extends BaseQuery implements IConvertToNati if (!StringUtils.isEmpty(consumeHospitalId)) { condition = condition.and("consumeHospitalId", consumeHospitalId, MongoOper.IS); } + Criteria c1=null; + if (null != createdStart) { + if (null != c1) { + c1 = c1.and("created").gte(createdStart); + } else { + c1 = Criteria.where("created").gte(createdStart); + } + } + + if (null != createdEnd) { + if (null != c1) { + c1 = c1.lte(createdEnd); + } else { + c1 = Criteria.where("created").lte(createdEnd); + } + } + if (null != c1) { + condition = condition.andCondition(new MongoCondition(c1)); + } return condition.toMongoQuery(); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 064bc50..df2963e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -254,6 +254,19 @@ public class MatDeliverFacade { maternalDeliverModel.setYn(YnEnums.YES.getId()); matDeliverService.addMatDeliver(maternalDeliverModel); + + + //作废产检劵 + PatientCheckTicketQuery patientCheckTicketQuery=new PatientCheckTicketQuery(); + Patients pa=patientsService.findOnePatientById(deliverAddRequest.getParentId()); + patientCheckTicketQuery.setStatus(1); + patientCheckTicketQuery.setCreatedStart(pa.getLastMenses()); + patientCheckTicketQuery.setCreatedEnd(pa.getFmDate()); + + PatientCheckTicket patientCheckTicket=new PatientCheckTicket(); + patientCheckTicket.setStatus(3); + patientCheckTicket.setConsumeHospitalId(hospitalId); + patientCheckTicketService.findAndModify(patientCheckTicketQuery,patientCheckTicket); //修改 } else if (StringUtils.isNotEmpty(deliverAddRequest.getId()) && StringUtils.isNotEmpty(deliverAddRequest.getParentId())) { @@ -348,7 +361,7 @@ public class MatDeliverFacade { patients1.setType(3); //自动分娩的时候修改buildtype为0 http://jira.healthbaby.com.cn/browse/WEB-808 if (null != patients.getBuildType() && patients.getBuildType() == 2) { - patients.setBuildType(0); + patients1.setBuildType(0); } patients1.setIsAutoFm(YnEnums.NO.getId()); patients1.setFmHospital(deliverAddRequest.getFmHospital());