From d9c116e881d429eb797efee894350cfd3a3fda5a Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Thu, 22 Oct 2020 09:22:37 +0800
Subject: [PATCH] 添加第三方几口对接

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/EquipmentDockingController.java              |  160 ++++++++++++++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/EquipmentDockingService.java                         |   19 +
 .gitignore                                                                                                                                                               |    1 
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml                                                               |    1 
 kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml                                                                                          |    6 
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/saasClientPay.html                                                                              |   14 
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/EquipmentDocking.java                                |  102 ++++++++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/EquipmentDockingServiceFallbackFactory.java |   28 ++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/EquipmentDockingServiceImpl.java              |   74 +++++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/EquipmentDockingMapper.java                         |   34 +++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IEquipmentDockingService.java                      |   40 ++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/EquipmentDockingMapper.xml                                                |   97 +++++++++
 12 files changed, 569 insertions(+), 7 deletions(-)

diff --git a/.gitignore b/.gitignore
index 2af840c..d4d3365 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,4 @@
 /kidgrow-web/kidgrow-web-manager/src/main/resources/static/package-lock.json
 /kidgrow-web/kidgrow-web-manager/src/main/resources/static.zip
 /git
+/kidgrow-web/kidgrow-web-manager/src/main/resources/static.rar
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/EquipmentDockingService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/EquipmentDockingService.java
new file mode 100644
index 0000000..51931d8
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/EquipmentDockingService.java
@@ -0,0 +1,19 @@
+package com.kidgrow.oprationcenter.feign;
+
+import com.kidgrow.common.constant.ServiceNameConstants;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.oprationcenter.feign.fallback.EquipmentDockingServiceFallbackFactory;
+import com.kidgrow.oprationcenter.model.EquipmentDocking;
+import com.kidgrow.ribbon.config.FeignHttpInterceptorConfig;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(value = ServiceNameConstants.OPRATION_SERVER,configuration= FeignHttpInterceptorConfig.class,
+        fallbackFactory = EquipmentDockingServiceFallbackFactory.class, decode404 = true)
+public interface EquipmentDockingService {
+    @PostMapping("equipmentdocking/isAuthorize")
+    Boolean isAuthorize(@RequestBody EquipmentDocking equipmentDocking);
+    @PostMapping("equipmentdocking/query")
+    ResultBody findByObject(@RequestBody EquipmentDocking equipmentDocking);
+}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/EquipmentDockingServiceFallbackFactory.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/EquipmentDockingServiceFallbackFactory.java
new file mode 100644
index 0000000..3a270aa
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/EquipmentDockingServiceFallbackFactory.java
@@ -0,0 +1,28 @@
+package com.kidgrow.oprationcenter.feign.fallback;
+
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.oprationcenter.feign.EquipmentDockingService;
+import com.kidgrow.oprationcenter.model.EquipmentDocking;
+import feign.hystrix.FallbackFactory;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class EquipmentDockingServiceFallbackFactory implements FallbackFactory<EquipmentDockingService> {
+
+    @Override
+    public EquipmentDockingService create(Throwable throwable) {
+        return new EquipmentDockingService() {
+            @Override
+            public Boolean isAuthorize(EquipmentDocking equipmentDocking) {
+                return null;
+            }
+
+            @Override
+            public ResultBody findByObject(EquipmentDocking equipmentDocking) {
+                return null;
+            }
+        };
+    }
+}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/EquipmentDocking.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/EquipmentDocking.java
new file mode 100644
index 0000000..b24a964
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/EquipmentDocking.java
@@ -0,0 +1,102 @@
+package com.kidgrow.oprationcenter.model;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.kidgrow.common.model.SuperModel;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import org.hibernate.validator.constraints.NotEmpty;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: <br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-10-19 11:14:58 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("equipment_docking")
+public class EquipmentDocking extends SuperModel {
+    private static final long serialVersionUID=1L;
+
+            /**
+    * 医院名称
+    */
+        @NotEmpty(message = "医院名称不能为空")
+        private String hospitalName;
+            /**
+    * 科室名称
+    */
+        @NotEmpty(message = "科室名称不能为空")
+        private String departName;
+            /**
+    * 医院唯一标识
+    */
+        @NotNull(message = "医院唯一标识不能为空")
+        @JsonSerialize(using = ToStringSerializer.class)
+        private Long hospitalId;
+            /**
+    * 部门唯一表示
+    */
+            @NotNull(message = "部门唯一表示不能为空")
+            @JsonSerialize(using = ToStringSerializer.class)
+        private Long departId;
+            /**
+    * 设备厂家名称
+    */
+        @NotEmpty(message = "设备厂家名称不能为空")
+        private String companyName;
+            /**
+    * 设备型号
+    */
+        @NotEmpty(message = "设备型号不能为空")
+        private String unitType;
+            /**
+    * 设备品牌
+    */
+        @NotEmpty(message = "设备品牌不能为空")
+        private String equipmentBrand;
+            /**
+    * 设备机器码
+    */
+        @NotEmpty(message = "设备机器码不能为空")
+        private String machineCode;
+            /**
+    * hospital_id+depart_id+machine_code 进行md5加密生成的32位小写的字符串
+    */
+//        @NotEmpty(message = "hospital_id+depart_id+machine_code 进行md5加密生成的32位小写的字符串不能为空")
+        private String outAccesskey;
+            /**
+    * 设备厂家联系人电话
+    */
+        @NotEmpty(message = "设备厂家联系人电话不能为空")
+        private String contactPhone;
+            /**
+    * 设备厂家联系人名称
+    */
+        @NotEmpty(message = "设备厂家联系人名称不能为空")
+        private String contactName;
+            /**
+    * 备注信息
+    */
+        private String remarkComment;
+                                    /**
+    * 状态,1启用,0停用 
+    */
+        private Boolean enabled;
+            /**
+    * 是否删除,1删除,0未删除
+    */
+        @TableLogic
+        private Boolean isDel;
+    }
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/EquipmentDockingMapper.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/EquipmentDockingMapper.java
new file mode 100644
index 0000000..f1ed99d
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/EquipmentDockingMapper.java
@@ -0,0 +1,34 @@
+package com.kidgrow.oprationcenter.mapper;
+
+import com.kidgrow.db.mapper.SuperMapper;
+import com.kidgrow.oprationcenter.model.EquipmentDocking;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: <br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-10-19 11:14:58 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+public interface EquipmentDockingMapper extends SuperMapper<EquipmentDocking> {
+    /**
+     * 分页查询列表
+     * @param page
+     * @param params
+     * @return
+     */
+    List<EquipmentDocking> findList(Page<EquipmentDocking> page, @Param("p") Map<String, Object> params);
+
+    /**
+     * 根据EquipmentDocking对象当做查询条件进行查询
+     * @param
+     * @return EquipmentDocking对象
+     */
+    EquipmentDocking findByObject(@Param("p") EquipmentDocking equipmentDocking);
+}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IEquipmentDockingService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IEquipmentDockingService.java
new file mode 100644
index 0000000..17c1ed4
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IEquipmentDockingService.java
@@ -0,0 +1,40 @@
+package com.kidgrow.oprationcenter.service;
+
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.service.ISuperService;
+import com.kidgrow.oprationcenter.model.EquipmentDocking;
+
+import java.util.Map;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: <br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-10-19 11:14:58 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+public interface IEquipmentDockingService extends ISuperService<EquipmentDocking> {
+    /**
+     * 列表
+     * @param params
+     * @return
+     */
+    PageResult<EquipmentDocking> findList(Map<String, Object> params);
+
+
+    /**
+    * 根据EquipmentDocking对象当做查询条件进行查询
+    * @param equipmentDocking
+    * @return EquipmentDocking对象
+    */
+    EquipmentDocking findByObject(EquipmentDocking equipmentDocking);
+
+    /**
+     * 是否授权
+     * @param equipmentDocking
+     * @return
+     */
+    boolean isAuthorize(EquipmentDocking equipmentDocking);
+}
+
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/EquipmentDockingServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/EquipmentDockingServiceImpl.java
new file mode 100644
index 0000000..538ff46
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/EquipmentDockingServiceImpl.java
@@ -0,0 +1,74 @@
+package com.kidgrow.oprationcenter.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.service.impl.SuperServiceImpl;
+import com.kidgrow.oprationcenter.mapper.EquipmentDockingMapper;
+import com.kidgrow.oprationcenter.model.EquipmentDocking;
+import com.kidgrow.oprationcenter.service.IEquipmentDockingService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.MapUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: <br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-10-19 11:14:58 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+@Slf4j
+@Service
+public class EquipmentDockingServiceImpl extends SuperServiceImpl<EquipmentDockingMapper, EquipmentDocking> implements IEquipmentDockingService {
+    /**
+     * 列表
+     * @param params
+     * @return
+     */
+    @Override
+    public PageResult<EquipmentDocking> findList(Map<String, Object> params){
+        Page<EquipmentDocking> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
+        List<EquipmentDocking> list  =  baseMapper.findList(page, params);
+        return PageResult.<EquipmentDocking>builder().data(list).code(0).count(page.getTotal()).build();
+    }
+
+    /**
+   * 根据EquipmentDocking对象当做查询条件进行查询
+   * @param equipmentDocking
+   * @return EquipmentDocking
+   */
+    @Override
+    public EquipmentDocking findByObject(EquipmentDocking equipmentDocking){
+        return baseMapper.findByObject(equipmentDocking);
+    }
+    /**
+     * 是否授权
+     * @param equipmentDocking
+     * @return
+     */
+    @Override
+    public boolean isAuthorize(EquipmentDocking equipmentDocking) {
+        EquipmentDocking byObject = baseMapper.findByObject(equipmentDocking);
+        if(byObject==null){
+            log.error("没有查到数据");
+            return false;
+        }else {
+            if (byObject.getIsDel()) {
+                log.error("该设备已经删除");
+                return false;
+            }else {
+                if (byObject.getEnabled()) {
+                    return true;
+                }else {
+                    log.error("该设备已禁用");
+                    return false;
+                }
+            }
+        }
+    }
+}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/EquipmentDockingMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/EquipmentDockingMapper.xml
new file mode 100644
index 0000000..043f835
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/EquipmentDockingMapper.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!---->
+<mapper namespace="com.kidgrow.oprationcenter.mapper.EquipmentDockingMapper">
+    <!--定义查询列-->
+    <sql id="Column_List">
+	   *
+	</sql>
+
+    <!--sql查询片段-->
+    <sql id="where">
+        <where>
+            <!--查询条件自行添加-->
+            is_del=0
+                                    <if test="p.id != null and p.id !=''">
+                and  id =  #{p.id}
+            </if>
+                                                <if test="p.hospitalName != null and p.hospitalName !=''">
+                and  hospital_name =  #{p.hospitalName}
+            </if>
+                                                <if test="p.departName != null and p.departName !=''">
+                and  depart_name =  #{p.departName}
+            </if>
+                                                <if test="p.hospitalId != null and p.hospitalId !=''">
+                and  hospital_id =  #{p.hospitalId}
+            </if>
+                                                <if test="p.departId != null and p.departId !=''">
+                and  depart_id =  #{p.departId}
+            </if>
+                                                <if test="p.companyName != null and p.companyName !=''">
+                and  company_name =  #{p.companyName}
+            </if>
+                                                <if test="p.unitType != null and p.unitType !=''">
+                and  unit_type =  #{p.unitType}
+            </if>
+                                                <if test="p.equipmentBrand != null and p.equipmentBrand !=''">
+                and  equipment_brand =  #{p.equipmentBrand}
+            </if>
+                                                <if test="p.machineCode != null and p.machineCode !=''">
+                and  machine_code =  #{p.machineCode}
+            </if>
+                                                <if test="p.outAccesskey != null and p.outAccesskey !=''">
+                and  out_accesskey =  #{p.outAccesskey}
+            </if>
+                                                <if test="p.contactPhone != null and p.contactPhone !=''">
+                and  contact_phone =  #{p.contactPhone}
+            </if>
+                                                <if test="p.contactName != null and p.contactName !=''">
+                and  contact_name =  #{p.contactName}
+            </if>
+                                                <if test="p.remarkComment != null and p.remarkComment !=''">
+                and  remark_comment =  #{p.remarkComment}
+            </if>
+                                                <if test="p.createUserId != null and p.createUserId !=''">
+                and  create_user_id =  #{p.createUserId}
+            </if>
+                                                <if test="p.createUserName != null and p.createUserName !=''">
+                and  create_user_name =  #{p.createUserName}
+            </if>
+                                                <if test="p.createTime != null and p.createTime !=''">
+                and  create_time =  #{p.createTime}
+            </if>
+                                                <if test="p.updateUserId != null and p.updateUserId !=''">
+                and  update_user_id =  #{p.updateUserId}
+            </if>
+                                                <if test="p.updateUserName != null and p.updateUserName !=''">
+                and  update_user_name =  #{p.updateUserName}
+            </if>
+                                                <if test="p.updateTime != null and p.updateTime !=''">
+                and  update_time =  #{p.updateTime}
+            </if>
+                                                <if test="p.enabled != null and p.enabled !=''">
+                and  enabled =  #{p.enabled}
+            </if>
+                                                <if test="p.isDel != null and p.isDel !=''">
+                and  is_del =  #{p.isDel}
+            </if>
+                                </where>
+    </sql>
+
+    <!--定义根据-EquipmentDocking当作查询条件返回对象-->
+    <select id="findByObject"  resultType="com.kidgrow.oprationcenter.model.EquipmentDocking">
+        select <include refid="Column_List"/>
+        from equipment_docking
+        <include refid="where"/>
+        order by id desc
+        limit 1
+    </select>
+
+    <!--定义根据-EquipmentDocking当作查询条件返回对象集合-->
+    <select id="findList" resultType="com.kidgrow.oprationcenter.model.EquipmentDocking">
+        select <include refid="Column_List"/>
+        from equipment_docking
+        <include refid="where"/>
+        order by id desc
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/EquipmentDockingController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/EquipmentDockingController.java
new file mode 100644
index 0000000..5e0c713
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/EquipmentDockingController.java
@@ -0,0 +1,160 @@
+package com.kidgrow.oprationcenter.controller;
+
+import com.kidgrow.common.controller.BaseController;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.common.utils.StringUtils;
+import com.kidgrow.oprationcenter.model.EquipmentDocking;
+import com.kidgrow.oprationcenter.service.IEquipmentDockingService;
+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.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.DigestUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ *
+ * @Description:
+ * @Project: 用户中心
+ * @CreateDate: Created in 2020-10-19 11:14:58 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version: 1.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/equipmentdocking")
+@Api(tags = "")
+public class EquipmentDockingController extends BaseController {
+    @Autowired
+    private IEquipmentDockingService equipmentDockingService;
+
+    /**
+     * 列表
+     */
+    @ApiOperation(value = "查询列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"),
+            @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
+    })
+    @GetMapping
+    public PageResult list(@RequestParam Map<String, Object> params) {
+        if (!params.containsKey("page")) {
+            params.put("page", 1);
+        }
+        if (!params.containsKey("limit")) {
+            params.put("limit", 10);
+        }
+        return equipmentDockingService.findList(params);
+    }
+
+    /**
+     * 查询
+     */
+    @ApiOperation(value = "查询")
+    @GetMapping("/{id}")
+    public ResultBody findById(@PathVariable Long id) {
+        EquipmentDocking model = equipmentDockingService.getById(id);
+        return ResultBody.ok().data(model).msg("查询成功");
+    }
+
+    /**
+     * 根据EquipmentDocking当做查询条件进行查询
+     */
+    @ApiOperation(value = "根据EquipmentDocking当做查询条件进行查询")
+    @PostMapping("/query")
+    public ResultBody findByObject(@RequestBody EquipmentDocking equipmentDocking) {
+        EquipmentDocking model = equipmentDockingService.findByObject(equipmentDocking);
+        return ResultBody.ok().data(model).msg("查询成功");
+    }
+
+    /**
+     * 新增or更新
+     */
+    @ApiOperation(value = "保存")
+    @PostMapping
+    public ResultBody save(@Valid @RequestBody EquipmentDocking equipmentDocking, BindingResult bindingResult) {
+        List<String> errMsg = new ArrayList<>();
+        if (bindingResult.hasErrors()) {
+            for (ObjectError error : bindingResult.getAllErrors()) {
+                errMsg.add(error.getDefaultMessage());
+            }
+            return ResultBody.failed().msg(errMsg.toString());
+        } else {
+
+            boolean v = false;
+            if(equipmentDocking.getId()==null){
+                //hospital_id+depart_id+machine_code进行md5加密生成的32位小写的字符串
+                String md5Password = DigestUtils.md5DigestAsHex((""+equipmentDocking.getHospitalId()+equipmentDocking.getDepartId()+equipmentDocking.getMachineCode()).getBytes());
+                equipmentDocking.setOutAccesskey(md5Password);
+                v = equipmentDockingService.saveOrUpdate(equipmentDocking);
+            }else {
+                v = equipmentDockingService.saveOrUpdate(equipmentDocking);
+            }
+            if (v) {
+                return ResultBody.ok().data(equipmentDocking).msg("保存成功");
+            } else {
+                return ResultBody.failed().msg("保存失败");
+            }
+        }
+    }
+
+    /**
+     * 更新状态
+     */
+    @ApiOperation(value = "更新状态")
+    @PostMapping("update")
+    public ResultBody update(@RequestBody EquipmentDocking equipmentDocking) {
+        boolean v = equipmentDockingService.saveOrUpdate(equipmentDocking);
+        if (v) {
+            return ResultBody.ok();
+        } else {
+            return ResultBody.failed().data("更新失败");
+        }
+    }
+
+    /**
+     * 删除
+     */
+    @ApiOperation(value = "删除")
+    @DeleteMapping("/{id}")
+    public ResultBody delete(@PathVariable Long id) {
+        boolean v = equipmentDockingService.removeById(id);
+        if (v) {
+            return ResultBody.ok().msg("删除成功");
+        } else {
+            return ResultBody.failed().msg("删除失败");
+        }
+    }
+
+    /**
+     * 是否授权
+     *
+     * @param equipmentDocking
+     * @return
+     */
+    @PostMapping("isAuthorize")
+    public Boolean isAuthorize(@RequestBody EquipmentDocking equipmentDocking) {
+        if (StringUtils.isBlank(equipmentDocking.getMachineCode())) {
+            log.error("请输入机器码");
+            return false;
+        }
+        if (StringUtils.isBlank(equipmentDocking.getOutAccesskey())) {
+            log.error("请输入授权秘钥");
+            return false;
+        }
+        return equipmentDockingService.isAuthorize(equipmentDocking);
+    }
+
+}
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 6aa942e..6019209 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
@@ -92,6 +92,7 @@
       - product_order_record
       - saas_client_pay
       - pay_manager
+      - equipment_docking
     ignoreSqls:
       - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll
       - com.kidgrow.oprationcenter.mapper.ConsumptionRecordMapper.findDetailList
diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml
index 332f7ac..c2308e0 100644
--- a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml
+++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml
@@ -231,6 +231,8 @@
       - /api-opration/wxController/callback
       - /api-opration/alipay/notify
       - /api-opration/alipay/return
+      - /api-record/DiagnosticUnfinishedFegin/equipmentList
+      - /api-record/DiagnosticUnfinishedFegin/equipmentUpload
 #      - /api-user/syshospital/findAllByMap
 #      - /api-user/sysdictionaries/findAll
 #      - /api-user/sysdepartment/findListByHospitalId
@@ -267,7 +269,9 @@
         /api-evaluation/evaluationxrayinfo/checkQRCode,
         /api-opration/wxController/callback,
         /api-opration/alipay/return,
-        /api-opration/alipay/notify
+        /api-opration/alipay/notify,
+        /api-record/DiagnosticUnfinishedFegin/equipmentList,
+        /api-record/DiagnosticUnfinishedFegin/equipmentUpload
 #        /api-user/syshospital/findAllByMap,
 #        /api-user/sysdictionaries/findAll,
 #        /api-user/sysdepartment/findListByHospitalId
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/saasClientPay.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/saasClientPay.html
index b934721..ddfee6d 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/saasClientPay.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/saasClientPay.html
@@ -8,8 +8,7 @@
     </div>
     <div class="layui-card-body">
         <div class="layui-form toolbar">
-            <input name="hospitalName" id="hospitalName-seach" placeholder="按医院名称" type="text"
-                class="layui-input search-input" maxlength="50" autocomplete="off" />&emsp;
+           
             <input type="hidden" id="hospitalId" />
             <select id="departmentId" lay-filter="department_clients">
                 <option>--科室--</option>
@@ -20,12 +19,14 @@
             <div class="layui-col-sm4">
                 <input type="text" class="layui-input search-input" id="startTime" placeholder="开始时间"> 至 <input
                     type="text" class="layui-input search-input" id="endTime" placeholder="结束时间"> &emsp;
+                    <input name="hospitalName" id="hospitalName-seach" placeholder="按医院名称" type="text"
+                    class="layui-input search-input" maxlength="50" autocomplete="off" />&emsp;
             </div>
-            <button id="app-btn-search" class="layui-btn icon-btn permissions" permissions="sysdictionaries-list"><i
+            <button id="app-btn-search" class="layui-btn icon-btn permissions" permissions="saasclientpay-list"><i
                     class="layui-icon">&#xe615;</i>搜索</button>
-            <button id="piliangjiesuan" class="layui-btn icon-btn permissions" permissions="sysdictionaries-edit"><i
+            <button id="piliangjiesuan" class="layui-btn icon-btn permissions" permissions="saasclientpay-edit"><i
                     class="layui-icon">&#xe654;</i>批量结算</button>
-            <button id="export" class="layui-btn icon-btn permissions" permissions="sysdictionaries-edit"><i
+            <button id="export" class="layui-btn icon-btn permissions" permissions="saasclientpay-export"><i
                     class="layui-icon">&#xe654;</i>导出</button>
         </div>
 
@@ -53,7 +54,7 @@
         laydate.render({
             elem: '#endTime' //指定元素
         });
-
+        // permissionsInput(null, config);
 
         // 获取应用列表
         // layer.load(2);
@@ -220,6 +221,7 @@
                 }
             });
         }
+        
         //比较日期大小
         function compareDate(logintime, logouttime) {
             var arys1 = new Array();

--
Gitblit v1.8.0