2 files added
5 files modified
New file |
| | |
| | | package com.kidgrow.oprationcenter.model; |
| | | |
| | | import cn.afterturn.easypoi.excel.annotation.Excel; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> |
| | | * |
| | | * @Description: <br> |
| | | * @Project: <br> |
| | | * @CreateDate: Created in 2020/11/20 09:56 <br> |
| | | * @Author: <a href="78125310@kidgrow.com">dougang</a> |
| | | */ |
| | | @Data |
| | | public class ScreeningHospitalDataExcel implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -5886012896705137070L; |
| | | |
| | | @Excel(name = "机构编码", height = 20, width = 30, isImportField = "true_st") |
| | | private String organizationNo; |
| | | |
| | | @Excel(name = "机构名称", height = 20, width = 30, isImportField = "true_st") |
| | | private String organizationName; |
| | | |
| | | @Excel(name = "儿童ID", height = 20, width = 30, isImportField = "true_st") |
| | | private String childId; |
| | | |
| | | @Excel(name = "儿童名称", height = 20, width = 30, isImportField = "true_st") |
| | | private String childName; |
| | | |
| | | @Excel(name = "性别", replace = { "男_0", "女_1" }, isImportField = "true_st") |
| | | private String childSex; |
| | | |
| | | @Excel(name = "出生日期", isImportField = "true_st", width = 20) |
| | | private String childBirthday; |
| | | |
| | | @Excel(name = "联系方式", height = 20, width = 30, isImportField = "true_st") |
| | | private String phoneNum; |
| | | |
| | | @Excel(name = "年龄", height = 20, width = 30, isImportField = "true_st") |
| | | private String age; |
| | | |
| | | @Excel(name = "身高百分位", height = 20, width = 30, isImportField = "true_st") |
| | | private String heightPer; |
| | | |
| | | @Excel(name = "体重", height = 20, width = 30, isImportField = "true_st") |
| | | private String weight; |
| | | |
| | | @Excel(name = "体重状态", height = 20, width = 30, isImportField = "true_st") |
| | | private String fatState; |
| | | |
| | | @Excel(name = "bmi", height = 20, width = 30, isImportField = "true_st") |
| | | private String bmi; |
| | | |
| | | @Excel(name = "诊断时间", isImportField = "true_st", width = 20) |
| | | private String diagnoseTime; |
| | | |
| | | @Excel(name = "靶身高", height = 20, width = 30, isImportField = "true_st") |
| | | private String targetHeight; |
| | | |
| | | @Excel(name = "预测身高", height = 20, width = 30, isImportField = "true_st") |
| | | private String foreastHeight; |
| | | |
| | | @Excel(name = "预测身高百分位", height = 20, width = 30, isImportField = "true_st") |
| | | private String foreastHeightPer; |
| | | } |
| | |
| | | import com.kidgrow.common.model.ResultBody; |
| | | import com.kidgrow.common.service.ISuperService; |
| | | import com.kidgrow.oprationcenter.model.HospitalScreening; |
| | | import com.kidgrow.oprationcenter.model.ScreeningHospitalDataExcel; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> |
| | | * |
| | | * @version 1.0 |
| | | * @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 |
| | | */ |
| | | public interface IHospitalScreeningService extends ISuperService<HospitalScreening> { |
| | | /** |
| | | * 列表 |
| | | * |
| | | * @param params |
| | | * @return |
| | | */ |
| | |
| | | |
| | | |
| | | /** |
| | | * 根据HospitalScreening对象当做查询条件进行查询 |
| | | * @param hospitalScreening |
| | | * @return HospitalScreening对象 |
| | | */ |
| | | * 根据HospitalScreening对象当做查询条件进行查询 |
| | | * |
| | | * @param hospitalScreening |
| | | * @return HospitalScreening对象 |
| | | */ |
| | | HospitalScreening findByObject(HospitalScreening hospitalScreening); |
| | | |
| | | /** |
| | | * 状态变更 |
| | | * |
| | | * @param params |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据医院名称模糊查询医院数据列表 |
| | | * |
| | | * @param hospitalName |
| | | * @return |
| | | */ |
| | | ResultBody<HospitalScreening> findByName(String hospitalName); |
| | | |
| | | /** |
| | | * 导出医院数据 |
| | | * @param param 参数 |
| | | * @return |
| | | */ |
| | | List<ScreeningHospitalDataExcel> export(Map<String, Object> param); |
| | | |
| | | } |
| | | |
| | |
| | | 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; |
| | |
| | | @Slf4j |
| | | @Service |
| | | public class HospitalScreeningServiceImpl extends SuperServiceImpl<HospitalScreeningMapper, HospitalScreening> implements IHospitalScreeningService { |
| | | |
| | | @Autowired |
| | | private ReportService reportService; |
| | | |
| | | /** |
| | | * 列表 |
| | | * @param params |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | import com.kidgrow.common.controller.BaseController; |
| | | import com.kidgrow.common.model.PageResult; |
| | | import com.kidgrow.common.model.ResultBody; |
| | | import com.kidgrow.common.utils.ExcelUtil; |
| | | import com.kidgrow.oprationcenter.model.HospitalScreening; |
| | | import com.kidgrow.oprationcenter.model.ScreeningHospitalDataExcel; |
| | | import com.kidgrow.oprationcenter.service.IHospitalScreeningService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.MapUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.BindingResult; |
| | | import org.springframework.validation.ObjectError; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | return ResultBody.ok().data(null).msg(""); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "导出") |
| | | @PostMapping("/export") |
| | | public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws IOException { |
| | | List<ScreeningHospitalDataExcel> list = hospitalScreeningService.export(params); |
| | | //导出操作 |
| | | if(list != null && list.size() > 0) { |
| | | String name = MapUtils.getString(params,"hospitalName"); |
| | | ExcelUtil.exportExcel(list, null, name, ScreeningHospitalDataExcel.class, name, response); |
| | | } |
| | | } |
| | | } |
| | |
| | | <artifactId>kidgrow-usercenter-api</artifactId> |
| | | <version>1.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.kidgrow</groupId> |
| | | <artifactId>kidgrow-report-center-api</artifactId> |
| | | <version>1.0</version> |
| | | </dependency> |
| | | </dependencies> |
| | | </project> |
New file |
| | |
| | | <form id="app-form-add" lay-filter="app-form-add" class="layui-form model-form"> |
| | | <div style="display:flex"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: 75px;">时间范围</label> |
| | | <div class="layui-input-block" style="width: 500px;"> |
| | | <input type="text" class="layui-input search-input" id="beginTime" autocomplete="off" placeholder="开始时间"> 至 |
| | | <input type="text" class="layui-input search-input" id="endTime" autocomplete="off" placeholder="结束时间">   |
| | | </div> |
| | | <input type="hidden" id="hospitalIds"/> |
| | | <input type="hidden" id="hospitalNames"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item model-form-footer"> |
| | | <button class="layui-btn" id="export" type="button">导出 |
| | | </button> |
| | | <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button> |
| | | </div> |
| | | </form> |
| | | |
| | | <script> |
| | | layui.use(['form', 'laydate', 'util', 'config', 'admin'], function () { |
| | | var form = layui.form; |
| | | var config = layui.config; |
| | | var $ = layui.jquery; |
| | | var admin = layui.admin; |
| | | var laydate = layui.laydate; |
| | | |
| | | form.render(); |
| | | |
| | | //执行一个laydate实例 |
| | | laydate.render({ |
| | | elem: '#beginTime' //指定元素 |
| | | }); |
| | | laydate.render({ |
| | | elem: '#endTime' //指定元素 |
| | | }); |
| | | |
| | | $('#export').click(function () { |
| | | var startTime = $('#beginTime').val(); |
| | | var endTime = $('#endTime').val(); |
| | | if (startTime != null && endTime != null) { |
| | | var flag = compareDate(startTime, endTime); |
| | | if (!flag) { |
| | | layer.msg('结束时间不得小于开始时间'); |
| | | return; |
| | | } |
| | | } |
| | | var url = config.base_server + 'api-opration/hospitalscreening/export'; |
| | | var xhr = new XMLHttpRequest(); |
| | | xhr.open('POST', url, true); |
| | | xhr.responseType = "blob"; |
| | | var form = new FormData(); |
| | | // Add selected file to form |
| | | form.append("hospitalId", $("#hospitalIds").val()); |
| | | form.append('hospitalName', $("#hospitalName").val()); |
| | | form.append('beginTime', $("#beginTime").val()); |
| | | form.append('endTime', endTime); |
| | | form.append('hospitalName', $("#hospitalNames").val()); |
| | | |
| | | xhr.setRequestHeader("client_type", "DESKTOP_WEB"); |
| | | xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token); |
| | | xhr.onload = function () { |
| | | if (this.status == 200) { |
| | | var fileName = $("#hospitalNames").val() + ".xlsx"; |
| | | var blob = this.response; |
| | | var a = document.createElement('a'); |
| | | a.innerHTML = fileName; |
| | | // 指定生成的文件名 |
| | | a.download = fileName; |
| | | a.href = URL.createObjectURL(blob); |
| | | document.body.appendChild(a); |
| | | var evt = document.createEvent("MouseEvents"); |
| | | evt.initEvent("click", false, false); |
| | | a.dispatchEvent(evt); |
| | | document.body.removeChild(a); |
| | | } |
| | | } |
| | | xhr.send(form); |
| | | }); |
| | | |
| | | var hospital = admin.getTempData('t_hospital'); |
| | | if(hospital){ |
| | | $("#hospitalIds").val(hospital.hospitalId) |
| | | $("#hospitalNames").val(hospital.hospitalName); |
| | | } |
| | | form.render(); |
| | | |
| | | //比较日期大小 |
| | | function compareDate(logintime, logouttime) { |
| | | var arys1 = new Array(); |
| | | var arys2 = new Array(); |
| | | if (logintime != null && logouttime != null) { |
| | | arys1 = logintime.split('-'); |
| | | var logindate = new Date(arys1[0], parseInt(arys1[1] - 1), arys1[2]); |
| | | arys2 = logouttime.split('-'); |
| | | var logoutdate = new Date(arys2[0], parseInt(arys2[1] - 1), arys2[2]); |
| | | if (logindate > logoutdate) { |
| | | return false; |
| | | } else { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | </script> |
| | |
| | | <button class="layui-btn layui-btn-xs" lay-event="downLoad"> |
| | | 下载二维码 |
| | | </button> |
| | | <button class="layui-btn layui-btn-xs" lay-event="export"> |
| | | 导出 |
| | | </button> |
| | | </script> |
| | | |
| | | <script type="text/html" id="hospital-push-state"> |
| | |
| | | downLoad(data.hospitalQrImage); |
| | | } else if (layEvent === 'edit') { |
| | | showEditModel_add("编辑", data); |
| | | }else if(layEvent === 'export'){ |
| | | showEditModel_import("导出",data); |
| | | } |
| | | }); |
| | | |
| | |
| | | window.open(url); |
| | | } |
| | | |
| | | var showEditModel_import = function (title, data) { |
| | | admin.putTempData('t_hospital', data); |
| | | admin.popupCenter({ |
| | | title: title, |
| | | path: 'pages/keaigao/exportScreeningHospital.html', |
| | | area: '500px', |
| | | offset: '0px', |
| | | finish: function () { |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | }); |
| | | </script> |