|
@@ -1,16 +1,25 @@
|
|
|
package com.fs.his.service.impl;
|
|
|
|
|
|
-import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
+
|
|
|
+import com.fs.common.core.domain.R;
|
|
|
+import com.fs.common.exception.CustomException;
|
|
|
import com.fs.common.utils.DateUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fs.course.param.FsFirstDiagnosisListUParam;
|
|
|
+import com.fs.course.vo.FsFirstDiagnosisListUVO;
|
|
|
+import com.fs.his.domain.FsDoctor;
|
|
|
+import com.fs.his.param.FsDiagnosisFillDParam;
|
|
|
import com.fs.his.param.FsDiagnosisListDParam;
|
|
|
+import com.fs.his.service.IFsDoctorService;
|
|
|
import com.fs.his.vo.FsDiagnosisListDVO;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.fs.his.mapper.FsFirstDiagnosisMapper;
|
|
|
import com.fs.his.domain.FsFirstDiagnosis;
|
|
|
import com.fs.his.service.IFsFirstDiagnosisService;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
/**
|
|
|
* 初诊单Service业务层处理
|
|
@@ -25,6 +34,9 @@ public class FsFirstDiagnosisServiceImpl extends ServiceImpl<FsFirstDiagnosisMap
|
|
|
@Autowired
|
|
|
private FsFirstDiagnosisMapper diagnosisMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IFsDoctorService doctorService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询初诊单
|
|
|
*
|
|
@@ -112,4 +124,78 @@ public class FsFirstDiagnosisServiceImpl extends ServiceImpl<FsFirstDiagnosisMap
|
|
|
public List<FsDiagnosisListDVO> getDiagnosisList(FsDiagnosisListDParam param) {
|
|
|
return diagnosisMapper.selectFsDiagnosisListDVO(param);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<FsFirstDiagnosisListUVO> selectFsFirstDiagnosisListUVO(FsFirstDiagnosisListUParam param) {
|
|
|
+ List<FsFirstDiagnosisListUVO> listUVOS = diagnosisMapper.selectFsFirstDiagnosisListUVO(param);
|
|
|
+ if (!CollectionUtils.isEmpty(listUVOS)) {
|
|
|
+ listUVOS.forEach(listUVO -> {
|
|
|
+ if(listUVO.getDoctorStatus() != 1) {
|
|
|
+ listUVO.setSignUrl(null);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return listUVOS;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public FsFirstDiagnosisListUVO getInfo(Long id) {
|
|
|
+ FsFirstDiagnosisListUVO info = diagnosisMapper.getInfo(id);
|
|
|
+ if (info != null && info.getDoctorStatus() != 1) {
|
|
|
+ info.setSignUrl(null);
|
|
|
+ }
|
|
|
+ return info;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R confirm(Long id) {
|
|
|
+ FsFirstDiagnosis diagnosis = diagnosisMapper.selectById(id);
|
|
|
+ if (diagnosis == null) {
|
|
|
+ return R.error("初诊单不存在");
|
|
|
+ }
|
|
|
+ if (diagnosis.getUserStatus() != 0) {
|
|
|
+ return R.error("初诊单已确认");
|
|
|
+ }
|
|
|
+ if (diagnosis.getDoctorStatus() != 1) {
|
|
|
+ return R.error("医生未签字无法确认");
|
|
|
+ }
|
|
|
+ FsFirstDiagnosis map = new FsFirstDiagnosis();
|
|
|
+ map.setId(diagnosis.getId());
|
|
|
+ map.setUserStatus(1);
|
|
|
+ int i = diagnosisMapper.updateFsFirstDiagnosis(diagnosis);
|
|
|
+ if (i > 0) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ return R.error();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R fill(FsDiagnosisFillDParam param) {
|
|
|
+ if (param.getId() == null) {
|
|
|
+ return R.error("初诊单id不能为空");
|
|
|
+ }
|
|
|
+ FsFirstDiagnosis diagnosis = diagnosisMapper.selectFsFirstDiagnosisById(param.getId());
|
|
|
+ FsFirstDiagnosis map = new FsFirstDiagnosis();
|
|
|
+ if (diagnosis == null) {
|
|
|
+ return R.error("初诊单不存在");
|
|
|
+ }
|
|
|
+ if (diagnosis.getDoctorId() == null){
|
|
|
+ FsDoctor doctor = doctorService.selectFsDoctorByDoctorId(param.getDoctorId());
|
|
|
+ if (doctor == null) {
|
|
|
+ return R.error("医生不存在");
|
|
|
+ }
|
|
|
+ map.setDoctorName(doctor.getDoctorName());
|
|
|
+ map.setDoctorDep(doctor.getPosition());
|
|
|
+ map.setDoctorCertificate(doctor.getCertificateCode());
|
|
|
+ map.setDoctorId(doctor.getDoctorId());
|
|
|
+ }
|
|
|
+ map.setId(diagnosis.getId());
|
|
|
+ map.setDoctorStatus(1);
|
|
|
+ BeanUtils.copyProperties(param, map);
|
|
|
+ int i = diagnosisMapper.updateFsFirstDiagnosis(map);
|
|
|
+ if (i > 0) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ return R.error();
|
|
|
+ }
|
|
|
}
|