Commit 13d1150116db3578f5a8dd8576bba882cc2231f8
1 parent
ae3d0a58b7
Exists in
master
and in
3 other branches
区域档案管理
Showing 9 changed files with 81 additions and 114 deletions
- platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanPatientsResult.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskPatientsResult.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanChanPatientWorker.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanPatientWorker.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java
platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml
View file @
13d1150
| ... | ... | @@ -1495,7 +1495,7 @@ |
| 1495 | 1495 | |
| 1496 | 1496 | <select id="getCouponHospital" parameterType="string" resultType="string"> |
| 1497 | 1497 | SELECT DISTINCT(o.name) as cname from coupon_info c LEFT JOIN organization o |
| 1498 | - on c.create_hospital_id=o.id where c.user_id=#{userId} | |
| 1498 | + on c.create_hospital_id=o.id where c.user_id=#{userId} and c.create_date > DATE_SUB(SYSDATE(), interval 2 year) | |
| 1499 | 1499 | and c.create_date >= DATE_SUB(NOW(), interval 10 MONTH) |
| 1500 | 1500 | </select> |
| 1501 | 1501 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java
View file @
13d1150
| ... | ... | @@ -279,6 +279,11 @@ |
| 279 | 279 | @RequestParam(value = "areaId", required = false) String aId) { |
| 280 | 280 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
| 281 | 281 | Users users = usersService.getUsers(loginState.getId()); |
| 282 | + //定制秦皇岛区域影响了承德区域 | |
| 283 | + Organization org = organizationService.getOrganization(users.getOrgId()); | |
| 284 | + if ("9".equals(org.getCityId())){ | |
| 285 | + isMaternityManagement = null; | |
| 286 | + } | |
| 282 | 287 | |
| 283 | 288 | List<Integer> areaId = autoMatchFacade.matchAreaOrgId(loginState.getId()); |
| 284 | 289 | List<Object> data = new ArrayList<>(); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java
View file @
13d1150
| ... | ... | @@ -1681,7 +1681,10 @@ |
| 1681 | 1681 | if (end > patientses.size()) { |
| 1682 | 1682 | end = patientses.size(); |
| 1683 | 1683 | } |
| 1684 | - listFuture.add(commonThreadPool.submit(new QuanChanPatientWorker(patientses.subList(i, end), hospital, usersService, postReviewService, matDeliverService, patientsService, organizationService, basicConfigService, antExService, dischargeAbstractMotherService, matDeliverFollowService))); | |
| 1684 | + listFuture.add(commonThreadPool.submit(new QuanChanPatientWorker(patientses.subList(i, end), | |
| 1685 | + hospital, usersService, postReviewService, matDeliverService, patientsService, | |
| 1686 | + organizationService, basicConfigService, antExService, dischargeAbstractMotherService, | |
| 1687 | + matDeliverFollowService,couponService))); | |
| 1685 | 1688 | } |
| 1686 | 1689 | for (Future f : listFuture) { |
| 1687 | 1690 | try { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanPatientsResult.java
View file @
13d1150
| ... | ... | @@ -119,6 +119,17 @@ |
| 119 | 119 | //领劵社区 |
| 120 | 120 | private String couponCommunity; |
| 121 | 121 | |
| 122 | + //最后检查时间 | |
| 123 | + private String lastCheckTime; | |
| 124 | + | |
| 125 | + public String getLastCheckTime() { | |
| 126 | + return lastCheckTime; | |
| 127 | + } | |
| 128 | + | |
| 129 | + public void setLastCheckTime(String lastCheckTime) { | |
| 130 | + this.lastCheckTime = lastCheckTime; | |
| 131 | + } | |
| 132 | + | |
| 122 | 133 | public String getrFactor() { |
| 123 | 134 | return rFactor; |
| 124 | 135 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskPatientsResult.java
View file @
13d1150
| ... | ... | @@ -100,6 +100,17 @@ |
| 100 | 100 | //初诊时间 |
| 101 | 101 | private String firstCheckTime; |
| 102 | 102 | |
| 103 | + //最后检查时间 | |
| 104 | + private String lastCheckTime; | |
| 105 | + | |
| 106 | + public String getLastCheckTime() { | |
| 107 | + return lastCheckTime; | |
| 108 | + } | |
| 109 | + | |
| 110 | + public void setLastCheckTime(String lastCheckTime) { | |
| 111 | + this.lastCheckTime = lastCheckTime; | |
| 112 | + } | |
| 113 | + | |
| 103 | 114 | public String getCouponCommunity() { |
| 104 | 115 | return couponCommunity; |
| 105 | 116 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java
View file @
13d1150
| ... | ... | @@ -60,7 +60,7 @@ |
| 60 | 60 | urls.put("area-rongcheng-api.healthbaby.com.cn:12356","荣成"); |
| 61 | 61 | urls.put("area-zhucheng-api.healthbaby.com.cn:12356","诸城市妇幼保健院"); |
| 62 | 62 | urls.put("area-weihai-api.healthbaby.com.cn:12356","威海市妇幼"); |
| 63 | - //urls.put("area-chengde-api.healthbaby.com.cn:12356","承德"); | |
| 63 | + urls.put("area-chengde-api.healthbaby.com.cn:12356","承德"); | |
| 64 | 64 | //urls.put("area-lingcheng-api.healthbaby.com.cn:12356","陵城"); |
| 65 | 65 | } |
| 66 | 66 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanChanPatientWorker.java
View file @
13d1150
| ... | ... | @@ -12,7 +12,9 @@ |
| 12 | 12 | import com.lyms.platform.operate.web.result.HighScoreResult; |
| 13 | 13 | import com.lyms.platform.operate.web.result.QuanChanResult; |
| 14 | 14 | import com.lyms.platform.operate.web.utils.CommonsHelper; |
| 15 | +import com.lyms.platform.permission.model.Organization; | |
| 15 | 16 | import com.lyms.platform.permission.model.Users; |
| 17 | +import com.lyms.platform.permission.service.CouponService; | |
| 16 | 18 | import com.lyms.platform.permission.service.OrganizationService; |
| 17 | 19 | import com.lyms.platform.permission.service.UsersService; |
| 18 | 20 | import com.lyms.platform.pojo.*; |
| ... | ... | @@ -54,6 +56,7 @@ |
| 54 | 56 | private BasicConfigService basicConfigService; |
| 55 | 57 | private DischargeAbstractMotherService dischargeAbstractMotherService; |
| 56 | 58 | private MatDeliverFollowService matDeliverFollowService; |
| 59 | + private CouponService couponService; | |
| 57 | 60 | |
| 58 | 61 | public QuanChanPatientWorker(List <Patients> patientses, |
| 59 | 62 | String hospital, |
| ... | ... | @@ -62,7 +65,9 @@ |
| 62 | 65 | MatDeliverService matDeliverService, PatientsService patientsService, |
| 63 | 66 | OrganizationService organizationService, BasicConfigService basicConfigService, |
| 64 | 67 | AntenatalExaminationService antExService, DischargeAbstractMotherService dischargeAbstractMotherService, |
| 65 | - MatDeliverFollowService matDeliverFollowService) { | |
| 68 | + MatDeliverFollowService matDeliverFollowService, | |
| 69 | + CouponService couponService) { | |
| 70 | + this.couponService = couponService; | |
| 66 | 71 | this.patientses = patientses; |
| 67 | 72 | this.matDeliverService = matDeliverService; |
| 68 | 73 | this.postReviewService = postReviewService; |
| ... | ... | @@ -182,6 +187,14 @@ |
| 182 | 187 | int ichu = CollectionUtils.isEmpty(chu) ? 0 : chu.size(); |
| 183 | 188 | chanResult.setCjTimes(ichu + i); |
| 184 | 189 | |
| 190 | + try { | |
| 191 | + //优惠券发放医院 | |
| 192 | + String coupHospital = couponService.getCouponHospital(patients.getPid()); | |
| 193 | + chanResult.setCouponCommunity(coupHospital); | |
| 194 | + } catch (Exception e) { | |
| 195 | + chanResult.setCouponCommunity(""); | |
| 196 | + } | |
| 197 | + | |
| 185 | 198 | //出院小结 |
| 186 | 199 | DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); |
| 187 | 200 | dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); |
| ... | ... | @@ -233,7 +246,7 @@ |
| 233 | 246 | List<BasicConfig> basicConfigList = basicConfigService.queryBasicConfig(basicConfigQuery); |
| 234 | 247 | chanResult.setLiveType(basicConfigList.get(0).getName()); |
| 235 | 248 | } |
| 236 | - chanResult.setbTime(DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate())); | |
| 249 | + chanResult.setbTime(DateUtil.getyyyy_MM_dd(patients.getFirstCheckTime())); | |
| 237 | 250 | //注册地址 |
| 238 | 251 | chanResult.setRegisterAddr(CommonsHelper.getResidence(patients.getProvinceId(), patients.getCityId(), patients.getAreaId(), patients.getStreetId(), patients.getAddress(), basicConfigService)); |
| 239 | 252 | chanResult.setAddr(CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService)); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanPatientWorker.java
View file @
13d1150
| ... | ... | @@ -31,6 +31,7 @@ |
| 31 | 31 | import org.apache.commons.lang.math.NumberUtils; |
| 32 | 32 | import org.slf4j.Logger; |
| 33 | 33 | import org.slf4j.LoggerFactory; |
| 34 | +import org.springframework.data.domain.Sort; | |
| 34 | 35 | import org.springframework.util.StopWatch; |
| 35 | 36 | |
| 36 | 37 | import java.util.*; |
| ... | ... | @@ -81,14 +82,7 @@ |
| 81 | 82 | try { |
| 82 | 83 | StopWatch stopWatch = new StopWatch("QuanPatientWorker -" + patients.getId()); |
| 83 | 84 | QuanPatientsResult quanPatientsResult = new QuanPatientsResult(); |
| 84 | - /*******************************开始**************************/ | |
| 85 | - /** | |
| 86 | - * 秦皇岛需求 在区域妇幼管理---全部孕妇管理---全部产妇管理、全部孕妇管理两个界面,首次建档医院后面加初诊日期一栏列表 | |
| 87 | - */ | |
| 88 | - if (patients.getFirstCheckTime() != null){ | |
| 89 | - quanPatientsResult.setFirstCheckTime(DateUtil.getyyyy_MM_dd(patients.getFirstCheckTime())); | |
| 90 | - } | |
| 91 | - /****************************结束*****************************/ | |
| 85 | + | |
| 92 | 86 | quanPatientsResult.setVcCardNo(patients.getVcCardNo()); |
| 93 | 87 | quanPatientsResult.setCardNo(patients.getCardNo()); |
| 94 | 88 | quanPatientsResult.setRemark(patients.getMremark()); |
| 95 | 89 | |
| 96 | 90 | |
| 97 | 91 | |
| 98 | 92 | |
| 99 | 93 | |
| ... | ... | @@ -133,64 +127,31 @@ |
| 133 | 127 | String screenStr = basicConfigService.getScreenResult(patients.getScreenResult()); |
| 134 | 128 | quanPatientsResult.setScreenResult(screenStr); |
| 135 | 129 | quanPatientsResult.setbTime(DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate())); |
| 136 | - stopWatch.start("query ant count"); | |
| 130 | + | |
| 131 | + | |
| 132 | + //查询当前记录的初诊 | |
| 137 | 133 | antExChuQuery1.setPid(patients.getPid()); |
| 138 | - //antExChuQuery1.setParentId(patients.getId()); | |
| 139 | - //增加查询本次产程条数 | |
| 140 | 134 | antExChuQuery1.setStart(patients.getLastMenses()); |
| 141 | - List<AntExChuModel> chu = antExService.queryAntExChu(antExChuQuery1.convertToQuery()); | |
| 142 | - //复诊次数 | |
| 143 | - List<AntenatalExaminationModel> ant = null; | |
| 144 | - if (CollectionUtils.isNotEmpty(chu)) { | |
| 145 | - for(AntExChuModel a : chu){//唐山滦县导出判断初诊是否是本院 | |
| 146 | - if(StringUtils.isNotEmpty(a.getHospitalId())){ | |
| 147 | - if(a.getHospitalId().equals(hospital)){ | |
| 148 | - quanPatientsResult.setYi("本院"); | |
| 149 | - }else{ | |
| 150 | - quanPatientsResult.setYi("外院"); | |
| 151 | - } | |
| 152 | - break; | |
| 153 | - } | |
| 135 | + List<AntExChuModel> chu = antExService.queryAntExChu(antExChuQuery1); | |
| 136 | + | |
| 137 | + | |
| 138 | + antExQuery.setStart(patients.getLastMenses()); | |
| 139 | + antExQuery.setPid(patients.getPid()); | |
| 140 | + //初诊为空就不用查复诊 | |
| 141 | + List<AntenatalExaminationModel> ant =null; | |
| 142 | + if(CollectionUtils.isNotEmpty(chu)){ | |
| 143 | + if (chu.get(0).getCheckTime() != null){ | |
| 144 | + quanPatientsResult.setFirstCheckTime(DateUtil.getyyyy_MM_dd(chu.get(0).getCheckTime())); | |
| 154 | 145 | } |
| 155 | - ant = antExService.queryAntenatalExamination(antExQuery.convertToQuery()); | |
| 146 | + ant=antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); | |
| 156 | 147 | } |
| 157 | - //唐山滦县判断复诊是否是本院 | |
| 158 | - if(CollectionUtils.isNotEmpty(ant)){ | |
| 159 | - for(int k = 0;k < ant.size();k++){ | |
| 160 | - if(k>=4){ | |
| 161 | - break; | |
| 162 | - } | |
| 163 | - if(0==k){ | |
| 164 | - if(ant.get(k) != null && ant.get(k).getHospitalId() != null && ant.get(k).getHospitalId().equals(hospital)){ | |
| 165 | - quanPatientsResult.setEr("本院"); | |
| 166 | - }else{ | |
| 167 | - quanPatientsResult.setEr("外院"); | |
| 168 | - } | |
| 169 | - }else if(1==k){ | |
| 170 | - if(ant.get(k) != null && ant.get(k).getHospitalId() != null && ant.get(k).getHospitalId().equals(hospital)){ | |
| 171 | - quanPatientsResult.setSan("本院"); | |
| 172 | - }else{ | |
| 173 | - quanPatientsResult.setSan("外院"); | |
| 174 | - } | |
| 175 | - }else if(2==k){ | |
| 176 | - if(ant.get(k) != null && ant.get(k).getHospitalId() != null && ant.get(k).getHospitalId().equals(hospital)){ | |
| 177 | - quanPatientsResult.setSi("本院"); | |
| 178 | - }else{ | |
| 179 | - quanPatientsResult.setSi("外院"); | |
| 180 | - } | |
| 181 | - }else if(3==k){ | |
| 182 | - if(ant.get(k) != null && ant.get(k).getHospitalId() != null && ant.get(k).getHospitalId().equals(hospital)){ | |
| 183 | - quanPatientsResult.setWu("本院"); | |
| 184 | - }else{ | |
| 185 | - quanPatientsResult.setWu("外院"); | |
| 186 | - } | |
| 187 | - } | |
| 188 | - } | |
| 189 | - } | |
| 190 | 148 | |
| 191 | 149 | //系统复诊次数 |
| 192 | 150 | int i = 0; |
| 193 | 151 | if (CollectionUtils.isNotEmpty(ant)) { |
| 152 | + if (ant.get(0).getCheckDate() != null){ | |
| 153 | + quanPatientsResult.setLastCheckTime(DateUtil.getyyyy_MM_dd(ant.get(0).getCheckDate())); | |
| 154 | + } | |
| 194 | 155 | //复诊次数 |
| 195 | 156 | i = ant.size(); |
| 196 | 157 | sort(ant); |
| 197 | 158 | |
| 198 | 159 | |
| 199 | 160 | |
| 200 | 161 | |
| 201 | 162 | |
| ... | ... | @@ -222,59 +183,18 @@ |
| 222 | 183 | } |
| 223 | 184 | } |
| 224 | 185 | } |
| 225 | - //统计产检次数 | |
| 226 | - List <String> patientIds = new ArrayList <>(); | |
| 227 | - patientIds.add(patients.getId()); | |
| 228 | - PatientsQuery patientsQuery = new PatientsQuery(); | |
| 229 | - patientsQuery.setSource(patients.getId()); | |
| 230 | - patientsQuery.setBuildType(1); | |
| 231 | - if (patients.getPliveTypeId()!=null){ | |
| 232 | - BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); | |
| 233 | - basicConfigQuery.setId(patients.getPliveTypeId()); | |
| 234 | 186 | |
| 235 | - //所有数据 | |
| 236 | - List<BasicConfig> basicConfigList = basicConfigService.queryBasicConfig(basicConfigQuery); | |
| 237 | - patientsQuery.setLiveType(basicConfigList.get(0).getName()); | |
| 238 | - } | |
| 239 | - List <Patients> patients1 = patientsService.queryPatient(patientsQuery); | |
| 240 | - if (CollectionUtils.isNotEmpty(patients1)) { | |
| 241 | - for (Patients ps : patients1) { | |
| 242 | - patientIds.add(ps.getPid()); | |
| 243 | - } | |
| 244 | - } | |
| 245 | - int chuzhen = 0; | |
| 246 | - int fuzhen = 0; | |
| 247 | - //初诊记录 | |
| 248 | - AntExChuQuery antExChuQuery = new AntExChuQuery(); | |
| 249 | - antExChuQuery.setYn(YnEnums.YES.getId()); | |
| 250 | - antExChuQuery.setParentIds(patientIds); | |
| 251 | - List <AntExChuModel> antExChuModels = antExService.queryAntExChu(antExChuQuery); | |
| 252 | - if (CollectionUtils.isNotEmpty(antExChuModels)) { | |
| 253 | - chuzhen = antExChuModels.size(); | |
| 254 | - } | |
| 255 | - //复诊记录 | |
| 256 | - AntExQuery antExQuery1 = new AntExQuery(); | |
| 257 | - antExQuery1.setYn(YnEnums.YES.getId()); | |
| 258 | - antExQuery1.setParentIds(patientIds); | |
| 259 | - List <AntenatalExaminationModel> list1 = antExService.queryAntenatalExamination(antExQuery1.convertToQuery()); | |
| 260 | - if (CollectionUtils.isNotEmpty(list1)) { | |
| 261 | - fuzhen = list1.size(); | |
| 262 | - } | |
| 263 | - quanPatientsResult.setcTimes(chuzhen + fuzhen); | |
| 264 | - | |
| 265 | - antExQuery.setHospitalId(hospital); | |
| 266 | - //本院初诊 | |
| 187 | + //初诊次数 | |
| 188 | + int b = CollectionUtils.isEmpty(chu)?0:chu.size(); | |
| 189 | + //本院的初诊记录 | |
| 267 | 190 | int chi = countAntChu(chu, hospital); |
| 268 | - | |
| 269 | - //本院复诊 | |
| 191 | + //本院的复诊记录 | |
| 270 | 192 | int chb = capLocalHospital(hospital, ant); |
| 193 | + | |
| 194 | + quanPatientsResult.setcTimes(i + b); | |
| 271 | 195 | quanPatientsResult.setcHTimes(chi + chb); |
| 272 | - quanPatientsResult.setrFactor(patientsQuery.getrFactor()); | |
| 273 | - stopWatch.stop(); | |
| 196 | + //下次时间 | |
| 274 | 197 | String nextCheckTime = ""; |
| 275 | - stopWatch.start("query antex list"); | |
| 276 | - | |
| 277 | - | |
| 278 | 198 | if (null != patients.getNextCheckTime()) { |
| 279 | 199 | nextCheckTime = DateUtil.getyyyy_MM_dd(patients.getNextCheckTime()); |
| 280 | 200 | } |
| ... | ... | @@ -292,9 +212,6 @@ |
| 292 | 212 | } |
| 293 | 213 | } |
| 294 | 214 | |
| 295 | - | |
| 296 | - stopWatch.stop(); | |
| 297 | - stopWatch.start("query basicconfig"); | |
| 298 | 215 | //注册地址 |
| 299 | 216 | quanPatientsResult.setRegisterAddr(CommonsHelper.getResidence(patients.getProvinceId(), patients.getCityId(), patients.getAreaId(), patients.getStreetId(), patients.getAddress(), basicConfigService)); |
| 300 | 217 | quanPatientsResult.setAddr(CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService)); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java
View file @
13d1150
| ... | ... | @@ -114,6 +114,7 @@ |
| 114 | 114 | antExQuery.setStart(patients.getLastMenses()); |
| 115 | 115 | antExQuery.setPid(patients.getPid()); |
| 116 | 116 | antExQuery.setYn(YnEnums.YES.getId()); |
| 117 | + | |
| 117 | 118 | antExChuQuery1.setStart(patients.getLastMenses()); |
| 118 | 119 | antExChuQuery1.setPid(patients.getPid()); |
| 119 | 120 | antExChuQuery1.setYn(YnEnums.YES.getId()); |
| 120 | 121 | |
| ... | ... | @@ -126,10 +127,16 @@ |
| 126 | 127 | stopWatch.start("query antex list"); |
| 127 | 128 | ant=antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); |
| 128 | 129 | stopWatch.stop(); |
| 130 | + if (chu.get(0).getCheckTime() != null){ | |
| 131 | + riskPatientsResult.setFirstCheckTime(DateUtil.getyyyy_MM_dd(chu.get(0).getCheckTime())); | |
| 132 | + } | |
| 129 | 133 | } |
| 130 | 134 | |
| 131 | 135 | int i = 0; |
| 132 | 136 | if (CollectionUtils.isNotEmpty(ant)) { |
| 137 | + if (ant.get(0).getCheckDate() != null){ | |
| 138 | + riskPatientsResult.setLastCheckTime(DateUtil.getyyyy_MM_dd(ant.get(0).getCheckDate())); | |
| 139 | + } | |
| 133 | 140 | //复诊次数 |
| 134 | 141 | i = ant.size(); |
| 135 | 142 | for (AntenatalExaminationModel a : ant) { |