Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

liubing 3 years ago
parent
commit
278f8380de

+ 61 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/wlyygc/WlyygcDataEndpoint.java

@ -100,6 +100,64 @@ public class WlyygcDataEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "teamList")
    @ApiOperation(value = "获取社区列表")
    public PageEnvelop teamList(@ApiParam(name = "page", value = "分页大小", required = true)
                                @RequestParam(value = "page") Integer page,
                                @ApiParam(name = "size", value = "页码", required = true)
                                @RequestParam(value = "size") Integer size) {
        try {
            return wlyygcStatisticsService.teamList(page,size);
        } catch (Exception e) {
            return failedPageEnvelopException2(e);
        }
    }
    @GetMapping(value = "orgList")
    @ApiOperation(value = "机构列表")
    public PageEnvelop orgList(@ApiParam(name = "orgType", value = "机构类型 2. 社区医院3.  养老机构 4.  托育机构  6日照中心")
                               @RequestParam(value = "orgType", required = true) String orgType,
                               @ApiParam(name = "page", value = "分页大小", required = true)
                               @RequestParam(value = "page") Integer page,
                               @ApiParam(name = "size", value = "页码", required = true)
                               @RequestParam(value = "size") Integer size) {
        try {
            return wlyygcStatisticsService.orgList(orgType,page,size);
        } catch (Exception e) {
            return failedPageEnvelopException2(e);
        }
    }
    @GetMapping(value = "doctorList")
    @ApiOperation(value = "助老员/社工列表")
    public PageEnvelop doctorList(@ApiParam(name = "level", value = "类型 2社工,4助老员", required = true)
                                  @RequestParam(value = "level", required = true) Integer level,
                                  @ApiParam(name = "teamCode", value = "社区id", required = false)
                                  @RequestParam(value = "teamCode", required = false) String teamCode,
                                  @ApiParam(name = "page", value = "分页大小", required = true)
                                  @RequestParam(value = "page") Integer page,
                                  @ApiParam(name = "size", value = "页码", required = true)
                                  @RequestParam(value = "size") Integer size) {
        try {
            return wlyygcStatisticsService.doctorList(level,teamCode,page,size);
        } catch (Exception e) {
            return failedPageEnvelopException2(e);
        }
    }
    @GetMapping(value = "teacherList")
    @ApiOperation(value = "获取教师列表")
    public PageEnvelop teacherList(@ApiParam(name = "page", value = "分页大小", required = true)
                                   @RequestParam(value = "page") Integer page,
                                   @ApiParam(name = "size", value = "页码", required = true)
                                   @RequestParam(value = "size") Integer size) {
        try {
            return wlyygcStatisticsService.teacherList(page, size);
        } catch (Exception e) {
            return failedPageEnvelopException2(e);
        }
    }
    @GetMapping(value = "securityEmergencyList")
    @ApiOperation(value = "获取安防/监护")
    public PageEnvelop securityEmergencyList(@ApiParam(name = "code", value = "社区编码")
@ -121,13 +179,15 @@ public class WlyygcDataEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "获取设备列表")
    public PageEnvelop deviceList(@ApiParam(name = "code", value = "社区编码")
                                  @RequestParam(value = "code", required = true) String code,
                                  @ApiParam(name = "deviceType", value = "设备种类 0健康设备 1安防设备", required = false)
                                  @RequestParam(value = "deviceType", required = false) Integer deviceType,
                                  @ApiParam(name = "page", value = "分页大小", required = true)
                                  @RequestParam(value = "page") Integer page,
                                  @ApiParam(name = "size", value = "页码", required = true)
                                  @RequestParam(value = "size") Integer size) {
        try {
            return wlyygcStatisticsService.deviceList(code, page, size);
            return wlyygcStatisticsService.deviceList(code,deviceType, page, size);
        } catch (Exception e) {
            return failedPageEnvelopException2(e);
        }

+ 122 - 6
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/WlyygcStatisticsService.java

@ -35,6 +35,95 @@ public class WlyygcStatisticsService {
    private static final String defalutArea = "330100";
    private static final Integer defalutLevel = 2;
//    接口:
//
//            1. 获取签约老人列表(需区分社区)
//            2. 获取健康设备列表(需区分社区)
//            3. 获取安防设备列表(2/3可以合在一起,类型区分)、(需区分社区)
//            4. 获取助老员列表
//5. 获取机构列表(养老机构/医疗机构/托育机构)
//            6. 获取社工列表(需区分社区)
//            7. 获取预警列表(需区分社区)
//            8. 获取幼儿列表
//9. 获取教师列表
    /**
     * 获取团队列表(社区列表)
     * @return
     */
    public PageEnvelop teamList(Integer page,Integer size){
        String sql = "select id,name from base_team where org_code = 'zdjsylfwyxgszhfgs' and del=1 ";
        sql += " ORDER BY id desc limit "+(page-1)*size+","+size;
        String sqlCount = "select count(id) from base_team where org_code = 'zdjsylfwyxgszhfgs' and del=1 ";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        long total = jdbcTemplate.queryForObject(sqlCount,Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,size,total);
    }
    /**
     * 按类型查找机构
     * @param orgType 机构类型 2. 社区医院3.  养老机构 4.  托育机构  6日照中心
     */
    public PageEnvelop orgList(String orgType,Integer page,Integer size){
        String sql = "SELECT code,name,address  FROM base_org WHERE type =? and del = 1 AND `code` NOT IN (SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' and dict_code is not null) ";
        String sqlCount = "SELECT count(id) FROM base_org WHERE type =? and del = 1 AND `code` NOT IN (SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' and dict_code is not null) ";
        sql += " ORDER BY id desc limit "+(page-1)*size+","+size;
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql,new Object[]{orgType});
        long total = jdbcTemplate.queryForObject(sqlCount,new Object[]{orgType},Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,size,total);
    }
    /**
     * 社工/助老员列表
     * level 2社工,4助老员
     * @param level
     */
    public PageEnvelop doctorList(Integer level,String teamCode,Integer page,Integer size){
        String sql = "SELECT DISTINCT d.id,d.name,d.mobile, d.idcard,(CASE WHEN d.sex = 1 THEN  '男' ELSE '女' END ) AS sex " +
                ",m.team_code teamCode,t.name teamName from base_doctor d  " +
                "LEFT JOIN base_team_member m on d.id = m.doctor_code " +
                "LEFT JOIN base_team t on t.id = m.team_code " +
                "WHERE d.doctor_level = ? and d.del = '1' and d.id NOT IN " +
                "(SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE " +
                "(dict_name = 'jkzl_user' or dict_name = 'jkzl_helper') and dict_code is not null) ";
        String sqlCount = "SELECT DISTINCT count(d.id) from base_doctor d  " +
                "LEFT JOIN base_team_member m on d.id = m.doctor_code " +
                "WHERE d.doctor_level = ? and d.del = '1' and d.id NOT IN " +
                "(SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE " +
                "(dict_name = 'jkzl_user' or dict_name = 'jkzl_helper') and dict_code is not null) ";
        if(StringUtils.isNotBlank(teamCode)){
            sql += " and m.team_code ='"+teamCode+"'";
            sqlCount += " and m.team_code ='"+teamCode+"'";
        }
        sql += " ORDER BY d.id desc limit "+(page-1)*size+","+size;
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql,new Object[]{level});
        long total = jdbcTemplate.queryForObject(sqlCount,new Object[]{level},Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,size,total);
    }
    /**
     * 教师列表
     */
    public PageEnvelop teacherList(Integer page,Integer size){
        String sql = "SELECT d.id,d.name,d.mobile, d.idcard,(CASE WHEN d.sex = 1 THEN  '男' ELSE '女' END ) AS sex " +
                " from base_doctor d " +
                " WHERE d.doctor_level = 3 and d.del = '1' and d.id not in (SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_teacher' and dict_code is not null)";
        sql += " ORDER BY d.id desc limit "+(page-1)*size+","+size;
        String sqlCount = "SELECT count(d.id) " +
                " from base_doctor d " +
                " WHERE d.doctor_level = 3 and d.del = '1' and d.id not in (SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_teacher' and dict_code is not null)";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        long total = jdbcTemplate.queryForObject(sqlCount,Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,size,total);
    }
    /***************************************************华联社区******************************************************/
    /**
     * 社区签约老人数量
@ -199,8 +288,10 @@ public class WlyygcStatisticsService {
        String filter = "";
        if("1".equals(code)){
            filter = " and r.team_code = '8a92aba97a9f6f49017ae4fdbdmqteam' ";
        }else if("all".equals(code)){
        }else {
            return PageEnvelop.getSuccess("查询成功");
            filter = " and r.team_code = '"+code+"' ";
        }
        if(status!=null){
            filter += " and o.status = "+status;
@ -278,6 +369,13 @@ public class WlyygcStatisticsService {
        return PageEnvelop.getSuccessListWithPage("查询成功",jsonArray,page,size,total);
    }
    /**
     * 签约老人列表
     * @param code 1 华联社区,其他社区要传具体社区id
     * @param page
     * @param size
     * @return
     */
    public PageEnvelop signOldList(String code, Integer page, Integer size) {
        if (page == null) {
            page = 1;
@ -295,8 +393,11 @@ public class WlyygcStatisticsService {
            //1华联社区
            sql += "  and r.team_code = '8a92aba97a9f6f49017ae4fdbdmqteam' ";
            sqlCount += "  and r.team_code = '8a92aba97a9f6f49017ae4fdbdmqteam' ";
        }else if("all".equals(code)){
            //查全部
        } else {
            return PageEnvelop.getSuccess("查询成功");
            sql += "  and r.team_code = '"+code+"' ";
            sqlCount += "  and r.team_code = '"+code+"' ";
        }
        sql += "ORDER BY p.`name` desc limit " + (page - 1)*size + "," + size;
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
@ -308,8 +409,10 @@ public class WlyygcStatisticsService {
        String filter = "";
        if("1".equals(code)){
            filter = " and r.team_code = '8a92aba97a9f6f49017ae4fdbdmqteam' ";
        }else if("all".equals(code)){
            //查全部
        }else {
            return PageEnvelop.getSuccess("查询成功");
            filter += "  and r.team_code = '"+code+"' ";
        }
        if(page==null){
            page =1;
@ -360,7 +463,14 @@ public class WlyygcStatisticsService {
        return PageEnvelop.getSuccessListWithPage("查询成功",res,page,size,total);
    }
    public PageEnvelop deviceList(String code,Integer page,Integer size){
    /**
     * 设备列表
     * @param deviceType 设备种类 0健康设备 1安防设备
     * @param page
     * @param size
     * @return
     */
    public PageEnvelop deviceList(String code,Integer deviceType ,Integer page,Integer size){
        if (page == null) {
            page = 1;
        }
@ -369,9 +479,15 @@ public class WlyygcStatisticsService {
        }
        String filter ="";
        if ("1".equals(code)){
            filter += "AND r.team_code = '8a92aba97a9f6f49017ae4fdbdmqteam'";
            filter += " AND r.team_code = '8a92aba97a9f6f49017ae4fdbdmqteam'";
        }else if("all".equals(code)){
        }else {
            return PageEnvelop.getSuccess("查询成功");
            filter += " AND r.team_code = '"+code+"'";
        }
        if(deviceType != null){
            filter += " AND pd.device_type = "+deviceType+"";
        }
        String deviceSql = "SELECT DISTINCT p.id patient,pd.device_sn sn," +