|
|
|
@ -1,6 +1,15 @@
|
|
|
|
|
package com.ruoyi.system.service.impl; |
|
|
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
import com.ruoyi.common.core.domain.entity.SysUser; |
|
|
|
|
import com.ruoyi.common.exception.ServiceException; |
|
|
|
|
import com.ruoyi.common.utils.StringUtils; |
|
|
|
|
import com.ruoyi.common.utils.bean.BeanValidators; |
|
|
|
|
import com.ruoyi.common.utils.security.Md5Utils; |
|
|
|
|
import com.ruoyi.system.service.ISysConfigService; |
|
|
|
|
import org.slf4j.Logger; |
|
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import com.ruoyi.system.mapper.PatientManageMapper; |
|
|
|
@ -8,6 +17,8 @@ import com.ruoyi.system.domain.PatientManage;
|
|
|
|
|
import com.ruoyi.system.service.IPatientManageService; |
|
|
|
|
import com.ruoyi.common.core.text.Convert; |
|
|
|
|
|
|
|
|
|
import javax.validation.Validator; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 患者管理Service业务层处理 |
|
|
|
|
* |
|
|
|
@ -17,8 +28,13 @@ import com.ruoyi.common.core.text.Convert;
|
|
|
|
|
@Service |
|
|
|
|
public class PatientManageServiceImpl implements IPatientManageService |
|
|
|
|
{ |
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(PatientManageServiceImpl.class); |
|
|
|
|
@Autowired |
|
|
|
|
private PatientManageMapper patientManageMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private ISysConfigService configService; |
|
|
|
|
@Autowired |
|
|
|
|
protected Validator validator; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 查询患者管理 |
|
|
|
@ -91,4 +107,78 @@ public class PatientManageServiceImpl implements IPatientManageService
|
|
|
|
|
{ |
|
|
|
|
return patientManageMapper.deletePatientManageByPatientId(patientId); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 通过患者身份证查询患者 |
|
|
|
|
* |
|
|
|
|
* @param patientIdCard 患者身份证 |
|
|
|
|
* @return 患者对象信息 |
|
|
|
|
*/ |
|
|
|
|
public PatientManage selectPatientByPatientIdCard(String patientIdCard) { |
|
|
|
|
return patientManageMapper.selectPatientByPatientIdCard(patientIdCard); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 导入用户数据 |
|
|
|
|
* |
|
|
|
|
* @param patientList 用户数据列表 |
|
|
|
|
* @return 结果 |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public String importPatient(List<PatientManage> patientList, Boolean isUpdateSupport) |
|
|
|
|
{ |
|
|
|
|
if (StringUtils.isNull(patientList) || patientList.size() == 0) |
|
|
|
|
{ |
|
|
|
|
throw new ServiceException("导入患者数据不能为空!"); |
|
|
|
|
} |
|
|
|
|
int successNum = 0; |
|
|
|
|
int failureNum = 0; |
|
|
|
|
StringBuilder successMsg = new StringBuilder(); |
|
|
|
|
StringBuilder failureMsg = new StringBuilder(); |
|
|
|
|
for (PatientManage patientManage : patientList) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
// 验证是否存在这个患者
|
|
|
|
|
PatientManage p = patientManageMapper.selectPatientByPatientIdCard(patientManage.getPatientIdCard()); |
|
|
|
|
if (StringUtils.isNull(p)) |
|
|
|
|
{ |
|
|
|
|
BeanValidators.validateWithException(validator, patientManage); |
|
|
|
|
this.insertPatientManage(patientManage); |
|
|
|
|
successNum++; |
|
|
|
|
successMsg.append("<br/>" + successNum + "、身份证: " + patientManage.getPatientIdCard() + " 导入成功"); |
|
|
|
|
} |
|
|
|
|
else if (isUpdateSupport) |
|
|
|
|
{ |
|
|
|
|
BeanValidators.validateWithException(validator, patientManage); |
|
|
|
|
patientManage.setPatientId(p.getPatientId()); |
|
|
|
|
this.updatePatientManage(patientManage); |
|
|
|
|
successNum++; |
|
|
|
|
successMsg.append("<br/>" + successNum + "、身份证: " + patientManage.getPatientIdCard() + " 的患者信息更新成功"); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
failureNum++; |
|
|
|
|
failureMsg.append("<br/>" + failureNum + "、身份证 " + patientManage.getPatientIdCard() + " 已存在"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
catch (Exception e) |
|
|
|
|
{ |
|
|
|
|
failureNum++; |
|
|
|
|
String msg = "<br/>" + failureNum + "、账号 " + patientManage.getPatientIdCard() + " 导入失败:"; |
|
|
|
|
failureMsg.append(msg + e.getMessage()); |
|
|
|
|
log.error(msg, e); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (failureNum > 0) |
|
|
|
|
{ |
|
|
|
|
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); |
|
|
|
|
throw new ServiceException(failureMsg.toString()); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); |
|
|
|
|
} |
|
|
|
|
return successMsg.toString(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|