Commit 5f7fb4961842c776046d4f1dd4d2488ffa513bb9
1 parent
8e9b062524
Exists in
dev
#fix:优化危急值管理功能模块、新增建档短信提醒
Showing 3 changed files with 347 additions and 70 deletions
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java
View file @
5f7fb49
| 1 | 1 | package com.lyms.platform.permission.service.impl; |
| 2 | 2 | |
| 3 | +import com.lyms.platform.biz.dal.AssayConfigDao; | |
| 4 | +import com.lyms.platform.biz.param.ReferConfigQuery; | |
| 3 | 5 | import com.lyms.platform.biz.service.AntenatalExaminationService; |
| 6 | +import com.lyms.platform.biz.service.LisCrisisItemService; | |
| 4 | 7 | import com.lyms.platform.biz.service.PatientsService; |
| 8 | +import com.lyms.platform.biz.service.ReferConfigService; | |
| 5 | 9 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
| 10 | +import com.lyms.platform.common.dao.operator.MongoCondition; | |
| 11 | +import com.lyms.platform.common.dao.operator.MongoOper; | |
| 6 | 12 | import com.lyms.platform.common.enums.YnEnums; |
| 7 | 13 | import com.lyms.platform.common.result.BaseResponse; |
| 8 | 14 | import com.lyms.platform.common.utils.DateUtil; |
| 9 | 15 | |
| ... | ... | @@ -14,12 +20,10 @@ |
| 14 | 20 | import com.lyms.platform.permission.model.LisReportQuery; |
| 15 | 21 | import com.lyms.platform.permission.service.LisService; |
| 16 | 22 | import com.lyms.platform.permission.service.OrganizationService; |
| 17 | -import com.lyms.platform.pojo.AntExChuModel; | |
| 18 | -import com.lyms.platform.pojo.AntenatalExaminationModel; | |
| 19 | -import com.lyms.platform.pojo.BasicConfig; | |
| 20 | -import com.lyms.platform.pojo.Patients; | |
| 23 | +import com.lyms.platform.pojo.*; | |
| 21 | 24 | import com.lyms.platform.query.AntExChuQuery; |
| 22 | 25 | import com.lyms.platform.query.AntExQuery; |
| 26 | +import com.lyms.platform.query.LisCrisisItemQuery; | |
| 23 | 27 | import com.lyms.platform.query.PatientsQuery; |
| 24 | 28 | import net.sf.json.JSONArray; |
| 25 | 29 | import net.sf.json.JSONObject; |
| 26 | 30 | |
| ... | ... | @@ -28,11 +32,12 @@ |
| 28 | 32 | import org.codehaus.jackson.type.TypeReference; |
| 29 | 33 | import org.springframework.beans.factory.annotation.Autowired; |
| 30 | 34 | import org.springframework.beans.factory.annotation.Qualifier; |
| 35 | +import org.springframework.data.domain.Sort; | |
| 31 | 36 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
| 32 | 37 | import org.springframework.stereotype.Service; |
| 33 | 38 | |
| 34 | -import java.util.ArrayList; | |
| 35 | -import java.util.List; | |
| 39 | +import java.math.BigDecimal; | |
| 40 | +import java.util.*; | |
| 36 | 41 | import java.util.concurrent.CountDownLatch; |
| 37 | 42 | import java.util.concurrent.Future; |
| 38 | 43 | import java.util.concurrent.TimeUnit; |
| 39 | 44 | |
| ... | ... | @@ -154,8 +159,12 @@ |
| 154 | 159 | |
| 155 | 160 | List<LisReportModel> lisReportModels = masterLisMapper.queryLisDataByModel(lisReportQuery); |
| 156 | 161 | saveLisUpdateData(lisReportModels.get(0)); |
| 157 | - | |
| 162 | + //TODO 处理大同危急值逻辑 | |
| 163 | + if ("2100002419".equals(model.getHospitalId())){ | |
| 164 | + saveLisCrisisItemList(model); | |
| 165 | + } | |
| 158 | 166 | } catch (Exception e) { |
| 167 | + System.out.println("LisSaveTask ->Exception,"+e); | |
| 159 | 168 | continue; |
| 160 | 169 | } |
| 161 | 170 | |
| 162 | 171 | |
| 163 | 172 | |
| ... | ... | @@ -166,8 +175,169 @@ |
| 166 | 175 | |
| 167 | 176 | } |
| 168 | 177 | } |
| 178 | + @Autowired | |
| 179 | + private ReferConfigService referConfigService; | |
| 169 | 180 | |
| 181 | + @Autowired | |
| 182 | + private LisCrisisItemService lisCrisisItemService; | |
| 170 | 183 | /** |
| 184 | + * 根据Lis数据同步大同高危急值 | |
| 185 | + * @param model | |
| 186 | + */ | |
| 187 | + public void saveLisCrisisItemList(LisReportModel model){ | |
| 188 | + System.out.println("saveLisCrisisItemList startup"); | |
| 189 | + //1获取孕妇pid | |
| 190 | + String hospitalId=model.getHospitalId(); | |
| 191 | + Patients patients = null; | |
| 192 | + List<Patients> list= null; | |
| 193 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
| 194 | + patientsQuery.setHospitalId(hospitalId); | |
| 195 | + patientsQuery.setName(model.getName()); | |
| 196 | + patientsQuery.setSort("created"); | |
| 197 | + patientsQuery.setVcCardNo(model.getVcCardNo()); | |
| 198 | + list = patientsService.queryPatient(patientsQuery); | |
| 199 | + if (list != null && list.size() > 0) { | |
| 200 | + patients = list.get(list.size() - 1); | |
| 201 | + } else { | |
| 202 | + patientsQuery.setPhone(model.getPhone()); | |
| 203 | + patientsQuery.setVcCardNo(null); | |
| 204 | + list = patientsService.queryPatient(patientsQuery); | |
| 205 | + if(list != null && list.size() > 0){ | |
| 206 | + patients = list.get(list.size() - 1); | |
| 207 | + } | |
| 208 | + | |
| 209 | + } | |
| 210 | + if(patients == null){ | |
| 211 | + System.out.println("lis query patients null"); | |
| 212 | + return; | |
| 213 | + } | |
| 214 | + | |
| 215 | + | |
| 216 | + LisCrisisItem crisisItem = new LisCrisisItem(); | |
| 217 | + crisisItem.setPid(patients.getPid()); | |
| 218 | + crisisItem.setPatientId(patients.getId()); | |
| 219 | + crisisItem.setPhone(patients.getPhone()); | |
| 220 | + crisisItem.setCardNo(patients.getCardNo()); | |
| 221 | + crisisItem.setPatientName(patients.getUsername()); | |
| 222 | + crisisItem.setServiceType(patients.getServiceType()); | |
| 223 | + crisisItem.setServiceStatus(patients.getServiceStatus()); | |
| 224 | + crisisItem.setLastMenses(patients.getLastMenses()); | |
| 225 | + crisisItem.setWeek(DateUtil.getWeek(patients.getLastMenses(), model.getPublishTime())); | |
| 226 | + crisisItem.setPublishTime(model.getPublishTime()); | |
| 227 | + try { | |
| 228 | + crisisItem.setAge(Integer.valueOf(model.getAge())); | |
| 229 | + }catch (Exception e){ | |
| 230 | + System.out.println("saveLisCrisisItemList->Exception e,"+e); | |
| 231 | + } | |
| 232 | + | |
| 233 | + // crisisItem.setApplyDoctorCode(model.getApplyDoctorCode()); | |
| 234 | + crisisItem.setApplyDoctorName(model.getApplyDoctor()); | |
| 235 | + crisisItem.setHospitalId(hospitalId); | |
| 236 | + crisisItem.setStatus(1); | |
| 237 | + crisisItem.setStatusName("待处理"); | |
| 238 | + crisisItem.setSyncStatus(0); | |
| 239 | + if (StringUtils.isNotEmpty(model.getItemJson())){ | |
| 240 | + ReferConfigQuery referConfigQuery = new ReferConfigQuery(); | |
| 241 | + referConfigQuery.setYn(YnEnums.YES.getId()); | |
| 242 | + referConfigQuery.setHospitalId(Integer.valueOf(hospitalId)); | |
| 243 | + referConfigQuery.setLimit(50); | |
| 244 | + List<ReferValue> referValueList = referConfigService.queryRefer(referConfigQuery); | |
| 245 | + Map<String, ReferValue> referValueMap = new HashMap<>(); | |
| 246 | + for (ReferValue referValue : referValueList) { | |
| 247 | + referValueMap.put(referValue.getCode(), referValue); | |
| 248 | + } | |
| 249 | + | |
| 250 | + List<LisReportItemModel> itemList= JsonUtil.jsonToList(model.getItemJson(),LisReportItemModel.class); | |
| 251 | + // crisis init | |
| 252 | + for (LisReportItemModel item : itemList) { | |
| 253 | + | |
| 254 | + ReferValue referValue = referValueMap.get(item.getCode().trim()); | |
| 255 | + if (referValue != null) { | |
| 256 | + //TODO 处理危急值逻辑 | |
| 257 | + boolean flag=buildEmergency(item.getResult(),referValue); | |
| 258 | + System.out.println("saveLisCrisisItemList flag"+flag); | |
| 259 | + if (flag) { | |
| 260 | + crisisItem.setId(model.getLisId() + "_" + item.getCode()); | |
| 261 | + crisisItem.setName(model.getType()); | |
| 262 | + crisisItem.setClassify(model.getType()); | |
| 263 | + crisisItem.setClassifyName(model.getType()); | |
| 264 | + crisisItem.setResult(item.getResult()); | |
| 265 | + //crisisItem.setFlag(item.getFlag()); | |
| 266 | + crisisItem.setItemCode(item.getCode().trim()); | |
| 267 | + crisisItem.setItemName(item.getName().trim()); | |
| 268 | + crisisItem.setRef(buildRef(referValue)); | |
| 269 | + crisisItem.setUnit(item.getUnit()); | |
| 270 | + lisCrisisItemService.addLisCrisisItem(crisisItem); | |
| 271 | + | |
| 272 | + //当前孕妇关联的初诊复诊医生危急通知 | |
| 273 | + /* Set<String> sets = antenatalExaminationFacade.getCrisisUnionDoc(patients); | |
| 274 | + | |
| 275 | + if (CollectionUtils.isNotEmpty(sets)) { | |
| 276 | + for (String doctorId : sets) { | |
| 277 | + LisCrisisNotify notify = new LisCrisisNotify(); | |
| 278 | + notify.setHospitalId(patients.getHospitalId()); | |
| 279 | + notify.setPatientId(patients.getId()); | |
| 280 | + notify.setStatus(0); | |
| 281 | + notify.setYn(1); | |
| 282 | + notify.setModified(new Date()); | |
| 283 | + notify.setCreated(new Date()); | |
| 284 | + notify.setDoctorId(doctorId); | |
| 285 | + | |
| 286 | + lisCrisisNotifyService.addLisCrisisNotify(notify); | |
| 287 | + } | |
| 288 | + }*/ | |
| 289 | + | |
| 290 | + | |
| 291 | + } | |
| 292 | + } | |
| 293 | + | |
| 294 | + } | |
| 295 | + System.out.println("saveLisCrisisItemList end"); | |
| 296 | + } | |
| 297 | + | |
| 298 | + } | |
| 299 | + | |
| 300 | + private boolean buildEmergency(String result,ReferValue referValue) { | |
| 301 | + boolean b=false; | |
| 302 | + if (StringUtils.isEmpty(result)){ | |
| 303 | + return b; | |
| 304 | + } | |
| 305 | + BigDecimal bd=new BigDecimal(result); | |
| 306 | + if (StringUtils.isNotBlank(referValue.getEmergencyMin()) && StringUtils.isNotBlank(referValue.getEmergencyMax())) { | |
| 307 | + if (bd.compareTo(new BigDecimal(referValue.getEmergencyMin()))<0 || | |
| 308 | + bd.compareTo(new BigDecimal((referValue.getEmergencyMax())))>0 ){ | |
| 309 | + b=true; | |
| 310 | + } | |
| 311 | + } else { | |
| 312 | + if (StringUtils.isNotBlank(referValue.getEmergencyMin())) { | |
| 313 | + if (bd.compareTo(new BigDecimal(referValue.getEmergencyMin()))<0){ | |
| 314 | + b=true; | |
| 315 | + } | |
| 316 | + } else if (StringUtils.isNotBlank(referValue.getEmergencyMax())) { | |
| 317 | + if (bd.compareTo(new BigDecimal(referValue.getEmergencyMax()))>0){ | |
| 318 | + b=true; | |
| 319 | + } | |
| 320 | + } | |
| 321 | + } | |
| 322 | + return b; | |
| 323 | + } | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + private String buildRef(ReferValue referValue) { | |
| 328 | + if (StringUtils.isNotBlank(referValue.getEmergencyMin()) && StringUtils.isNotBlank(referValue.getEmergencyMax())) { | |
| 329 | + return "<"+referValue.getEmergencyMin() + " || " + ">"+referValue.getEmergencyMax(); | |
| 330 | + } else { | |
| 331 | + if (StringUtils.isNotBlank(referValue.getEmergencyMin())) { | |
| 332 | + return "<" + referValue.getEmergencyMin(); | |
| 333 | + } else if (StringUtils.isNotBlank(referValue.getEmergencyMax())) { | |
| 334 | + return ">" + referValue.getEmergencyMax(); | |
| 335 | + } | |
| 336 | + } | |
| 337 | + return ""; | |
| 338 | + } | |
| 339 | + | |
| 340 | + /** | |
| 171 | 341 | * 根据孕妇,修改检查项为空,检查项结果 |
| 172 | 342 | * |
| 173 | 343 | * @param model |
| ... | ... | @@ -195,7 +365,7 @@ |
| 195 | 365 | |
| 196 | 366 | } |
| 197 | 367 | if(patients == null){ |
| 198 | - System.out.println("lis query patients nulll"); | |
| 368 | + System.out.println("lis query patients null"); | |
| 199 | 369 | return; |
| 200 | 370 | } |
| 201 | 371 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java
View file @
5f7fb49
| ... | ... | @@ -1198,7 +1198,7 @@ |
| 1198 | 1198 | mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); |
| 1199 | 1199 | mr.setWxTempId(WxTempleteIdEnums.CHAN_JIAN_TI_XING.getId()); |
| 1200 | 1200 | messages.add(mr); |
| 1201 | - // smsConfigFacade.saveMsg(messages, patient.getHospitalId()); | |
| 1201 | + smsConfigFacade.saveMsg(messages, patient.getHospitalId()); | |
| 1202 | 1202 | } catch (InterruptedException e) { |
| 1203 | 1203 | logger.error("sendbuildingMsg Exception " + e); |
| 1204 | 1204 | } |
| 1205 | 1205 | |
| ... | ... | @@ -1268,12 +1268,101 @@ |
| 1268 | 1268 | } |
| 1269 | 1269 | |
| 1270 | 1270 | /** |
| 1271 | + * 建档短信提醒 | |
| 1272 | + */ | |
| 1273 | + public void bookbuildingSyncMsg() { | |
| 1274 | + logger.info("bookbuildingMsg startup"); | |
| 1275 | + List<String> hospitalList = new ArrayList<>(); | |
| 1276 | + hospitalList.add("2100002419"); | |
| 1277 | + hospitalList.add("1000000016"); | |
| 1278 | + hospitalList.add("2100002421"); | |
| 1279 | + hospitalList.add("1000000115"); | |
| 1280 | + hospitalList.add("2100001296"); | |
| 1281 | + hospitalList.add("2100001306"); | |
| 1282 | + | |
| 1283 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
| 1284 | + patientsQuery.setHospitalList(hospitalList); | |
| 1285 | + patientsQuery.setExtEnable(false); | |
| 1286 | + patientsQuery.setBuildTypeNot(1); | |
| 1287 | + patientsQuery.setYn(YnEnums.YES.getId()); | |
| 1288 | + String time = DateUtil.getyyyy_MM_dd(DateUtil.addDay(new Date(), -1)); | |
| 1289 | + Date createdTimeStart = DateUtil.parseYMDHMS(time + " 00:00:00"); | |
| 1290 | + Date createdTimeEnd = DateUtil.parseYMDHMS(time + " 23:59:59"); | |
| 1291 | + patientsQuery.setCreatedTimeStart(createdTimeStart); | |
| 1292 | + patientsQuery.setCreatedTimeEnd(createdTimeEnd); | |
| 1293 | + final List<Patients> patientList = patientsService.queryPatient(patientsQuery); | |
| 1294 | + | |
| 1295 | + if (CollectionUtils.isNotEmpty(patientList)) { | |
| 1296 | + final String date= DateUtil.getyyyy_MM_dd(DateUtil.addDay(new Date(),0)); | |
| 1297 | + final String planTime = date+ " 16:30:00"; | |
| 1298 | + commonThreadPool.execute(new Runnable() { | |
| 1299 | + @Override | |
| 1300 | + public void run() { | |
| 1301 | + for (Patients patients : patientList) { | |
| 1302 | + //TODO 处理建档短信提醒逻辑 | |
| 1303 | + List<MsgRequest> messages = new ArrayList<>(); | |
| 1304 | + final String hospitalId=patients.getHospitalId(); | |
| 1305 | + String title = "建档成功提醒短信"; | |
| 1306 | + String messageContent = "【" + getHospitalName(hospitalId) + "】" + "您已成功建档!请微信-添加朋友-公众号-搜索“美生孕育”关注;点击开通成功提醒,手机号获取验证码成功登录宝贝孕程小程序。请您经常登录【宝贝孕程】小程序并持续关注【美生孕育】公众号,以便于您享受孕期的私有化服务,会依据您的年龄、孕周、单双胎、高危风险因素给予专题文章、个性指导、产检提醒等,让您了解、掌握和促进健康孕育,让我们携手并进一起迎接小宝宝的降生。"; | |
| 1307 | + MsgRequest request = new MsgRequest(); | |
| 1308 | + //1 推送服务, 2 推送和短信服务,3短信服务 | |
| 1309 | + request.setServiceType(3); | |
| 1310 | + //短信发送状态 | |
| 1311 | + request.setSmsStatus(SmsStatusEnums.WFS.getId()); | |
| 1312 | + //平台ID | |
| 1313 | + request.setTypeId(ProjectTypeEnums.YNXT.getId()); | |
| 1314 | + //服务对象 1孕妇 2儿童 3产妇 | |
| 1315 | + request.setObjType(1); | |
| 1316 | + request.setPhone(patients.getPhone()); | |
| 1317 | + request.setPlanTime(planTime); | |
| 1318 | + request.setSubTypeId(SmsServiceEnums.DXFW.getId()); | |
| 1319 | + request.setStatus(MsgStatusEnums.NO_SEND.getId()); | |
| 1320 | + request.setTimeType(2); | |
| 1321 | + request.setHospitalId(hospitalId); | |
| 1322 | + request.setPatientId(patients.getId()); | |
| 1323 | + request.setTempId(patients.getId()); | |
| 1324 | + request.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); | |
| 1325 | + request.setFirst(messageContent); | |
| 1326 | + request.setKeyword1(title); | |
| 1327 | + request.setKeyword2(date); | |
| 1328 | + messages.add(request); | |
| 1329 | + smsConfigFacade.saveMsg(messages, hospitalId); | |
| 1330 | + } | |
| 1331 | + } | |
| 1332 | + }); | |
| 1333 | + } | |
| 1334 | + logger.info("bookbuildingMsg end"); | |
| 1335 | + } | |
| 1336 | + | |
| 1337 | + private static String getHospitalName(String hospitalId){ | |
| 1338 | + //TODO 暂时这样处理后期优化 | |
| 1339 | + if ("2100002419".equals(hospitalId)){ | |
| 1340 | + return "大同市第一人民医院"; | |
| 1341 | + }else if ("1000000016".equals(hospitalId)){ | |
| 1342 | + return "秦皇岛市第二医院"; | |
| 1343 | + }else if ("2100002421".equals(hospitalId)){ | |
| 1344 | + return "邢台威县人民医院"; | |
| 1345 | + }else if ("1000000115".equals(hospitalId)){ | |
| 1346 | + return "南和区人民医院"; | |
| 1347 | + }else if("2100001296".equals(hospitalId)){ | |
| 1348 | + return "临城县人民医院"; | |
| 1349 | + }else if("2100001306".equals(hospitalId)){ | |
| 1350 | + return "临西县人民医院"; | |
| 1351 | + } | |
| 1352 | + return ""; | |
| 1353 | + } | |
| 1354 | + | |
| 1355 | + public static void main(String[] args) { | |
| 1356 | + System.out.println( DateUtil.getyyyy_MM_dd(DateUtil.addDay(new Date(),0))+ " 16:30:00"); | |
| 1357 | + } | |
| 1358 | + | |
| 1359 | + /** | |
| 1271 | 1360 | * 秦皇岛二院、大同产检提醒 上午9点推送 |
| 1272 | 1361 | */ |
| 1273 | 1362 | public void weekSync() { |
| 1274 | 1363 | logger.info("weekSync startup"); |
| 1275 | - // final String hospitalId = "1000000016"; | |
| 1276 | - List<String> hospitalList=new ArrayList<>(); | |
| 1364 | + // final String hospitalId = "1000000016"; | |
| 1365 | + List<String> hospitalList = new ArrayList<>(); | |
| 1277 | 1366 | hospitalList.add("2100002419"); |
| 1278 | 1367 | hospitalList.add("1000000016"); |
| 1279 | 1368 | PatientsQuery patientsQuery = new PatientsQuery(); |
| ... | ... | @@ -1298,7 +1387,7 @@ |
| 1298 | 1387 | if (StringUtils.isNotEmpty(week)) { |
| 1299 | 1388 | sendbuildingMsg(patients, SmsServiceEnums.CJYYTX.getId(), "【产检提醒】", "亲爱的孕妈妈,您当前孕周为" + params.get("weekDay") + "。", week); |
| 1300 | 1389 | |
| 1301 | - if ((CollectionUtils.isNotEmpty(patients.getRiskFactorId()) && patients.getRiskFactorId().size()>1 ) ||(!patients.getRiskFactorId().get(0).equals("d42eec03-aa86-45b8-a4e0-78a0ff365fb6")) ) { | |
| 1390 | + if ((CollectionUtils.isNotEmpty(patients.getRiskFactorId()) && patients.getRiskFactorId().size() > 1) || (!patients.getRiskFactorId().get(0).equals("d42eec03-aa86-45b8-a4e0-78a0ff365fb6"))) { | |
| 1302 | 1391 | FactorProjectQuery factorProjectQuery = new FactorProjectQuery(); |
| 1303 | 1392 | factorProjectQuery.setHospitalId(Integer.valueOf(patients.getHospitalId())); |
| 1304 | 1393 | factorProjectQuery.setWeek(week); |
| 1305 | 1394 | |
| 1306 | 1395 | |
| ... | ... | @@ -3975,22 +4064,22 @@ |
| 3975 | 4064 | antExChuQuery.setParentId(patient.getId()); |
| 3976 | 4065 | antExChuQuery.setYn(1); |
| 3977 | 4066 | List<AntExChuModel> antExChuModelList = antenatalExaminationService.queryAntExChu(antExChuQuery); |
| 3978 | - AntExChuModel antExChuModel; | |
| 3979 | - boolean a=false; | |
| 3980 | - if (CollectionUtils.isNotEmpty(antExChuModelList)){ | |
| 4067 | + AntExChuModel antExChuModel; | |
| 4068 | + boolean a = false; | |
| 4069 | + if (CollectionUtils.isNotEmpty(antExChuModelList)) { | |
| 3981 | 4070 | antExChuModel = antExChuModelList.get(0); |
| 3982 | - a=true; | |
| 3983 | - }else { | |
| 4071 | + a = true; | |
| 4072 | + } else { | |
| 3984 | 4073 | antExChuModel = new AntExChuModel(); |
| 3985 | 4074 | } |
| 3986 | 4075 | List<AntExRecordModel> antExRecordModels = antExRecordService.queryAntExRecords(antExRecordQuery); |
| 3987 | 4076 | AntExRecordModel antExRecordModel; |
| 3988 | - boolean r=false; | |
| 3989 | - if (CollectionUtils.isNotEmpty(antExRecordModels)){ | |
| 3990 | - antExRecordModel = antExRecordModels.get(0); | |
| 3991 | - r=true; | |
| 3992 | - }else { | |
| 3993 | - antExRecordModel=new AntExRecordModel(); | |
| 4077 | + boolean r = false; | |
| 4078 | + if (CollectionUtils.isNotEmpty(antExRecordModels)) { | |
| 4079 | + antExRecordModel = antExRecordModels.get(0); | |
| 4080 | + r = true; | |
| 4081 | + } else { | |
| 4082 | + antExRecordModel = new AntExRecordModel(); | |
| 3994 | 4083 | } |
| 3995 | 4084 | |
| 3996 | 4085 | String riskFactor = map.get("name"); |
| ... | ... | @@ -4045,9 +4134,9 @@ |
| 4045 | 4134 | } |
| 4046 | 4135 | } |
| 4047 | 4136 | yunBookbuildingService.update(patient, patient.getId()); |
| 4048 | - if (a){ | |
| 4049 | - antenatalExaminationService.updateAntExChu(antExChuModel,antExChuModel.getId()); | |
| 4050 | - }else { | |
| 4137 | + if (a) { | |
| 4138 | + antenatalExaminationService.updateAntExChu(antExChuModel, antExChuModel.getId()); | |
| 4139 | + } else { | |
| 4051 | 4140 | antExChuModel.setParentId(patient.getId()); |
| 4052 | 4141 | antExChuModel.setName(patient.getUsername()); |
| 4053 | 4142 | antExChuModel.setYn(YnEnums.YES.getId()); |
| ... | ... | @@ -4063,9 +4152,9 @@ |
| 4063 | 4152 | //初诊是添加追访记录 |
| 4064 | 4153 | addTrackDownInfo(patient.getOperator(), patient); |
| 4065 | 4154 | } |
| 4066 | - if (r){ | |
| 4067 | - antExRecordService.updateOne(antExRecordModel,antExRecordModel.getId()); | |
| 4068 | - }else { | |
| 4155 | + if (r) { | |
| 4156 | + antExRecordService.updateOne(antExRecordModel, antExRecordModel.getId()); | |
| 4157 | + } else { | |
| 4069 | 4158 | antExRecordModel.setHospitalId(antExChuModel.getHospitalId()); |
| 4070 | 4159 | antExRecordModel.setLastMenses(antExChuModel.getLastMenses()); |
| 4071 | 4160 | antExRecordModel.setName(antExChuModel.getName()); |
| 4072 | 4161 | |
| ... | ... | @@ -4091,12 +4180,12 @@ |
| 4091 | 4180 | } |
| 4092 | 4181 | }); |
| 4093 | 4182 | } |
| 4094 | - }catch (Exception e){ | |
| 4095 | - logger.error("testUpdateBatch2 Exception,"+e); | |
| 4183 | + } catch (Exception e) { | |
| 4184 | + logger.error("testUpdateBatch2 Exception," + e); | |
| 4096 | 4185 | } |
| 4097 | 4186 | } |
| 4098 | 4187 | |
| 4099 | - public void updateBatch(String name){ | |
| 4188 | + public void updateBatch(String name) { | |
| 4100 | 4189 | try { |
| 4101 | 4190 | final List<Map<String, String>> list = ExcelUtil.readExcl("E:\\建档数据同步\\" + name, 1);// |
| 4102 | 4191 | for (final Map<String, String> map : list) { |
| ... | ... | @@ -4125,7 +4214,7 @@ |
| 4125 | 4214 | if (patients.size()>1){ |
| 4126 | 4215 | System.out.println(map.get("cardNo")); |
| 4127 | 4216 | }*/ |
| 4128 | - Patients patient=patients.get(0); | |
| 4217 | + Patients patient = patients.get(0); | |
| 4129 | 4218 | patient.setLastMenses(DateUtil.parseYMD(map.get("lastMenses"))); |
| 4130 | 4219 | if (CollectionUtils.isNotEmpty(users)) { |
| 4131 | 4220 | patient.setOperator(users.get(0).getId()); |
| 4132 | 4221 | |
| ... | ... | @@ -4150,27 +4239,27 @@ |
| 4150 | 4239 | } |
| 4151 | 4240 | |
| 4152 | 4241 | |
| 4153 | - PersonModel resperson = null; | |
| 4154 | - PersonModelQuery personModelQuery = new PersonModelQuery(); | |
| 4155 | - personModelQuery.setCardNo(map.get("cardNo")); | |
| 4156 | - personModelQuery.setYn(YnEnums.YES.getId()); | |
| 4157 | - personModelQuery.setTypes(new Integer[]{1, 3}); //孕妇或者产妇基本信息 | |
| 4158 | - List<PersonModel> personModels = personService.queryPersons(personModelQuery); | |
| 4242 | + PersonModel resperson = null; | |
| 4243 | + PersonModelQuery personModelQuery = new PersonModelQuery(); | |
| 4244 | + personModelQuery.setCardNo(map.get("cardNo")); | |
| 4245 | + personModelQuery.setYn(YnEnums.YES.getId()); | |
| 4246 | + personModelQuery.setTypes(new Integer[]{1, 3}); //孕妇或者产妇基本信息 | |
| 4247 | + List<PersonModel> personModels = personService.queryPersons(personModelQuery); | |
| 4159 | 4248 | |
| 4160 | - PersonModel pmodel = new PersonModel(); | |
| 4161 | - pmodel.setName(map.get("username").trim()); | |
| 4162 | - pmodel.setPhone(map.get("phone")); | |
| 4163 | - pmodel.setCardNo(map.get("cardNo")); | |
| 4164 | - pmodel.setType(type); | |
| 4165 | - pmodel.setModified(new Date()); | |
| 4166 | - if (CollectionUtils.isNotEmpty(personModels) && personModels.get(0) != null) { | |
| 4167 | - resperson = personModels.get(0); | |
| 4168 | - personService.updatePerson(pmodel, personModels.get(0).getId()); | |
| 4169 | - } else { | |
| 4170 | - pmodel.setYn(YnEnums.YES.getId()); | |
| 4171 | - pmodel.setCreated(new Date()); | |
| 4172 | - resperson = personService.addPerson(pmodel); | |
| 4173 | - } | |
| 4249 | + PersonModel pmodel = new PersonModel(); | |
| 4250 | + pmodel.setName(map.get("username").trim()); | |
| 4251 | + pmodel.setPhone(map.get("phone")); | |
| 4252 | + pmodel.setCardNo(map.get("cardNo")); | |
| 4253 | + pmodel.setType(type); | |
| 4254 | + pmodel.setModified(new Date()); | |
| 4255 | + if (CollectionUtils.isNotEmpty(personModels) && personModels.get(0) != null) { | |
| 4256 | + resperson = personModels.get(0); | |
| 4257 | + personService.updatePerson(pmodel, personModels.get(0).getId()); | |
| 4258 | + } else { | |
| 4259 | + pmodel.setYn(YnEnums.YES.getId()); | |
| 4260 | + pmodel.setCreated(new Date()); | |
| 4261 | + resperson = personService.addPerson(pmodel); | |
| 4262 | + } | |
| 4174 | 4263 | patient.setYn(1); |
| 4175 | 4264 | patient.setUsername(map.get("username")); |
| 4176 | 4265 | patient.setCardNo(map.get("cardNo")); |
| ... | ... | @@ -4221,9 +4310,9 @@ |
| 4221 | 4310 | getTrackHospital(patient); |
| 4222 | 4311 | |
| 4223 | 4312 | //孕妇档案 |
| 4224 | - yunBookbuildingService.update(patient,patient.getId()); | |
| 4225 | - }else { | |
| 4226 | - Patients patient=new Patients(); | |
| 4313 | + yunBookbuildingService.update(patient, patient.getId()); | |
| 4314 | + } else { | |
| 4315 | + Patients patient = new Patients(); | |
| 4227 | 4316 | patient.setLastMenses(DateUtil.parseYMD(map.get("lastMenses"))); |
| 4228 | 4317 | if (CollectionUtils.isNotEmpty(users)) { |
| 4229 | 4318 | patient.setOperator(users.get(0).getId()); |
| ... | ... | @@ -4627,7 +4716,7 @@ |
| 4627 | 4716 | try { |
| 4628 | 4717 | patientServiceFacade.addPatientService(patientService, patient.getOperator(), "2100001504"); |
| 4629 | 4718 | } catch (Exception e) { |
| 4630 | - System.out.println("孕妇建档服务开通异常!"+patient.toString()); | |
| 4719 | + System.out.println("孕妇建档服务开通异常!" + patient.toString()); | |
| 4631 | 4720 | e.printStackTrace(); |
| 4632 | 4721 | } |
| 4633 | 4722 | } |
| ... | ... | @@ -4832,7 +4921,7 @@ |
| 4832 | 4921 | patient.setLastReportDoctorName(users.get(0).getName()); |
| 4833 | 4922 | } |
| 4834 | 4923 | } |
| 4835 | - patient.setLastMenses(DateUtil.getCurrentDueDate(map.get("currentDueDate"),map.get("checkDate"))); | |
| 4924 | + patient.setLastMenses(DateUtil.getCurrentDueDate(map.get("currentDueDate"), map.get("checkDate"))); | |
| 4836 | 4925 | Integer type = 1; //1孕妇 2儿童 3产妇 |
| 4837 | 4926 | //建档类型 0 未分娩建档 1儿童建档时建档 2 自动分娩类型 3 转诊自动建档 |
| 4838 | 4927 | Integer buildType = 0; |
| ... | ... | @@ -4948,7 +5037,7 @@ |
| 4948 | 5037 | patient.setNextCheckTime(DateUtil.parseYMD(map.get("nextCheckTime"))); |
| 4949 | 5038 | if (patient.getDueDate() != null) { |
| 4950 | 5039 | } else { |
| 4951 | - patient.setDueDate(DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(DateUtil.addDay(DateUtil.getCurrentDueDate(map.get("currentDueDate"),map.get("bookbuildingDate")), 42 * 7)))); | |
| 5040 | + patient.setDueDate(DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(DateUtil.addDay(DateUtil.getCurrentDueDate(map.get("currentDueDate"), map.get("bookbuildingDate")), 42 * 7)))); | |
| 4952 | 5041 | } |
| 4953 | 5042 | OrganizationQuery organizationQuery = new OrganizationQuery(); |
| 4954 | 5043 | organizationQuery.setYn(YnEnums.YES.getId()); |
| ... | ... | @@ -5133,7 +5222,7 @@ |
| 5133 | 5222 | patient.setLastReportDoctorName(users.get(0).getName()); |
| 5134 | 5223 | } |
| 5135 | 5224 | } |
| 5136 | - patient.setLastMenses(DateUtil.getCurrentDueDate(map.get("currentDueDate"),map.get("checkDate"))); | |
| 5225 | + patient.setLastMenses(DateUtil.getCurrentDueDate(map.get("currentDueDate"), map.get("checkDate"))); | |
| 5137 | 5226 | Integer type = 1; //1孕妇 2儿童 3产妇 |
| 5138 | 5227 | //建档类型 0 未分娩建档 1儿童建档时建档 2 自动分娩类型 3 转诊自动建档 |
| 5139 | 5228 | Integer buildType = 0; |
| ... | ... | @@ -5248,7 +5337,7 @@ |
| 5248 | 5337 | patient.setNextCheckTime(DateUtil.parseYMD(map.get("nextCheckTime"))); |
| 5249 | 5338 | if (patient.getDueDate() != null) { |
| 5250 | 5339 | } else { |
| 5251 | - patient.setDueDate(DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(DateUtil.addDay(DateUtil.getCurrentDueDate(map.get("currentDueDate"),map.get("checkDate")), 42 * 7)))); | |
| 5340 | + patient.setDueDate(DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(DateUtil.addDay(DateUtil.getCurrentDueDate(map.get("currentDueDate"), map.get("checkDate")), 42 * 7)))); | |
| 5252 | 5341 | } |
| 5253 | 5342 | OrganizationQuery organizationQuery = new OrganizationQuery(); |
| 5254 | 5343 | organizationQuery.setYn(YnEnums.YES.getId()); |
| 5255 | 5344 | |
| ... | ... | @@ -5265,10 +5354,10 @@ |
| 5265 | 5354 | patient.setBookbuildingDoctor(String.valueOf(users.get(0).getId())); |
| 5266 | 5355 | } |
| 5267 | 5356 | } |
| 5268 | - // yunBookbuildingService.update(patient,patient.getId()); | |
| 5357 | + // yunBookbuildingService.update(patient,patient.getId()); | |
| 5269 | 5358 | } |
| 5270 | 5359 | |
| 5271 | - boolean a=false; | |
| 5360 | + boolean a = false; | |
| 5272 | 5361 | antExRecordQuery.setType(1); |
| 5273 | 5362 | AntExChuQuery antExChuQuery = new AntExChuQuery(); |
| 5274 | 5363 | antExChuQuery.setParentId(patient.getId()); |
| ... | ... | @@ -5280,7 +5369,7 @@ |
| 5280 | 5369 | antExRecordModel = antExRecordModels.get(0); |
| 5281 | 5370 | List<AntExChuModel> antExChuModelList = antenatalExaminationService.queryAntExChu(antExChuQuery); |
| 5282 | 5371 | antExChuModel = antExChuModelList.get(0); |
| 5283 | - a=true; | |
| 5372 | + a = true; | |
| 5284 | 5373 | } else { |
| 5285 | 5374 | antExRecordModel = new AntExRecordModel(); |
| 5286 | 5375 | antExChuModel = new AntExChuModel(); |
| ... | ... | @@ -5365,10 +5454,10 @@ |
| 5365 | 5454 | antExRecordModel.setStatus(antExRecordModel.getDueDate().compareTo(new Date()) > 0 ? 2 : 1); |
| 5366 | 5455 | antExRecordModel.setDueStatus(antExRecordModel.getStatus()); |
| 5367 | 5456 | } |
| 5368 | - if (a){ | |
| 5369 | - antExRecordService.updateOne(antExRecordModel,antExRecordModel.getId()); | |
| 5370 | - antenatalExaminationService.updateAntExChu(antExChuModel,antExChuModel.getId()); | |
| 5371 | - }else { | |
| 5457 | + if (a) { | |
| 5458 | + antExRecordService.updateOne(antExRecordModel, antExRecordModel.getId()); | |
| 5459 | + antenatalExaminationService.updateAntExChu(antExChuModel, antExChuModel.getId()); | |
| 5460 | + } else { | |
| 5372 | 5461 | antExRecordService.addOneRecord(antExRecordModel); |
| 5373 | 5462 | antenatalExaminationService.addOneAntEx(antExChuModel); |
| 5374 | 5463 | //初诊是添加追访记录 |
| ... | ... | @@ -5377,7 +5466,7 @@ |
| 5377 | 5466 | |
| 5378 | 5467 | } |
| 5379 | 5468 | if (num > 1) { |
| 5380 | - if (num==2){ | |
| 5469 | + if (num == 2) { | |
| 5381 | 5470 | antExRecordQuery.setType(2); |
| 5382 | 5471 | List<AntExRecordModel> antExRecordModels = antExRecordService.queryAntExRecords(antExRecordQuery); |
| 5383 | 5472 | if (CollectionUtils.isNotEmpty(antExRecordModels)) { |
platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml
View file @
5f7fb49
| ... | ... | @@ -704,6 +704,22 @@ |
| 704 | 704 | <property name="cronExpression" value="0 0 9 * * ?"></property> |
| 705 | 705 | </bean> |
| 706 | 706 | |
| 707 | + <!--凌晨0点37点发送建档短信提醒 --> | |
| 708 | + <bean id="bookbuildingSyncMsgWork" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> | |
| 709 | + <!-- 要调用的bean --> | |
| 710 | + <property name="targetObject" ref="bookbuildingFacade"></property> | |
| 711 | + <!-- 要调用的Method --> | |
| 712 | + <property name="targetMethod" value="bookbuildingSyncMsg"></property> | |
| 713 | + <!-- 是否并发,false表示 如果发生错误也不影响下一次的调用 --> | |
| 714 | + <property name="concurrent" value="false"></property> | |
| 715 | + </bean> | |
| 716 | + | |
| 717 | + <!-- 配置一个触发器 0 37 0 * * ?--> | |
| 718 | + <bean id="bookbuildingSyncMsgWorkTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> | |
| 719 | + <property name="jobDetail" ref="bookbuildingSyncMsgWork"></property> | |
| 720 | + <property name="cronExpression" value="0 37 0 * * ?"></property> | |
| 721 | + </bean> | |
| 722 | + | |
| 707 | 723 | <!-- 总调度,用于启动定时器 --> |
| 708 | 724 | <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> |
| 709 | 725 | <property name="triggers" > |
| ... | ... | @@ -773,6 +789,8 @@ |
| 773 | 789 | <ref bean="bookbuildingSyncWorkTrigger"/> |
| 774 | 790 | <!-- 秦皇岛二院产检提醒--> |
| 775 | 791 | <ref bean="weekSyncWorkTrigger"/> |
| 792 | + <!-- 建档短信提醒--> | |
| 793 | + <ref bean="bookbuildingSyncMsgWorkTrigger"/> | |
| 776 | 794 | </list> |
| 777 | 795 | </property> |
| 778 | 796 | </bean> |