From ebe3134249067fd00db929063a335d4f4b4fc4ee Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 25 Dec 2020 15:33:18 +0800 Subject: [PATCH] update --- .../main/java/com/lyms/platform/pojo/Patients.java | 22 +++++++ .../com/lyms/platform/query/PatientsQuery.java | 52 ++++++++++++++++ .../operate/web/controller/TestController.java | 69 ++++++++++++++++++++-- .../web/facade/AntenatalExaminationFacade.java | 2 + .../platform/operate/web/facade/PatientFacade.java | 12 ++++ .../web/request/RiskPatientsQueryRequest.java | 21 +++++++ .../operate/web/result/QuanPatientsResult.java | 25 ++++++++ .../operate/web/worker/QuanPatientWorker.java | 15 +++++ 8 files changed, 213 insertions(+), 5 deletions(-) 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 1a13281..e0ce0fe 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 @@ -400,6 +400,28 @@ public class Patients extends BaseModel { //丈夫证件人工核验人员名称 private String husVerifName; + + //初诊医生id + private String firstCheckId; + //初诊时间 + private Date firstCheckTime; + + public String getFirstCheckId() { + return firstCheckId; + } + + public void setFirstCheckId(String firstCheckId) { + this.firstCheckId = firstCheckId; + } + + public Date getFirstCheckTime() { + return firstCheckTime; + } + + public void setFirstCheckTime(Date firstCheckTime) { + this.firstCheckTime = firstCheckTime; + } + public String getPatientVerifType() { return patientVerifType; } 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 3df5fcd..6c4ee8f 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 @@ -385,6 +385,37 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { //空或者1为正常 2为补录 private String normal; + //初诊医生id + private String firstCheckId; + //初诊时间 + private Date firstCheckTimeStart; + private Date firstCheckTimeEnd; + + + public String getFirstCheckId() { + return firstCheckId; + } + + public void setFirstCheckId(String firstCheckId) { + this.firstCheckId = firstCheckId; + } + + public Date getFirstCheckTimeStart() { + return firstCheckTimeStart; + } + + public void setFirstCheckTimeStart(Date firstCheckTimeStart) { + this.firstCheckTimeStart = firstCheckTimeStart; + } + + public Date getFirstCheckTimeEnd() { + return firstCheckTimeEnd; + } + + public void setFirstCheckTimeEnd(Date firstCheckTimeEnd) { + this.firstCheckTimeEnd = firstCheckTimeEnd; + } + public String getNormal() { return normal; } @@ -746,6 +777,10 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { if (null != blNum) { condition = condition.and("blNum", blNum, MongoOper.IS); } + if (null != firstCheckId) { + condition = condition.and("firstCheckId", firstCheckId, MongoOper.IS); + } + Criteria c1 = null; @@ -1022,6 +1057,23 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { } + + if (null != firstCheckTimeStart) { + if (null != c1) { + c1 = c1.and("firstCheckTime").gte(firstCheckTimeStart); + } else { + c1 = Criteria.where("firstCheckTime").gte(firstCheckTimeStart); + } + } + + if (null != firstCheckTimeEnd) { + if (null != c1) { + c1 = c1.lte(firstCheckTimeEnd); + } else { + c1 = Criteria.where("firstCheckTime").lte(firstCheckTimeEnd); + } + } + if (null != buildDaysStart) { if (null != c1) { c1 = c1.and("buildDays").gte(buildDaysStart); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index ec480ce..246eba2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -935,6 +935,11 @@ public class TestController extends BaseController { return "syncPatNextTime finish"; } + + + + + /** * @auther HuJiaqi * @createTime 2016年12月21日 15时56分 @@ -4092,36 +4097,90 @@ public class TestController extends BaseController { @ResponseBody @RequestMapping(value = "/syncAntexc", method = RequestMethod.GET) public String syncAntexc(@RequestParam(required = false) Date startDate,@RequestParam(required = false) Date endDate) { - patientSyncMysqlFacade.syncAntexc(startDate,endDate); + patientSyncMysqlFacade.syncAntexc(startDate, endDate); return "success"; } @ResponseBody @RequestMapping(value = "/syncAntex", method = RequestMethod.GET) public String syncAntex(@RequestParam(required = false) Date startDate,@RequestParam(required = false) Date endDate) { - patientSyncMysqlFacade.syncAntex(startDate,endDate); + patientSyncMysqlFacade.syncAntex(startDate, endDate); return "success"; } @ResponseBody @RequestMapping(value = "/syncMatdeliver", method = RequestMethod.GET) public String syncMatdeliver(@RequestParam(required = false) Date startDate,@RequestParam(required = false) Date endDate) { - patientSyncMysqlFacade.syncMatdeliver(startDate,endDate); + patientSyncMysqlFacade.syncMatdeliver(startDate, endDate); return "success"; } @ResponseBody @RequestMapping(value = "/syncBaby", method = RequestMethod.GET) public String syncBaby(@RequestParam(required = false) Date startDate,@RequestParam(required = false) Date endDate) { - patientSyncMysqlFacade.syncBaby(startDate,endDate); + patientSyncMysqlFacade.syncBaby(startDate, endDate); return "success"; } @ResponseBody @RequestMapping(value = "/syncBabyCheck", method = RequestMethod.GET) public String syncBabyCheck(@RequestParam(required = false) Date startDate,@RequestParam(required = false) Date endDate) { - patientSyncMysqlFacade.syncBabyCheck(startDate,endDate); + patientSyncMysqlFacade.syncBabyCheck(startDate, endDate); return "syncBabyCheck"; } + + /** + * 修改初诊时间冗余到patients + * + * @param hid + * @return + */ + @RequestMapping(value = "/syncPatFirstTime", method = RequestMethod.GET) + @ResponseBody + public String syncPatFirstTime(@RequestParam(required = true) String hid) { + PatientsQuery patientQuery = new PatientsQuery(); + patientQuery.setYn(YnEnums.YES.getId()); + patientQuery.setHospitalId(hid); + patientQuery.setType(1); + List patientses = patientsService.queryPatient(patientQuery); + int batchSize = 1000; + int end = 0; + for (int i = 0; i < patientses.size(); i += batchSize) { + end = (end + batchSize); + if (end > patientses.size()) { + end = patientses.size(); + } + System.out.println("start:" + i + ",end:" + end); + final List tempList = patientses.subList(i, end); + new Thread(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) { + for (Patients pat : tempList) { + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setYn(YnEnums.YES.getId()); + antExChuQuery.setHospitalId(pat.getHospitalId()); + antExChuQuery.setParentId(pat.getId()); + List chus = antenatalExaminationService.queryAntExChu(antExChuQuery); + if (CollectionUtils.isNotEmpty(chus)) { + AntExChuModel chu = chus.get(0); + if (chu != null) { + Date firstCheckTime = chu.getCheckTime(); + String checkDoctor = chu.getProdDoctor(); + pat.setFirstCheckTime(firstCheckTime); + pat.setFirstCheckId(checkDoctor); + patientsService.updatePatient(pat); + } + + } + } + } + } + }).start(); + } + + return "syncPatFirstTime finish"; + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 4f7d015..71d1524 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 @@ -1153,6 +1153,8 @@ public class AntenatalExaminationFacade { if (excAddRequest.getIsSendMsg()) { patients.setSendMsgTime(new Date()); } + patients.setFirstCheckId(antExChuModel.getProdDoctor()); + patients.setFirstCheckTime(antExChuModel.getCheckTime()); //本院就诊卡号 patients.setVcCardNo(excAddRequest.getVcCardNo()); patients.setLastCheckEmployeeId(excAddRequest.getProdDoctor()); 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 54bfc44..d1044fd 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 @@ -252,6 +252,7 @@ public class PatientFacade { patientsQuery.setNotEnable(riskPatientsQueryRequest.getNotEnable()); patientsQuery.setNormal(riskPatientsQueryRequest.getNormal()); patientsQuery.setLiveType(riskPatientsQueryRequest.getLiveType()); + patientsQuery.setFirstCheckId(riskPatientsQueryRequest.getFirstCheckId()); //乡镇卫生院查询条件 if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getTownOrgId())) { patientsQuery.setTownOrgId(riskPatientsQueryRequest.getTownOrgId()); @@ -314,6 +315,17 @@ public class PatientFacade { patientsQuery.setLastCTimeEnd(DateUtil.parseYMD(dates[1])); } } + + //初诊时间 + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getFirstCheckTime())) { + String firstCheckTime = riskPatientsQueryRequest.getFirstCheckTime(); + String[] dates = firstCheckTime.split(" - "); + patientsQuery.setFirstCheckTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + patientsQuery.setFirstCheckTimeEnd(DateUtil.parseYMD(dates[1])); + } + } + //预产期 if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getDueDate())) { String nextDateStr = riskPatientsQueryRequest.getDueDate(); 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 6f0d356..930ef15 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 @@ -177,6 +177,27 @@ public class RiskPatientsQueryRequest extends BasePageQueryRequest { //空或者1为正常 2为补录 private String normal; + //初诊医生id + private String firstCheckId; + //初诊时间 + private String firstCheckTime; + + public String getFirstCheckId() { + return firstCheckId; + } + + public void setFirstCheckId(String firstCheckId) { + this.firstCheckId = firstCheckId; + } + + public String getFirstCheckTime() { + return firstCheckTime; + } + + public void setFirstCheckTime(String firstCheckTime) { + this.firstCheckTime = firstCheckTime; + } + public String getNormal() { return normal; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanPatientsResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanPatientsResult.java index 39c5f71..549db3c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanPatientsResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanPatientsResult.java @@ -83,6 +83,27 @@ public class QuanPatientsResult implements IBasicResultConvert> { quanPatientsResult.setlName(patients.getBookbuildingDoctor()); } } + + if (StringUtils.isNotEmpty(patients.getFirstCheckId())) { + if (NumberUtils.isNumber(patients.getFirstCheckId())) { + Users users = usersService.getUsers(NumberUtils.toInt(patients.getFirstCheckId())); + if (users != null) + { + quanPatientsResult.setFirstCheckDoctor(users.getName()); + } + } + } + else + { + quanPatientsResult.setFirstCheckDoctor(""); + } + //筛查结果 String screenStr = basicConfigService.getScreenResult(patients.getScreenResult()); quanPatientsResult.setScreenResult(screenStr); -- 1.8.3.1