package com.ruoyi.project.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.project.domain.ServiceMedicalevaluationorgan; import com.ruoyi.project.domain.dto.MedicalevaluationBaseInfoDTO; import com.ruoyi.project.domain.ServiceMedicalevaluation; import com.ruoyi.project.domain.vo.MedicalEvaluationVO; import com.ruoyi.project.domain.vo.MedicalEvaluationWithBaseInfoVO; import com.ruoyi.project.domain.vo.ServiceMedicalevaluationVO; import com.ruoyi.project.mapper.ServiceDonatebaseinfoMapper; import com.ruoyi.project.mapper.ServiceMedicalevaluationMapper; import com.ruoyi.project.mapper.ServiceMedicalevaluationorganMapper; import com.ruoyi.project.service.IServiceMedicalevaluationService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 医学评估Service业务层处理 * * @author ruoyi * @date 2021-11-19 */ @Slf4j @Service public class ServiceMedicalevaluationServiceImpl extends ServiceImpl implements IServiceMedicalevaluationService { @Autowired ServiceMedicalevaluationMapper serviceMedicalevaluationMapper; @Autowired ServiceMedicalevaluationorganMapper serviceMedicalevaluationorganMapper; @Autowired ServiceDonatebaseinfoMapper serviceDonatebaseinfoMapper; /** * 查询医学评估列表 * * @param serviceMedicalevaluation 医学评估 * @return 医学评估 */ @Override public List queryList(ServiceMedicalevaluation serviceMedicalevaluation) { LambdaQueryWrapper wrappers = Wrappers.lambdaQuery(); if (StringUtils.isNotNull(serviceMedicalevaluation.getId())) { wrappers.eq(ServiceMedicalevaluation::getId, serviceMedicalevaluation.getId()); } if (StringUtils.isNotNull(serviceMedicalevaluation.getInfoid())) { wrappers.eq(ServiceMedicalevaluation::getInfoid, serviceMedicalevaluation.getInfoid()); } if (StringUtils.isNotNull(serviceMedicalevaluation.getAssessState())) { wrappers.eq(ServiceMedicalevaluation::getAssessState, serviceMedicalevaluation.getAssessState()); } if (StringUtils.isNotNull(serviceMedicalevaluation.getAssessTime())) { wrappers.eq(ServiceMedicalevaluation::getAssessTime, serviceMedicalevaluation.getAssessTime()); } if (StringUtils.isNotBlank(serviceMedicalevaluation.getDonorno())) { wrappers.eq(ServiceMedicalevaluation::getDonorno, serviceMedicalevaluation.getDonorno()); } if (StringUtils.isNotBlank(serviceMedicalevaluation.getCaseNo())) { wrappers.eq(ServiceMedicalevaluation::getCaseNo, serviceMedicalevaluation.getCaseNo()); } return this.list(wrappers); } @Override public Boolean add(ServiceMedicalevaluationVO serviceMedicalevaluationVO) { ServiceMedicalevaluation serviceMedicalevaluation = DtoConversionUtils.sourceToTarget(serviceMedicalevaluationVO, ServiceMedicalevaluation.class); boolean save = save(serviceMedicalevaluation); if(save && CollectionUtils.isNotEmpty(serviceMedicalevaluationVO.getServiceMedicalevaluationorganList())){ for (ServiceMedicalevaluationorgan serviceMedicalevaluationorgan:serviceMedicalevaluationVO.getServiceMedicalevaluationorganList()) { serviceMedicalevaluationorgan.setInfoid(serviceMedicalevaluation.getInfoid()); serviceMedicalevaluationorgan.setMedicalId(serviceMedicalevaluation.getId()); serviceMedicalevaluationorganMapper.insert(serviceMedicalevaluationorgan); } } return save; } @Override public Boolean edit(ServiceMedicalevaluationVO serviceMedicalevaluationVO) { ServiceMedicalevaluation serviceMedicalevaluation = DtoConversionUtils.sourceToTarget(serviceMedicalevaluationVO, ServiceMedicalevaluation.class); boolean update = updateById(serviceMedicalevaluation); if(update && CollectionUtils.isNotEmpty(serviceMedicalevaluationVO.getServiceMedicalevaluationorganList())){ for (ServiceMedicalevaluationorgan serviceMedicalevaluationorgan:serviceMedicalevaluationVO.getServiceMedicalevaluationorganList()) { serviceMedicalevaluationorganMapper.updateById(serviceMedicalevaluationorgan); } } return update; } @Override public List selectVOList(MedicalEvaluationVO medicalEvaluationVO) { SysUser user = SecurityUtils.getLoginUser().getUser(); log.info("用户的角色是:{}", user); List l = user.getRoles(); Boolean b = false; for (SysRole r : l) { if (r.getRoleId().longValue() == 3) { b = true; } } if (b) { // medicalEvaluationVO.setBasecreateby(user.getUserName()); medicalEvaluationVO.setReporterno(user.getUserName()); } log.info("selectVOList的入参是:{}", medicalEvaluationVO); return serviceMedicalevaluationMapper.selectVOList(medicalEvaluationVO); } @Override public List medevaluateBaseInfolist(MedicalEvaluationWithBaseInfoVO medicalEvaluationWithBaseInfoVO) { List medicalevaluationBaseInfoDTOS = serviceMedicalevaluationMapper.selectEvaluateBaseInfoList(medicalEvaluationWithBaseInfoVO); //判断pgaeNun是为了让查询total不再查询serviceMedicalevaluationorgan if (medicalEvaluationWithBaseInfoVO.getPageNum() != null) { for (MedicalevaluationBaseInfoDTO medicalevaluationBaseInfoDTO : medicalevaluationBaseInfoDTOS) { ServiceMedicalevaluationorgan serviceMedicalevaluationorgan = new ServiceMedicalevaluationorgan(); serviceMedicalevaluationorgan.setInfoid(medicalevaluationBaseInfoDTO.getInfoid()); List serviceMedicalevaluationorgans = serviceMedicalevaluationorganMapper.selectServiceMedicalevaluationorganList(serviceMedicalevaluationorgan); if (CollectionUtils.isNotEmpty(serviceMedicalevaluationorgans)) medicalevaluationBaseInfoDTO.setServiceMedicalevaluationorgans(serviceMedicalevaluationorgans); } } return medicalevaluationBaseInfoDTOS; } }