forked from kidgrow-microservices-platform

houruijun
2020-08-13 d526d571cbe0a950e777fb325978d72f3ddb302b
Merge remote-tracking branch 'origin/dev' into dev
17 files modified
290 ■■■■ changed files
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java 3 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/IFileService.java 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java 10 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java 66 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/FastdfsAutoConfigure.java 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/QiniuOSSAutoConfigure.java 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/controller/FileController.java 5 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java 3 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java 7 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java 64 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java 21 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml 4 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java 15 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java 4 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html 5 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor_form.html 75 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java
@@ -46,7 +46,7 @@
     * @param imgType 文件类型:X光片/医院Logo[Xray/Logo]
     */
    @PostMapping(value = "/baseUplaod",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    FileInfo baseUplaod(@RequestParam("file") String file,@RequestParam("imgType") String imgType);
    FileInfo baseUplaod(@RequestParam("file") String file,@RequestParam("imgType") String imgType,@RequestParam("hospitalId") String hospitalId,@RequestParam("departmentId") String departmentId);
    /**
     * base64  下载图片
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java
@@ -36,8 +36,9 @@
            public FileInfo feignUpload(@RequestPart("file") MultipartFile file,@RequestParam String imgType) {
                return null;
            }
            @Override
            public FileInfo baseUplaod(String file, String imgType) {
            public FileInfo baseUplaod(String file, String imgType, String hospitalId, String departmentId) {
                return null;
            }
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/IFileService.java
@@ -37,7 +37,7 @@
    /**
     * base64上传图片
     */
    FileInfo baseUplaod(String file, String imgType);
    FileInfo baseUplaod(String file, String imgType, String hospitalId, String departmentId);
    /**
     * base64图片下载
     */
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java
@@ -100,7 +100,7 @@
     */
    protected abstract void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception;
    protected abstract void fileUpLoadOss(FileInfo fileInfo,String newFilePath, InputStream fileStream);
    protected abstract String FilePath(String imgType,String folderByDate);
    protected abstract String FilePath(String imgType,String folderByDate,String hospitalId,String departmentId);
    protected abstract OSSObject down(String url);
    /**
@@ -160,7 +160,7 @@
                //将生成的文件转换为流
                InputStream inputStream=new FileInputStream(thuFile);
                String folderByDate = DateUtil.formatDate(new Date());
                String filefloder=this.FilePath(imgType,folderByDate);
                String filefloder=this.FilePath(imgType,folderByDate,null,null);
                FileInfo newfileInfo=new FileInfo();
                newfileInfo.setName(newFileName);
                newfileInfo.setId(IdUtil.fastSimpleUUID());
@@ -190,7 +190,7 @@
    }
    @Override
    public FileInfo baseUplaod(String file, String imgType) {
    public FileInfo baseUplaod(String file, String imgType, String hospitalId, String departmentId) {
        if(file==null||"".equals(file.trim())){
            return null;
        }
@@ -215,7 +215,9 @@
            newfileInfo.setSource("aliyun");
            newfileInfo.setImgType(imgType);
            newfileInfo.setCreateTime(new Date());
            this.fileUpLoadOss(newfileInfo,"HospitalLogo/"+newFileName,input);
            String folderByDate =DateUtil.formatDate(new Date());
            String filePath = FilePath(imgType, folderByDate, hospitalId, departmentId);
            this.fileUpLoadOss(newfileInfo,filePath,input);
            input.close();
            baseMapper.insert(newfileInfo);
            return newfileInfo;
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java
@@ -39,7 +39,6 @@
    private FileServerProperties fileProperties;
    /**
     * 阿里云文件存储client
     * 只有配置了aliyun.oss.access-key才可以使用
@@ -67,19 +66,18 @@
        @Override
        protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception {
            String clientID= httpServletRequest.getHeader(SecurityConstants.CLIENT_HEADER);
            String folderByDate =DateUtil.formatDate(new Date());
            String clientID = httpServletRequest.getHeader(SecurityConstants.CLIENT_HEADER);
            String folderByDate = DateUtil.formatDate(new Date());
            int begin = file.getOriginalFilename().indexOf(".");
            int last = file.getOriginalFilename().length();
            String fileType = file.getOriginalFilename().substring(begin, last);
            String fileName= UUID.randomUUID().toString().replaceAll("-","")+fileType;
            String fileName = UUID.randomUUID().toString().replaceAll("-", "") + fileType;
            String fileFolder = "";
            if(clientID.equals("hospital")){//医院端平台,
                fileFolder=FilePath(fileInfo.getImgType(),folderByDate);
                fileUpLoadOss(fileInfo,fileFolder  + fileName,file.getInputStream());
            }
            else {
                fileUpLoadOss(fileInfo,fileProperties.getOss().getFolder() + folderByDate + "/" + fileName,file.getInputStream());
            if (clientID.equals("hospital")) {//医院端平台,
                fileFolder = FilePath(fileInfo.getImgType(), folderByDate, null, null);
                fileUpLoadOss(fileInfo, fileFolder + fileName, file.getInputStream());
            } else {
                fileUpLoadOss(fileInfo, fileProperties.getOss().getFolder() + folderByDate + "/" + fileName, file.getInputStream());
            }
        }
@@ -92,48 +90,66 @@
        /**
         * 给OSS上上传文件
         * @param fileInfo  返回对象
         *
         * @param fileInfo    返回对象
         * @param newFilePath 上传到的文件路径
         * @param fileStream  要上传的文件流
         */
        public void fileUpLoadOss(FileInfo fileInfo,String newFilePath, InputStream fileStream)
        {
        public void fileUpLoadOss(FileInfo fileInfo, String newFilePath, InputStream fileStream) {
            ossClient.putObject(fileProperties.getOss().getBucketName(), newFilePath, fileStream);
            fileInfo.setUrl(fileProperties.getOss().getDomain() + newFilePath);
        }
        public OSSObject down(String url){
            GetObjectRequest request=new GetObjectRequest(fileProperties.getOss().getBucketName(),url);
        public OSSObject down(String url) {
            GetObjectRequest request = new GetObjectRequest(fileProperties.getOss().getBucketName(), url);
            return ossClient.getObject(request);
        }
        /**
         * 组合sso上的文件路径
         *
         * @param imgType
         * @return
         */
        public String FilePath(String imgType,String folderByDate)
        {
        public String FilePath(String imgType, String folderByDate, String hospitalId, String departmentId) {
            //返回的文件路径
            String fileFolder="";
            String fileFolder = "";
            if (StringUtils.isNotBlank(imgType)) {
                // 光片需要按照根据医院ID,科室ID,日期进行OSS存储
                if (imgType.toLowerCase().equals("xray")) {
                    String hospitalID = httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER);
                    String depID = httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER);
                    fileFolder = "Xray/" + hospitalID + "/" + depID + "/"+ folderByDate + "/";
                    if (org.apache.commons.lang3.StringUtils.isBlank(hospitalID) &&
                            org.apache.commons.lang3.StringUtils.isBlank(depID)) {
                        fileFolder = "Xray/" + hospitalID + "/" + depID + "/" + folderByDate + "/";
                    } else {
                        if (org.apache.commons.lang3.StringUtils.isBlank(hospitalId) &&
                                org.apache.commons.lang3.StringUtils.isBlank(departmentId)) {
                            fileFolder = "Xray/" + hospitalId + "/" + departmentId + "/" + folderByDate + "/";
                        } else {
                            fileFolder = "Xray/" + folderByDate + "/";
                        }
                    }
                } else if (imgType.toLowerCase().equals("app")) {
                    //移动端APP上传
                    if (org.apache.commons.lang3.StringUtils.isBlank(hospitalId) &&
                            org.apache.commons.lang3.StringUtils.isBlank(departmentId)) {
                        fileFolder = "AppXray/" + hospitalId + "/" + departmentId + "/" + folderByDate + "/";
                    } else {
                        fileFolder = "AppXray/" + folderByDate + "/";
                    }
                }
                // 医院Logo只保存在一个目录中
                else if (imgType.toLowerCase().equals("logo")) {
                    fileFolder = "HospitalLogo/";
                }else if (imgType.toLowerCase().equals("doctor")) {
                } else if (imgType.toLowerCase().equals("doctor")) {
                    fileFolder = "DoctorImage/";
                } else {
                    fileFolder = "OtherImage/" + folderByDate + "/";
                }
                else {
                    fileFolder = "OtherImage/"+ folderByDate + "/";
                }
            } else {
                fileFolder = "OtherImage/"+ folderByDate + "/";
                fileFolder = "OtherImage/" + folderByDate + "/";
            }
            return fileFolder;
        }
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/FastdfsAutoConfigure.java
@@ -53,7 +53,7 @@
        }
        @Override
        protected String FilePath(String imgType, String folderByDate) {
        protected String FilePath(String imgType, String folderByDate,String hospitalId,String departmentId) {
            return null;
        }
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/QiniuOSSAutoConfigure.java
@@ -96,7 +96,7 @@
        }
        @Override
        protected String FilePath(String imgType, String folderByDate) {
        protected String FilePath(String imgType, String folderByDate,String hospitalId,String departmentId) {
            return null;
        }
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/controller/FileController.java
@@ -68,8 +68,9 @@
     * base64上传图片
     */
    @PostMapping(value="baseUplaod",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public FileInfo baseUplaod(@RequestParam("file") String file,@RequestParam("imgType") String imgType){
        return fileService.baseUplaod(file,imgType);
    public FileInfo baseUplaod(@RequestParam("file") String file,@RequestParam("imgType") String imgType,
                               @RequestParam("hospitalId") String hospitalId,@RequestParam("departmentId") String departmentId){
        return fileService.baseUplaod(file,imgType,hospitalId,departmentId);
    }
    /**
     * base64图片下载
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java
@@ -1,12 +1,13 @@
package com.kidgrow.usercenter.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.List;
@Data
public class SysDoctorDto extends  SysDoctorVo {
    //private String username;
    private String password;
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private List<Long> roles;
}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java
@@ -173,4 +173,11 @@
     * @return
     */
    Long HospitalIdByDepartmentId(Long departmentId);
    /**
     * 删除用户  不删除关系表 ,role_user 表  和 用户组织
     *
     * @param id
     */
    boolean deleteNoContact(Long id);
}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -52,6 +52,8 @@
    @Autowired
    private ISysUserService iSysUserService;
    @Autowired
    private SysUserMapper sysUserMapper;
    @Autowired
    private PasswordEncoder passwordEncoder;
    @Autowired
    private ISysUserOrgService sysUserOrgService;
@@ -201,7 +203,7 @@
            if (sysDoctor.getId() == null) {
                Long sysUserId = null;
                //保存部门信息
                ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment);
                ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment,null);
                if(resultBody.getCode()==0){
                    sysUserId=(Long)resultBody.getData();
                }else {
@@ -221,6 +223,12 @@
                //更新
                SysDoctor getOne = baseMapper.selectById(sysDoctor.getId());
                if (getOne.getDoctorType() != 2 && sysDoctor.getDoctorType() != 2) {
                    /**
                     * 管理员只有一个
                     */
                    if (isSupperRole(sysDoctor)) {
                        return ResultBody.failed("该部门已经有管理员");
                    }
                    Map<String, Object> columnMap = new HashMap<>();
                    columnMap.put("user_id", sysDoctor.getUserId());
                    boolean b = sysUserOrgService.removeByMap(columnMap);
@@ -244,6 +252,16 @@
                        redisUtils.hdel(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString());
                    }
                    redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrg);
                    //角色更换
                    QueryWrapper queryWrapper=new QueryWrapper();
                    queryWrapper.eq("user_id",getOne.getUserId());
                    int delete = sysUserRoleMapper.delete(queryWrapper);
                    sysDoctor.getRoles().forEach(e -> {
                        SysRoleUser sysRoleUser = new SysRoleUser();
                        sysRoleUser.setRoleId(e);
                        sysRoleUser.setUserId(getOne.getUserId());
                        int insert = sysUserRoleMapper.insert(sysRoleUser);
                    });
                } else if (getOne.getDoctorType() == 2 && sysDoctor.getDoctorType() != 2) {
                    /**
                     * 管理员只有一个
@@ -251,7 +269,7 @@
                    if (isSupperRole(sysDoctor)) {
                        return ResultBody.failed("该部门已经有管理员");
                    }
                    ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment);
                    ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment,getOne);
                    Long sysUserId = null;
                    if(resultBody.getCode()==0){
                        sysUserId=(Long)resultBody.getData();
@@ -277,6 +295,11 @@
                    redisUtils.hdel(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString());
                    sysDoctor.setUserId(null);
                    baseMapper.updateById(sysDoctor);
                    //将用户删除
                    SysUser sysUser = new SysUser();
                    sysUser.setId(getOne.getUserId());
                    sysUser.setDel(true);
                    sysUserMapper.deleteById(sysUser);
                } else if (getOne.getDoctorType() == 2 && sysDoctor.getDoctorType() == 2) {
                    baseMapper.updateById(sysDoctor);
                }
@@ -304,7 +327,7 @@
                wrapper.in("user_id", collect);
                List<SysRoleUser> list = this.sysUserRoleMapper.selectList(wrapper);
                for (SysRoleUser sysRoleUser : list) {
                    if (sysRoleUser.getRoleId() == CommonConstant.HOSPITAL_ADMIN_ID) {
                    if (sysRoleUser.getRoleId().equals( CommonConstant.HOSPITAL_ADMIN_ID)) {
                        flag = true;
                    }
                }
@@ -314,7 +337,7 @@
    }
    //保存的分接口
    public ResultBody saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment) {
    public ResultBody saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment,SysDoctor getOne) {
        Long sysUserId = null;
        /**
         * 管理员只有一个
@@ -323,8 +346,8 @@
            return ResultBody.failed("该部门已经有管理员");
        }
        if (sysDoctor.getDoctorType() != 2) {
            SysUser sysUser=new SysUser();
            //保存
            SysUser sysUser = new SysUser();
            sysUser.setUsername(sysDoctor.getUsername());
            sysUser.setPassword(passwordEncoder.encode(sysDoctor.getPassword()));
            sysUser.setNickname(sysDoctor.getDoctorName());
@@ -338,7 +361,33 @@
                sysUser.setCreateUserId(byId.getId());
                sysUser.setCreateUserName(byId.getUsername());
            }
            iSysUserService.save(sysUser);
            //做判断是否注册过手机号;
            QueryWrapper queryWrapper=new QueryWrapper();
            queryWrapper.eq("username",sysDoctor.getDoctorTel());
            queryWrapper.eq("enabled",1);
            queryWrapper.eq("is_del",0);
            Integer integer = sysUserMapper.selectCount(queryWrapper);
            if(integer>0){
               return ResultBody.failed("该手机号已经注册");
            }
            if (getOne!=null&&getOne.getUserId()!=null) {
                Map<String,Object> map=new HashMap<>();
                map.put("id",getOne.getUserId());
                map.put("enabled",1);
                map.put("is_del",1);
                List<SysUser> sysUsers = sysUserMapper.selectByMap(map);
                if(sysUsers!=null&&!sysUsers.isEmpty()){
                    sysUser.setId(sysUsers.get(sysUsers.size()-1).getId());
                }
            }
            if(sysUser.getId()!=null){
                //更新
                sysUser.setDel(false);
                iSysUserService.updateById(sysUser);
            }else {
                //保存
                iSysUserService.save(sysUser);
            }
            sysUserId = sysUser.getId();
            //保存一个角色
            sysDoctor.getRoles().forEach(e -> {
@@ -382,6 +431,9 @@
        if (id > 0 && adminId > 0) {
            Map<String, Object> map = new HashMap<>();
            map.put("user_id", adminId);
            map.put("is_admin_user",1);
            map.put("is_del",0);
            map.put("enabled",1);
            List<SysDoctor> sysDoctors = baseMapper.selectByMap(map);
            if (sysDoctors == null || sysDoctors.size() <= 0) {
                return ResultBody.failed("当前操作用户不是管理员");
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.constant.CommonConstant;
import com.kidgrow.common.constant.DictionariesConstants;
@@ -402,7 +403,7 @@
        organizationService.deleteByUserId(id);
        //删除医生数据
        Map<String, Object> params = new HashMap<>();
        params.put("userId", id);
        params.put("user_id", id);
        sysDoctorMapper.deleteByMap(params);
        //删除用户数据
        return baseMapper.deleteById(id) > 0;
@@ -461,6 +462,8 @@
    @Override
    public ResultBody findCountByMap(Map<String, Object> map) {
        map.put("enable",1);
        map.put("is_del",0);
        Integer integer = baseMapper.selectCountByMap(map);
        return ResultBody.ok().data(integer);
    }
@@ -1030,4 +1033,20 @@
        String encode = passwordEncoder.encode(password);
        return ResultBody.ok().data(encode);
    }
    @Override
    public boolean deleteNoContact(Long id) {
        //删除医生数据
        QueryWrapper<SysDoctor> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("user_id", id);
        List<SysDoctor> sysDoctors = sysDoctorMapper.selectList(queryWrapper);
        if(!sysDoctors.isEmpty()){
            sysDoctors.forEach(e->{
                e.setIsDel(true);
                sysDoctorMapper.updateById(e);
            });
        }
        //删除用户数据
        return baseMapper.deleteById(id) > 0;
    }
}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
@@ -171,7 +171,7 @@
        LEFT JOIN sys_user us ON dc.user_id = us.id
        LEFT JOIN sys_role_user roleuser
        ON roleuser.user_id=us.id
        where  dc.is_del=0 and dc.enabled=1 and us.enabled=1 and us.is_del=0
        where  dc.is_del=0 and dc.enabled=1  and us.enabled=1
        and dc.hospital_id=#{hospitalId} and dc.department_id=#{departmentId}  and (role_id=#{roleId1} or role_id=#{roleId2})
    </select>
    <select id="hospitalDoctorListAndDel" parameterType="long" resultType="com.kidgrow.usercenter.vo.HospitalDoctorListVo">
@@ -197,7 +197,7 @@
        LEFT JOIN sys_user us ON dc.user_id = us.id
        LEFT JOIN sys_role_user roleuser
        ON roleuser.user_id=us.id
        where   dc.enabled=1 and dc.hospital_id=1 and dc.department_id=1 and us.enabled=1
        where   dc.enabled=1  and us.enabled=1
        and dc.hospital_id=#{hospitalId} and dc.department_id=#{departmentId}  and (role_id=#{roleId1} or role_id=#{roleId2})
    </select>
</mapper>
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java
@@ -328,7 +328,20 @@
        boolean v = appUserService.delUser(id);
        return ResultBody.ok().msg("删除成功").data(v);
    }
    /**
     * 删除用户  不删除关系表 ,role_user 表  和 用户组织
     *
     * @param id
     */
    @DeleteMapping(value = "/users/deleteNoContact/{id}")
    //@AuditLog(operation = "'删除用户:' + #id")
    public ResultBody deleteNoContact(@PathVariable Long id) {
        if (checkAdmin(id)) {
            return ResultBody.failed(ADMIN_CHANGE_MSG);
        }
        boolean v = appUserService.deleteNoContact(id);
        return ResultBody.ok().msg("删除成功").data(v);
    }
    /**
     * 新增or更新
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
@@ -97,7 +97,7 @@
                                //查询  科室
                                QueryWrapper queryWrapper = new QueryWrapper();
                                queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
                                queryWrapper.eq("org_id", sysUserOrg.getOrgId());
                                queryWrapper.eq("is_del", 0);
                                queryWrapper.eq("enabled", 1);
                                List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
@@ -136,7 +136,7 @@
                            //查询  科室
                            QueryWrapper queryWrapper = new QueryWrapper();
                            queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
                            queryWrapper.eq("org_id", sysUserOrg.getOrgId());
                            queryWrapper.eq("is_del", 0);
                            queryWrapper.eq("enabled", 1);
                            List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -541,10 +541,7 @@
                            data) {
                            layer.closeAll('loading');
                            if (data.code == 0) {
                                layer.msg(data.msg, {
                                    icon: 1,
                                    time: 2000
                                });
                                layer.alert("密码重置为:"+data.data, {icon: 1});
                            } else {
                                layer.msg(data.msg, {
                                    icon: 2,
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor_form.html
@@ -232,8 +232,7 @@
                        arr: roleSelectData
                    });
                    // 回显user数据
                    var doctor = admin.getTempData('t_doctor');
                    if (doctor!=null&&doctor.roles) {
                    if (doctor != null && doctor.roles) {
                        formSelects.value('roleId', doctor.roles);
                    }
@@ -281,7 +280,6 @@
        // 表单提交事件
        form.on('submit(user-form-submit)', function (data) {
            layer.load(2);
            data.field.hospitalId = $("#hospitalId").val();
            if (data.field.roleId != null && data.field.roleId != "") {
                data.field.roles = data.field.roleId.split(',');
@@ -292,20 +290,62 @@
                data.field.password = "";
                data.field.passwordSure = "";
            } else {
                if (data.field.roles.length == 0) {
                if (data.field.roles == null || data.field.roles.length == 0) {
                    layer.msg("请选择角色");
                    return
                    return false;
                }
                if (data.field.roles.includes(guanliyuan_role)) {
                    data.field.isAdminUser = true;
                } else {
                    data.field.isAdminUser = false;
                }
                var doctor = admin.getTempData('t_doctor');
                //判断只有输入密码的时候进行密码判断
                if (doctor != null) {
                    if (doctor.doctorType == 2 && doctorType != 2) {
                        if (data.field.username == null || data.field.username.trim() == "") {
                            layer.msg("请输入手机号");
                            return false;
                        }
                        if (data.field.password == null || data.field.password.trim() == "") {
                            layer.msg("请输入登录密码");
                            return false;
                        }
                        if (data.field.passwordSure == null || data.field.passwordSure.trim() == "") {
                            layer.msg("请输入确认密码");
                            return false;
                        } else {
                            if (data.field.password != data.field.passwordSure) {
                                layer.msg("两次密码不一致,请重新输入");
                                return false;
                            }
                        }
                    }
                } else {
                    if (data.field.username == null || data.field.username.trim() == "") {
                        layer.msg("请输入手机号");
                        return false;
                    }
                    if (data.field.password == null || data.field.password.trim() == "") {
                        layer.msg("请输入登录密码");
                        return false;
                    }
                    if (data.field.passwordSure == null || data.field.passwordSure.trim() == "") {
                        layer.msg("请输入确认密码");
                        return false;
                    } else {
                        if (data.field.password != data.field.passwordSure) {
                            layer.msg("两次密码不一致,请重新输入");
                            return false;
                        }
                    }
                }
            }
            // guanliyuan_role
            // data.field.hospitalId = ""+data.field.hospitalId;
            data.field.roleId = null;
            data.field.roles.forEach(element => {
                element = "" + element
            });
            layer.load(2);
            admin.req('api-user/sysdoctor', JSON.stringify(data.field), function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {
@@ -392,7 +432,7 @@
        }
        //获取销售代表
        var getXiaoShouDaiBiao = function () {
            admin.req('api-user/users/getThisUserOrganizationUser', {}, function (data) {
            admin.req('api-user/users/getAppointUser', { type: 0 }, function (data) {
                layer.closeAll('loading');
                if (0 === data.code) {
                    user = data.data;
@@ -423,6 +463,7 @@
            //获取角色
            get_role();
            var upload = layui.upload;
            $("#roleId_div").hide()
            //执行实例
            upload.render({
                elem: '#phonto',
@@ -455,10 +496,6 @@
            //将密码置空 
            $("#password").val("");
            form.render();
            $("#username").blur(function () {
                username_is_usered("username");
            })
            //医生类型的选择事件
            // form.on('select(doctorType)', function (data) {
            //     // console.log("eeeeeeeeeeeeeeeee");
@@ -474,13 +511,21 @@
            //     }
            // })
        };
        $("#username").blur(function () {
            if (!validatorTel(doctorTel_add)) {
                layer.msg("请输入正确的手机号");
            } else {
                username_is_usered("username");
            }
        })
        $("#doctorTel-add").blur(function () {
            $("#username").val($("#doctorTel-add").val())
            var doctorTel_add = $("#doctorTel-add").val();
            if (!validatorTel(doctorTel_add)) {
                layer.msg("请输入正确的手机号");
            } else {
                username_is_usered("username");
            }
            username_is_usered("username");
        })
        //自动完成-医院名称
        autocomplete.render({
@@ -506,7 +551,7 @@
                    $("#password_div").show();
                    $("#passwordSure_div").show();
                    $("#roleId_div").show()
                }else{
                } else {
                    $(".account").hide();
                    $("#roleId_div").hide()
                }