From 13d1150116db3578f5a8dd8576bba882cc2231f8 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Sun, 4 Jun 2023 10:15:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E6=A1=A3=E6=A1=88=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mainOrm/master/CouponMapper.xml | 2 +- .../web/controller/OrganizationController.java | 5 + .../platform/operate/web/facade/PatientFacade.java | 5 +- .../operate/web/result/QuanPatientsResult.java | 11 ++ .../operate/web/result/RiskPatientsResult.java | 11 ++ .../operate/web/service/SyncDataTaskService.java | 2 +- .../operate/web/worker/QuanChanPatientWorker.java | 17 ++- .../operate/web/worker/QuanPatientWorker.java | 135 ++++----------------- .../lyms/platform/operate/web/worker/WorkHR.java | 7 ++ 9 files changed, 81 insertions(+), 114 deletions(-) diff --git a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml index 610f6b5..c5d578e 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml @@ -1495,7 +1495,7 @@ diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java index 407a10e..43d00eb 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java @@ -279,6 +279,11 @@ public class OrganizationController extends BaseController { @RequestParam(value = "areaId", required = false) String aId) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); Users users = usersService.getUsers(loginState.getId()); + //定制秦皇岛区域影响了承德区域 + Organization org = organizationService.getOrganization(users.getOrgId()); + if ("9".equals(org.getCityId())){ + isMaternityManagement = null; + } List areaId = autoMatchFacade.matchAreaOrgId(loginState.getId()); List data = new ArrayList<>(); 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 ce58a83..e52f0fc 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 @@ -1681,7 +1681,10 @@ public class PatientFacade extends BaseServiceImpl { if (end > patientses.size()) { end = patientses.size(); } - listFuture.add(commonThreadPool.submit(new QuanChanPatientWorker(patientses.subList(i, end), hospital, usersService, postReviewService, matDeliverService, patientsService, organizationService, basicConfigService, antExService, dischargeAbstractMotherService, matDeliverFollowService))); + listFuture.add(commonThreadPool.submit(new QuanChanPatientWorker(patientses.subList(i, end), + hospital, usersService, postReviewService, matDeliverService, patientsService, + organizationService, basicConfigService, antExService, dischargeAbstractMotherService, + matDeliverFollowService,couponService))); } for (Future f : listFuture) { try { 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 bb1cd93..2ece929 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 @@ -119,6 +119,17 @@ public class QuanPatientsResult implements IBasicResultConvert> { private BasicConfigService basicConfigService; private DischargeAbstractMotherService dischargeAbstractMotherService; private MatDeliverFollowService matDeliverFollowService; + private CouponService couponService; public QuanChanPatientWorker(List patientses, String hospital, @@ -62,7 +65,9 @@ public class QuanChanPatientWorker implements Callable > { MatDeliverService matDeliverService, PatientsService patientsService, OrganizationService organizationService, BasicConfigService basicConfigService, AntenatalExaminationService antExService, DischargeAbstractMotherService dischargeAbstractMotherService, - MatDeliverFollowService matDeliverFollowService) { + MatDeliverFollowService matDeliverFollowService, + CouponService couponService) { + this.couponService = couponService; this.patientses = patientses; this.matDeliverService = matDeliverService; this.postReviewService = postReviewService; @@ -182,6 +187,14 @@ public class QuanChanPatientWorker implements Callable > { int ichu = CollectionUtils.isEmpty(chu) ? 0 : chu.size(); chanResult.setCjTimes(ichu + i); + try { + //优惠券发放医院 + String coupHospital = couponService.getCouponHospital(patients.getPid()); + chanResult.setCouponCommunity(coupHospital); + } catch (Exception e) { + chanResult.setCouponCommunity(""); + } + //出院小结 DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); @@ -233,7 +246,7 @@ public class QuanChanPatientWorker implements Callable > { List basicConfigList = basicConfigService.queryBasicConfig(basicConfigQuery); chanResult.setLiveType(basicConfigList.get(0).getName()); } - chanResult.setbTime(DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate())); + chanResult.setbTime(DateUtil.getyyyy_MM_dd(patients.getFirstCheckTime())); //注册地址 chanResult.setRegisterAddr(CommonsHelper.getResidence(patients.getProvinceId(), patients.getCityId(), patients.getAreaId(), patients.getStreetId(), patients.getAddress(), basicConfigService)); chanResult.setAddr(CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService)); 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 9cfa3fa..27a5371 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 @@ -31,6 +31,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.domain.Sort; import org.springframework.util.StopWatch; import java.util.*; @@ -81,14 +82,7 @@ public class QuanPatientWorker implements Callable> { try { StopWatch stopWatch = new StopWatch("QuanPatientWorker -" + patients.getId()); QuanPatientsResult quanPatientsResult = new QuanPatientsResult(); - /*******************************开始**************************/ - /** - * 秦皇岛需求 在区域妇幼管理---全部孕妇管理---全部产妇管理、全部孕妇管理两个界面,首次建档医院后面加初诊日期一栏列表 - */ - if (patients.getFirstCheckTime() != null){ - quanPatientsResult.setFirstCheckTime(DateUtil.getyyyy_MM_dd(patients.getFirstCheckTime())); - } - /****************************结束*****************************/ + quanPatientsResult.setVcCardNo(patients.getVcCardNo()); quanPatientsResult.setCardNo(patients.getCardNo()); quanPatientsResult.setRemark(patients.getMremark()); @@ -133,64 +127,31 @@ public class QuanPatientWorker implements Callable> { String screenStr = basicConfigService.getScreenResult(patients.getScreenResult()); quanPatientsResult.setScreenResult(screenStr); quanPatientsResult.setbTime(DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate())); - stopWatch.start("query ant count"); + + + //查询当前记录的初诊 antExChuQuery1.setPid(patients.getPid()); - //antExChuQuery1.setParentId(patients.getId()); - //增加查询本次产程条数 antExChuQuery1.setStart(patients.getLastMenses()); - List chu = antExService.queryAntExChu(antExChuQuery1.convertToQuery()); - //复诊次数 - List ant = null; - if (CollectionUtils.isNotEmpty(chu)) { - for(AntExChuModel a : chu){//唐山滦县导出判断初诊是否是本院 - if(StringUtils.isNotEmpty(a.getHospitalId())){ - if(a.getHospitalId().equals(hospital)){ - quanPatientsResult.setYi("本院"); - }else{ - quanPatientsResult.setYi("外院"); - } - break; - } - } - ant = antExService.queryAntenatalExamination(antExQuery.convertToQuery()); - } - //唐山滦县判断复诊是否是本院 - if(CollectionUtils.isNotEmpty(ant)){ - for(int k = 0;k < ant.size();k++){ - if(k>=4){ - break; - } - if(0==k){ - if(ant.get(k) != null && ant.get(k).getHospitalId() != null && ant.get(k).getHospitalId().equals(hospital)){ - quanPatientsResult.setEr("本院"); - }else{ - quanPatientsResult.setEr("外院"); - } - }else if(1==k){ - if(ant.get(k) != null && ant.get(k).getHospitalId() != null && ant.get(k).getHospitalId().equals(hospital)){ - quanPatientsResult.setSan("本院"); - }else{ - quanPatientsResult.setSan("外院"); - } - }else if(2==k){ - if(ant.get(k) != null && ant.get(k).getHospitalId() != null && ant.get(k).getHospitalId().equals(hospital)){ - quanPatientsResult.setSi("本院"); - }else{ - quanPatientsResult.setSi("外院"); - } - }else if(3==k){ - if(ant.get(k) != null && ant.get(k).getHospitalId() != null && ant.get(k).getHospitalId().equals(hospital)){ - quanPatientsResult.setWu("本院"); - }else{ - quanPatientsResult.setWu("外院"); - } - } + List chu = antExService.queryAntExChu(antExChuQuery1); + + + antExQuery.setStart(patients.getLastMenses()); + antExQuery.setPid(patients.getPid()); + //初诊为空就不用查复诊 + List ant =null; + if(CollectionUtils.isNotEmpty(chu)){ + if (chu.get(0).getCheckTime() != null){ + quanPatientsResult.setFirstCheckTime(DateUtil.getyyyy_MM_dd(chu.get(0).getCheckTime())); } + ant=antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); } //系统复诊次数 int i = 0; if (CollectionUtils.isNotEmpty(ant)) { + if (ant.get(0).getCheckDate() != null){ + quanPatientsResult.setLastCheckTime(DateUtil.getyyyy_MM_dd(ant.get(0).getCheckDate())); + } //复诊次数 i = ant.size(); sort(ant); @@ -222,59 +183,18 @@ public class QuanPatientWorker implements Callable> { } } } - //统计产检次数 - List patientIds = new ArrayList <>(); - patientIds.add(patients.getId()); - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setSource(patients.getId()); - patientsQuery.setBuildType(1); - if (patients.getPliveTypeId()!=null){ - BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); - basicConfigQuery.setId(patients.getPliveTypeId()); - - //所有数据 - List basicConfigList = basicConfigService.queryBasicConfig(basicConfigQuery); - patientsQuery.setLiveType(basicConfigList.get(0).getName()); - } - List patients1 = patientsService.queryPatient(patientsQuery); - if (CollectionUtils.isNotEmpty(patients1)) { - for (Patients ps : patients1) { - patientIds.add(ps.getPid()); - } - } - int chuzhen = 0; - int fuzhen = 0; - //初诊记录 - AntExChuQuery antExChuQuery = new AntExChuQuery(); - antExChuQuery.setYn(YnEnums.YES.getId()); - antExChuQuery.setParentIds(patientIds); - List antExChuModels = antExService.queryAntExChu(antExChuQuery); - if (CollectionUtils.isNotEmpty(antExChuModels)) { - chuzhen = antExChuModels.size(); - } - //复诊记录 - AntExQuery antExQuery1 = new AntExQuery(); - antExQuery1.setYn(YnEnums.YES.getId()); - antExQuery1.setParentIds(patientIds); - List list1 = antExService.queryAntenatalExamination(antExQuery1.convertToQuery()); - if (CollectionUtils.isNotEmpty(list1)) { - fuzhen = list1.size(); - } - quanPatientsResult.setcTimes(chuzhen + fuzhen); - antExQuery.setHospitalId(hospital); - //本院初诊 + //初诊次数 + int b = CollectionUtils.isEmpty(chu)?0:chu.size(); + //本院的初诊记录 int chi = countAntChu(chu, hospital); - - //本院复诊 + //本院的复诊记录 int chb = capLocalHospital(hospital, ant); + + quanPatientsResult.setcTimes(i + b); quanPatientsResult.setcHTimes(chi + chb); - quanPatientsResult.setrFactor(patientsQuery.getrFactor()); - stopWatch.stop(); + //下次时间 String nextCheckTime = ""; - stopWatch.start("query antex list"); - - if (null != patients.getNextCheckTime()) { nextCheckTime = DateUtil.getyyyy_MM_dd(patients.getNextCheckTime()); } @@ -292,9 +212,6 @@ public class QuanPatientWorker implements Callable> { } } - - stopWatch.stop(); - stopWatch.start("query basicconfig"); //注册地址 quanPatientsResult.setRegisterAddr(CommonsHelper.getResidence(patients.getProvinceId(), patients.getCityId(), patients.getAreaId(), patients.getStreetId(), patients.getAddress(), basicConfigService)); quanPatientsResult.setAddr(CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService)); 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 dd3bbb7..ae26828 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 @@ -114,6 +114,7 @@ public class WorkHR implements Callable> { antExQuery.setStart(patients.getLastMenses()); antExQuery.setPid(patients.getPid()); antExQuery.setYn(YnEnums.YES.getId()); + antExChuQuery1.setStart(patients.getLastMenses()); antExChuQuery1.setPid(patients.getPid()); antExChuQuery1.setYn(YnEnums.YES.getId()); @@ -126,10 +127,16 @@ public class WorkHR implements Callable> { stopWatch.start("query antex list"); ant=antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); stopWatch.stop(); + if (chu.get(0).getCheckTime() != null){ + riskPatientsResult.setFirstCheckTime(DateUtil.getyyyy_MM_dd(chu.get(0).getCheckTime())); + } } int i = 0; if (CollectionUtils.isNotEmpty(ant)) { + if (ant.get(0).getCheckDate() != null){ + riskPatientsResult.setLastCheckTime(DateUtil.getyyyy_MM_dd(ant.get(0).getCheckDate())); + } //复诊次数 i = ant.size(); for (AntenatalExaminationModel a : ant) { -- 1.8.3.1