|
|
|
|
@ -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<String> 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<String> 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);
|
|
|
|
|
|