diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java index 688f5f8..2a65752 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java @@ -301,8 +301,16 @@ public class AntExChuModel implements Serializable { private String ydqjd; private Date modified; + //操作人 + private Integer operator; + public Integer getOperator() { + return operator; + } + public void setOperator(Integer operator) { + this.operator = operator; + } public String getCestationInfo() { return cestationInfo; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java index cdc7de4..2f29bec 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java @@ -92,6 +92,16 @@ public class AntenatalExaminationModel { private Date modified; private String hospitalId; private String cDueWeek; + //操作人 + private Integer operator; + + public Integer getOperator() { + return operator; + } + + public void setOperator(Integer operator) { + this.operator = operator; + } public String getPid() { return pid; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java index 4dc7236..235d6a1 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java @@ -30,14 +30,25 @@ public class MaternalDeliverModel { //胎盘 private String placenta; private String deathCauseText; + //操作人 + private Integer operator; + + public Integer getOperator() { + return operator; + } + + public void setOperator(Integer operator) { + this.operator = operator; + } + /*//心率 - private double heartRate; - //胎方位 - private String fetalPosition; - //胎先露 - private String fetalPresentation; - // 衔接 - private String join;*/ + private double heartRate; + //胎方位 + private String fetalPosition; + //胎先露 + private String fetalPresentation; + // 衔接 + private String join;*/ //存放胎盘信息 private List placentas; //分娩方式 diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java index f89207a..9a880f7 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java @@ -227,6 +227,37 @@ public class Patients extends BaseModel { private String enable; //最后一次高危时间 private Date lastRhTime; + //本院最后一次产检时间 + private Date lastCTime; + //本院产后复查次数 + private Integer postViewTimes; + //操作人 + private Integer operator; + + + public Date getLastCTime() { + return lastCTime; + } + + public void setLastCTime(Date lastCTime) { + this.lastCTime = lastCTime; + } + + public Integer getPostViewTimes() { + return postViewTimes; + } + + public void setPostViewTimes(Integer postViewTimes) { + this.postViewTimes = postViewTimes; + } + + public Integer getOperator() { + return operator; + } + + public void setOperator(Integer operator) { + this.operator = operator; + } public Date getLastRhTime() { return lastRhTime; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PostReviewModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PostReviewModel.java index c6f91fd..4a88c05 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PostReviewModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PostReviewModel.java @@ -93,7 +93,16 @@ public class PostReviewModel extends BaseModel { private Date modified; private String hospitalId; + //操作人 + private Integer operator; + public Integer getOperator() { + return operator; + } + + public void setOperator(Integer operator) { + this.operator = operator; + } public String getPid() { return pid; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/ReferralApplyOrderModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/ReferralApplyOrderModel.java index 8b60729..c641a30 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/ReferralApplyOrderModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/ReferralApplyOrderModel.java @@ -83,6 +83,16 @@ public class ReferralApplyOrderModel { private Integer type; private Integer serviceType; + //操作人 + private String operator; + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } public Integer getDays() { return days; 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 4aeb264..c25e913 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 @@ -26,7 +26,16 @@ public class SieveApplyOrderModel { private Integer status; private String hospitalId; private Integer yn; + //操作人 + private String operator; + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } private Date modified; public String getHospitalId() { 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 17011a2..4035d8f 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 @@ -80,6 +80,10 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private Date lastRhTimeEnd; private Date lastMensesNeEnd; + //本院最后一次产检时间 + private Date lastCTimeStart; + private Date lastCTimeEnd; + public Date getLastMensesNeEnd() { return lastMensesNeEnd; } @@ -127,7 +131,7 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { */ private String phone; /** - * 产妇分娩日期 + * 预产期 */ private Date dueDateStart; @@ -227,6 +231,23 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { //大于创建时间 private Date gteCreated; + + public Date getLastCTimeStart() { + return lastCTimeStart; + } + + public void setLastCTimeStart(Date lastCTimeStart) { + this.lastCTimeStart = lastCTimeStart; + } + + public Date getLastCTimeEnd() { + return lastCTimeEnd; + } + + public void setLastCTimeEnd(Date lastCTimeEnd) { + this.lastCTimeEnd = lastCTimeEnd; + } + public Date getGteCreated() { return gteCreated; } 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 498bf38..f8c9395 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 @@ -58,13 +58,15 @@ public class BookbuildingController extends BaseController{ */ @RequestMapping(method = RequestMethod.POST, value = "/addOrUpdateYunBuild") @ResponseBody - public BaseResponse addOrUpdateYunBuild(@RequestBody YunBookbuildingAddRequest yunBookbuildingAddRequest) { + @TokenRequired + public BaseResponse addOrUpdateYunBuild(@RequestBody YunBookbuildingAddRequest yunBookbuildingAddRequest,HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); if (yunBookbuildingAddRequest != null && !StringUtils.isEmpty(yunBookbuildingAddRequest.getId()) ) { - return bookbuildingFacade.updatePregnantById(yunBookbuildingAddRequest.getId(), yunBookbuildingAddRequest); + return bookbuildingFacade.updatePregnantById(yunBookbuildingAddRequest.getId(), yunBookbuildingAddRequest,loginState.getId()); } - BaseObjectResponse p = bookbuildingFacade.addPregnantBookbuilding(yunBookbuildingAddRequest); + BaseObjectResponse p = bookbuildingFacade.addPregnantBookbuilding(yunBookbuildingAddRequest,loginState.getId()); return p; } 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 ea49dfb..86d1820 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 @@ -58,7 +58,59 @@ public class AntenatalExaminationFacade { @Autowired private DeleteProcessHandler deleteProcessHandler; + /** + * 修改最后一次产检时间 + * @param hospitalId + * @param id + * @param type 1 初诊 2 复诊 + */ + private void setLashCTimes(String hospitalId,String id,int type){ + + Patients patients = patientsService.findOnePatientById(id); + List list = new ArrayList<>(); + if(type==2){ + AntExQuery antExQuery=new AntExQuery(); + antExQuery.setYn(YnEnums.YES.getId()); + antExQuery.setHospitalId(hospitalId); + antExQuery.setParentId(id); + List antExList= antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); + if(CollectionUtils.isNotEmpty(antExList)){ + for (AntenatalExaminationModel antEx : antExList) { + list.add(antEx.getCheckDate()); + } + } + }else if(type==1) { + AntExChuQuery antExChuQuery=new AntExChuQuery(); + antExChuQuery.setYn(YnEnums.YES.getId()); + antExChuQuery.setHospitalId(hospitalId); + antExChuQuery.setParentId(id); + List antExChu = antenatalExaminationService.queryAntExChu(antExChuQuery.convertToQuery()); + if(CollectionUtils.isNotEmpty(antExChu)){ + for (AntExChuModel antEx : antExChu) { + list.add(antEx.getCheckTime()); + } + } + } + if(CollectionUtils.isNotEmpty(list)){ + Collections.sort(list, new Comparator() { + @Override + public int compare(Date o1, Date o2) { + if (o1 != null && o1.after(o2)) { + return -1; + } + if (o1 != null && o1.before(o2)) { + return 1; + } + return 0; + } + }); + Patients patients1=new Patients(); + patients1.setLastCTime(list.get(0)); + patients1.setId(patients.getId()); + patientsService.updatePatient(patients1); + } + } /** * 增加一条产前检查 * @@ -70,22 +122,27 @@ public class AntenatalExaminationFacade { if (StringUtils.isNotEmpty(antExAddRequest.getId())) { AntenatalExaminationModel antenatalExamination = antExAddRequest.convertToDataModel(); antenatalExamination.setHospitalId(hospitalId); + antenatalExamination.setOperator(userId); antenatalExaminationService.updateOneAnt(antenatalExamination, antExAddRequest.getId()); //修改申请单状态 updateApplyOrder(antenatalExamination, antExAddRequest.getParentId()); - //修改孕妇高危等级 + Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); + + //修改最后一次检查时间 + setLashCTimes(hospitalId,antExAddRequest.getParentId(),2); + patients.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); -// updatePatientRiskLevel(antenatalExamination, patients); patientsService.updatePatient(patients); - + //修改孕妇高危等级 updateLastRisk(antExAddRequest.getParentId()); //修改本院最后一次定义高危 updateLastRhTime(patients.getId(), hospitalId); } else { AntenatalExaminationModel model = antExAddRequest.convertToDataModel(); + model.setOperator(userId); model.setYn(YnEnums.YES.getId()); model.setHospitalId(hospitalId); AntExQuery antExQuery = new AntExQuery(); @@ -104,6 +161,9 @@ public class AntenatalExaminationFacade { } patientsService.updatePatient(patients); antenatalExaminationService.addOneBabyAnt(model); + + //修改最后一次检查时间 + setLashCTimes(hospitalId, antExAddRequest.getParentId(),2); //修改申请单状态 updateApplyOrder(model, antExAddRequest.getParentId()); //修改孕妇高危等级 @@ -111,6 +171,7 @@ public class AntenatalExaminationFacade { updateLastRisk(antExAddRequest.getParentId()); + //修改本院最后一次定义高危 updateLastRhTime(patients.getId(), hospitalId); if (null != patients.getBuildType() && patients.getBuildType() == 3) { @@ -174,6 +235,7 @@ public class AntenatalExaminationFacade { public BaseResponse addOneAnetExChu(AntExcAddRequest excAddRequest, Integer userId) { AntExChuModel antExChuModel = excAddRequest.convertToDataModel(); String hospitalId = autoMatchFacade.getHospitalId(userId); + antExChuModel.setOperator(userId); if (StringUtils.isNotEmpty(antExChuModel.getId()) && StringUtils.isNotEmpty(antExChuModel.getParentId())) { antExChuModel.setHospitalId(hospitalId); antenatalExaminationService.updateAntExChu(antExChuModel, antExChuModel.getId()); @@ -192,6 +254,8 @@ public class AntenatalExaminationFacade { //修改本院最后一次定义高危 updateLastRhTime(patients.getId(), hospitalId); + setLashCTimes(hospitalId,antExChuModel.getParentId(),1); + } else { AntExChuQuery antExChuQuery1 = new AntExChuQuery(); antExChuQuery1.setParentId(excAddRequest.getParentId()); @@ -229,7 +293,7 @@ public class AntenatalExaminationFacade { //修改本院最后一次定义高危 updateLastRhTime(patients.getId(), hospitalId); - + setLashCTimes(hospitalId,antExChuModel.getParentId(),1); if (null != patients.getBuildType() && patients.getBuildType() == 3) { Patients patients1 = new Patients(); patients1.setEnable("1"); @@ -1294,9 +1358,11 @@ public class AntenatalExaminationFacade { if (deleteProcessHandler.deleteAntEx(localAntModel.getPid(), localAntModel.getCheckDate(), hospital, true)) { antenatalExaminationService.updateOneAnt(antEx, antExQueryRequest.getId()); - + //修改最后一次检查时间 AntenatalExaminationModel antenatalExaminationModel = antenatalExaminationService.findOneById(antExQueryRequest.getId()); + setLashCTimes(hospital,antenatalExaminationModel.getParentId(),2); + updateLastRisk(antenatalExaminationModel.getParentId()); } else { @@ -1344,7 +1410,7 @@ public class AntenatalExaminationFacade { antenatalExaminationService.updateAntExChu(antExChuModel, antExQueryRequest.getId()); AntExChuModel antExChuModel1 = antenatalExaminationService.findOne(antExQueryRequest.getId()); - + setLashCTimes(hospital,antExChuModel1.getParentId(),1); updateLastRisk(antExChuModel1.getParentId()); } else { 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 d240a65..8d28c76 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 @@ -104,7 +104,7 @@ public class BookbuildingFacade { * @return */ public BaseObjectResponse addPregnantBookbuilding( - YunBookbuildingAddRequest yunRequest) { + YunBookbuildingAddRequest yunRequest,Integer userId) { BaseObjectResponse br = new BaseObjectResponse(); PatientsQuery patientsQuery = new PatientsQuery(); @@ -226,6 +226,7 @@ public class BookbuildingFacade { patient.setCreated(new Date()); patient.setModified(new Date()); + patient.setOperator(userId); Patients p = yunBookbuildingService.addPregnantBookbuilding(patient); if (p == null || p.getId() == null) @@ -397,7 +398,7 @@ public class BookbuildingFacade { * @param id * @param yunRequest */ - public BaseResponse updatePregnantById(String id, YunBookbuildingAddRequest yunRequest) { + public BaseResponse updatePregnantById(String id, YunBookbuildingAddRequest yunRequest,Integer userId) { BaseResponse br = new BaseResponse(); @@ -509,7 +510,7 @@ public class BookbuildingFacade { } } - + patient.setOperator(userId); yunBookbuildingService.updatePregnant(patient, id); return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); 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 05b6ed2..5ea68c4 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 @@ -136,6 +136,7 @@ public class MatDeliverFacade { } MaternalDeliverModel maternalDeliverModel = deliverAddRequest.convertToDataModel(); //获取到小孩信息 + maternalDeliverModel.setOperator(userId); List list = deliverAddRequest.getBabies(); List babyIds = new ArrayList<>(); String parentId = maternalDeliverModel.getParentId(); @@ -205,7 +206,7 @@ public class MatDeliverFacade { } else if (StringUtils.isNotEmpty(deliverAddRequest.getId()) && StringUtils.isNotEmpty(deliverAddRequest.getParentId())) { MaternalDeliverModel maternalDeliverModel = deliverAddRequest.convertToDataModel(); MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); - + maternalDeliverModel.setOperator(userId); Patients patients2 = patientsService.findOnePatientById(deliverAddRequest.getParentId()); matDeliverQuery.setPid(patients2.getPid()); matDeliverQuery.setYn(YnEnums.YES.getId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 7c12369..8e3ecd4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -200,15 +200,7 @@ public class PatientFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } - /** - * 查询高危孕妇 - * - * @param riskPatientsQueryRequest - * @param isHighRisk 控制是否是高危 - * @param type 控制类型 1孕妇 3产妇 - * @return - */ - public BaseResponse queryHighRisk(RiskPatientsQueryRequest riskPatientsQueryRequest, Boolean isHighRisk, int type, Integer userId, String needPage) { + private PatientsQuery complayRequest(RiskPatientsQueryRequest riskPatientsQueryRequest, Boolean isHighRisk, int type, Integer userId, String needPage) { PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setPhone(riskPatientsQueryRequest.getPhone()); patientsQuery.setCardNo(riskPatientsQueryRequest.getCardNo()); @@ -233,6 +225,26 @@ public class PatientFacade { } + //最后一次检查时间 + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getLastCTime())) { + String nextDateStr = riskPatientsQueryRequest.getLastCTime(); + String[] dates = nextDateStr.split(" - "); + + patientsQuery.setLastCTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + patientsQuery.setLastCTimeEnd(DateUtil.parseYMD(dates[1])); + } + } + //预产期 + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getDueDate())) { + String nextDateStr = riskPatientsQueryRequest.getDueDate(); + String[] dates = nextDateStr.split(" - "); + patientsQuery.setDueDateStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + patientsQuery.setDueDateEnd(DateUtil.parseYMD(dates[1])); + } + } + patientsQuery.setrLevel(riskPatientsQueryRequest.getrLevel()); patientsQuery.setLastMensesStart(riskPatientsQueryRequest.capEnd()); patientsQuery.setLastMensesEnd(riskPatientsQueryRequest.capStart()); @@ -290,6 +302,23 @@ public class PatientFacade { String hospital = autoMatchFacade.getHospitalId(userId); patientsQuery.setHospitalId(hospital); patientsQuery.setNeed(needPage); + return patientsQuery; + } + + + /** + * 查询高危孕妇 + * + * @param riskPatientsQueryRequest + * @param isHighRisk 控制是否是高危 + * @param type 控制类型 1孕妇 3产妇 + * @return + */ + public BaseResponse queryHighRisk(RiskPatientsQueryRequest riskPatientsQueryRequest, Boolean isHighRisk, int type, Integer userId, String needPage) { + //组合请求 + PatientsQuery patientsQuery = complayRequest(riskPatientsQueryRequest, isHighRisk, type, userId, needPage); + + String hospital = autoMatchFacade.getHospitalId(userId); //查询符合条件的孕妇 StopWatch stopWatch = new StopWatch("queryPatient1 -" + hospital); stopWatch.start(); @@ -352,7 +381,7 @@ public class PatientFacade { if (end > patientses.size()) { end = patientses.size(); } - listFuture.add(threadPoolExecutor.submit(new QuanChanPatientWorker(patientses.subList(i, end), hospital, usersService, postReviewService, matDeliverService))); + listFuture.add(threadPoolExecutor.submit(new QuanChanPatientWorker(patientses.subList(i, end), hospital, usersService, postReviewService, matDeliverService,patientsService))); } for (Future f : listFuture) { try { @@ -375,7 +404,7 @@ public class PatientFacade { if (end > patientses.size()) { end = patientses.size(); } - listFuture.add(threadPoolExecutor.submit(new QuanPatientWorker(patientses.subList(i, end), usersService, hospital, antExService, basicConfigService))); + listFuture.add(threadPoolExecutor.submit(new QuanPatientWorker(patientses.subList(i, end), usersService, hospital, antExService, basicConfigService,patientsService))); } for (Future f : listFuture) { try { @@ -403,7 +432,7 @@ public class PatientFacade { if (end > patientses.size()) { end = patientses.size(); } - listFuture.add(threadPoolExecutor.submit(new WorkHR(patientses.subList(i, end), usersService, hospital, basicConfigService, antExService))); + listFuture.add(threadPoolExecutor.submit(new WorkHR(patientses.subList(i, end), usersService, hospital, basicConfigService, antExService,patientsService))); } for (Future f : listFuture) { try { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java index 6317a53..0dc4944 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java @@ -79,6 +79,7 @@ public class PostReviewFacade { Patients patients1 = patientsService.findOnePatientById(postReviewRequest.getParentId()); String hospital= autoMatchFacade.getHospitalId(userId); PostReviewModel postReviewModel = postReviewRequest.convertToDataModel(); + postReviewModel.setOperator(userId); //判断是否是同一个医院 if(!patients1.getHospitalId().equals(hospital)){ patients1.setId(null); @@ -105,8 +106,22 @@ public class PostReviewFacade { patientsService.updatePatient(patients); } postReviewModel.setPid(patients.getPid()); + postReviewService.addPostReview(postReviewModel); + if(null!=patients1.getPostViewTimes()){ + Patients patients2=new Patients(); + patients2.setPostViewTimes(patients1.getPostViewTimes()+1); + patients2.setId(patients1.getId()); + patientsService.updatePatient(patients2); + }else{ + Patients patients2=new Patients(); + patients2.setPostViewTimes(1); + patients2.setId(patients1.getId()); + patientsService.updatePatient(patients2); + } + + if (null != patients.getBuildType() && patients.getBuildType() == 3) { ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); @@ -295,7 +310,27 @@ public class PostReviewFacade { PostReviewModel postReviewModel=new PostReviewModel(); postReviewModel.setYn(YnEnums.NO.getId()); postReviewModel.setId(id); - postReviewService.updatePostById(postReviewModel,id); + postReviewModel.setOperator(userId); + postReviewService.updatePostById(postReviewModel, id); + + + PostReviewModel postReviewModel1 = postReviewService.findOneById(id); + if(null!=postReviewModel1){ + Patients patients=patientsService.findOnePatientById(postReviewModel1.getParentId()); + if(null!=patients){ + if(null!=patients.getPostViewTimes()){ + Patients patients2=new Patients(); + patients2.setPostViewTimes(patients.getPostViewTimes()+1); + patients2.setId(patients.getId()); + patientsService.updatePatient(patients2); + }else{ + Patients patients2=new Patients(); + patients2.setPostViewTimes(list.size()); + patients2.setId(patients.getId()); + patientsService.updatePatient(patients2); + } + } + } return new BaseResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS); }else{ return new BaseResponse().setErrorcode(ErrorCodeConstants.BUSINESS_ERROR).setErrormsg("当前复查记录不是本院最新的复查记录,不能删除"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java index 75991ad..e36e3ef 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java @@ -65,10 +65,31 @@ public class RiskPatientsQueryRequest extends BasePageQueryRequest { private String buildTime; //最后一次医院定义的高危 private String lastRhTime; + //本院最后一次产检时间 + private String lastCTime; + //预产期 + private String dueDate; // 0 高危孕妇 1 全部孕妇 2全部产妇 private Integer queryType; + + public String getLastCTime() { + return lastCTime; + } + + public void setLastCTime(String lastCTime) { + this.lastCTime = lastCTime; + } + + public String getDueDate() { + return dueDate; + } + + public void setDueDate(String dueDate) { + this.dueDate = dueDate; + } + public String getLastRhTime() { return lastRhTime; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java index a01a4be..46e9a7d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java @@ -45,6 +45,16 @@ public class QuanChanResult implements IBasicResultConvert> { private static final Logger logger = LoggerFactory.getLogger(PatientFacade.class); private List patientses; + private PatientsService patientsService; + private UsersService usersService; private PostReviewService postReviewService; @@ -52,10 +51,11 @@ public class QuanChanPatientWorker implements Callable> { String hospital, UsersService usersService, PostReviewService postReviewService, - MatDeliverService matDeliverService) { + MatDeliverService matDeliverService,PatientsService patientsService) { this.patientses = patientses; this.matDeliverService = matDeliverService; this.postReviewService = postReviewService; + this.patientsService=patientsService; this.hospital = hospital; this.usersService = usersService; } @@ -111,6 +111,13 @@ public class QuanChanPatientWorker implements Callable> { withList = postReviewService.findWithList(postReviewQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); if (CollectionUtils.isNotEmpty(withList)) { chanResult.setcHTimes(withList.size()); + if(null==patients.getPostViewTimes()){ + Patients patients1=new Patients(); + patients1.setPostViewTimes(withList.size()); + patients1.setId(patients.getId()); + patientsService.updatePatient(patients1); + } + if (StringUtils.isNotEmpty(withList.get(0).getProdDoctor())) { Users users = usersService.getUsers(NumberUtils.toInt(withList.get(0).getProdDoctor())); if (null != users) { @@ -123,6 +130,8 @@ public class QuanChanPatientWorker implements Callable> { chanResult.setServiceType(ServiceTypeEnums.getTitleById(patients.getServiceType())); chanResult.setServiceStatus(ServiceStatusEnums.getNameById(patients.getServiceStatus())); chanResult.setNextCheckTime(nextCheckTime); + //操作者 +// chanResult.setOperator(); data.add(chanResult); logger.debug(stopWatch.toString()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanPatientWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanPatientWorker.java index afeb4e6..bf9b846 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanPatientWorker.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanPatientWorker.java @@ -2,6 +2,7 @@ package com.lyms.platform.operate.web.worker; import com.lyms.platform.biz.service.AntenatalExaminationService; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.enums.RiskDefaultTypeEnum; import com.lyms.platform.common.enums.ServiceStatusEnums; import com.lyms.platform.common.enums.ServiceTypeEnums; @@ -28,10 +29,7 @@ import org.slf4j.LoggerFactory; import org.springframework.data.domain.Sort; import org.springframework.util.StopWatch; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.Callable; /** @@ -47,17 +45,19 @@ public class QuanPatientWorker implements Callable> { private UsersService usersService; private AntenatalExaminationService antExService; private BasicConfigService basicConfigService; + private PatientsService patientsService; public QuanPatientWorker(List patientses, UsersService usersService, String hospital, AntenatalExaminationService antExService, - BasicConfigService basicConfigService) { + BasicConfigService basicConfigService,PatientsService patientsService) { this.patientses = patientses; this.usersService = usersService; this.antExService = antExService; this.hospital = hospital; this.basicConfigService = basicConfigService; + this.patientsService=patientsService; } @Override @@ -110,6 +110,31 @@ public class QuanPatientWorker implements Callable> { stopWatch.start("query antex list"); List examinationModels = antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); if (CollectionUtils.isNotEmpty(examinationModels)) { + //设置最后一次检查时间 + if (null == patients.getLastCTime()) { + List list = new ArrayList<>(); + for (AntenatalExaminationModel antEx : examinationModels) { + list.add(antEx.getCheckDate()); + } + + Collections.sort(list, new Comparator() { + @Override + public int compare(Date o1, Date o2) { + if (o1 != null && o1.after(o2)) { + return -1; + } + if (o1 != null && o1.before(o2)) { + return 1; + } + return 0; + } + }); + Patients patients1=new Patients(); + patients1.setId(patients.getId()); + patients1.setLastCTime(list.get(0)); + patientsService.updatePatient(patients1); + } + nextCheckTime = DateUtil.getyyyy_MM_dd(examinationModels.get(0).getNextCheckTime()); if (StringUtils.isNotEmpty(examinationModels.get(0).getCheckDoctor())) { @@ -162,7 +187,7 @@ public class QuanPatientWorker implements Callable> { if (name.indexOf("预警") > -1) { name = name.replace("预警", ""); } - map.put("name",name); + map.put("name", name); map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); level.add(map); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java index 576f056..9e83f77 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java @@ -2,6 +2,7 @@ package com.lyms.platform.operate.web.worker; import com.lyms.platform.biz.service.AntenatalExaminationService; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.enums.RiskDefaultTypeEnum; import com.lyms.platform.common.enums.ServiceStatusEnums; import com.lyms.platform.common.enums.ServiceTypeEnums; @@ -28,10 +29,7 @@ import org.slf4j.LoggerFactory; import org.springframework.data.domain.Sort; import org.springframework.util.StopWatch; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.Callable; /** @@ -48,15 +46,17 @@ public class WorkHR implements Callable> { private AntenatalExaminationService antExService; private UsersService usersService; private String hospital; + private PatientsService patientsService; public WorkHR(List patientses, UsersService usersService, String hospital, BasicConfigService basicConfigService, - AntenatalExaminationService antExService) { + AntenatalExaminationService antExService,PatientsService patientsService) { this.patientses = patientses; this.usersService = usersService; this.hospital = hospital; this.basicConfigService = basicConfigService; this.antExService = antExService; + this.patientsService=patientsService; } public List call() { @@ -106,6 +106,32 @@ public class WorkHR implements Callable> { List examinationModels = antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); if (CollectionUtils.isNotEmpty(examinationModels)) { + + //设置最后一次检查时间 + if (null == patients.getLastCTime()) { + List list = new ArrayList<>(); + for (AntenatalExaminationModel antEx : examinationModels) { + list.add(antEx.getCheckDate()); + } + + Collections.sort(list, new Comparator() { + @Override + public int compare(Date o1, Date o2) { + if (o1 != null && o1.after(o2)) { + return -1; + } + if (o1 != null && o1.before(o2)) { + return 1; + } + return 0; + } + }); + Patients patients1=new Patients(); + patients1.setId(patients.getId()); + patients1.setLastCTime(list.get(0)); + patientsService.updatePatient(patients1); + } + if (NumberUtils.isNumber(examinationModels.get(0).getCheckDoctor())) { Users users = usersService.getUsers(NumberUtils.toInt(examinationModels.get(0).getCheckDoctor())); if (null != users) {