Explorar o código

1.小程序问诊单新增返回数据

wjj hai 4 días
pai
achega
ff8bc78518

+ 3 - 0
fs-service/src/main/java/com/fs/course/vo/FsFirstDiagnosisListUVO.java

@@ -71,4 +71,7 @@ public class FsFirstDiagnosisListUVO {
      * 销售名称
      */
     private String qwUserName;
+
+    //医生签名
+    private String signUrl;
 }

+ 2 - 0
fs-service/src/main/java/com/fs/course/vo/FsInquiryPatientInfoListUVO.java

@@ -108,4 +108,6 @@ public class FsInquiryPatientInfoListUVO {
     private Date subTime;
 
     private Long subDoctorId;
+
+    private String subDoctorName;
 }

+ 7 - 5
fs-service/src/main/java/com/fs/his/mapper/FsFirstDiagnosisMapper.java

@@ -82,18 +82,20 @@ public interface FsFirstDiagnosisMapper extends BaseMapper<FsFirstDiagnosis>{
     List<FsDiagnosisListDVO> selectFsDiagnosisListDVO(@Param("maps") FsDiagnosisListDParam param);
 
     @Select({"<script>" +
-            "SELECT fd.*,u.qw_user_name FROM fs_first_diagnosis fd " +
-            "LEFT JOIN qw_user u ON u.id = fd.qw_user_id " +
-            "WHERE 1 = 1 " +
+            "SELECT fd.*,u.qw_user_name,d.sign_url FROM fs_first_diagnosis fd " +
+            " LEFT JOIN qw_user u ON u.id = fd.qw_user_id " +
+            " LEFT JOIN fs_doctor d ON d.doctor_id = fd.doctor_id " +
+            " WHERE fd.doctor_status = 1 " +
             "<if test='param.doctorStatus != null'> AND fd.doctor_status = #{param.doctorStatus} </if>" +
             "<if test='param.userId != null'> AND fd.user_id = #{param.userId} </if>" +
-            "ORDER BY fd.create_time desc " +
+            " ORDER BY fd.create_time desc " +
             "</script>"})
     List<FsFirstDiagnosisListUVO> selectFsFirstDiagnosisListUVO(@Param("param") FsFirstDiagnosisListUParam param);
 
     @Select({"<script>" +
-            "SELECT fd.*,u.qw_user_name FROM fs_first_diagnosis fd " +
+            "SELECT fd.*,u.qw_user_name,d.sign_url FROM fs_first_diagnosis fd " +
             "LEFT JOIN qw_user u ON u.id = fd.qw_user_id " +
+            " LEFT JOIN fs_doctor d ON d.doctor_id = fd.doctor_id " +
             "WHERE fd.id = #{id}" +
             "</script>"})
     FsFirstDiagnosisListUVO getInfo(Long id);

+ 5 - 3
fs-service/src/main/java/com/fs/his/mapper/FsInquiryPatientInfoMapper.java

@@ -20,19 +20,21 @@ public interface FsInquiryPatientInfoMapper {
     FsInquiryPatientVO selectUserAndCompanyUserByInquiryOrderId(Long inquiryOrderId);
 
     @Select({"<script>" +
-            "SELECT pi.*,p.patient_name,p.birthday,p.sex, u.nick_name companyUserName FROM fs_inquiry_patient_info pi " +
+            "SELECT pi.*,p.patient_name,p.birthday,p.sex, u.nick_name companyUserName,d.doctor_name FROM fs_inquiry_patient_info pi " +
             "LEFT JOIN fs_patient p ON p.patient_id  = pi.patient_id " +
             "LEFT JOIN company_user u ON u.user_id = pi.company_user_id " +
-            "WHERE 1=1 " +
+            " left join fs_doctor d on d.doctor_id = pi.sub_doctor_id  " +
+            " 1=1 " +
             "<if test='param.userId != null'> AND pi.user_id = #{param.userId} </if> " +
             "ORDER BY pi.create_time desc " +
             "</script>"})
     List<FsInquiryPatientInfoListUVO> selectFsInquiryPatientInfoListUVO(@Param("param") FsInquiryPatientInfoUParam param);
 
     @Select({"<script>" +
-            "SELECT pi.*,p.patient_name,p.birthday,p.sex, u.nick_name companyUserName FROM fs_inquiry_patient_info pi " +
+            "SELECT pi.*,p.patient_name,p.birthday,p.sex, u.nick_name companyUserName,d.doctor_name FROM fs_inquiry_patient_info pi " +
             "LEFT JOIN fs_patient p ON p.patient_id  = pi.patient_id " +
             "LEFT JOIN company_user u ON u.user_id = pi.company_user_id " +
+            " left join fs_doctor d on d.doctor_id = pi.sub_doctor_id  " +
             "WHERE pi.id = #{id} " +
             "</script>"})
     FsInquiryPatientInfoListUVO getInfo(Long id);

+ 41 - 6
fs-service/src/main/java/com/fs/his/service/impl/FsFirstDiagnosisServiceImpl.java

@@ -8,8 +8,10 @@ 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;
@@ -17,6 +19,7 @@ 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业务层处理
@@ -31,6 +34,9 @@ public class FsFirstDiagnosisServiceImpl extends ServiceImpl<FsFirstDiagnosisMap
     @Autowired
     private FsFirstDiagnosisMapper diagnosisMapper;
 
+    @Autowired
+    private IFsDoctorService doctorService;
+
     /**
      * 查询初诊单
      * 
@@ -121,12 +127,24 @@ public class FsFirstDiagnosisServiceImpl extends ServiceImpl<FsFirstDiagnosisMap
 
     @Override
     public List<FsFirstDiagnosisListUVO> selectFsFirstDiagnosisListUVO(FsFirstDiagnosisListUParam param) {
-        return diagnosisMapper.selectFsFirstDiagnosisListUVO(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) {
-        return diagnosisMapper.getInfo(id);
+        FsFirstDiagnosisListUVO info = diagnosisMapper.getInfo(id);
+        if (info != null && info.getDoctorStatus() != 1) {
+            info.setSignUrl(null);
+        }
+        return info;
     }
 
     @Override
@@ -138,6 +156,9 @@ public class FsFirstDiagnosisServiceImpl extends ServiceImpl<FsFirstDiagnosisMap
         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);
@@ -151,11 +172,25 @@ public class FsFirstDiagnosisServiceImpl extends ServiceImpl<FsFirstDiagnosisMap
     @Override
     public R fill(FsDiagnosisFillDParam param) {
         if (param.getId() == null) {
-            throw new CustomException("初诊单id不能为空");
+            return R.error("初诊单id不能为空");
         }
-        FsFirstDiagnosis diagnosis = new FsFirstDiagnosis();
-        BeanUtils.copyProperties(param, diagnosis);
-        diagnosis.setDoctorStatus(1);
+        FsFirstDiagnosis diagnosis = diagnosisMapper.selectById(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);
         int i = diagnosisMapper.updateFsFirstDiagnosis(diagnosis);
         if (i > 0) {
             return R.ok();