diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IStopPregnancyDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IStopPregnancyDao.java index 92a978f..7e52370 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IStopPregnancyDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IStopPregnancyDao.java @@ -15,4 +15,6 @@ public interface IStopPregnancyDao { public StopPregModel addStopPreg(StopPregModel model); public void updateStopPreg(StopPregModel obj, String id); + + public Integer count(MongoQuery mongoQuery); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IYunBookBuildingDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IYunBookBuildingDao.java index 0e4053b..7525980 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IYunBookBuildingDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IYunBookBuildingDao.java @@ -15,4 +15,6 @@ public interface IYunBookBuildingDao { List getBirthIds(String dateStr); List getBirthHusbands(String dateStr); + + public Patients findOneById(String id); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/StopPregnancyDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/StopPregnancyDaoImpl.java index aa7bb13..e98ecf5 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/StopPregnancyDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/StopPregnancyDaoImpl.java @@ -29,5 +29,8 @@ public class StopPregnancyDaoImpl extends BaseMongoDAOImpl implem update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); } - + @Override + public Integer count(MongoQuery mongoQuery) { + return (int)count(mongoQuery.convertToMongoQuery()); + } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/YunBookbuildingDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/YunBookbuildingDaoImpl.java index 89194f7..2b3317d 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/YunBookbuildingDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/YunBookbuildingDaoImpl.java @@ -32,6 +32,10 @@ public class YunBookbuildingDaoImpl extends BaseMongoDAOImpl implement return save(patient); } + public Patients findOneById(String id){ + return findById(id); + } + @Override public void updatePatient(Patients obj, String id) { update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java index 446e0a4..ec0da82 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java @@ -37,7 +37,7 @@ public class MatDeliverService { } public List query(MatDeliverQuery deliverQuery){ - return iMatDeliverDao.queryWithList(deliverQuery.convertToQuery().addOrder(Sort.Direction.DESC,"created")); + return iMatDeliverDao.queryWithList(deliverQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); } public void deleteOne(String id){ iMatDeliverDao.deleteOne(id); @@ -47,6 +47,9 @@ public class MatDeliverService { iMatDeliverDao.updateOneById(deliverModel, id); } + public int count(MatDeliverQuery matDeliverQuery){ + return iMatDeliverDao.queryCount(matDeliverQuery.convertToQuery()); + } public MaternalDeliverModel getOneMatDeliver(String id){ return iMatDeliverDao.getById(id); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/StopPregnancyService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/StopPregnancyService.java index 296e3c6..ccb722c 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/StopPregnancyService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/StopPregnancyService.java @@ -26,4 +26,7 @@ public class StopPregnancyService { public void updateStopPreg(StopPregModel model, String id) { stopPregnancyDao.updateStopPreg(model, id); } + public Integer count(StopPregQuery stopPregQuery){ + return stopPregnancyDao.count(stopPregQuery.convertToQuery()); + } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/YunBookbuildingService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/YunBookbuildingService.java index fc7ebd9..81c80ac 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/YunBookbuildingService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/YunBookbuildingService.java @@ -45,10 +45,14 @@ public class YunBookbuildingService { antExChuModel.setLastMenses(patient.getLastMenses()); antExChuModel.setParentId(id); - antExChuDao.updateOneAntEx(antExChuQuery.convertToQuery(),antExChuModel); + antExChuDao.updateOneAntEx(antExChuQuery.convertToQuery(), antExChuModel); } + public Patients findOneById(String id){ + return yunBookBuildingDao.findOneById(id); + } + public List queryPregnantWithQuery(PatientsQuery patientsQuery) { MongoQuery query = patientsQuery.convertToQuery(); return yunBookBuildingDao.queryPatientWithQuery(query.addOrder(Sort.Direction.DESC, "created")); diff --git a/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java index 3c0ebad..26fc11c 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java @@ -24,6 +24,25 @@ public class AntExQuery extends BaseQuery implements IConvertToNativeQuery { private Date end; private String hospitalId; + private boolean neStart; + + private boolean neEnd; + + public boolean isNeEnd() { + return neEnd; + } + + public void setNeEnd(boolean neEnd) { + this.neEnd = neEnd; + } + + public boolean isNeStart() { + return neStart; + } + + public void setNeStart(boolean neStart) { + this.neStart = neStart; + } public String getHospitalId() { return hospitalId; @@ -80,15 +99,27 @@ public class AntExQuery extends BaseQuery implements IConvertToNativeQuery { boolean isAddStart = Boolean.FALSE; Criteria c = null; if (null != start) { - c = Criteria.where("checkDate").gte(start); + if(neStart){ + c = Criteria.where("checkDate").gt(start); + }else{ + c = Criteria.where("checkDate").gte(start); + } isAddStart = Boolean.TRUE; } if (null != end) { if (isAddStart) { - c=c.lte(end); + if(neEnd){ + c=c.lt(end); + }else { + c=c.lte(end); + } } else { - c = Criteria.where("checkDate").lte(end); + if(neEnd){ + c = Criteria.where("checkDate").lt(end); + }else{ + c = Criteria.where("checkDate").lte(end); + } } isAddStart = Boolean.TRUE; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java index 2601a09..a98348c 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java @@ -23,6 +23,34 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery private Date createdStart; private Date endStart; private String dueDate; + private String hospitalId; + private boolean neStart; + + private boolean neEnd; + + public boolean isNeEnd() { + return neEnd; + } + + public void setNeEnd(boolean neEnd) { + this.neEnd = neEnd; + } + + public boolean isNeStart() { + return neStart; + } + + public void setNeStart(boolean neStart) { + this.neStart = neStart; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } public String getDueDate() { return dueDate; @@ -87,19 +115,34 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery if (null != parentId) { condition = condition.and("parentId", parentId, MongoOper.IS); } + if (null != hospitalId) { + condition = condition.and("hospitalId", hospitalId, MongoOper.IS); + } Criteria c = null; Boolean isAddStart = Boolean.FALSE; if (null != createdStart) { - c = Criteria.where("dueDate1").gte(createdStart); + if(neStart){ + c = Criteria.where("dueDate1").gt(createdStart); + }else{ + c = Criteria.where("dueDate1").gte(createdStart); + } isAddStart = Boolean.TRUE; } if (null != endStart) { if (isAddStart) { - c = c.lte(endStart); + if(neEnd){ + c = c.lt(endStart); + }else{ + c = c.lte(endStart); + } } else { - c = Criteria.where("dueDate1").lte(endStart); + if(neEnd){ + c = Criteria.where("dueDate1").lt(endStart); + }else { + c = Criteria.where("dueDate1").lte(endStart); + } } isAddStart = Boolean.TRUE; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PostReviewQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PostReviewQuery.java index f3984e3..e6de4e6 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PostReviewQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PostReviewQuery.java @@ -20,6 +20,11 @@ public class PostReviewQuery extends BaseQuery implements IConvertToNativeQuery private Date start; private Date end; + + private boolean neStart; + + private boolean neEnd; + private String pid; private String hospitalId; @@ -44,6 +49,22 @@ public class PostReviewQuery extends BaseQuery implements IConvertToNativeQuery return end; } + public boolean getNeEnd() { + return neEnd; + } + + public void setNeEnd(boolean neEnd) { + this.neEnd = neEnd; + } + + public boolean getNeStart() { + return neStart; + } + + public void setNeStart(boolean neStart) { + this.neStart = neStart; + } + public void setEnd(Date end) { this.end = end; } @@ -101,15 +122,27 @@ public class PostReviewQuery extends BaseQuery implements IConvertToNativeQuery boolean isAddStart = Boolean.FALSE; Criteria c = null; if (null != start) { - c = Criteria.where("checkTime").gte(start); + if(neStart){ + c = Criteria.where("checkTime").gt(start); + }else{ + c = Criteria.where("checkTime").gte(start); + } isAddStart = Boolean.TRUE; } if (null != end) { if (isAddStart) { - c=c.lte(end); + if(neEnd){ + c.lt(end); + }else { + c=c.lte(end); + } } else { - c = Criteria.where("checkTime").lte(end); + if(neEnd){ + c = Criteria.where("checkTime").lt(end); + }else{ + c = Criteria.where("checkTime").lte(end); + } } isAddStart = Boolean.TRUE; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/StopPregQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/StopPregQuery.java index a450f86..7c85e38 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/StopPregQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/StopPregQuery.java @@ -30,6 +30,9 @@ public class StopPregQuery extends BaseQuery implements IConvertToNativeQuery { //终止妊娠日期 private String stopDate; + private boolean neStart; + + private boolean neEnd; private Date stopDateStart; private Date stopDateEnd; @@ -38,6 +41,31 @@ public class StopPregQuery extends BaseQuery implements IConvertToNativeQuery { private Integer yn=-1; private String pid; + private String hospitalId; + + public String getHospitalId() { + return hospitalId; + } + + public boolean isNeEnd() { + return neEnd; + } + + public void setNeEnd(boolean neEnd) { + this.neEnd = neEnd; + } + + public boolean isNeStart() { + return neStart; + } + + public void setNeStart(boolean neStart) { + this.neStart = neStart; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } public Date getStopDateEnd() { return stopDateEnd; @@ -71,17 +99,33 @@ public class StopPregQuery extends BaseQuery implements IConvertToNativeQuery { if (null!= pid) { condition = condition.and("pid", pid, MongoOper.IS); } + if (null!= hospitalId) { + condition = condition.and("hospitalId", hospitalId, MongoOper.IS); + } Criteria c=null; Boolean isAddStart = Boolean.FALSE; if (null != stopDateStart) { - c = Criteria.where("stopDate").gte(stopDateStart); + if(neStart){ + c = Criteria.where("stopDate").gt(stopDateStart); + }else{ + c = Criteria.where("stopDate").gte(stopDateStart); + } isAddStart = Boolean.TRUE; } if (null != stopDateEnd) { if (isAddStart) { - c = c.lte(stopDateEnd); + if(neEnd){ + c = c.lt(stopDateEnd); + }else{ + c = c.lte(stopDateEnd); + } } else { - c = Criteria.where("stopDate").lte(stopDateEnd); + if(neEnd) { + c = Criteria.where("stopDate").lt(stopDateEnd); + }else { + c = Criteria.where("stopDate").lte(stopDateEnd); + + } } isAddStart = Boolean.TRUE; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java index d28410f..cb0557a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java @@ -69,8 +69,10 @@ public class BookbuildingController extends BaseController{ */ @RequestMapping(value = "/deletePregnant/{id}", method = RequestMethod.DELETE) @ResponseBody - public BaseResponse deletePregnantById(@PathVariable("id")String id){ - return bookbuildingFacade.deletePregnantById(id); + @TokenRequired + public BaseResponse deletePregnantById(@PathVariable("id")String id,HttpServletRequest httpServletRequest){ + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); + return bookbuildingFacade.deletePregnantById(id,loginState.getId()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java index aee3498..fd8816c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java @@ -67,11 +67,12 @@ public class MatDeliverController extends BaseController{ @RequestMapping(value = "/matdel",method = RequestMethod.DELETE) @ResponseBody @TokenRequired - public BaseResponse delOneMatDeliver(@RequestParam("id") String id) { + public BaseResponse delOneMatDeliver(@RequestParam("id") String id,HttpServletRequest httpServletRequest) { if(StringUtils.isEmpty(id)){ return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("id不能为空"); } - return matDeliverFacade.delOneMatDeliver(id); + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); + return matDeliverFacade.delOneMatDeliver(id,loginState.getId()); } /** 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 57ba9a0..87f8daf 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 @@ -55,6 +55,8 @@ public class AntenatalExaminationFacade { private StopPregnancyService stopPregnancyService; @Autowired private UsersService usersService; + @Autowired + private DeleteProcessHandler deleteProcessHandler; /** @@ -462,7 +464,7 @@ public class AntenatalExaminationFacade { List patientses = patientsService.queryPatient(patientsQuery); if (CollectionUtils.isNotEmpty(patientses)) { for (Patients patients : patientses) { - if(null!=patients.getLastMenses()){ + if (null != patients.getLastMenses()) { listDate.add(new SortIn(patients, "1")); } } @@ -1046,7 +1048,7 @@ public class AntenatalExaminationFacade { if (o1.getDate() != null && o1.getDate().after(o2.getDate())) { return -1; } - if (o1.getDate() != null && o1.getDate().before(o2.getDate())) { + if (o1.getDate() != null && o1.getDate().before(o2.getDate())) { return 1; } return 0; @@ -1252,7 +1254,11 @@ public class AntenatalExaminationFacade { antEx.setId(antExQueryRequest.getId()); String hospital = autoMatchFacade.getHospitalId(userId); - AntExQuery antExQuery = new AntExQuery(); + AntenatalExaminationModel localAntModel = antenatalExaminationService.findOneById(antExQueryRequest.getId()); + + ; + + /*AntExQuery antExQuery = new AntExQuery(); antExQuery.setId(antExQueryRequest.getId()); antExQuery.setYn(YnEnums.YES.getId()); antExQuery.setHospitalId(hospital); @@ -1270,9 +1276,10 @@ public class AntenatalExaminationFacade { list.remove(i); } } - } + }*/ - if (CollectionUtils.isEmpty(list)) { +// if (CollectionUtils.isEmpty(list)) { + if (deleteProcessHandler.deleteAntEx(localAntModel.getPid(), localAntModel.getCheckDate(), hospital, true)) { antenatalExaminationService.updateOneAnt(antEx, antExQueryRequest.getId()); @@ -1290,7 +1297,12 @@ public class AntenatalExaminationFacade { String hospital = autoMatchFacade.getHospitalId(userId); - AntExChuQuery antExQuery = new AntExChuQuery(); + AntExChuModel antExChuModel11 = antenatalExaminationService.findOne(antExQueryRequest.getId()); + + + + + /*AntExChuQuery antExQuery = new AntExChuQuery(); antExQuery.setId(antExQueryRequest.getId()); antExQuery.setYn(YnEnums.YES.getId()); antExQuery.setHospitalId(hospital); @@ -1313,9 +1325,10 @@ public class AntenatalExaminationFacade { list.remove(i); } } - } + }*/ - if (CollectionUtils.isEmpty(list)) { +// if (CollectionUtils.isEmpty(list)) { + if (deleteProcessHandler.deleteAntExChu(antExChuModel11.getPid(), antExChuModel11.getCheckTime(), hospital, true)) { antenatalExaminationService.updateAntExChu(antExChuModel, antExQueryRequest.getId()); AntExChuModel antExChuModel1 = antenatalExaminationService.findOne(antExQueryRequest.getId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 7c4a345..0883c1b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -63,7 +63,7 @@ public class BookbuildingFacade { private AntenatalExaminationService antenatalExaminationService; @Autowired - private SmsConfigService smsConfigService; + private AutoMatchFacade autoMatchFacade; @Autowired private UsersService usersService; @@ -85,6 +85,8 @@ public class BookbuildingFacade { @Autowired private QingLongXianHisService qingLongXianHisService; + @Autowired + private DeleteProcessHandler deleteProcessHandler; /** * 添加孕妇建档 @@ -922,13 +924,18 @@ public class BookbuildingFacade { * @param id * @return */ - public BaseResponse deletePregnantById(String id) { + public BaseResponse deletePregnantById(String id,Integer userId) { AntExChuQuery antExChuQuery = new AntExChuQuery(); antExChuQuery.setParentId(id); antExChuQuery.setYn(YnEnums.YES.getId()); //获取初诊记录 List antExChulist = antenatalExaminationService.queryAntExChu(antExChuQuery); - if (CollectionUtils.isNotEmpty(antExChulist)) + String hospital = autoMatchFacade.getHospitalId(userId); + Patients patients = yunBookbuildingService.findOneById(id); + + ; +// if (CollectionUtils.isNotEmpty(antExChulist)) + if(deleteProcessHandler.deleteBookBuild(patients.getPid(),patients.getBookbuildingDate(),hospital)) { return new BaseResponse().setErrorcode(ErrorCodeConstants.DONT_DELETE).setErrormsg("孕妇存在检查记录,不能删除建档"); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DeleteProcessHandler.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DeleteProcessHandler.java new file mode 100644 index 0000000..d1b2d15 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DeleteProcessHandler.java @@ -0,0 +1,133 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.AntenatalExaminationService; +import com.lyms.platform.biz.service.MatDeliverService; +import com.lyms.platform.biz.service.PostReviewService; +import com.lyms.platform.biz.service.StopPregnancyService; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.query.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Date; + +/** + * 产后复查删除 + *

+ * Created by Administrator on 2016/9/26 0026. + */ +@Component +public class DeleteProcessHandler { + + @Autowired + private PostReviewService postReviewService; + @Autowired + private StopPregnancyService stopPregnancyService; + @Autowired + private MatDeliverService matDeliverService; + @Autowired + private AntenatalExaminationService antenatalExaminationService; + + /** + * 删除产后复查记录,查询有没有大于检查时间的本院数据 + * + * @param lastMenses 末次月经 + * @param pid + * @param checkTime + * @param hospitalId + * @param qufenHospital 是否区分医院 + * @return + */ + public boolean doBiz(String pid, Date checkTime, String hospitalId,boolean qufenHospital) { + PostReviewQuery postReviewQuery = new PostReviewQuery(); + postReviewQuery.setPid(pid); + postReviewQuery.setStart(checkTime); + postReviewQuery.setNeStart(true); + postReviewQuery.setYn(YnEnums.YES.getId()); + if(qufenHospital){ + postReviewQuery.setHospitalId(hospitalId); + } + + return postReviewService.count(postReviewQuery) == 0; + } + + /** + * 删除终止妊娠记录 + * + * @param pid + * @param checkTime + * @param hospitalId + * @return + */ + public boolean deleteStopPre( String pid, Date checkTime, String hospitalId) { + return doBiz( pid, checkTime, hospitalId,false); + } + + /** + * 删除分娩记录 + * + * @return + */ + + public boolean deleteMatdeil( String pid, Date checkTime, String hospitalId) { + return doBiz( pid, checkTime, hospitalId,false); + } + + /** + * 删除复诊记录 + * + * @param pid + * @param checkTime + * @param hospitalId + * @return + */ + public boolean deleteAntEx( String pid, Date checkTime, String hospitalId,boolean qufenHospital) { + //先判断是否有复查记录 + if (doBiz(pid, checkTime, hospitalId,false)) { + StopPregQuery stopPregQuery = new StopPregQuery(); + stopPregQuery.setPid(pid); + stopPregQuery.setYn(YnEnums.YES.getId()); + stopPregQuery.setStopDateStart(checkTime); + stopPregQuery.setNeStart(false); + + MatDeliverQuery matDeliverQuery=new MatDeliverQuery(); + matDeliverQuery.setPid(pid); + matDeliverQuery.setYn(YnEnums.YES.getId()); + matDeliverQuery.setCreatedStart(checkTime); + matDeliverQuery.setNeStart(false); + if(stopPregnancyService.count(stopPregQuery) == 0 && matDeliverService.count(matDeliverQuery)==0) { + AntExQuery antExQuery=new AntExQuery(); + antExQuery.setPid(pid); + antExQuery.setYn(YnEnums.YES.getId()); + if(qufenHospital){ + antExQuery.setHospitalId(hospitalId); + } + antExQuery.setStart(checkTime); + antExQuery.setNeStart(true); + return antenatalExaminationService.queryAntenatalExaminationCount(antExQuery.convertToQuery())==0; + } + } + return false; + } + + public boolean deleteAntExChu( String pid, Date checkTime, String hospitalId,boolean qufenHospital) { + if (deleteAntEx(pid, checkTime, hospitalId, false)) { + AntExChuQuery antExChuQuery=new AntExChuQuery(); + antExChuQuery.setPid(pid); + antExChuQuery.setYn(YnEnums.YES.getId()); + antExChuQuery.setStart(checkTime); + if(qufenHospital){ + antExChuQuery.setHospitalId(hospitalId); + } + return antenatalExaminationService.queryAntExChuCount(antExChuQuery.convertToQuery()) ==0; + } + return false; + } + + public boolean deleteBookBuild(String pid, Date checkTime, String hospitalId){ + if(deleteAntExChu(pid,checkTime,hospitalId,false)){ + return true; + } + return false; + } +} \ No newline at end of file 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 6fa2615..05b6ed2 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 @@ -57,7 +57,8 @@ public class MatDeliverFacade { @Autowired private BabyBookbuildingFacade babyBookbuildingFacade; - + @Autowired + private DeleteProcessHandler deleteProcessHandler; private static Map ONE_ENUMS = new HashMap<>(); private static Map babyMap = new HashMap<>(); @@ -289,7 +290,7 @@ public class MatDeliverFacade { List patientsList = patientsService.queryPatient(patientsQuery); for (Patients patients : patientsList) { //判断分娩日期是否大于24孕周 - if(null!=patients.getLastMenses()){ + if (null != patients.getLastMenses()) { if (fmDate.getTime() >= DateUtil.addDay(patients.getLastMenses(), 168).getTime()) { patients.setFmDate(fmDate); patients.setType(3); @@ -300,7 +301,7 @@ public class MatDeliverFacade { } - private BabyModel fillBaby(Patients patients,MatDeliverAddRequest deliverAddRequest) { + private BabyModel fillBaby(Patients patients, MatDeliverAddRequest deliverAddRequest) { BabyModel babyModel = new BabyModel(); if (null != patients) { babyModel.setAreaId(patients.getAreaId()); @@ -330,9 +331,9 @@ public class MatDeliverFacade { babyModel.setBuildDoctor("a9e5507f-e7da-4ec6-b8db-9a1e4d1b7c29"); babyModel.setServiceStatus(patients.getServiceStatus()); babyModel.setServiceType(patients.getServiceType()); - if(null!=deliverAddRequest.getDueDate()){ - int day=DateUtil.getDays(patients.getLastMenses(),DateUtil.parseYMD(deliverAddRequest.getDueDate())); - babyModel.setDueWeek(day/7); + if (null != deliverAddRequest.getDueDate()) { + int day = DateUtil.getDays(patients.getLastMenses(), DateUtil.parseYMD(deliverAddRequest.getDueDate())); + babyModel.setDueWeek(day / 7); } } // 产妇分娩建档 @@ -430,7 +431,7 @@ public class MatDeliverFacade { MaternalDeliverModel.Baby baby1 = baby.convertToDataModel(); babyList.add(baby1); //填充小孩基本信息 - BabyModel babyModel = fillBaby(patients,deliverAddRequest); + BabyModel babyModel = fillBaby(patients, deliverAddRequest); babyModel.setDeliverOrg(hospital); baby.setId(baby1.getId()); babyModel.setBirth(DateUtil.parseYMD(deliverAddRequest.getDueDate())); @@ -653,12 +654,17 @@ public class MatDeliverFacade { * @param id * @return */ - public BaseResponse delOneMatDeliver(String id) { - MaternalDeliverModel maternalDeliverModel = new MaternalDeliverModel(); - maternalDeliverModel.setYn(YnEnums.NO.getId()); - maternalDeliverModel.setId(id); - matDeliverService.updateOne(maternalDeliverModel, id); - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + public BaseResponse delOneMatDeliver(String id, Integer userId) { + MaternalDeliverModel matModel = matDeliverService.getOneMatDeliver(id); + String hospital = autoMatchFacade.getHospitalId(userId); + if (deleteProcessHandler.deleteMatdeil(matModel.getPid(), matModel.getDueDate1(), hospital)) { + MaternalDeliverModel maternalDeliverModel = new MaternalDeliverModel(); + maternalDeliverModel.setYn(YnEnums.NO.getId()); + maternalDeliverModel.setId(id); + matDeliverService.updateOne(maternalDeliverModel, id); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.BUSINESS_ERROR).setErrormsg("不能删除该条数据"); } /**