forked from kidgrow-microservices-platform

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
package com.kidgrow.oprationcenter.service.impl;
 
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.service.impl.SuperServiceImpl;
import com.kidgrow.oprationcenter.mapper.HospitalScreeningMapper;
import com.kidgrow.oprationcenter.model.HospitalScreening;
import com.kidgrow.oprationcenter.model.ScreeningHospitalDataExcel;
import com.kidgrow.oprationcenter.service.IHospitalScreeningService;
import com.kidgrow.report.feign.ReportService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
import java.util.Map;
 
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 * @Description: 筛查医院信息表-未完待续<br>
 * @Project: 用户中心<br>
 * @CreateDate: Created in 2020-04-01 09:37:05 <br>
 * @Author: <a href="4345453@kidgrow.com">liuke</a>
 * @version 1.0
 */
@Slf4j
@Service
public class HospitalScreeningServiceImpl extends SuperServiceImpl<HospitalScreeningMapper, HospitalScreening> implements IHospitalScreeningService {
 
    @Autowired
    private ReportService reportService;
 
    /**
     * 列表
     * @param params
     * @return
     */
    @Override
    public PageResult<HospitalScreening> findList(Map<String, Object> params){
        Page<HospitalScreening> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
        List<HospitalScreening> list  =  baseMapper.findList(page, params);
        return PageResult.<HospitalScreening>builder().data(list).code(0).count(page.getTotal()).build();
    }
 
    /**
   * 根据HospitalScreening对象当做查询条件进行查询
   * @param hospitalScreening
   * @return HospitalScreening
   */
    @Override
    public HospitalScreening findByObject(HospitalScreening hospitalScreening){
        return baseMapper.findByObject(hospitalScreening);
    }
 
    /**
     * 更新状态:推送装填,启停状态
     * @param params 包含:1、type:0推送,1启停
     *                     2、ID :ID
     *                     3、val:对用的值
     * @return
     */
    @Override
    public ResultBody updateEnabled(Map<String, Object> params) {
        int type =  MapUtils.getInteger(params,"type");
        int val =  MapUtils.getInteger(params,"objVal");
        long id =  MapUtils.getLong(params,"objId");
 
        HospitalScreening hospitalScreening = baseMapper.selectById(id);
 
        if(hospitalScreening == null){
            return ResultBody.failed("医院数据不存在!");
        }
 
        switch (type){
            case 0:
                hospitalScreening.setIsScreeningPush(val);
                break;
            case 1:
                hospitalScreening.setEnabled(val);
                break;
            default:
                break;
        }
 
        int count = baseMapper.updateById(hospitalScreening);
 
        return count > 0 ? ResultBody.ok().msg("更新成功") : ResultBody.failed("更新失败");
    }
 
    /**
     * 根据医院名称模糊查询医院数据列表
     * @param hospitalName
     * @return
     */
    @Override
    public ResultBody<HospitalScreening> findByName(String hospitalName) {
        return ResultBody.ok().data(baseMapper.findByName(hospitalName)).msg("查询成功");
    }
 
    @Override
    public List<ScreeningHospitalDataExcel> export(Map<String, Object> param) {
        List<ScreeningHospitalDataExcel> list = null;
        ResultBody resultBody = reportService.exportData(param);
        if(resultBody.getCode() == 0 && resultBody.getData() != null){
            list = JSONArray.parseArray(JSONArray.toJSONString(resultBody.getData()), ScreeningHospitalDataExcel.class);
        }
        return list;
    }
}