diff --git a/common/models/solo.js b/common/models/solo.js
new file mode 100644
index 0000000000000000000000000000000000000000..923c175656e27186d8778722e68ac27c503462f6
--- /dev/null
+++ b/common/models/solo.js
@@ -0,0 +1,5 @@
+'use strict';
+
+module.exports = function(Solo) {
+
+};
diff --git a/common/models/solo.json b/common/models/solo.json
new file mode 100644
index 0000000000000000000000000000000000000000..8415538e75cc336d482e64855284fb6f9a7bbeb8
--- /dev/null
+++ b/common/models/solo.json
@@ -0,0 +1,108 @@
+{
+  "name": "Solo",
+  "base": "PersistedModel",
+  "idInjection": false,
+  "options": {
+    "validateUpsert": true
+  },
+  "mysql": {
+    "schema": "wordpress",
+    "table": "solo"
+  },
+  "properties": {
+    "hz": {
+      "type": "Number",
+      "required": true,
+      "length": null,
+      "precision": 19,
+      "scale": 0,
+      "mysql": {
+        "columnName": "hz",
+        "dataType": "bigint",
+        "dataLength": null,
+        "dataPrecision": 19,
+        "dataScale": 0,
+        "nullable": "N"
+      }
+    },
+    "hd": {
+      "type": "Number",
+      "required": true,
+      "length": null,
+      "precision": 19,
+      "scale": 0,
+      "mysql": {
+        "columnName": "hd",
+        "dataType": "bigint",
+        "dataLength": null,
+        "dataPrecision": 19,
+        "dataScale": 0,
+        "nullable": "N"
+      }
+    },
+    "hb": {
+      "type": "Number",
+      "required": true,
+      "length": null,
+      "precision": 19,
+      "scale": 0,
+      "mysql": {
+        "columnName": "hb",
+        "dataType": "bigint",
+        "dataLength": null,
+        "dataPrecision": 19,
+        "dataScale": 0,
+        "nullable": "N"
+      }
+    },
+    "hx": {
+      "type": "Number",
+      "required": true,
+      "length": null,
+      "precision": 19,
+      "scale": 0,
+      "mysql": {
+        "columnName": "hx",
+        "dataType": "bigint",
+        "dataLength": null,
+        "dataPrecision": 19,
+        "dataScale": 0,
+        "nullable": "N"
+      }
+    },
+    "hn": {
+      "type": "Number",
+      "required": true,
+      "length": null,
+      "precision": 19,
+      "scale": 0,
+      "mysql": {
+        "columnName": "hn",
+        "dataType": "bigint",
+        "dataLength": null,
+        "dataPrecision": 19,
+        "dataScale": 0,
+        "nullable": "N"
+      }
+    },
+    "id": {
+      "type": "Number",
+      "required": true,
+      "length": null,
+      "precision": 10,
+      "scale": 0,
+      "mysql": {
+        "columnName": "id",
+        "dataType": "int",
+        "dataLength": null,
+        "dataPrecision": 10,
+        "dataScale": 0,
+        "nullable": "N"
+      }
+    }
+  },
+  "validations": [],
+  "relations": {},
+  "acls": [],
+  "methods": {}
+}
diff --git a/definitions/RuiPengLoopbackApi.yaml b/definitions/RuiPengLoopbackApi.yaml
index 846733557fc688147dbc27b0328dc60cbe3a4938..685c9fd5f5d5c93ab5a8a0c944e8d493d560f434 100644
--- a/definitions/RuiPengLoopbackApi.yaml
+++ b/definitions/RuiPengLoopbackApi.yaml
@@ -5070,6 +5070,392 @@ paths:
                 type: number
                 format: double
       deprecated: false
+  /Solos:
+    post:
+      tags:
+        - Solo
+      summary: Create a new instance of the model and persist it into the data source.
+      operationId: Solo.create
+      parameters:
+        - name: data
+          in: body
+          description: Model instance data
+          required: false
+          schema:
+            description: Model instance data
+            $ref: '#/definitions/Solo'
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+    patch:
+      tags:
+        - Solo
+      summary: >-
+        Patch an existing model instance or insert a new one into the data
+        source.
+      operationId: Solo.patchOrCreate
+      parameters:
+        - name: data
+          in: body
+          description: Model instance data
+          required: false
+          schema:
+            description: Model instance data
+            $ref: '#/definitions/Solo'
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+    put:
+      tags:
+        - Solo
+      summary: >-
+        Replace an existing model instance or insert a new one into the data
+        source.
+      operationId: Solo.replaceOrCreate__put_Solos
+      parameters:
+        - name: data
+          in: body
+          description: Model instance data
+          required: false
+          schema:
+            description: Model instance data
+            $ref: '#/definitions/Solo'
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+    get:
+      tags:
+        - Solo
+      summary: Find all instances of the model matched by filter from the data source.
+      operationId: Solo.find
+      parameters:
+        - name: filter
+          in: query
+          description: >-
+            Filter defining fields, where, include, order, offset, and limit -
+            must be a JSON-encoded string (`{"where":{"something":"value"}}`). 
+            See
+            https://loopback.io/doc/en/lb3/Querying-data.html#using-stringified-json-in-rest-queries
+            for more details.
+          required: false
+          type: string
+          format: JSON
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            type: array
+            items:
+              $ref: '#/definitions/Solo'
+      deprecated: false
+  /Solos/replaceOrCreate:
+    post:
+      tags:
+        - Solo
+      summary: >-
+        Replace an existing model instance or insert a new one into the data
+        source.
+      operationId: Solo.replaceOrCreate__post_Solos_replaceOrCreate
+      parameters:
+        - name: data
+          in: body
+          description: Model instance data
+          required: false
+          schema:
+            description: Model instance data
+            $ref: '#/definitions/Solo'
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+  /Solos/upsertWithWhere:
+    post:
+      tags:
+        - Solo
+      summary: >-
+        Update an existing model instance or insert a new one into the data
+        source based on the where criteria.
+      operationId: Solo.upsertWithWhere
+      parameters:
+        - name: where
+          in: query
+          description: Criteria to match model instances
+          required: false
+          type: string
+          format: JSON
+        - name: data
+          in: body
+          description: An object of model property name/value pairs
+          required: false
+          schema:
+            description: An object of model property name/value pairs
+            $ref: '#/definitions/Solo'
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+  '/Solos/{id}/exists':
+    get:
+      tags:
+        - Solo
+      summary: Check whether a model instance exists in the data source.
+      operationId: 'Solo.exists__get_Solos_{id}_exists'
+      parameters:
+        - name: id
+          in: path
+          description: Model id
+          required: true
+          type: string
+          format: JSON
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            type: object
+            properties:
+              exists:
+                type: boolean
+      deprecated: false
+  '/Solos/{id}':
+    head:
+      tags:
+        - Solo
+      summary: Check whether a model instance exists in the data source.
+      operationId: 'Solo.exists__head_Solos_{id}'
+      parameters:
+        - name: id
+          in: path
+          description: Model id
+          required: true
+          type: string
+          format: JSON
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            type: object
+            properties:
+              exists:
+                type: boolean
+      deprecated: false
+    get:
+      tags:
+        - Solo
+      summary: 'Find a model instance by {{id}} from the data source.'
+      operationId: Solo.findById
+      parameters:
+        - name: id
+          in: path
+          description: Model id
+          required: true
+          type: string
+          format: JSON
+        - name: filter
+          in: query
+          description: >-
+            Filter defining fields and include - must be a JSON-encoded string
+            ({"something":"value"})
+          required: false
+          type: string
+          format: JSON
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+    put:
+      tags:
+        - Solo
+      summary: >-
+        Replace attributes for a model instance and persist it into the data
+        source.
+      operationId: 'Solo.replaceById__put_Solos_{id}'
+      parameters:
+        - name: id
+          in: path
+          description: Model id
+          required: true
+          type: string
+          format: JSON
+        - name: data
+          in: body
+          description: Model instance data
+          required: false
+          schema:
+            description: Model instance data
+            $ref: '#/definitions/Solo'
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+    delete:
+      tags:
+        - Solo
+      summary: 'Delete a model instance by {{id}} from the data source.'
+      operationId: Solo.deleteById
+      parameters:
+        - name: id
+          in: path
+          description: Model id
+          required: true
+          type: string
+          format: JSON
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            type: object
+      deprecated: false
+    patch:
+      tags:
+        - Solo
+      summary: >-
+        Patch attributes for a model instance and persist it into the data
+        source.
+      operationId: Solo.prototype.patchAttributes
+      parameters:
+        - name: id
+          in: path
+          description: Solo id
+          required: true
+          type: string
+          format: JSON
+        - name: data
+          in: body
+          description: An object of model property name/value pairs
+          required: false
+          schema:
+            description: An object of model property name/value pairs
+            $ref: '#/definitions/Solo'
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+  '/Solos/{id}/replace':
+    post:
+      tags:
+        - Solo
+      summary: >-
+        Replace attributes for a model instance and persist it into the data
+        source.
+      operationId: 'Solo.replaceById__post_Solos_{id}_replace'
+      parameters:
+        - name: id
+          in: path
+          description: Model id
+          required: true
+          type: string
+          format: JSON
+        - name: data
+          in: body
+          description: Model instance data
+          required: false
+          schema:
+            description: Model instance data
+            $ref: '#/definitions/Solo'
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+  /Solos/findOne:
+    get:
+      tags:
+        - Solo
+      summary: Find first instance of the model matched by filter from the data source.
+      operationId: Solo.findOne
+      parameters:
+        - name: filter
+          in: query
+          description: >-
+            Filter defining fields, where, include, order, offset, and limit -
+            must be a JSON-encoded string (`{"where":{"something":"value"}}`). 
+            See
+            https://loopback.io/doc/en/lb3/Querying-data.html#using-stringified-json-in-rest-queries
+            for more details.
+          required: false
+          type: string
+          format: JSON
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            $ref: '#/definitions/Solo'
+      deprecated: false
+  /Solos/update:
+    post:
+      tags:
+        - Solo
+      summary: 'Update instances of the model matched by {{where}} from the data source.'
+      operationId: Solo.updateAll
+      parameters:
+        - name: where
+          in: query
+          description: Criteria to match model instances
+          required: false
+          type: string
+          format: JSON
+        - name: data
+          in: body
+          description: An object of model property name/value pairs
+          required: false
+          schema:
+            description: An object of model property name/value pairs
+            $ref: '#/definitions/Solo'
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            description: Information related to the outcome of the operation
+            type: object
+            properties:
+              count:
+                description: The number of instances updated
+                type: number
+                format: double
+      deprecated: false
+  /Solos/count:
+    get:
+      tags:
+        - Solo
+      summary: Count instances of the model matched by where from the data source.
+      operationId: Solo.count
+      parameters:
+        - name: where
+          in: query
+          description: Criteria to match model instances
+          required: false
+          type: string
+          format: JSON
+      responses:
+        '200':
+          description: Request was successful
+          schema:
+            type: object
+            properties:
+              count:
+                type: number
+                format: double
+      deprecated: false
 definitions:
   DashboardHospitalAwenCount:
     properties:
@@ -5470,6 +5856,34 @@ definitions:
         type: number
         format: double
     additionalProperties: false
+  Solo:
+    properties:
+      hz:
+        type: number
+        format: double
+      hd:
+        type: number
+        format: double
+      hb:
+        type: number
+        format: double
+      hx:
+        type: number
+        format: double
+      hn:
+        type: number
+        format: double
+      id:
+        type: number
+        format: double
+    required:
+      - hz
+      - hd
+      - hb
+      - hx
+      - hn
+      - id
+    additionalProperties: false
 basePath: /api/ruipeng
 swagger: '2.0'
 info:
diff --git a/server/model-config.json b/server/model-config.json
index bd2fced5363b2ad576474f69442e53c1cc818055..1da753000de66c5300d78f5054a9b04df638ad56 100644
--- a/server/model-config.json
+++ b/server/model-config.json
@@ -64,5 +64,9 @@
   "Pie": {
     "dataSource": "ruipeng",
     "public": true
+  },
+  "Solo": {
+    "dataSource": "ruipeng",
+    "public": true
   }
 }