From 92257d291a9d171a15b22c1fc6527b1a909ac3f6 Mon Sep 17 00:00:00 2001 From: houruijun <411269194@kidgrow.com> Date: Sun, 09 Aug 2020 15:11:30 +0800 Subject: [PATCH] 1.增加运营平台首页页面功能 2.修改检查科室名称的问题 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java | 205 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 197 insertions(+), 8 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java index 949389f..2daf614 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java @@ -1,18 +1,29 @@ package com.kidgrow.usercenter.service.impl; -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.SysOrganization; +import com.kidgrow.common.model.SysUser; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.common.utils.StringUtils; +import com.kidgrow.usercenter.mapper.SysDepartmentMapper; +import com.kidgrow.usercenter.mapper.SysHospitalMapper; +import com.kidgrow.usercenter.mapper.SysOrganizationMapper; +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> @@ -25,6 +36,12 @@ @Slf4j @Service public class SysHospitalServiceImpl extends SuperServiceImpl<SysHospitalMapper, SysHospital> implements ISysHospitalService { + @Resource + private SysDepartmentMapper departmentMapper; + @Autowired + private SysRoleOrganizationServiceImpl SysRoleOrganizationServiceImpl; + @Autowired + private SysOrganizationMapper sysOrganizationMapper; /** * 列表 * @param params @@ -33,8 +50,24 @@ @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); + if(params.get("roleOrg")==null){ + return PageResult.<HospitalListVo>builder().data(null).code(0).count(page.getTotal()).build(); + } + List<HospitalListVo> list = baseMapper.findHospitalList(page, params); + return PageResult.<HospitalListVo>builder().data(list).code(0).count(page.getTotal()).build(); } /** @@ -46,4 +79,160 @@ public SysHospital findByObject(SysHospital sysHospital){ return baseMapper.findByObject(sysHospital); } + + @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("is_del",0); + columnMap.put("enabled",(enabled)?0:1); + columnMap.put("org_parent_id",sysHospital.getOrgId()); + List<SysOrganization> sysOrganizationList=sysOrganizationMapper.selectByMap(columnMap); + if (sysHospital == null) { + return ResultBody.failed("医院数据不存在!"); + } + if (sysDepartment == null) { + return ResultBody.failed("科室数据不存在!"); + } + //如果这个医院下有多个科室,禁用只对当前科室有效,否则也要禁用医院 + if(sysOrganizationList.size()==1) + { + sysHospital.setEnabled(enabled); + baseMapper.updateById(sysHospital); + SysOrganization sysOrganizationH=sysOrganizationMapper.selectById(sysHospital.getOrgId()); + if (sysOrganizationH != null) { + sysOrganizationH.setEnabled(enabled); + sysOrganizationMapper.updateById(sysOrganizationH); + } + } + sysDepartment.setEnabled(enabled); + int j=departmentMapper.updateById(sysDepartment); + //更新组织数据 + SysOrganization sysOrganizationD=sysOrganizationMapper.selectById(sysDepartment.getOrgId()); + if (sysOrganizationD != null) { + sysOrganizationD.setEnabled(enabled); + sysOrganizationMapper.updateById(sysOrganizationD); + } + 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); + if (sysHospital == null) { + return ResultBody.failed("医院数据不存在!"); + } + if (sysDepartment == null) { + return ResultBody.failed("科室数据不存在!"); + } + //医院下的所有科室数据 + Map<String,Object> columnMap=new HashMap<String,Object>(); + columnMap.put("org_parent_id",sysHospital.getOrgId()); + columnMap.put("is_del",0); + columnMap.put("enabled",1); + List<SysOrganization> sysOrganizationList=sysOrganizationMapper.selectByMap(columnMap); + //如果这个医院下有多个科室,禁用只对当前科室有效,否则也要禁用医院 + if(sysOrganizationList.size()==1) + { + sysHospital.setIsDel(true); + baseMapper.updateById(sysHospital); + SysOrganization sysOrganizationH=sysOrganizationMapper.selectById(sysHospital.getOrgId()); + if (sysOrganizationH != null) { + sysOrganizationH.setIsDel(true); + sysOrganizationMapper.updateById(sysOrganizationH); + } + } + sysDepartment.setIsDel(true); + int j=departmentMapper.updateById(sysDepartment); + //删除组织数据 + SysOrganization sysOrganizationD=sysOrganizationMapper.selectById(sysDepartment.getOrgId()); + if (sysOrganizationD != null) { + sysOrganizationD.setIsDel(true); + sysOrganizationMapper.updateById(sysOrganizationD); + } + return (j>0) ? ResultBody.ok().data(sysHospital).msg("删除成功") : ResultBody.failed("删除失败"); + } + + /** + * 更新医院logo + * @param params + * @return + */ + @Override + public ResultBody updateLogo(Map<String, Object> params) { + Long hospitalId = MapUtils.getLong(params, "hospitalId"); + String hospitalLogo=MapUtils.getString(params, "hospitalLogo"); + String hospitalLitLogo=MapUtils.getString(params, "hospitalLitLogo"); + if (StringUtils.isNotBlank(hospitalId.toString())&&StringUtils.isNotBlank(hospitalLogo)&&StringUtils.isNotBlank(hospitalLitLogo)) { + SysHospital sysHospital=baseMapper.selectById(hospitalId); + if (sysHospital != null) { + sysHospital.setHospitalLogo(hospitalLogo); + sysHospital.setHospitalLitLogo(hospitalLitLogo); + int u=baseMapper.updateById(sysHospital); + return ResultBody.ok().data(u>0); + } + else + { + return ResultBody.failed("医院数据有误!"); + } + } + else + { + return ResultBody.failed("修改数据有误!"); + } + } + + + /** + * 统计医院数量 + * @param datatype 医院类型 + * 0 试用医院 + * 1 正式医院 + * 11 筛查医院 + * @return + */ + @Override + public ResultBody chartHospital(int datatype) { + int hospitalCount=baseMapper.chartHospital(datatype); + return ResultBody.ok().data(hospitalCount).msg("获取数据成功"); + } } -- Gitblit v1.8.0