liusheng
2024-08-28 bedd0a1cef215538df64470df6b8d4a022189136
smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -107,6 +107,15 @@
        return null;
    }
    @Override
    public Boolean update(PatArchive patArchive) {
        int i = patArchiveMapper.updatePatArchive(patArchive);
        if (i != 1) {
            return false;
        }
        return true;
    }
    /**
     * 新增或修改患者档信息
     *
@@ -118,13 +127,13 @@
    public Boolean saveOrUpdatePatInfo(PatArchiveVO patArchiveVO) {
        //通过isoperation来判断是否新增
        PatArchive patArchive = DtoConversionUtils.sourceToTarget(patArchiveVO, PatArchive.class);
        if (patArchiveVO.getIsoperation() != null && patArchiveVO.getIsoperation() == 1 || patArchiveVO.getPatid() == null) {
        if (patArchiveVO.getIsoperation() != null && patArchiveVO.getIsoperation() == 1 || patArchiveVO.getId() == null) {
            //新增
            List<PatArchive> patArchives = new ArrayList<>();
            patArchive.setUpdateTime(DateUtils.getNowDate());
            patArchives.add(patArchive);
            patArchiveMapper.insertPatArchive(patArchives);
        } else if (patArchiveVO.getIsoperation() != null && patArchiveVO.getIsoperation() == 2 || patArchiveVO.getPatid() != null) {
        } else if (patArchiveVO.getIsoperation() != null && patArchiveVO.getIsoperation() == 2 || patArchiveVO.getId() != null) {
            //修改
            patArchiveVO.setIsoperation(2);
            patArchiveMapper.updatePatArchive(patArchive);
@@ -172,6 +181,49 @@
    public int deletePatArchiveByPatid(Long patid) {
        return patArchiveMapper.deletePatArchiveByPatid(patid);
    }
    /**
     * 获取患者信息
     *
     * @param patArchiveReq
     * @return
     */
    @Override
    public List<ServiceSubtask> getPatientInfo(PatArchiveReq patArchiveReq) {
        List<ServiceSubtask> serviceSubtaskList = new ArrayList<>();
        List<PatArchive> patArchiveList = new ArrayList<>();
        if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 1) {
            //  查看住院  1  查看门诊  2   查看体检  3
            List<PatArchive> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhosp(patArchiveReq);
            if (CollectionUtils.isNotEmpty(patArchives1)) {
                patArchiveList.addAll(patArchives1);
            }
        } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 2) {
            // 查看住院  1  查看门诊  2   查看体检  3
            List<PatArchive> patArchives2 = patArchiveMapper.selectPatArchiveInfoByOuthosp(patArchiveReq);
            if (CollectionUtils.isNotEmpty(patArchives2)) {
                patArchiveList.addAll(patArchives2);
            }
        } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 3) {
            //  查看住院  1  查看门诊  2   查看体检  3
            List<PatArchive> patArchives3 = patArchiveMapper.selectPatArchiveInfoByPhysical(patArchiveReq);
            if (CollectionUtils.isNotEmpty(patArchives3)) {
                patArchiveList.addAll(patArchives3);
            }
        }
        for (PatArchive patArchive : patArchiveList) {
            ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(patArchive, ServiceSubtask.class);
            serviceSubtask.setCreateTime(patArchive.getCreateTime());
            serviceSubtask.setCreateBy(patArchive.getCreateBy());
            serviceSubtask.setDeptname(patArchive.getDept());
            serviceSubtask.setPhone(patArchive.getTelcode());
            serviceSubtaskList.add(serviceSubtask);
        }
        return serviceSubtaskList;
    }
    @Override
    @Transactional
@@ -475,7 +527,6 @@
                patArchiveList.addAll(patArchives3);
            }
        }
        //根据患者ID进行分组
        Map<Long, List<PatArchive>> listMap = patArchiveList.stream().collect(Collectors.groupingBy(PatArchive::getId));