diff --git a/src/main/java/com/docus/server/message/busservice/impl/FsBusinessServiceImpl.java b/src/main/java/com/docus/server/message/busservice/impl/FsBusinessServiceImpl.java index 4b655fe..9bec98b 100644 --- a/src/main/java/com/docus/server/message/busservice/impl/FsBusinessServiceImpl.java +++ b/src/main/java/com/docus/server/message/busservice/impl/FsBusinessServiceImpl.java @@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Collections; import java.util.Date; import java.util.List; @@ -59,23 +60,27 @@ public class FsBusinessServiceImpl implements FsBusinessService { } TbasicQrPreciseCondition condition = FsWsRecordSubmitMessageConvert.convert(dto); List patientIds = tBasicMapper.getPatientIdByPreciseConditions(condition); - verifyPatientIds(patientIds); - - String submitDateStr = dto.getSubmitDate(); - Date submitDate = Func.parseDate(submitDateStr, "yyyy/M/d HH:mm:ss"); - tBasicMapper.insertOrUpdateDoctorSubmitTime(patientIds.get(0), submitDate); - compensateTask("电子病历提交",patientIds, taskConfig.getCollectorIds()); - tBasicMapper.updateEmrSubmitState(patientIds.get(0), 1); + verifyPatientIds(patientIds); + // 有多个患者,多个患者都插入数据。 + for (String patientId : patientIds) { + String submitDateStr = dto.getSubmitDate(); + Date submitDate = Func.parseDate(submitDateStr, "yyyy/M/d HH:mm:ss"); + tBasicMapper.insertOrUpdateDoctorSubmitTime(patientId ,submitDate); + + compensateTask("电子病历提交", Collections.singletonList(patientId), taskConfig.getCollectorIds()); + tBasicMapper.updateEmrSubmitState(patientId, 1); + + // 添加提交记录 + HospitalSubmitNodeLogAddDTO nodeLogAddDTO = new HospitalSubmitNodeLogAddDTO(); + nodeLogAddDTO.setPatientId(patientId); + nodeLogAddDTO.setContent(new String[]{Func.formatDateTime(submitDate)}); + nodeLogAddDTO.setSubmitNodeEnum(HospitalSubmitNodeEnum.EMR); + nodeLogAddDTO.setCreater("电子病历提交"); + nodeLogAddDTO.setCreaterName("电子病历提交"); + hospitalSubmitNodeServiceApi.addLog(nodeLogAddDTO); + } - // 添加提交记录 - HospitalSubmitNodeLogAddDTO nodeLogAddDTO = new HospitalSubmitNodeLogAddDTO(); - nodeLogAddDTO.setPatientId(patientIds.get(0)); - nodeLogAddDTO.setContent(new String[]{Func.formatDateTime(submitDate)}); - nodeLogAddDTO.setSubmitNodeEnum(HospitalSubmitNodeEnum.EMR); - nodeLogAddDTO.setCreater("电子病历提交"); - nodeLogAddDTO.setCreaterName("电子病历提交"); - hospitalSubmitNodeServiceApi.addLog(nodeLogAddDTO); return true; } catch (Exception ex) { @@ -88,9 +93,6 @@ public class FsBusinessServiceImpl implements FsBusinessService { if (Func.isEmpty(patientIds)) { throw new BaseException("系统无此患者!"); } - if (patientIds.size() > 1) { - throw new BaseException("系统中患者有多个,无法确认!"); - } } @Override @@ -110,20 +112,19 @@ public class FsBusinessServiceImpl implements FsBusinessService { List patientIds = tBasicMapper.getPatientIdByPreciseConditions(condition); verifyPatientIds(patientIds); - String submitDate = dto.getSubmitDate(); - tBasicMapper.insertOrUpdateNurseSubmitTime(patientIds.get(0), Func.parseDate(submitDate, DateUtil.PATTERN_DATETIME)); - - compensateTask("护理提交",patientIds, taskConfig.getCollectorIds()); - - // 添加提交记录 - HospitalSubmitNodeLogAddDTO nodeLogAddDTO = new HospitalSubmitNodeLogAddDTO(); - nodeLogAddDTO.setPatientId(patientIds.get(0)); - nodeLogAddDTO.setContent(new String[]{submitDate}); - nodeLogAddDTO.setSubmitNodeEnum(HospitalSubmitNodeEnum.NURSE); - nodeLogAddDTO.setCreater("护理提交"); - nodeLogAddDTO.setCreaterName("护理提交"); - hospitalSubmitNodeServiceApi.addLog(nodeLogAddDTO); - + for (String patientId : patientIds) { + String submitDate = dto.getSubmitDate(); + tBasicMapper.insertOrUpdateNurseSubmitTime(patientId, Func.parseDate(submitDate, DateUtil.PATTERN_DATETIME)); + compensateTask("护理提交",Collections.singletonList(patientId), taskConfig.getCollectorIds()); + // 添加提交记录 + HospitalSubmitNodeLogAddDTO nodeLogAddDTO = new HospitalSubmitNodeLogAddDTO(); + nodeLogAddDTO.setPatientId(patientId); + nodeLogAddDTO.setContent(new String[]{submitDate}); + nodeLogAddDTO.setSubmitNodeEnum(HospitalSubmitNodeEnum.NURSE); + nodeLogAddDTO.setCreater("护理提交"); + nodeLogAddDTO.setCreaterName("护理提交"); + hospitalSubmitNodeServiceApi.addLog(nodeLogAddDTO); + } return true; } catch (Exception ex) { log.error(ex.getMessage(), ex);