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
* @Description: 筛查医院信息表-未完待续
* @Project: 用户中心
* @CreateDate: Created in 2020-04-01 09:37:05
* @Author: liuke
* @version 1.0
*/
@Slf4j
@Service
public class HospitalScreeningServiceImpl extends SuperServiceImpl implements IHospitalScreeningService {
@Autowired
private ReportService reportService;
/**
* 列表
* @param params
* @return
*/
@Override
public PageResult findList(Map params){
Page page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
List list = baseMapper.findList(page, params);
return PageResult.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 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 findByName(String hospitalName) {
return ResultBody.ok().data(baseMapper.findByName(hospitalName)).msg("查询成功");
}
@Override
public List export(Map param) {
List 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;
}
}