| | |
| | | package com.kidgrow.usercenter.service.impl; |
| | | |
| | | import com.kidgrow.common.model.ResultBody; |
| | | import org.springframework.stereotype.Service; |
| | | import com.kidgrow.common.model.PageResult; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.kidgrow.common.model.PageResult; |
| | | import com.kidgrow.common.model.ResultBody; |
| | | import com.kidgrow.common.model.SysUser; |
| | | import com.kidgrow.common.service.impl.SuperServiceImpl; |
| | | import com.kidgrow.usercenter.mapper.SysDepartmentMapper; |
| | | import com.kidgrow.usercenter.mapper.SysHospitalMapper; |
| | | import com.kidgrow.usercenter.model.SysDepartment; |
| | | import com.kidgrow.usercenter.model.SysHospital; |
| | | import com.kidgrow.usercenter.service.ISysHospitalService; |
| | | import com.kidgrow.usercenter.vo.HospitalListVo; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.MapUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import org.apache.commons.collections4.MapUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import com.kidgrow.usercenter.model.SysHospital; |
| | | import com.kidgrow.usercenter.mapper.SysHospitalMapper; |
| | | import com.kidgrow.usercenter.service.ISysHospitalService; |
| | | |
| | | /** |
| | | * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> |
| | |
| | | @Slf4j |
| | | @Service |
| | | public class SysHospitalServiceImpl extends SuperServiceImpl<SysHospitalMapper, SysHospital> implements ISysHospitalService { |
| | | @Resource |
| | | private SysDepartmentMapper departmentMapper; |
| | | @Autowired |
| | | private SysRoleOrganizationServiceImpl SysRoleOrganizationServiceImpl; |
| | | /** |
| | | * 列表 |
| | | * @param params |
| | |
| | | @Override |
| | | public PageResult<SysHospital> findList(Map<String, Object> params){ |
| | | Page<SysHospital> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); |
| | | |
| | | List<SysHospital> list = baseMapper.findList(page, params); |
| | | return PageResult.<SysHospital>builder().data(list).code(0).count(page.getTotal()).build(); |
| | | } |
| | | /** |
| | | * 列表 |
| | | * @param params |
| | | * @return |
| | | */ |
| | | @Override |
| | | public PageResult<HospitalListVo> findHospitalList(Map<String, Object> params, SysUser user) { |
| | | Page<HospitalListVo> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); |
| | | SysRoleOrganizationServiceImpl.getRoleOrg(params, user); |
| | | List<HospitalListVo> list = baseMapper.findHospitalList(page, params); |
| | | return PageResult.<HospitalListVo>builder().data(list).code(0).count(page.getTotal()).build(); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | @Override |
| | | public ResultBody<SysHospital> findAll(Map<String, Object> params) { |
| | | params.put("is_del",0); |
| | | params.put("enabled",1); |
| | | List<SysHospital> sysHospitals = baseMapper.selectByMap(params); |
| | | return ResultBody.ok().data(sysHospitals).msg("查询成功"); |
| | | } |
| | | /** |
| | | * 根据医院名称模糊查询医院数据列表 |
| | | * @param hospitalName |
| | | * @return |
| | | */ |
| | | public ResultBody<SysHospital> findByName(String hospitalName){ |
| | | return ResultBody.ok().data(baseMapper.findByName(hospitalName)).msg("查询成功"); |
| | | } |
| | | /** |
| | | * 根据id和启用禁用值更新数据 |
| | | * @param params |
| | | * @return ResultBody |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public ResultBody updateEnabled(Map<String, Object> params) { |
| | | Long id = MapUtils.getLong(params, "id"); |
| | | Long departmentId = MapUtils.getLong(params, "departmentId"); |
| | | Boolean enabled = MapUtils.getBoolean(params, "enabled"); |
| | | //科室数据 |
| | | SysDepartment sysDepartment=departmentMapper.selectById(departmentId); |
| | | //医院数据 |
| | | SysHospital sysHospital = baseMapper.selectById(id); |
| | | //医院下的所有数据 |
| | | Map<String,Object> columnMap=new HashMap<String,Object>(); |
| | | columnMap.put("hospital_id",id); |
| | | columnMap.put("is_del",(boolean)false); |
| | | columnMap.put("enabled",!enabled); |
| | | List<SysDepartment> sysDepartmentList=departmentMapper.selectByMap(columnMap); |
| | | if (sysHospital == null) { |
| | | return ResultBody.failed("医院数据不存在!"); |
| | | } |
| | | if (sysDepartment == null) { |
| | | return ResultBody.failed("科室数据不存在!"); |
| | | } |
| | | //如果这个医院下有多个科室,禁用只对当前科室有效,否则也要禁用医院 |
| | | if(sysDepartmentList.size()==1) |
| | | { |
| | | sysHospital.setEnabled(enabled); |
| | | int i =baseMapper.updateById(sysHospital); |
| | | //Log.info("修改医院状态为:{}",enabled+" "+i); |
| | | } |
| | | sysDepartment.setEnabled(enabled); |
| | | int j=departmentMapper.updateById(sysDepartment); |
| | | return (j > 0) ? ResultBody.ok().data(sysHospital).msg("更新成功") : ResultBody.failed("更新失败"); |
| | | } |
| | | |
| | | /** |
| | | * 删除医院科室信息 |
| | | * @param params |
| | | * @return |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public ResultBody delete(Map<String, Object> params) { |
| | | Long id = MapUtils.getLong(params, "id"); |
| | | Long departmentId = MapUtils.getLong(params, "departmentId"); |
| | | //科室数据 |
| | | SysDepartment sysDepartment=departmentMapper.selectById(departmentId); |
| | | //医院数据 |
| | | SysHospital sysHospital = baseMapper.selectById(id); |
| | | //医院下的所有数据 |
| | | Map<String,Object> columnMap=new HashMap<String,Object>(); |
| | | columnMap.put("hospital_id",id); |
| | | List<SysDepartment> sysDepartmentList=departmentMapper.selectByMap(columnMap); |
| | | if (sysHospital == null) { |
| | | return ResultBody.failed("医院数据不存在!"); |
| | | } |
| | | if (sysDepartment == null) { |
| | | return ResultBody.failed("科室数据不存在!"); |
| | | } |
| | | //如果这个医院下有多个科室,禁用只对当前科室有效,否则也要禁用医院 |
| | | if(sysDepartmentList.size()==1) |
| | | { |
| | | sysHospital.setIsDel(true); |
| | | int i =baseMapper.updateById(sysHospital); |
| | | //Log.info("修改医院状态为:{}",enabled+" "+i); |
| | | } |
| | | sysDepartment.setIsDel(true); |
| | | int j=departmentMapper.updateById(sysDepartment); |
| | | return (j > 0) ? ResultBody.ok().data(sysHospital).msg("删除成功") : ResultBody.failed("删除失败"); |
| | | } |
| | | } |