From 2215aba064393ae0aa013646d6860438a901a926 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Mon, 13 Apr 2020 15:48:10 +0800
Subject: [PATCH] 医生模板   功能完成

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java         |    5 
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java                   |   10 -
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml                                                |    1 
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html                                                                     |   16 +-
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java |   18 +++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java |   15 ++
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html                                                              |  228 +++++++++++++++++++++++++++++++++++++++++++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml                                   |    2 
 8 files changed, 273 insertions(+), 22 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java
index e26093c..e1ae53f 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java
@@ -29,32 +29,26 @@
     /**
      * 医院标识id
      */
-    @NotEmpty(message = "医院标识id不能为空")
     private Long hospitalId;
     /**
      * 医院名称
      */
-    @NotEmpty(message = "医院名称不能为空")
     private String hospitalName;
     /**
      * 科室ID
      */
-    @NotEmpty(message = "科室ID不能为空")
     private Long departmentId;
     /**
      * 科室名称
      */
-    @NotEmpty(message = "科室名称不能为空")
     private String departmentName;
     /**
      * 医生id
      */
-    @NotEmpty(message = "医生id不能为空")
     private Long doctorId;
     /**
      * 医生姓名
      */
-    @NotEmpty(message = "医生姓名不能为空")
     private String doctorName;
     /**
      * 公开类型 0公开 1私有
@@ -72,13 +66,11 @@
     /**
      * 模板内容
      */
-    @NotEmpty(message = "模板内容不能为空")
     private String templeteNote;
     /**
      * 是否删除,1删除,0未删除
      */
-    @TableLogic
-    @NotEmpty(message = "是否删除,1删除,0未删除不能为空")
+
     private Boolean isDel;
     /**
      * 状态,1启用,0停用
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java
index f2f3dba..ec7af0c 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java
@@ -1,5 +1,6 @@
 package com.kidgrow.oprationcenter.service;
 
+import com.kidgrow.common.model.ResultBody;
 import com.kidgrow.oprationcenter.model.DoctorTemplete;
 import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.service.ISuperService;
@@ -20,7 +21,7 @@
      * @param params
      * @return
      */
-    PageResult<DoctorTemplete> findList(Map<String, Object> params);
+    PageResult findList(Map<String, Object> params);
 
 
     /**
@@ -29,5 +30,7 @@
     * @return DoctorTemplete对象
     */
     DoctorTemplete findByObject(DoctorTemplete doctorTemplete);
+
+    ResultBody updateEnabled(Map<String, Object> params);
 }
 
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java
index 7f72f2b..6375f4d 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java
@@ -1,5 +1,6 @@
 package com.kidgrow.oprationcenter.service.impl;
 
+import com.kidgrow.common.model.ResultBody;
 import org.springframework.stereotype.Service;
 import com.kidgrow.common.model.PageResult;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -31,7 +32,7 @@
      * @return
      */
     @Override
-    public PageResult<DoctorTemplete> findList(Map<String, Object> params){
+    public PageResult findList(Map<String, Object> params){
         Page<DoctorTemplete> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
         List<DoctorTemplete> list  =  baseMapper.findList(page, params);
         return PageResult.<DoctorTemplete>builder().data(list).code(0).count(page.getTotal()).build();
@@ -46,4 +47,19 @@
     public DoctorTemplete findByObject(DoctorTemplete doctorTemplete){
         return baseMapper.findByObject(doctorTemplete);
     }
+
+    @Override
+    public ResultBody updateEnabled(Map<String, Object> params) {
+        Long id = MapUtils.getLong(params, "id");
+        if(id==null){
+            ResultBody.failed("请选择一条数据");
+        }
+        Boolean enabled = MapUtils.getBoolean(params, "enabled");
+        DoctorTemplete doctorTemplete = baseMapper.selectById(id);
+        if (doctorTemplete!=null){
+            doctorTemplete.setEnabled(enabled);
+            baseMapper.updateById(doctorTemplete);
+        }
+        return ResultBody.ok();
+    }
 }
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml
index a36518f..429a1cd 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml
@@ -40,7 +40,7 @@
                 and templete_type = #{p.templeteType}
             </if>
             <if test="p.templeteTitle != null and p.templeteTitle !=''">
-                and templete_title = #{p.templeteTitle}
+                and templete_title  like '%${p.templeteTitle}%'
             </if>
             <if test="p.templeteNote != null and p.templeteNote !=''">
                 and templete_note = #{p.templeteNote}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java
index b4ddbb5..b5b0601 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java
@@ -2,6 +2,7 @@
 
 import java.util.Map;
 import com.kidgrow.common.controller.BaseController;
+import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.ObjectError;
 import org.springframework.web.bind.annotation.*;
@@ -50,12 +51,12 @@
             @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
     })
     @GetMapping
-    public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) {
+    public PageResult list(@RequestParam Map<String, Object> params) {
         if(params.size()==0){
             params.put("page",1);
             params.put("limit",10);
         }
-        return ResultBody.ok().data(doctorTempleteService.findList(params));
+        return doctorTempleteService.findList(params);
     }
 
     /**
@@ -100,7 +101,15 @@
             }
         }
     }
-
+    //updateEnabled
+    @GetMapping("/updateEnabled")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "用户id", required = true, dataType = "Integer"),
+            @ApiImplicitParam(name = "enabled", value = "是否启用", required = true, dataType = "Boolean")
+    })
+    public ResultBody updateEnabled(@RequestParam Map<String, Object> params) {
+        return doctorTempleteService.updateEnabled(params);
+    }
     /**
      * 删除
      */
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
index dc1f9c9..bb4e75f 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
@@ -62,6 +62,7 @@
       - data_need
       - business_records
       - sys_feedback
+      - doctor_templete
     ignoreSqls:
       - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll
 
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html
index 3bf5dd7..2b7db22 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html
@@ -387,13 +387,15 @@
                         }
                         form.val('app-form', data);
                         $('#sheng').val(data.shengId);
-
-                        getShi_and_xian(data.shengId,"shi")
-                        $('#shi').val(data.shiId);
-
-                        getShi_and_xian(data.shiId,"xian")
-                        $('#xian').val(data.xianId);
-
+                        //  
+                        if (data.shiId) {
+                            getShi_and_xian(data.shengId, "shi")
+                            $('#shi').val(data.shiId);
+                        }
+                        if (data.xianId) {
+                            getShi_and_xian(data.shiId, "xian")
+                            $('#xian').val(data.xianId);
+                        }
                         $('#app-form').attr('method', 'POST');
                     } else {
 
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html
new file mode 100644
index 0000000..5a8766a
--- /dev/null
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html
@@ -0,0 +1,228 @@
+<div class="layui-card">
+    <div class="layui-card-header">
+        <h2 class="header-title">业务日志</h2>
+        <span class="layui-breadcrumb pull-right">
+            <a href="#!home_console">首页</a>
+            <a><cite>业务日志</cite></a>
+        </span>
+    </div>
+    <div class="layui-card-body">
+        <div class="layui-form toolbar">
+            <button id="docto-templete-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
+            <button id="docto-templete-btn-update" class="layui-btn icon-btn"><i class="layui-icon refresh">&#xe669;</i> 更新</button>
+            <select id="templeteType" placeholder="话术类型">
+                <option value="">-请选择-</option>
+                <option value="0">结论</option>
+                <option value="1">建议</option>
+                <option value="2">方案</option>
+            </select>
+            <select id="publicType" placeholder="开放类型">
+                <option value="">-请选择-</option>
+                <option value="0">公开-</option>
+                <option value="1">私有</option>
+            </select>
+            <input name="templeteTitle" id="templeteTitle" placeholder="请输入标题名称" type="text"
+                class="layui-input search-input" maxlength="20" />
+            <button id="app-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
+        </div>
+
+        <!-- 数据表格 -->
+        <table class="layui-table" id="app-table" lay-filter="app-table"></table>
+    </div>
+</div>
+
+<!-- 表格操作列 -->
+<script type="text/html" id="doctor-templete-table-bar">
+    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
+    <a class="layui-btn layui-btn-xs" lay-event="del">删除</a>
+</script>
+<!-- 表格状态列 -->
+<script type="text/html" id="doctor-templete-tpl-state">
+    <input type="checkbox" lay-filter="doctor-templete-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="正常|锁定"
+           {{d.enabled==true?'checked':''}}/>
+</script>
+
+<!-- 表单弹窗 -->
+<script type="text/html" id="app-model">
+    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
+        <input name="id" type="hidden"/>
+        <div class="layui-form-item">
+            <label class="layui-form-label">标题</label>
+            <div class="layui-input-block">
+                <input name="templeteTitle" type="text" class="layui-input" maxlength="20"
+                       lay-verify="required" required/>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">话术类型</label>
+            <div class="layui-input-block">
+                <select name="templeteType" placeholder="话术类型" >
+                    <option value="">-请选择-</option>
+                    <option value="0">结论</option>
+                    <option value="1">建议</option>
+                    <option value="2">方案</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">开放类型</label>
+            <div class="layui-input-block">
+                <select id="publicType-add" name="publicType" placeholder="开放类型" >
+                    <option value="">-请选择-</option>
+                    <option value="1">公开</option>
+                    <option value="0">私有</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">说明:</label>
+            <div class="layui-input-block">
+                <textarea name="templeteNote" placeholder="请输入内容" class="layui-textarea"></textarea>
+              </div>
+        </div>
+        <div class="layui-form-item model-form-footer">
+            <button class="layui-btn layui-btn-primary"  ew-event="closeDialog" type="button">取消</button>
+            <button class="layui-btn" id="sure" lay-filter="user-form-submit" lay-submit>保存</button>
+        </div>
+    </form>
+</script>
+
+
+<script>
+    layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin'], function () {
+        var form = layui.form;
+        var table = layui.table;
+        var config = layui.config;
+        var layer = layui.layer;
+        var util = layui.util;
+        var admin = layui.admin;
+
+        // 添加按钮点击事件
+        $('#docto-templete-btn-add').click(function () {
+            showEditModel(undefined, 1);
+        });
+        //// 刷新
+        $('#docto-templete-btn-update').click(function () {
+            table.reload('app-table', { where: {} });
+        });
+
+        // 渲染表格
+        table.render({
+            elem: '#app-table',
+            url: config.base_server + 'api-opration/doctortemplete',
+            method: 'GET',
+            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
+            page: true,
+            cols: [[
+                { type: 'numbers' },
+                { field: 'templeteTitle', width: 180, sort: true, title: '标题' },
+                {
+                    field: 'publicType', width: 200, sort: true, title: '开放类型', templet: function (d) {
+                        return d.publicType ==true ? "公开" : "私有"
+                    }
+                },
+                {
+                    field: 'templeteType', width: 180, sort: true, title: '话术类型', templet: function (d) {
+                        if (d.templeteType == 0) {
+                            return "结论";
+                        } else if (d.templeteType == 1) {
+                            return "建议";
+                        } else if (d.templeteType == 2) {
+                            return "方案";
+                        }
+                    }
+                },
+                { field: 'createUserName', width: 300, sort: true, title: '创建者' },
+                { field: 'createTime', width: 250, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" },
+                { field: 'enabled', width: 100, sort: true, templet: '#doctor-templete-tpl-state', title: '状态' },
+                { field: 'recordTitle', width: 300, toolbar: '#doctor-templete-table-bar', sort: true, title: '操作' },
+            ]]
+        });
+
+        // 工具条点击事件
+        table.on('tool(app-table)', function (obj) {
+            var data = obj.data;
+            var layEvent = obj.event;
+            if (layEvent === 'edit') { // 查看详情
+                showEditModel(data, 2);
+            }
+        });
+
+        // 搜索按钮点击事件
+        $('#app-btn-search').click(function () {
+            var templeteType = $('#templeteType').val();
+            var publicType = $('#publicType').val();
+            var templeteTitle = $('#templeteTitle').val();
+            table.reload('app-table', { where: { templeteType: templeteType, publicType: publicType, templeteTitle: templeteTitle } });
+        });
+
+        // 修改user状态
+        form.on('switch(doctor-templete-tpl-state)', function (obj) {
+            layer.load(2);
+            admin.req('api-opration/doctortemplete/updateEnabled', {
+                id: obj.elem.value,
+                enabled: obj.elem.checked ? true : false
+            }, function (data) {
+                layer.closeAll('loading');
+                if (data.code == 0) {
+                    layer.msg(data.msg, { icon: 1, time: 500 });
+                    table.reload('app-table', {});
+                } else {
+                    layer.msg(data.msg, { icon: 2, time: 500 });
+                    $(obj.elem).prop('checked', !obj.elem.checked);
+                    form.render('checkbox');
+                }
+            }, 'GET');
+        });
+
+        // 表单提交事件
+        form.on('submit(user-form-submit)', function (data) {
+            layer.load(2);
+            if(data.field.publicType==1){
+                data.field.publicType=true;
+            }else if (data.field.publicType==0){
+                data.field.publicType=false;
+            }
+            console.log(data.field.publicType)
+            admin.req('api-opration/doctortemplete', JSON.stringify(data.field), function (data) {
+                layer.closeAll('loading');
+                if (data.code == 0) {
+                    // layer.msg(data.msg, { icon: 1, time: 500 });
+                    layer.closeAll();
+                    table.reload('app-table', {});
+                } else {
+                    layer.msg(data.msg, { icon: 2, time: 500 });
+                }
+            }, "POST");
+            return false;
+        });
+        // // 显示编辑弹窗
+        var showEditModel = function (data, index) {
+            var title = "";
+            if (index == 1) {
+                title = "新增";
+            } else if (index == 2) {
+                title = "修改";
+            }
+            layer.open({
+                type: 1,
+                title: title,
+                area: '450px',
+                offset: '120px',
+                content: $('#app-model').html(),
+                success: function () {
+                    $('#app-form')[0].reset();
+                    $('#app-form').attr('method', 'POST');
+                    if (data) {
+                        console.log(data.publicType == true ? 1 : 0);
+                        if(index==1){
+                            $('#sure').hide();
+                        }
+                        form.val('app-form', data);
+                        $('#publicType-add').val(data.publicType == true ? 1 : 0);
+                    }
+                }
+            });
+        };
+    });
+</script>
\ No newline at end of file

--
Gitblit v1.8.0