forked from kidgrow-microservices-platform

侯瑞军
2020-04-27 c7e104a1444dcb0c685b87811f7afb7af5eaf43e
增加诊断记录的查看功能
增加feign客户端调用的功能
2 files added
6 files modified
294 ■■■■ changed files
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java 8 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/DiagnosisRecord.java 62 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IProductOrderDetailService.java 11 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java 19 ●●●●● patch | view | raw | blame | history
kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml 9 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/diagnosisRecord.html 153 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recordNote.html 21 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java
@@ -6,8 +6,8 @@
import com.kidgrow.oprationcenter.feign.fallback.DiagnosticServiceFallbackFactory;
import com.kidgrow.ribbon.config.FeignHttpInterceptorConfig;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Map;
/**
@@ -24,6 +24,6 @@
    /**
     * feign rpc访问远程 接口
     */
    @GetMapping(value = "/diagnostic/diagnosticitem")
    ResultBody<PageResult> getDiagnosticItemList(@RequestParam Map<String, Object> params);
    @PostMapping(value = "/diagnostic/diagnosticitem")
    ResultBody<PageResult> getDiagnosticItemList(@RequestBody Map<String, Object> params);
}
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/DiagnosisRecord.java
New file
@@ -0,0 +1,62 @@
package com.kidgrow.oprationcenter.vo;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 *
 * @Description: <br>
 * @Project: <br>
 * @CreateDate: Created in 2020/04/27 11:01 <br>
 * @Author: <a href="411269194@kidgrow.com">houruijun</a>
 */
public class DiagnosisRecord extends Model<DiagnosisRecord> {
    //实体序列化  必要
    private static final long serialVersionUID = 1L;
    /**
     *诊断记录id
     */
    private  String diagnosticId;
    /**
     *诊断医院名称
     */
    private String diagnosticHospitalName;
    /**
     *诊断门诊名称
     */
    private String diagnostictDepartName;
    /**
     *诊断医生名称
     */
    private String diagnosticDoctorName;
    /**
     *诊断孩子名称
     */
    private String childName;
    /**
     *诊断孩子性别
     */
    private Integer childSex;
    /**
     *诊断孩子出生日期
     */
    private Date childBirthday;
    /**
     *是否删除
     */
    private Boolean isDeleted;
    /**
     *诊断孩子的联系方式
     */
    private String childPhone;
    /**
     * 诊断创建时间
     */
    private Date createTime;
    /**
     * 诊断更新时间
     */
    private Date updateTime;
}
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IProductOrderDetailService.java
@@ -2,9 +2,9 @@
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.model.SysUser;
import com.kidgrow.common.service.ISuperService;
import com.kidgrow.oprationcenter.model.ProductOrderDetail;
import com.kidgrow.oprationcenter.vo.DiagnosisRecord;
import com.kidgrow.oprationcenter.vo.GroupProductDetail;
import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail;
@@ -30,7 +30,14 @@
     * @param params
     * @return
     */
    PageResult<ProductOrderJoinDetail> findAllList(Map<String, Object> params, SysUser sysUser);
    PageResult<ProductOrderJoinDetail> findAllList(Map<String, Object> params);
    /**
     * 诊断列表
     * @param params
     * @return
     */
    PageResult<DiagnosisRecord> findAllDataList(Map<String, Object> params);
    /**
     * 统计产品使用量列表
     * @param params
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
@@ -10,6 +10,7 @@
import com.kidgrow.oprationcenter.mapper.ProductOrderDetailMapper;
import com.kidgrow.oprationcenter.model.ProductOrderDetail;
import com.kidgrow.oprationcenter.service.IProductOrderDetailService;
import com.kidgrow.oprationcenter.vo.DiagnosisRecord;
import com.kidgrow.oprationcenter.vo.GroupProductDetail;
import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail;
import lombok.extern.slf4j.Slf4j;
@@ -47,6 +48,16 @@
        List<ProductOrderDetail> list  =  baseMapper.findList(page, params);
        return PageResult.<ProductOrderDetail>builder().data(list).code(0).count(page.getTotal()).build();
    }
    /**
     * 获取诊断列表
     * @param params
     * @return
     */
    @Override
    public PageResult<DiagnosisRecord> findAllDataList(Map<String, Object> params){
        return  diagnosticService.getDiagnosticItemList(params).getData();
    }
    /**
     * 列表
     * @param params
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java
@@ -10,6 +10,7 @@
import com.kidgrow.oprationcenter.service.IBusinessRecordsService;
import com.kidgrow.oprationcenter.service.IProductOrderDetailService;
import com.kidgrow.oprationcenter.service.IProductOrderService;
import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -83,6 +84,24 @@
        }
        return productOrderDetailService.findAllList(params,sysUser);
    }
    /**
     * 列表
     */
    @ApiOperation(value = "查询列表")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"),
            @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
    })
    @PostMapping("/alldata")
    public PageResult findAllDataList(@RequestParam Map<String, Object> params) {
        if (params.size() == 0) {
            params.put("page", 1);
            params.put("limit", 10);
        }
        if(params.get("diagnosticHospitalId").toString().isEmpty())
            return PageResult.<ProductOrderJoinDetail>builder().data(null).code(0).count(0L).build();
        return productOrderDetailService.findAllDataList(params);
    }
    /**
     * 列表
kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml
@@ -91,6 +91,12 @@
      strip-prefix: true
      sensitive-headers: '*'
      custom-sensitive-headers: true
    record-center:
      path: /api-record/**
      service-id: recordcenter-server
      strip-prefix: true
      sensitive-headers: '*'
      custom-sensitive-headers: true
    log:
      path: /api-log/**
      service-id: logcenter-server
@@ -228,4 +234,5 @@
  butler:
    auto-generate-from-zuul-routes: true
    generate-routes: user,file,log,codegenerator,auth
    apiDocsPath: v2/api-docs
    apiDocsPath: v2/api-docs
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/diagnosisRecord.html
@@ -8,19 +8,26 @@
    </div>
    <div class="layui-card-body">
        <div class="layui-form toolbar">
            <input id="childName" class="layui-input" type="text" placeholder="按患者名" />&emsp;
            <input id="diagnosticDoctorName" class="layui-input " type="text" placeholder="按诊断医生名"/>&emsp;
            <input id="hospitalId" type="hidden" />
            <input id="hospitalName" class="layui-input " type="text" placeholder="按医院名" autocomplete="off"/>&emsp;
            <input type="text" name="date" id="datebegin" lay-verify="date" autocomplete="off"
                class="layui-input search-input"/>至
            <input type="text" name="date" id="dateend" lay-verify="date"  autocomplete="off"
                class="layui-input search-input"/>
            <button id="diagnostic-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
            <div class="layui-form-item">
                <div class="layui-inline">
                    <input type="text" name="date" id="datebegin" lay-verify="date" autocomplete="off"
                        class="layui-input search-input" />&emsp;至&emsp;
                    <input type="text" name="date" id="dateend" lay-verify="date" autocomplete="off"
                        class="layui-input search-input" />&emsp;
                    <input id="childName" class="layui-input search-input" type="text" placeholder="按患者名" />&emsp;
                    <input id="diagnosticDoctorName" class="layui-input search-input" type="text"
                        placeholder="按诊断医生名" />&emsp;
                    <input id="hospitalName" class="layui-input  search-input" type="text" placeholder="按医院名,必选条件!"
                        autocomplete="off" /></div>&emsp;
                <button id="diagnostic-btn-search" class="layui-btn icon-btn">
                    <i class="layui-icon">&#xe615;</i>搜索</button>
                <table class="layui-table" id="diagnostic-table" lay-filter="diagnostic-table"></table>
            </div>
        </div>
        <table class="layui-table" id="diagnostic-table" lay-filter="diagnostic-table"></table>
    </div>
</div>
<input id="hospitalId" type="hidden" />
<!-- 表格操作列 -->
<script type="text/html" id="diagnostic-table-bar">
    <a class="layui-btn layui-btn-xs" lay-event="select"">查看报告</a>
@@ -33,7 +40,7 @@
        let admin = layui.admin;
        let form = layui.form;
        let config = layui.config;
        let laydate=layui.laydate;
        let laydate = layui.laydate;
        var autocomplete = layui.autocomplete;
        var $ = layui.jquery;
@@ -56,60 +63,84 @@
            }
        });
        // 渲染表格
        var renderTable = function () {
            table.render({
                elem: '#diagnostic-table',
                url: config.base_server + 'api-opration/productorderdetail/all',
                method: 'GET',
                where: { enabled: 2},
                headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
                page: true,
                cols: [[
                    { field: 'hospitalName', width: 300, title: '医院名称' },
                    { field: 'departmentName', width: 100, title: '科室名称' },
                    { field: 'diagnosticDoctorName', width: 100, title: '医生姓名' },
                    { field: 'childName', width: 100, title: '患者姓名' },
                    { field: 'childSex', width: 80, title: '性别' },
                    { field: 'childBirthday', width: 100, title: '出生日期' },
                    { field: 'childPhone', width: 150, title: '联系电话' },
                    {
                        field: 'isDelete', sort: true, align: 'center', width: 80, templet: function (d) {
                            if (d.proType === 0)
                                return "正常"
                            else
                                return "已删除"
                        }, title: '状态'
                    },
                    {
                        field: 'createTime', width: 160, sort: true, title: '创建时间', templet: function (d) {
                            return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
                        }
                    },
                    {
                        field: 'updateTime', width: 160, sort: true, title: '修改时间', templet: function (d) {
                            return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
                        }
                    },
                    { field: 'enabled', width: 100, templet: '#diagnostic-table-bar', title: '查看' }
                ]]
            });
        }
        table.render({
            elem: '#diagnostic-table',
            url: config.base_server + 'api-opration/productorderdetail/alldata',
            method: 'POST',
            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
            page: true,
            cols: [[
                { field: 'hospitalName', width: 300, title: '医院名称' },
                { field: 'departmentName', width: 100, title: '科室名称' },
                { field: 'diagnosticDoctorName', width: 100, title: '医生姓名' },
                { field: 'childName', width: 100, title: '患者姓名' },
                { field: 'childSex', width: 80, title: '性别' },
                { field: 'childBirthday', width: 100, title: '出生日期' },
                { field: 'childPhone', width: 150, title: '联系电话' },
                {
                    field: 'isDelete', sort: true, align: 'center', width: 80, templet: function (d) {
                        if (d.proType === 0)
                            return "正常"
                        else
                            return "已删除"
                    }, title: '状态'
                },
                {
                    field: 'createTime', width: 160, sort: true, title: '创建时间', templet: function (d) {
                        return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
                    }
                },
                {
                    field: 'updateTime', width: 160, sort: true, title: '修改时间', templet: function (d) {
                        return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
                    }
                },
                { field: 'enabled', width: 100, templet: '#diagnostic-table-bar', title: '查看' }
            ]]
        });
        // 搜索按钮点击事件
        $('#diagnostic-btn-search').click(function () {
            var childName = $('#childName').val();
            var hospitalId = $('#hospitalId').val();
            var diagnosticDoctorName = $("#diagnosticDoctorName").val();
            var datebegin = $('#datebegin').val();
            var dateend = $('#dateend').val();
            if (strUtil.isEmpty(datebegin) && !strUtil.isEmpty(dateend)) {
                datebegin = dateUtil.getNowDate();
                $('#datebegin').val(datebegin);
            var diagnosticHospitalId = $('#hospitalId').val();
            if (!strUtil.isEmpty(diagnosticHospitalId)) {
                var childName = $('#childName').val();
                var diagnosticDoctorName = $("#diagnosticDoctorName").val();
                var datebegin = $('#datebegin').val();
                var dateend = $('#dateend').val();
                if (strUtil.isEmpty(datebegin) && !strUtil.isEmpty(dateend)) {
                    datebegin = dateUtil.getNowDate();
                    $('#datebegin').val(datebegin);
                }
                if (!strUtil.isEmpty(datebegin) && strUtil.isEmpty(dateend)) {
                    dateend = dateUtil.getNowDate();
                    $('#dateend').val(dateend);
                }
                var whereData = {
                    childName: childName,
                    diagnosticHospitalId: diagnosticHospitalId,
                    diagnosticDoctorName: diagnosticDoctorName,
                    startTime: datebegin,
                    endTime: dateend
                };
                table.reload('diagnostic-table', { where: whereData });
            }
            if (!strUtil.isEmpty(datebegin) && strUtil.isEmpty(dateend)) {
                dateend = dateUtil.getNowDate();
                $('#dateend').val(dateend);
        });
        // 工具条点击事件
        table.on('tool(diagnostic-table)', function (obj) {
            var data = obj.data;
            var layEvent = obj.event;
            if (layEvent === "select") {
                //查看报告  报告列数据缓存起来
                admin.putTempData("t_diagnosis", data);
                admin.popupCenter({
                    title: '查看报告',
                    path: 'pages/opration/recordNote.html',
                    area: '1200px',
                    offset: '10px',
                    finish: function () {
                        admin.putTempData("t_diagnosis", "");
                    }
                });
            }
            // table.reload('diagnostic-table', { where: { childName: childName, hospitalId: hospitalId, diagnosticDoctorName: diagnosticDoctorName, datebegin: datebegin, dateend: dateend } });
        });
    });
</script>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recordNote.html
New file
@@ -0,0 +1,21 @@
<script>
    layui.use(['layer', 'admin', 'form', 'table', 'config'], function () {
        var table = layui.table;
        var config = layui.config;
        var layer = layui.layer;
        var admin = layui.admin;
        var form = layui.form;
        // 回显数据
        var diagnosis = admin.getTempData('t_diagnosis');
        if(diagnosis!=null)
        {
            //诊断记录ID
            var id=diagnosis.diagnosticId;
        }
    });
</script>