1697371125@qq.com
2020-12-25 c085e6fa1cb24f0173b500488ecd192dd2ae624f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
package cn.cetc54.platform.zhyl.api;
 
import cn.cetc54.platform.core.common.utils.ResultUtil;
import cn.cetc54.platform.core.common.vo.Result;
import cn.cetc54.platform.zhyl.entity.OrgYanglao;
import cn.cetc54.platform.zhyl.service.IOrgYanglaoService;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * @author xfei
 * @date 2020/12/13
 */
@Slf4j
@RestController
@Api(description = "养老机构")
@RequestMapping("/api2/fwyl")
@Transactional
@CrossOrigin("*")
public class FwylController {
    @Autowired
    private IOrgYanglaoService iOrgYanglaoService;
 
    @GetMapping("getStaticsData")
    @ApiOperation(value = "获取统计数据")
    public Result getStaticsData(String areaId){
        if (StrUtil.isNotBlank(areaId)&&areaId.equals("130100")){
            //如果是全市 areaId设置未空
            areaId = null;
        }
        QueryWrapper<OrgYanglao> wrapper = new QueryWrapper<>();
        if (StrUtil.isNotEmpty(areaId)){
            wrapper.lambda().eq(OrgYanglao::getAreaId,areaId);
        }
        List<OrgYanglao> list = iOrgYanglaoService.list(wrapper);
        StaticsDataVo vo = new StaticsDataVo();
        vo.sum = list.size();
        list.forEach(e->{
            vo.bedNumber += e.getBedNumber();
            vo.square += e.getSquare();
            vo.nurseNumber += e.getNurseNumber();
            switch (e.getType()){
                case 0:
                    vo.type0Num++;
                    break;
                case 1:
                    vo.type1Num++;
                    break;
                case 2:
                    vo.type2Num++;
                    break;
            }
        });
        return ResultUtil.data(vo);
    }
    @GetMapping("getBedNumList")
    @ApiOperation(value = "床位个数排名")
    public Result getBedNumList(String areaId){
        if (StrUtil.isNotBlank(areaId)&&areaId.equals("130100")){
            //如果是全市 areaId设置未空
            areaId = null;
        }
        QueryWrapper<OrgYanglao> wrapper = new QueryWrapper<>();
        if (StrUtil.isNotEmpty(areaId)){
            wrapper.lambda().eq(OrgYanglao::getAreaId,areaId);
        }
        wrapper.lambda().orderByDesc(OrgYanglao::getBedNumber);
        wrapper.last(" limit 10 ");
        List<OrgYanglao> list = iOrgYanglaoService.list(wrapper);
        return ResultUtil.data(list);
    }
    @GetMapping("getBedUseList")
    @ApiOperation(value = "床位使用率排名")
    public Result getBedUseList(String areaId){
        if (StrUtil.isNotBlank(areaId)&&areaId.equals("130100")){
            //如果是全市 areaId设置未空
            areaId = null;
        }
        QueryWrapper<OrgYanglao> wrapper = new QueryWrapper<>();
        if (StrUtil.isNotEmpty(areaId)){
            wrapper.lambda().eq(OrgYanglao::getAreaId,areaId);
        }
        wrapper.last(" limit 10 ");
        List<OrgYanglao> list = iOrgYanglaoService.list(wrapper);
        List<BeadUseVo> resList = new ArrayList<>();
 
        int v = 99;
        int i = 0;
        for (OrgYanglao o:list){
            i++;
            BeadUseVo vo = new BeadUseVo();
            vo.name = o.getName();
            vo.num = v-i;
            resList.add(vo);
        }
        return ResultUtil.data(resList);
    }
    @GetMapping("getHistoryData")
    @ApiOperation(value = "历史数据")
    public Result getHistoryData(String areaId){
        if (StrUtil.isNotBlank(areaId)&&areaId.equals("130100")){
            //如果是全市 areaId设置未空
            areaId = null;
        }
        HistoryVo vo = new HistoryVo();
        for (int i=0;i<12;i++){
            int num = NumberUtil.generateBySet(500,800,1)[0];
            if (StrUtil.isEmpty(areaId)){
                num = num*18;
            }
            vo.num.add(num);
        }
        vo.num1 = NumberUtil.generateBySet(6,12,1)[0];
        vo.num2 = NumberUtil.generateBySet(-9,9,1)[0];
        vo.num3 = NumberUtil.generateBySet(-9,9,1)[0];
        return ResultUtil.data(vo);
    }
    @Data
    class HistoryVo{
        int[] month = {1,2,3,4,5,6,7,8,9,10,11,12};//月份
        List num = new ArrayList();//床位数
        int num1;//千人养老床位
        int num2;//同比变化
        int num3;//环比变化
    }
    @Data
    class StaticsDataVo{
        int sum;//养老机构总数
        double square;//面积
        int bedNumber;//床位数
        int nurseNumber;//护理人员数
        int type0Num;//养老院个数
        int type1Num;//敬老院个数
        int type2Num;//疗养院个数
    }
    @Data
    class BeadUseVo{
        String name;//名称
        int num;//使用率
    }
}