LAPTOP-KB9HII50\70708 2 gadi atpakaļ
vecāks
revīzija
4ee6a4728c

+ 18 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/admin/AdminManageEndpoint.java

@ -2,6 +2,7 @@ package com.yihu.jw.care.endpoint.admin;
import com.yihu.jw.care.service.admin.AdminManageService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
@ -23,15 +24,28 @@ public class AdminManageEndpoint extends EnvelopRestEndpoint {
    @Resource
    private AdminManageService adminManageService;
    @GetMapping(value = "getOrgList")
    @ApiOperation(value = "获取机构列表")
    public ListEnvelop getOrgList(@ApiParam(name = "type",value = "类型type 2社工 3助老员 4教师") @RequestParam String type){
        try {
            return ListEnvelop.getSuccess("查询成功",adminManageService.getOrgList(type));
        }catch (Exception e){
            e.printStackTrace();
            return ListEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "getUserList")
    @ApiOperation(value = "获取人员列表")
    public PageEnvelop getUserList(@ApiParam(name = "type",value = "类型type 1照护老人 2社工 3助老员 4教师 5幼儿") @RequestParam String type,
    public PageEnvelop getUserList(@ApiParam(name = "type",value = "类型type 1照护老人 2社工, 3教师,4助老员 5幼儿") @RequestParam String type,
                                         @ApiParam(name = "page",value = "页码") @RequestParam Integer page,
                                         @ApiParam(name = "size",value = "每页大小") @RequestParam Integer size,
                                         @ApiParam(name = "name",value = "模糊搜索名字") @RequestParam(name = "name",required = false)String name){
                                         @ApiParam(name = "name",value = "模糊搜索名字") @RequestParam(name = "name",required = false)String name,
                                   @ApiParam(name = "orgCode",value = "机构id") @RequestParam(name = "orgCode",required = false)String orgCode){
        try {
            return adminManageService.getUserList(type,name, page, size);
            return adminManageService.getUserList(type,orgCode,name, page, size);
        }catch (Exception e){
            e.printStackTrace();
            return failedPageEnvelopException2(e);
        }
    }
@ -44,6 +58,7 @@ public class AdminManageEndpoint extends EnvelopRestEndpoint {
            adminManageService.orderUrgeReminder(id,orderType);
            return success("提醒成功");
        }catch (Exception e){
            e.printStackTrace();
            return Envelop.getError("提醒失败");
        }
    }

+ 65 - 28
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/admin/AdminManageService.java

@ -78,12 +78,34 @@ public class AdminManageService {
    }
    //type   2社工 3助老员 4教师
    //2. 社区医院3.  养老机构 4.  托育机构
    public List<Map<String,Object>> getOrgList(String type){
        if("2".equals(type)){
            String sql = "SELECT t.name orgName,t.id orgCode" +
                    " from base_team t,base_team_member tm" +
                    "  WHERE  t.id =tm.team_code and t.del=1 and tm.del = '1' ";
            return jdbcTemplate.queryForList(sql);
        }else {
            String filter = "";
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_older' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
            if(listtmp.size()>0){
                String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and a.id not in ('"+orgCodes+"')";
            }
            //2社工, 3教师,4助老员
            String sql = "select id orgCode,name orgName from base_org a where a.del=1 and a.type="+type +filter;
            return jdbcTemplate.queryForList(sql);
        }
    }
    /**
     * 管理端通讯录
     * type 1照护老人 2社工 3助老员 4教师 5幼儿
     * type 1照护老人 2社工, 3教师,4助老员 5幼儿
     */
    public PageEnvelop getUserList(String type, String name, Integer page, Integer size){
    public PageEnvelop getUserList(String type,String orgCode, String name, Integer page, Integer size){
        PageEnvelop envelop = new PageEnvelop();
        String limit = " limit "+(page-1)*size+","+size;
        switch (type){
@ -91,13 +113,13 @@ public class AdminManageService {
                envelop = getOlderList(name, limit);
                break;
            case "2":
                envelop = getSocialWorkerList(name, limit);
                envelop = getSocialWorkerList(name,orgCode, limit);
                break;
            case "3":
                envelop = getHelperList(name, limit);
                envelop = getHelperList(name,orgCode, limit);
                break;
            case "4":
                envelop = getTeacherList(name, limit);
                envelop = getTeacherList(name,orgCode, limit);
                break;
            case "5":
                envelop = getChildList(name, limit);
@ -166,21 +188,26 @@ public class AdminManageService {
        return jdbcTemplate.queryForObject(sql,Long.class);
    }
    public PageEnvelop getSocialWorkerList(String name,String limit){
    public PageEnvelop getSocialWorkerList(String name,String orgCode,String limit){
        String filter = "";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " and t.org_code not in ('"+orgCodes+"')";
        if(!StringUtil.isBlank(orgCode)){
            filter = " and t.org_code = '"+orgCode+"'";
        }else {
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
            if(listtmp.size()>0){
                String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and t.org_code not in ('"+orgCodes+"')";
            }
        }
        List<OrgVo> list = findSocialWorker(name,limit,filter);
        Long count = findSocialWorkerTotal(name,filter);
        return PageEnvelop.getSuccessListWithPage("查找成功",list,0,0,count);
    }
    public List<OrgVo> findSocialWorker(String name,String limit,String fileter){
        String sql = "SELECT a.id,a.name,a.photo,a.sex,IFNULL(a.on_line,0) online,a.mobile,t.name orgName,t.id orgCode" +
        String sql = "SELECT a.id,a.name,a.photo,a.sex,IFNULL(a.on_line,0) online,a.mobile,t.name orgName,t.org_code orgCode" +
                " from base_doctor a,base_team t,base_team_member tm" +
                "  WHERE a.id=tm.doctor_code and a.doctor_level = 2 and t.id =tm.team_code and t.del=1 and a.del = '1' and tm.del = '1' ";
        if(!StringUtil.isBlank(name)){
@ -188,7 +215,7 @@ public class AdminManageService {
        }
        sql += fileter;
        sql += " ORDER BY online desc";
//        sql+=limit;
        sql+=limit;
        List<UserVo> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(UserVo.class));
        Map<String,List<UserVo>> userMap = list.stream().collect(Collectors.groupingBy(UserVo::getOrgCode));
        Map<String,String> orgMap = list.stream().collect(Collectors.toMap(UserVo::getOrgCode, UserVo::getOrgName,(key1 , key2)-> key2 ));
@ -215,15 +242,20 @@ public class AdminManageService {
        return jdbcTemplate.queryForObject(sql,Long.class);
    }
    public PageEnvelop getHelperList(String name,String limit){
    public PageEnvelop getHelperList(String name,String orgCode,String limit){
        String filter = "";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " and h.org_code not in ('"+orgCodes+"')";
        if(StringUtil.isBlank(orgCode)){
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
            if(listtmp.size()>0){
                String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and h.org_code not in ('"+orgCodes+"')";
            }
        }else {
            filter = " and h.org_code ='"+orgCode+"' ";
        }
        List<OrgVo> list = findHelper(name,limit,filter);
        Long count = findHelperTotal(name,filter);
        return PageEnvelop.getSuccessListWithPage("查找成功",list,0,0,count);
@ -262,14 +294,19 @@ public class AdminManageService {
        return jdbcTemplate.queryForObject(sql,Long.class);
    }
    public PageEnvelop getTeacherList(String name,String limit){
    public PageEnvelop getTeacherList(String name,String orgCode,String limit){
        String filter = "";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " and h.org_code not in ('"+orgCodes+"')";
        if(StringUtil.isBlank(orgCode)){
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
            if(listtmp.size()>0){
                String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and h.org_code not in ('"+orgCodes+"')";
            }
        }else {
            filter = " and h.org_code = '"+orgCode+"' ";
        }
        List<OrgVo> list = findTeacherper(name,limit,filter);
        Long count = findTeacherTotal(name,filter);