From cba67280f021ea732581829c472a703a1e303824 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Fri, 10 Apr 2020 11:00:11 +0800 Subject: [PATCH] 添加 医生的功能 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java | 6 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml | 2 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html | 711 +++++++++++++++++++++++++++++++++++++++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java | 19 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html | 6 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java | 10 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorVo.java | 9 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java | 3 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java | 7 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml | 4 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java | 42 ++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java | 7 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java | 12 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 37 ++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java | 4 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java | 33 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDepartmentService.java | 5 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 125 ++++++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java | 9 19 files changed, 1,025 insertions(+), 26 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java index 1927292..e738e58 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java @@ -1,5 +1,6 @@ package com.kidgrow.usercenter.model; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.kidgrow.common.model.SuperModel; import lombok.AllArgsConstructor; @@ -7,6 +8,8 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.hibernate.validator.constraints.NotEmpty; + +import javax.validation.constraints.NotNull; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> @@ -32,7 +35,7 @@ /** * 所属医院ID */ - @NotEmpty(message = "所属医院ID不能为空") + @NotNull(message = "所属医院ID不能为空") private Long hospitalId; /** * 医院名称 @@ -42,12 +45,10 @@ /** * 科室ID */ - @NotEmpty(message = "科室ID不能为空") private Long departmentId; /** * 科室名称 */ - @NotEmpty(message = "科室名称不能为空") private String departmentName; /** * 医生姓名 @@ -98,14 +99,24 @@ /** * 是否删除,1删除,0未删除 */ + @TableLogic private Boolean isDel; /** * 医生状态 1正常 0试用 */ - @NotEmpty(message = "医生状态 1正常 0试用不能为空") + @NotNull(message = "医生状态 1正常 0试用不能为空") private Boolean doctorState; /** * 启用禁用状态,1启用,0停用 */ private Boolean enabled; + + /** + * 销售代表的id + */ + private String serverUserId; + /** + * 销售代表名称 + */ + private String serverUserName; } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java new file mode 100644 index 0000000..b8900fe --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java @@ -0,0 +1,9 @@ +package com.kidgrow.usercenter.vo; + +import lombok.Data; + +@Data +public class SysDoctorDto extends SysDoctorVo { + private String username; + private String password; +} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorVo.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorVo.java new file mode 100644 index 0000000..562f388 --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorVo.java @@ -0,0 +1,9 @@ +package com.kidgrow.usercenter.vo; + +import com.kidgrow.usercenter.model.SysDoctor; +import lombok.Data; + +@Data +public class SysDoctorVo extends SysDoctor { + private String username; +} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDepartmentService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDepartmentService.java index c90eea9..9775fca 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDepartmentService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDepartmentService.java @@ -1,5 +1,6 @@ package com.kidgrow.usercenter.service; +import com.kidgrow.common.model.ResultBody; import com.kidgrow.usercenter.model.SysDepartment; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.service.ISuperService; @@ -29,5 +30,9 @@ * @return SysDepartment对象 */ SysDepartment findByObject(SysDepartment sysDepartment); + + ResultBody findAll(Map<String, Object> params); + + ResultBody findListByHospitalId(Map<String, Object> params); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java index ec3e4b7..988ccbb 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java @@ -1,9 +1,13 @@ package com.kidgrow.usercenter.service; +import com.kidgrow.common.model.ResultBody; import com.kidgrow.usercenter.model.SysDoctor; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.service.ISuperService; +import com.kidgrow.usercenter.vo.SysDoctorDto; +import com.kidgrow.usercenter.vo.SysDoctorVo; +import javax.servlet.http.HttpServletRequest; import java.util.Map; /** @@ -20,7 +24,7 @@ * @param params * @return */ - PageResult<SysDoctor> findList(Map<String, Object> params); + PageResult<SysDoctorVo> findList(Map<String, Object> params); /** @@ -29,5 +33,11 @@ * @return SysDoctor对象 */ SysDoctor findByObject(SysDoctor sysDoctor); + + boolean delete(Long id); + + ResultBody enable(Map<String, Object> params); + + boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java index 42b2137..2c44889 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java @@ -1,5 +1,6 @@ package com.kidgrow.usercenter.service; +import com.kidgrow.common.model.ResultBody; import com.kidgrow.usercenter.model.SysHospital; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.service.ISuperService; @@ -29,5 +30,7 @@ * @return SysHospital对象 */ SysHospital findByObject(SysHospital sysHospital); + + ResultBody<SysHospital> findAll(Map<String, Object> params); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java index 8792cdd..28c445c 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java @@ -3,7 +3,9 @@ import com.kidgrow.common.model.*; import com.kidgrow.common.service.ISuperService; import com.kidgrow.usercenter.model.SysUserExcel; +import org.springframework.web.bind.annotation.RequestBody; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; import java.util.Set; @@ -107,4 +109,6 @@ boolean delUser(Long id); ResultBody findAll(Map<String, Object> map); + + ResultBody getThisUserOrganizationUser(HttpServletRequest request); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java index 7095637..f0c9c3b 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java @@ -1,12 +1,24 @@ package com.kidgrow.usercenter.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysOrganization; +import com.kidgrow.usercenter.model.SysHospital; +import com.kidgrow.usercenter.service.ISysHospitalService; +import com.kidgrow.usercenter.service.ISysOrganizationService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.kidgrow.common.model.PageResult; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.service.impl.SuperServiceImpl; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; + import org.apache.commons.collections4.MapUtils; import lombok.extern.slf4j.Slf4j; @@ -25,6 +37,11 @@ @Slf4j @Service public class SysDepartmentServiceImpl extends SuperServiceImpl<SysDepartmentMapper, SysDepartment> implements ISysDepartmentService { + + @Autowired + private ISysOrganizationService iSysOrganizationService; + @Autowired + private ISysHospitalService iSysHospitalService; /** * 列表 * @param params @@ -46,4 +63,29 @@ public SysDepartment findByObject(SysDepartment sysDepartment){ return baseMapper.findByObject(sysDepartment); } + + @Override + public ResultBody findAll(Map<String, Object> params) { + return ResultBody.ok().data(baseMapper.selectByMap(params)); + } + + @Override + public ResultBody findListByHospitalId(Map<String, Object> params) { + //查询组织 + Long id = MapUtils.getLong(params, "id"); + List<SysDepartment> sysDepartments=new ArrayList<>(); + SysHospital byId = iSysHospitalService.getById(id); + if(byId!=null){ + params=new HashMap<>(); + params.put("org_parent_id",byId.getOrgId()); + List<SysOrganization> sysOrganizations = iSysOrganizationService.listByMap(params); + if (sysOrganizations.size()>0) { + List<Long> collect = sysOrganizations.stream().map(e -> e.getId()).collect(Collectors.toList()); + QueryWrapper<SysDepartment> queryWrapper=new QueryWrapper(); + queryWrapper.in("org_id",collect ); + sysDepartments= baseMapper.selectList(queryWrapper); + } + } + return ResultBody.ok().data(sysDepartments); + } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java index 8566373..4fcd9b5 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java @@ -1,49 +1,156 @@ package com.kidgrow.usercenter.service.impl; +import com.kidgrow.common.constant.SecurityConstants; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysUser; +import com.kidgrow.usercenter.service.ISysUserService; +import com.kidgrow.usercenter.vo.SysDoctorDto; +import com.kidgrow.usercenter.vo.SysDoctorVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cglib.beans.BeanCopier; +import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import com.kidgrow.common.model.PageResult; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.service.impl.SuperServiceImpl; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; + import org.apache.commons.collections4.MapUtils; import lombok.extern.slf4j.Slf4j; import com.kidgrow.usercenter.model.SysDoctor; import com.kidgrow.usercenter.mapper.SysDoctorMapper; import com.kidgrow.usercenter.service.ISysDoctorService; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletRequest; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @version 1.0 * @Description: <br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-04-02 14:02:50 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> - * @version 1.0 */ @Slf4j @Service public class SysDoctorServiceImpl extends SuperServiceImpl<SysDoctorMapper, SysDoctor> implements ISysDoctorService { /** * 列表 + * * @param params * @return */ + @Autowired + private ISysUserService iSysUserService; + @Autowired + private PasswordEncoder passwordEncoder; + @Override - public PageResult<SysDoctor> findList(Map<String, Object> params){ + public PageResult<SysDoctorVo> findList(Map<String, Object> params) { Page<SysDoctor> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); - List<SysDoctor> list = baseMapper.findList(page, params); - return PageResult.<SysDoctor>builder().data(list).code(0).count(page.getTotal()).build(); + List<SysDoctor> list = baseMapper.findList(page, params); + List<SysDoctorVo> listvo = new ArrayList<>(); + list.forEach(e -> { + SysDoctorVo vo = new SysDoctorVo(); + BeanCopier beanCopier = BeanCopier.create(SysDoctor.class, SysDoctorVo.class, false); + beanCopier.copy(e, vo, null); + //查询用户的登录账号; + if (e.getUserId() != null) { + SysUser sysUser = iSysUserService.getById(e.getUserId()); + if (sysUser != null) { + vo.setUsername(sysUser.getUsername()); + } + } + listvo.add(vo); + }); + return PageResult.<SysDoctorVo>builder().data(listvo).code(0).count(page.getTotal()).build(); } /** - * 根据SysDoctor对象当做查询条件进行查询 - * @param sysDoctor - * @return SysDoctor - */ + * 根据SysDoctor对象当做查询条件进行查询 + * + * @param sysDoctor + * @return SysDoctor + */ @Override - public SysDoctor findByObject(SysDoctor sysDoctor){ + public SysDoctor findByObject(SysDoctor sysDoctor) { return baseMapper.findByObject(sysDoctor); } + + @Override + public boolean delete(Long id) { + //查询user表 + SysDoctor sysDoctor = baseMapper.selectById(id); + if (sysDoctor != null && sysDoctor.getUserId() != null) { + boolean b = iSysUserService.delUser(sysDoctor.getUserId()); + } + sysDoctor.setIsDel(true); + int i = baseMapper.deleteById(id); + return true; + } + + @Override + public ResultBody enable(Map<String, Object> params) { + Long aLong = MapUtils.getLong(params,"id"); + SysDoctor sysDoctor = baseMapper.selectById(aLong); + if (sysDoctor != null && sysDoctor.getUserId() != null) { + SysUser byId = iSysUserService.getById(sysDoctor.getUserId()); + if(byId!=null){ + byId.setEnabled(true); + iSysUserService.updateById(byId); + } + } + if(sysDoctor!=null){ + sysDoctor.setEnabled(true); + baseMapper.updateById(sysDoctor); + }else { + return ResultBody.failed("禁用失败"); + } + return ResultBody.ok(0,"禁用成功"); + } + + @Override + @Transactional + public boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request) { + String id = request.getHeader(SecurityConstants.USER_ID_HEADER); + if(null==sysDoctor){ + return false; + }else { + if (sysDoctor.getId()==null) { + //保存 + SysUser sysUser=new SysUser(); + sysUser.setUsername(sysDoctor.getUsername()); + sysUser.setPassword(passwordEncoder.encode(sysDoctor.getPassword())); + sysUser.setNickname(sysDoctor.getHospitalName()); + sysUser.setHeadImgUrl(sysDoctor.getDoctorLogo()); + sysUser.setMobile(sysDoctor.getDoctorTel()); + sysUser.setType("doctor"); + sysUser.setTenantId("hospital"); + sysUser.setCreateTime(new Date()); + SysUser byId = iSysUserService.getById(id); + if(byId!=null){ + sysUser.setCreateUserId(byId.getId()); + sysUser.setCreateUserName(byId.getUsername()); + } + iSysUserService.save(sysUser); + //保存doctor的数据 + SysDoctor sysDoc=new SysDoctor(); + BeanCopier beanCopier = BeanCopier.create(SysDoctorDto.class, SysDoctor.class, false); + beanCopier.copy(sysDoctor,sysDoc,null); + sysDoc.setUserId(sysUser.getId()); + baseMapper.insert(sysDoc); + }else { + //更新 + baseMapper.updateById(sysDoctor); + } + } + return true; + } } 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..accdf78 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,5 +1,6 @@ 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; @@ -46,4 +47,10 @@ public SysHospital findByObject(SysHospital sysHospital){ return baseMapper.findByObject(sysHospital); } + + @Override + public ResultBody<SysHospital> findAll(Map<String, Object> params) { + List<SysHospital> sysHospitals = baseMapper.selectByMap(params); + return ResultBody.ok().data(sysHospitals).msg("查询成功"); + } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java index bcb4b7c..94f1dad 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.constant.CommonConstant; +import com.kidgrow.common.constant.SecurityConstants; import com.kidgrow.common.context.ClientContextHolder; import com.kidgrow.common.lock.DistributedLock; import com.kidgrow.common.model.*; @@ -14,11 +15,13 @@ import com.kidgrow.usercenter.model.SysUserExcel; import com.kidgrow.usercenter.service.ISysOrganizationService; import com.kidgrow.usercenter.service.ISysRoleUserService; +import com.kidgrow.usercenter.service.ISysUserOrgService; import com.kidgrow.usercenter.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.hibernate.validator.constraints.NotBlank; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.password.PasswordEncoder; @@ -27,6 +30,7 @@ import org.springframework.util.CollectionUtils; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.*; import java.util.stream.Collectors; @@ -54,6 +58,8 @@ @Autowired private ISysOrganizationService organizationService; + @Autowired + private ISysUserOrgService iSysUserOrgService; @@ -285,4 +291,35 @@ List<SysUser> sysUsers = baseMapper.selectByMap(map); return ResultBody.ok().data(sysUsers).msg("操作成功"); } + + /** + * 获取当前用的 组织下的所有人员 + * @param request + * @return + */ + @Override + public ResultBody getThisUserOrganizationUser(HttpServletRequest request) { + String id = request.getHeader(SecurityConstants.USER_ID_HEADER); + List<SysUser> sysUsers=new ArrayList<>(); + if(StringUtils.isNotBlank(id)){ + QueryWrapper<SysUserOrg> queryWrapper=new QueryWrapper(); + queryWrapper.eq("user_id",id); + List<SysUserOrg> list = iSysUserOrgService.list(queryWrapper); + if(list.size()>0){ + List<Long> collect = list.stream().map(e -> e.getOrgId()).collect(Collectors.toList()); + if (collect.size()>0) { + queryWrapper=new QueryWrapper<>(); + queryWrapper.in("org_id",collect); + List<SysUserOrg> sysUserOrgs = iSysUserOrgService.list(queryWrapper); + List<Long> userIds = sysUserOrgs.stream().map(e -> e.getUserId()).collect(Collectors.toList()); + QueryWrapper<SysUser> sysUserQueryWrapper=new QueryWrapper(); + sysUserQueryWrapper.in("id",userIds); + sysUsers= baseMapper.selectList(sysUserQueryWrapper); + } + } + }else { + return ResultBody.failed("暂无数据"); + } + return ResultBody.ok().data(sysUsers); + } } \ No newline at end of file diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml index 04087be..e9af41f 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml @@ -31,13 +31,13 @@ and department_name = #{p.departmentName} </if> <if test="p.doctorName != null and p.doctorName !=''"> - and doctor_name = #{p.doctorName} + and doctor_name like '%${p.doctorName}%' </if> <if test="p.doctorLogo != null and p.doctorLogo !=''"> and doctor_logo = #{p.doctorLogo} </if> <if test="p.doctorTel != null and p.doctorTel !=''"> - and doctor_tel = #{p.doctorTel} + and doctor_tel like '%${p.doctorTel}%' </if> <if test="p.doctorRankId != null and p.doctorRankId !=''"> and doctor_rank_id = #{p.doctorRankId} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java index 4f68ff7..157e44f 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java @@ -115,4 +115,14 @@ return ResultBody.failed().msg("删除失败"); } } + + /** + * 根据医院获取 组织,通过组织,获取科室; + * @param params + * @return + */ + @GetMapping("findListByHospitalId") + public ResultBody findListByHospitalId(@RequestParam Map<String, Object> params) { + return sysDepartmentService.findListByHospitalId(params); + } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java index 51be1e4..0a589ab 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java @@ -2,6 +2,9 @@ import java.util.Map; import com.kidgrow.common.controller.BaseController; +import com.kidgrow.usercenter.vo.SysDoctorVo; +import com.kidgrow.usercenter.vo.SysDoctorDto; +import org.apache.commons.collections4.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.ObjectError; import org.springframework.web.bind.annotation.*; @@ -16,13 +19,11 @@ import com.kidgrow.common.model.*; import org.springframework.validation.BindingResult; + +import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.util.ArrayList; import java.util.List; -import java.util.Map; -import java.util.Set; /** @@ -50,12 +51,12 @@ @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") }) @GetMapping - public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) { + public PageResult<SysDoctorVo> list(@RequestParam Map<String, Object> params) { if(params.size()==0){ params.put("page",1); params.put("limit",10); } - return ResultBody.ok().data(sysDoctorService.findList(params)); + return sysDoctorService.findList(params); } /** @@ -83,7 +84,7 @@ */ @ApiOperation(value = "保存") @PostMapping - public ResultBody save(@Valid @RequestBody SysDoctor sysDoctor, BindingResult bindingResult) { + public ResultBody save(@Valid @RequestBody SysDoctorDto sysDoctor, BindingResult bindingResult, HttpServletRequest request) { List<String> errMsg= new ArrayList<>(); if (bindingResult.hasErrors()) { for (ObjectError error : bindingResult.getAllErrors()) { @@ -91,7 +92,8 @@ } return ResultBody.failed().msg(errMsg.toString()); } else { - boolean v= sysDoctorService.saveOrUpdate(sysDoctor); + boolean v= sysDoctorService.saveOrUpdateSer(sysDoctor,request); + if(v) { return ResultBody.ok().data(sysDoctor).msg("保存成功"); } @@ -107,7 +109,7 @@ @ApiOperation(value = "删除") @DeleteMapping("/{id}") public ResultBody delete(@PathVariable Long id) { - boolean v= sysDoctorService.removeById(id); + boolean v= sysDoctorService.delete(id); if(v) { return ResultBody.ok().msg("删除成功"); } @@ -115,4 +117,17 @@ return ResultBody.failed().msg("删除失败"); } } + /** + * 状态 + */ + @ApiOperation(value = "修改状态") + @PostMapping("enable") + public ResultBody enable(@RequestBody Map<String, Object> params) { + Long id = MapUtils.getLong(params, "id"); + if (id==null) { + return ResultBody.failed("请选择一条数据"); + } + return sysDoctorService.enable(params); + } + } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java index c138a17..7b1e22b 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java @@ -57,7 +57,11 @@ } return sysHospitalService.findList(params); } - + @PostMapping("findAll") + @ApiOperation(value = "查询所有列表") + public ResultBody<SysHospital> findAll(@RequestBody Map<String, Object> params) { + return sysHospitalService.findAll(params); + } /** * 查询 */ diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java index 7e38efd..0bd18d0 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java @@ -336,4 +336,11 @@ public ResultBody findAll(@RequestParam Map<String,Object> map) { return appUserService.findAll(map); } + /** + * 获取当前用的 组织下的所有人员 + */ + @GetMapping("users/getThisUserOrganizationUser") + public ResultBody getThisUserOrganizationUser(HttpServletRequest request){ + return appUserService.getThisUserOrganizationUser(request); + } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml index cafec56..563d935 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml @@ -67,6 +67,8 @@ - sys_user_org - sys_dictionaries - sys_hospital + - sys_doctor + - sys_department ignoreSqls: - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html new file mode 100644 index 0000000..f9ba10b --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html @@ -0,0 +1,711 @@ +<div class="layui-card"> + <div class="layui-card-header"> + <h2 class="header-title">医生管理</h2> + <span class="layui-breadcrumb pull-right"> + <a href="#!home_console">首页</a> + <a><cite>医生管理</cite></a> + </span> + </div> + <div class="layui-card-body"> + <div class="layui-form toolbar"> + <button id="doctor-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>添加</button> + <select placeholder="选择一个应用" id="doctorState" lay-filter="role_clients"> + <option value="">-请选择-</option> + <option value="true">正常</option> + <option value="false">试用</option> + </select> + <select id="hospitalName-seach" placeholder="选择一个应用" lay-filter="role_clients"> + <option value="">-请选择-</option> + </select> + <input id="doctorTel" class="layui-input search-input" type="text" placeholder="按手机号..." />  + <input id="doctorName" class="layui-input search-input" type="text" placeholder="按医生..." />  + <button id="app-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button> + </div> + + <!-- 数据表格 --> + <table class="layui-table" id="app-table" lay-filter="app-table"></table> + </div> +</div> + +<!-- 表格操作列 --> + +<script type="text/html" id="doctor-table-bar"> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="reset">重置密码</a> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a> + <a class="layui-btn layui-btn-xs" lay-event="del">删除</a> + <a class="layui-btn layui-btn-xs" lay-event="enable">停用</a> +</script> + + +<!-- 表单弹窗 --> +<script type="text/html" id="app-model"> + <form id="app-form" lay-filter="app-form" class="layui-form model-form"> + <input name="id" type="hidden"/> + <div class="layui-form-item"> + <label class="layui-form-label">医院名称</label> + <div class="layui-input-block"> + <input name="hospitalName" id="hospitalName" type="hidden" class="layui-input" maxlength="20"/> + <select id="hospitalId" name="hospitalId" lay-filter="getdepartment" placeholder="选择一个应用" lay-filter="role_clients"> + <option value="">-请选择-</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">科室</label> + <div class="layui-input-block"> + <input name="departmentName" id="departmentName" placeholder="请输入应用名称" type="hidden" class="layui-input" maxlength="20"/> + <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="选择一个应用" lay-filter="role_clients"> + <option value="">-请选择-</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">医生姓名</label> + <div class="layui-input-block"> + <input name="doctorName" type="text" class="layui-input" maxlength="20" + lay-verify="required" required /> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">医生的头像</label> + <div class="layui-input-block"> + <input name="doctorLogo" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">联系方式</label> + <div class="layui-input-block"> + <input name="doctorTel" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">职称</label> + <div class="layui-input-block"> + <input name="doctorRank" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">其它联系方式</label> + <div class="layui-input-block"> + <input name="doctorOtherLink" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">医生的email</label> + <div class="layui-input-block"> + <input name="doctorEmail" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">医生简介</label> + <div class="layui-input-block"> + <input name="doctorAbout" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">是否医答</label> + <div class="layui-input-block"> + <input name="isAnswer" id="isAnswer-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/> + <input name="isAnswer" id="isAnswer-fou" type="radio" value="false" title="否" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">是否签约医生</label> + <div class="layui-input-block"> + <input name="isSigning" id="isSigning-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/> + <input name="isSigning" id="isSigning-fou" type="radio" value="false" title="否" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label"> 是否置顶</label> + <div class="layui-input-block"> + <input name="isTop" id="isTop-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/> + <input name="isTop" id="isTop-fou" type="radio" value="false" title="否" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label"> 医生状态</label> + <div class="layui-input-block"> + <input name="doctorState" id="doctorState-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/> + <input name="doctorState" id="doctorState-fou" type="radio" value="false" title="否" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label" >销售代表名称</label> + <div class="layui-input-block"> + <input name="serverUserName" type="text" class="layui-input" maxlength="15"/> + </div> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button> + <button class="layui-btn" id="sure" lay-filter="user-form-submit" lay-submit>保存</button> + </div> + </form> +</script> + +<!-- 表单弹窗 添加--> +<script type="text/html" id="app-model-add"> + + <form id="app-form-add" lay-filter="app-form-add" class="layui-form model-form"> + <input name="id" type="hidden"/> + <div class="layui-form-item"> + <label class="layui-form-label">医院名称</label> + <div class="layui-input-block"> + <input name="hospitalName" id="hospitalId-add" type="hidden" class="layui-input" maxlength="20"/> + <select id="hospitalName-add" name="hospitalId" lay-filter="getdepartment-add" placeholder="选择一个应用" lay-filter="role_clients"> + <option value="">-请选择-</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">姓名</label> + <div class="layui-input-block"> + <input name="doctorName" type="text" class="layui-input" maxlength="20" + lay-verify="required" required /> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">科室</label> + <div class="layui-input-block"> + <input name="departmentName" id="departmentName" placeholder="请输入应用名称" type="hidden" class="layui-input" maxlength="20"/> + <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="选择一个应用" lay-filter="role_clients"> + <option value="">-请选择-</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">职称</label> + <div class="layui-input-block"> + <select id="doctorRankId" name="doctorRankId" lay-filter="doctorRankId" placeholder="选择一个职称" > + <option value="">-请选择-</option> + </select> + <input name="doctorRank" id='doctorRank' type="hidden" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">联系电话</label> + <div class="layui-input-block"> + <input name="doctorTel" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">其它联系方式</label> + <div class="layui-input-block"> + <input name="doctorOtherLink" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">医生的email</label> + <div class="layui-input-block"> + <input name="doctorEmail" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">医生简介</label> + <div class="layui-input-block"> + <input name="doctorAbout" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">医生的头像</label> + <div class="layui-input-block" id="demo"> + <button type="button" class="layui-btn" id="phonto"> + <i class="layui-icon"></i>上传图片 + </button> + <input name="doctorLogo" id="doctorLogo-add" type="hidden" class="layui-input" maxlength="20"/> + <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;"> + 预览图: + <div class="layui-upload-list" id="demo2"></div> + </blockquote> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label"> 是否置顶</label> + <div class="layui-input-block"> + <input name="isTop" id="isTop-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/> + <input name="isTop" id="isTop-fou" type="radio" value="false" title="否" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">是否医答</label> + <div class="layui-input-block"> + <input name="isAnswer" id="isAnswer-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/> + <input name="isAnswer" id="isAnswer-fou" type="radio" value="false" title="否" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">是否签约医生</label> + <div class="layui-input-block"> + <input name="isSigning" id="isSigning-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/> + <input name="isSigning" id="isSigning-fou" type="radio" value="false" title="否" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label"> 医生状态</label> + <div class="layui-input-block"> + <input name="doctorState" id="doctorState-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/> + <input name="doctorState" id="doctorState-fou" type="radio" value="false" title="否" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label" >登录帐号</label> + <div class="layui-input-block"> + <input name="username" type="text" class="layui-input" maxlength="15"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label" >登录密码</label> + <div class="layui-input-block"> + <input name="password" type="text" class="layui-input" maxlength="15"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label" >确认密码</label> + <div class="layui-input-block"> + <input name="passwordSure" type="text" class="layui-input" maxlength="15"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label" >销售代表名称</label> + <div class="layui-input-block"> + <input name="serverUserName" id="serverUserName-add" type="hidden" class="layui-input" maxlength="15"/> + <select id="serverUserId-add" name="serverUserId" lay-filter="serverUserId-add" placeholder="选择一个应用" lay-filter="role_clients"> + <option value="">-请选择-</option> + </select> + </div> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button> + <button class="layui-btn" id="sure" lay-filter="user-form-submit" lay-submit>保存</button> + </div> + </form> +</script> + + +<script> + layui.use(['form', 'table', 'laydate', 'util', 'config', 'upload', 'admin'], function () { + var form = layui.form; + var table = layui.table; + var config = layui.config; + var layer = layui.layer; + var util = layui.util; + var admin = layui.admin; + var upload = layui.upload; + + + //执行实例 + var uploadInst = upload.render({ + elem: '#phonto' //绑定元素 + , url: '/upload/' //上传接口 + , done: function (res) { + //上传完毕回调 + } + , error: function () { + //请求异常回调 + } + }); + //医院数据绑定在弹框里 + var hospital = ""; + + var department = ""; + //销售代表 + var user = ""; + //职称 + var doctorRank=""; + // 获取应用列表 + // layer.load(2); + admin.req('api-user/syshospital/findAll', JSON.stringify({ is_del: 0 }), function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + let selected = false; + clientsAll = data.data; + hospital = data.data; + $.each(data.data, function (index, item) { + if (config.clientId === item.clientId) { + selected = true; + } else { + selected = false; + } + //往下拉菜单里添加元素 + $('#hospitalName-seach').append(new Option(item.hospitalName, item.id, false, selected)); + // $('#hospitalId').append(new Option(item.hospitalName, item.id, false, selected)); + form.render('select', 'app-form'); + }) + form.render(); + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'Post'); + //职称添加数据 + var getZhiCheng = function () { + admin.req('api-user/sysdictionaries/findAll', JSON.stringify({ dictionariesClassId: "1248150699682988034" }), function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + let selected = false; + doctorRank = data.data; + $.each(data.data, function (index, item) { + if (config.clientId === item.clientId) { + selected = true; + } else { + selected = false; + } + //往下拉菜单里添加元素 + $('#doctorRankId').append(new Option(item.dictionariesName, item.id, false, selected)); + }) + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'Post'); + } + //获取销售代表 + var getXiaoShouDaiBiao = function () { + admin.req('api-user/users/getThisUserOrganizationUser', {}, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + user = data.data; + $.each(data.data, function (index, item) { + //往下拉菜单里添加元素 + console.log(item.nickname) + $('#serverUserId-add').append(new Option(item.nickname, item.id, false, false)); + }) + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'get'); + } + + // 添加按钮点击事件 + $('#doctor-btn-add').click(function () { + showEditModel_add(undefined, 2); + }); + //时间格式 + var laydate = layui.laydate; + //执行一个laydate实例 + laydate.render({ + elem: '#test1' //指定元素 + }); + laydate.render({ + elem: '#test2' //指定元素 + }); + + // 渲染表格 + table.render({ + elem: '#app-table', + url: config.base_server + 'api-user/sysdoctor', + method: 'GET', + headers: { 'Authorization': 'Bearer ' + config.getToken().access_token }, + page: true, + cols: [[ + { type: 'numbers' }, + { field: 'hospitalName', width: 180, sort: true, title: '医院名称' }, + { field: 'doctorName', width: 200, sort: true, title: '医生姓名' }, + { field: 'doctorRank', width: 180, sort: true, title: '职称' }, + { field: 'username', width: 300, sort: true, title: '登录帐号' }, + { field: 'doctorTel', width: 300, sort: true, title: '联系方式' }, + { + field: 'doctorState', width: 300, sort: true, title: '状态', templet: function (d) { + return d.doctorState ? "正式" : "试用" + } + }, + { + field: 'isAnswer', width: 300, sort: true, title: '医答', templet: function (d) { + return d.isAnswer ? "是" : "否" + } + }, + { + field: 'isSigning', width: 300, sort: true, title: '签约', templet: function (d) { + return d.isSigning ? "是" : "否" + } + }, + { field: 'createTime', width: 250, sort: true, title: '时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" }, + { field: 'serverUserName', width: 100, sort: true, title: '销售代表' }, + { width: 200, width: 300, align: 'center', toolbar: '#doctor-table-bar', sort: true, title: '操作' }, + ]] + }); + + // 工具条点击事件 + table.on('tool(app-table)', function (obj) { + var data = obj.data; + var layEvent = obj.event; + if (layEvent === 'detail') { // 查看详情 + showEditModel(data, 1); + } else if (layEvent === 'reset') { + layer.confirm('确定重置此用户的密码吗?', function (i) { + layer.close(i); + layer.load(2); + admin.req('api-user/users/' + obj.data.userId + '/password', {}, function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + layer.msg(data.msg, { icon: 1, time: 500 }); + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'PUT'); + }); + } else if (layEvent === 'edit') { + showEditModel(data, 3); + } else if (layEvent === 'del') { + layer.confirm('确定删除此用户吗?', function (i) { + layer.close(i); + layer.load(2); + admin.req('api-user/sysdoctor/' + obj.data.id, {}, function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + layer.msg(data.msg, { icon: 1, time: 500 }); + table.reload('app-table', {}); + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'delete'); + }); + } else if (layEvent === 'enable') { + layer.confirm('确定删除此用户吗?', function (i) { + layer.close(i); + layer.load(2); + admin.req('api-user/sysdoctor/enable', JSON.stringify({ id: obj.data.id }), function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + layer.msg(data.msg, { icon: 1, time: 500 }); + table.reload('app-table', {}); + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'post'); + }); + } + }); + + // 搜索按钮点击事件 + $('#app-btn-search').click(function () { + var doctorState = $('#doctorState').val(); + var hospitalName = $('#hospitalName-seach').val(); + var doctorTel = $('#doctorTel').val(); + var doctorName = $('#doctorName').val(); + table.reload('app-table', { where: { doctorState: doctorState, hospitalId: hospitalName, doctorTel: doctorTel, doctorName: doctorName } }); + }); + // 显示新增弹窗 + var showEditModel_add = function () { + layer.open({ + type: 1, + title: '新增', + area: '450px', + offset: '120px', + content: $('#app-model-add').html(), + success: function () { + $('#app-form-add')[0].reset(); + $('#app-form-add').attr('method', 'POST'); + $('.layui-layer-content').css('overflow','auto'); + //将医院的数据保存到下拉表 + let selected = false; + //获取职称的 + getZhiCheng(); + //获取销售代表 + getXiaoShouDaiBiao(); + var upload = layui.upload; + //执行实例 + upload.render({ + elem: '#phonto', + url: config.base_server + 'api-file/files-anon', + accept: 'file', + auto: true, + headers: { "Authorization": "Bearer " + config.getToken().access_token }, + before: function (obj) { + layer.load(); //上传loading + //预读本地文件示例,不支持ie8 + obj.preview(function (index, file, result) { + $(".layui-upload-img").remove(); + $('#demo2').append('<img src="' + result + '" width="50px" height="50px" alt="' + file.name + '" class="layui-upload-img">') + }); + }, + done: function (data) { + layer.closeAll('loading'); + $("#doctorLogo-add").val(data.url); + }, + error: function (data) { + layer.closeAll('loading'); + } + }); + $.each(hospital, function (index, item) { + if (config.clientId === item.clientId) { + selected = true; + } else { + selected = false; + } + console.log(item) + $('#hospitalName-add').append(new Option(item.hospitalName, item.id, false, selected)); + }) + form.render(); + } + }); + }; + // 显示编辑弹窗 + var showEditModel = function (data, flag) { + var title = ""; + if (flag == 1) { + title = "查看详情"; + } else if (flag == 2) { + title = "新增"; + } else if (flag == 3) { + title = "编辑"; + } + + layer.open({ + type: 1, + title: title, + area: '450px', + offset: '120px', + content: $('#app-model').html(), + success: function () { + $('#app-form')[0].reset(); + $('#app-form').attr('method', 'POST'); + //将医院的数据保存到下拉表 + let selected = false; + $.each(hospital, function (index, item) { + if (config.clientId === item.clientId) { + selected = true; + } else { + selected = false; + } + //往下拉菜单里添加元素 + $('#hospitalId').append(new Option(item.hospitalName, item.id, false, selected)); + }) + //将科室的数据绑定到里面 + if (flag != 2) { + getdepartment(data.hospitalId); + } + if (data) { + if (data.isAnswer) { + $("#isAnswer-shi").attr('checked', true); + } else { + $("#isAnswer-fou").attr('checked', true); + } + + if (data.isSigning) { + $("#isSigning-shi").attr('checked', true); + } else { + $("#isSigning-fou").attr('checked', true); + } + + if (data.isTop) { + $("#isTop-shi").attr('checked', true); + } else { + $("#isTop-fou").attr('checked', true); + } + + if (data.doctorState) { + $("#doctorState-shi").attr('checked', true); + } else { + $("#doctorState-fou").attr('checked', true); + } + form.val('app-form', data); + if (flag == 1) { + //将确定隐藏 doctorState-shi + $("#sure").hide(); + //将所有的设置为只读 + $('#app-form').find('input').attr('readonly', true); + $('#app-form').find('select,input[type="radio"]').attr('disabled', true); + } else { + $("#sure").show(); + $('#app-form').attr('method', 'POST'); + } + } + } + }); + }; + // 表单提交事件 + form.on('submit(user-form-submit)', function (data) { + layer.load(2); + data.field.hospitalId = parseInt(data.field.hospitalId); + admin.req('api-user/sysdoctor', JSON.stringify(data.field), function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + // layer.msg(data.msg, { icon: 1, time: 500 }); + layer.closeAll(); + table.reload('app-table', {}); + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, "POST"); + return false; + }); + //更新 点击医院触发的事件 + form.on('select(getdepartment)', function (data) { + //将医院名称赋值 + $.each(hospital, function (index, item) { + if (item.id == data.value) { + $('#hospitalName').val(item.hospitalName); + } + }) + // + getdepartment(data.value); + }); + //新增----点击医院触发的事件 + form.on('select(getdepartment-add)', function (data) { + //将医院名称赋值 + $.each(hospital, function (index, item) { + if (item.id == data.value) { + $('#hospitalId-add').val(item.hospitalName); + console.log($('#hospitalId-add').val()) + } + }) + // + getdepartment(data.value); + }); + //将新增 中的 serverUserName 赋值 + form.on('select(serverUserId-add)', function (data) { + //将医院名称赋值 + $.each(user, function (index, item) { + if (item.id == data.value) { + $('#serverUserName-add').val(item.nickname); + console.log($('#serverUserName-add').val()) + } + }) + // + }); + //新增 点击职称的触发事件 + form.on('select(doctorRankId)', function (data) { + //将部门名称赋值 + + $.each(doctorRank, function (index, item) { + if (item.id == data.value) { + console.log(12312312312) + $('#doctorRank').val(item.dictionariesName); + console.log($('#doctorRank').val()) + } + }) + }); + //新增 和 更新 科室触发的事件 + form.on('select(departmentId)', function (data) { + //将部门名称赋值 + $.each(department, function (index, item) { + if (item.id == data.value) { + $('#departmentName').val(item.departmentName); + } + }) + // + // getdepartment(data.value); + }); + //获取科室 + var getdepartment = function (data) { + admin.req('api-user/sysdepartment/findListByHospitalId', { id: data }, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + department = data.data; + $('#departmentId').empty(); + if(data.data.length>0){ + $('#departmentName').val(data.data[0].departmentName); + } + $.each(data.data, function (index, item) { + //往下拉菜单里添加元素 + $('#departmentId').append(new Option(item.departmentName, item.id, false, false)); + form.render('select', 'app-form'); + }) + form.render(); + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'get'); + } + }); +</script> \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html index 8196658..6a3ac4b 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html @@ -24,7 +24,13 @@ <!-- 表格操作列 --> <script type="text/html" id="businessRecords-table-bar"> + <select> + <option></option + </select> <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a> + <a class="layui-btn layui-btn-xs" lay-event="reset">重置密码</a> + <a class="layui-btn layui-btn-xs" lay-event="del">删除</a> </script> <!-- 表单弹窗 --> -- Gitblit v1.8.0