Commit f12a24867f21457fc9c7368efcb0bf2bfd973c0e

Authored by liquanyu
1 parent 6ba2310ef7

复诊修改优化

Showing 3 changed files with 95 additions and 69 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java View file @ f12a248
... ... @@ -41,7 +41,7 @@
41 41 public void updatePatientOneCol(String id, Object colValue) {
42 42 this.mongoTemplate.updateFirst(new Query(Criteria.where("id").is(id)), Update.update("nextCheckTime", colValue), Patients.class);
43 43 //为了使修改为空的时候能够同步到线上
44   - updatePatient( findById(id), id);
  44 + //updatePatient( findById(id), id);
45 45 }
46 46  
47 47 @Override
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java View file @ f12a248
... ... @@ -160,7 +160,7 @@
160 160 //修改主档
161 161 if (null != patients && StringUtils.isNotEmpty(patients.getSource())) {
162 162 Patients p = findOnePatientById(patients.getSource());
163   - updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
  163 + updatePatientOneCol(p.getId(), StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
164 164 } else if (null != patients) {
165 165 PatientsQuery patientsQuery1 = new PatientsQuery();
166 166 patientsQuery1.setSource(id);
167 167  
... ... @@ -168,11 +168,11 @@
168 168 List<Patients> list = queryPatient(patientsQuery1);
169 169 if (CollectionUtils.isNotEmpty(list)) {
170 170 for (Patients p : list) {
171   - updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
  171 + updatePatientOneCol(p.getId(), StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
172 172 }
173 173 }
174 174 }
175   - updatePatientOneCol(id, com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
  175 + //updatePatientOneCol(id, com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
176 176 }
177 177 }
178 178  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java View file @ f12a248
... ... @@ -29,10 +29,12 @@
29 29 import org.slf4j.Logger;
30 30 import org.slf4j.LoggerFactory;
31 31 import org.springframework.beans.factory.annotation.Autowired;
  32 +import org.springframework.beans.factory.annotation.Qualifier;
32 33 import org.springframework.data.domain.Sort;
33 34 import org.springframework.data.mongodb.core.MongoTemplate;
34 35 import org.springframework.data.mongodb.core.query.Criteria;
35 36 import org.springframework.data.mongodb.core.query.Query;
  37 +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
36 38 import org.springframework.stereotype.Component;
37 39 import org.springframework.util.StopWatch;
38 40  
... ... @@ -108,6 +110,10 @@
108 110 private HosptialHighRiskFacade highRiskFacade;
109 111  
110 112 @Autowired
  113 + @Qualifier("commonThreadPool")
  114 + private ThreadPoolTaskExecutor commonThreadPool;
  115 +
  116 + @Autowired
111 117 private MeasureInfoFacade measureInfoFacade;
112 118  
113 119 @Autowired
114 120  
... ... @@ -213,13 +219,13 @@
213 219 p1.setRiskFactorId(patients.getRiskFactorId());
214 220 p1.setRiskLevelId(patients.getRiskLevelId());
215 221 p1.setRiskScore(patients.getRiskScore());
216   - p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime));
  222 + //-- p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime));
217 223 p1.setFmDate(patients.getFmDate());
218 224 p1.setServiceStatus(patients.getServiceStatus());
219 225 p1.setLastCheckEmployeeId(patients.getLastCheckEmployeeId());
220 226  
221 227 patientsService.updatePatient(p1);
222   - patientsService.updatePatientOneCol(masterPatients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime));
  228 + //--patientsService.updatePatientOneCol(masterPatients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime));
223 229 } else {
224 230 PatientsQuery patientsQuery1 = new PatientsQuery();
225 231 patientsQuery1.setSource(parentId);
226 232  
... ... @@ -239,12 +245,12 @@
239 245 p1.setRiskFactorId(patients.getRiskFactorId());
240 246 p1.setRiskLevelId(patients.getRiskLevelId());
241 247 p1.setRiskScore(patients.getRiskScore());
242   - p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime));
  248 + //--p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime));
243 249 p1.setFmDate(patients.getFmDate());
244 250 p1.setServiceStatus(patients.getServiceStatus());
245 251 p1.setLastCheckEmployeeId(patients.getLastCheckEmployeeId());
246 252 patientsService.updatePatient(p1);
247   - patientsService.updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime));
  253 + //--patientsService.updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime));
248 254 }
249 255 }
250 256 }
251 257  
252 258  
... ... @@ -257,19 +263,15 @@
257 263 * @param antExAddRequest
258 264 * @return
259 265 */
260   - public BaseResponse addOneAntEx(AntExAddRequest antExAddRequest, Integer userId) {
261   - String hospitalId = autoMatchFacade.getHospitalId(userId);
  266 + public BaseResponse addOneAntEx(final AntExAddRequest antExAddRequest, Integer userId) {
  267 + final String hospitalId = autoMatchFacade.getHospitalId(userId);
262 268 AntenatalExaminationModel model = antExAddRequest.convertToDataModel();
263 269 //表示区域的
264 270 if (StringUtils.isNotEmpty(groupsFacade.findByCurrentUserId(hospitalId))) {
265 271 String parentId = handHideBuild(antExAddRequest.getPid(), antExAddRequest.getParentId(), userId, 1);
266   - if (StringUtils.isEmpty(parentId)) {
267   - //打印日志
268   - }
269 272 model.setParentId(parentId);
270 273 antExAddRequest.setParentId(parentId);
271 274 Patients p = patientsService.findOnePatientById(parentId);
272   -
273 275 //加入产筛
274 276 patientsService.validata(p);
275 277 }
276 278  
277 279  
278 280  
279 281  
280 282  
281 283  
... ... @@ -282,27 +284,32 @@
282 284 //修改申请单状态
283 285 updateApplyOrder(model, antExAddRequest.getParentId());
284 286  
285   - Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId());
  287 + commonThreadPool.execute(new Runnable() {
  288 + @Override
  289 + public void run() {
  290 + //更新主档案或者子档案下次预约时间冗余到patient表的数据
  291 + patientsService.updateNextCheckTime(antExAddRequest.getNextCheckTime(), antExAddRequest.getParentId());
286 292  
287   - patients.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor());
288   - patientsService.updateNextCheckTime(antExAddRequest.getNextCheckTime(), patients.getId());
289   - patientsService.updatePatient(patients);
290   - patientsService.updatePatientOneCol(patients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(antExAddRequest.getNextCheckTime()) ? null : DateUtil.parseYMD(antExAddRequest.getNextCheckTime()));
291   - //修改孕妇高危等级
292   - updateLastRisk(antExAddRequest.getParentId());
  293 + Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId());
  294 + patients.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor());
  295 + patientsService.updatePatient(patients);
293 296  
294   - //修改本院最后一次定义高危
295   - updateLastRhTime(patients.getId(), hospitalId);
296   - //修改最后一次检查时间
297   - setLashCTimes(antExAddRequest.getParentId());
  297 + //修改孕妇高危等级
  298 + updateLastRisk(antExAddRequest.getParentId());
298 299  
  300 + //修改本院最后一次定义高危
  301 + updateLastRhTime(patients.getId(), hospitalId);
  302 + //修改最后一次检查时间
  303 + setLashCTimes(antExAddRequest.getParentId());
299 304  
300   - //修改数据
301   - syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime());
302 305  
303   - //复诊,修改产检管理
304   - antenatalExaminationService.updateAntExRecord(antExAddRequest.getId(), 2);
  306 + //修改数据
  307 + syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime());
305 308  
  309 + //复诊,修改产检管理
  310 + antenatalExaminationService.updateAntExRecord(antExAddRequest.getId(), 2);
  311 + }
  312 + });
306 313  
307 314 AntExQuery antExQuery = new AntExQuery();
308 315 antExQuery.setId(antExAddRequest.getId());
... ... @@ -321,25 +328,6 @@
321 328 return new BaseResponse().setErrorcode(ErrorCodeConstants.DATA_EXIST).setErrormsg("同一天只能建一次复诊");
322 329 }
323 330  
324   - Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId());
325   - Patients patients1 = new Patients();
326   - patients1.setId(patients.getId());
327   - patients1.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor());
328   -
329   - model.setPid(patients.getPid());
330   - if (StringUtils.isNotEmpty(patients.getEnable()) && "0".equals(patients.getEnable())) {
331   - patients1.setEnable("1");
332   - }
333   -
334   - patientsService.updateNextCheckTime(antExAddRequest.getNextCheckTime(), patients.getId());
335   - patientsService.updatePatient(patients1);
336   - patientsService.updatePatientOneCol(patients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(antExAddRequest.getNextCheckTime()) ? null : DateUtil.parseYMD(antExAddRequest.getNextCheckTime()));
337   -
338   - antenatalExaminationService.addOneBabyAnt(model);
339   -
340   -
341   - operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), model, OptActionEnums.ADD.getId(), "添加复诊");
342   -
343 331 /** 验证产检券是否可用 可用就改为已使用状态 */
344 332 if (StringUtils.isNotBlank(antExAddRequest.getCouponCode()) && antExAddRequest.getCouponType() != null) {
345 333 BaseObjectResponse resp = couponService.validate(antExAddRequest.getCouponCode(), antExAddRequest.getCouponType(), autoMatchFacade.getHospitalId(userId));
346 334  
347 335  
348 336  
349 337  
... ... @@ -350,22 +338,52 @@
350 338 }
351 339 }
352 340  
353   - //修改最后一次检查时间
354   - setLashCTimes(antExAddRequest.getParentId());
355 341 //修改申请单状态
356 342 updateApplyOrder(model, antExAddRequest.getParentId());
357   - //修改孕妇高危等级
358   -// updatePatientRiskLevel(model, patients);
359   - //修改孕妇高危
360   - updateLastRisk(antExAddRequest.getParentId());
361 343  
362   - //修改本院最后一次定义高危
363   - updateLastRhTime(patients.getId(), hospitalId);
  344 + final Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId());
  345 + model.setPid(patients.getPid());
364 346  
365   - //修改数据
366   - syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime());
  347 + antenatalExaminationService.addOneBabyAnt(model);
  348 +
  349 + commonThreadPool.execute(new Runnable() {
  350 + @Override
  351 + public void run() {
  352 + patientsService.updateNextCheckTime(antExAddRequest.getNextCheckTime(), antExAddRequest.getParentId());
  353 +
  354 + Patients patients1 = new Patients();
  355 + patients1.setId(patients.getId());
  356 + patients1.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor());
  357 +
  358 +
  359 + if (StringUtils.isNotEmpty(patients.getEnable()) && "0".equals(patients.getEnable())) {
  360 + patients1.setEnable("1");
  361 + }
  362 +
  363 + patientsService.updatePatient(patients1);
  364 +
  365 + //修改最后一次检查时间
  366 + setLashCTimes(antExAddRequest.getParentId());
  367 +
  368 + //修改孕妇高危等级
  369 + //updatePatientRiskLevel(model, patients);
  370 + //修改孕妇高危
  371 + updateLastRisk(antExAddRequest.getParentId());
  372 +
  373 + //修改本院最后一次定义高危
  374 + updateLastRhTime(patients.getId(), hospitalId);
  375 +
  376 + //修改数据
  377 + syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime());
  378 +
  379 + }
  380 + });
  381 +
367 382 //复诊,修改产检管理
368 383 antenatalExaminationService.updateAntExRecord(model.getId(), 2);
  384 +
  385 + operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), model, OptActionEnums.ADD.getId(), "添加复诊");
  386 +
369 387 if (null != patients.getBuildType() && patients.getBuildType() == 3) {
370 388 ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery();
371 389 referralApplyOrderQuery.setParentId(patients.getId());
372 390  
373 391  
... ... @@ -405,19 +423,27 @@
405 423 }
406 424  
407 425  
408   - public void updateApplyOrder(AntenatalExaminationModel antenatalExamination, String parentId) {
409   - ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery();
410   - referralApplyOrderQuery.setParentId(parentId);
  426 + public void updateApplyOrder(final AntenatalExaminationModel antenatalExamination, final String parentId) {
411 427  
412   - ReferralApplyOrderModel referralApplyOrderModel = new ReferralApplyOrderModel();
413   - referralApplyOrderModel.setScore(NumberUtils.toInt(antenatalExamination.getRiskScore()));
414   - try {
415   - List l = JsonUtil.toList(antenatalExamination.getRiskFactor(), List.class);
416   - referralApplyOrderModel.setrRisk(queryRiskName(l));
417   - } catch (Exception e) {
418   - }
  428 + commonThreadPool.execute(new Runnable() {
  429 + @Override
  430 + public void run() {
  431 + ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery();
  432 + referralApplyOrderQuery.setParentId(parentId);
419 433  
420   - applyOrderService.updateByParentId(referralApplyOrderQuery, referralApplyOrderModel);
  434 + ReferralApplyOrderModel referralApplyOrderModel = new ReferralApplyOrderModel();
  435 + referralApplyOrderModel.setScore(NumberUtils.toInt(antenatalExamination.getRiskScore()));
  436 + try {
  437 + List l = JsonUtil.toList(antenatalExamination.getRiskFactor(), List.class);
  438 + referralApplyOrderModel.setrRisk(queryRiskName(l));
  439 + } catch (Exception e) {
  440 + }
  441 +
  442 + applyOrderService.updateByParentId(referralApplyOrderQuery, referralApplyOrderModel);
  443 + }
  444 + });
  445 +
  446 +
421 447 }
422 448  
423 449 /**