zhangqian
2023-09-27 4db8b372c61025a80af529a47872a6fec6daf854
docs/swagger.yaml
@@ -1,4 +1,121 @@
definitions:
  common.ProcedureMaterial:
    properties:
      amount:
        type: number
      materialId:
        type: string
      materialName:
        type: string
      unit:
        type: string
    type: object
  common.ProcedureWorker:
    properties:
      endTime:
        type: integer
      phoneNum:
        type: string
      startTime:
        type: integer
      workerId:
        type: string
      workerName:
        type: string
    type: object
  common.ProductProcedure:
    properties:
      allProcedureNames:
        description: 所属工单工序列表
        items:
          type: string
        type: array
      channel:
        description: 通道序号
        type: integer
      deviceId:
        type: string
      deviceName:
        type: string
      endTime:
        type: integer
      inputMaterials:
        description: 输入物料列表
        items:
          $ref: '#/definitions/common.ProcedureMaterial'
        type: array
      nextProcedureId:
        type: string
      nextProcedureName:
        type: string
      outputMaterials:
        description: 输出物料列表
        items:
          $ref: '#/definitions/common.ProcedureMaterial'
        type: array
      procedureId:
        type: string
      procedureName:
        type: string
      startTime:
        type: integer
      workHours:
        type: number
      workers:
        description: 人员列表
        items:
          $ref: '#/definitions/common.ProcedureWorker'
        type: array
    type: object
  conf.Prompt:
    properties:
      plcNotConnected:
        type: string
      safeProduce:
        type: string
    type: object
  constvar.PlcMethod:
    enum:
    - modbusTCP
    - serial
    - 网络
    - 串口
    type: string
    x-enum-varnames:
    - PlcMethodModbusTCP
    - PlcMethodSerial
    - PlcMethodModbusTCPChinese
    - PlcMethodSerialChinese
  constvar.PlcStartAddressType:
    enum:
    - 1
    - 2
    type: integer
    x-enum-varnames:
    - PlcStartAddressTypeFinishNumber
    - PlcStartAddressTypeTotalNumber
  constvar.PlcStartAddressValueType:
    enum:
    - string
    - int
    type: string
    x-enum-varnames:
    - PlcStartAddressValueTypeString
    - PlcStartAddressValueTypeInt
  constvar.TaskMode:
    enum:
    - 1
    - 2
    - 3
    type: integer
    x-enum-comments:
      TaskModeCurrent: 未开始的和进行中的
      TaskModeLastFinished: 上一个结束的
      TaskModeUnStarted: 未开始的
    x-enum-varnames:
    - TaskModeUnStarted
    - TaskModeCurrent
    - TaskModeLastFinished
  contextx.Response:
    properties:
      code:
@@ -7,6 +124,95 @@
      msg:
        type: string
    type: object
  model.DevicePlc:
    properties:
      address:
        description: |-
          PortName   string `gorm:"type:varchar(191);comment:端口名称" json:"portName"`
          Frequency  int    `gorm:"comment:数据更新频率 0-实时更新 1-1次/秒" json:"frequency"`
        type: string
      baudRate:
        description: 串口波特率, method = serial时 用
        type: integer
      brand:
        type: string
      details:
        items:
          $ref: '#/definitions/model.DevicePlcAddress'
        type: array
      id:
        type: integer
      isOpen:
        type: boolean
      method:
        $ref: '#/definitions/constvar.PlcMethod'
      port:
        description: plc 端口号,  method =  modbusTCP用
        type: integer
      serialName:
        description: 串口名称,method = serial时 用
        type: string
    type: object
  model.DevicePlcAddress:
    properties:
      channel:
        description: 数据起始地址
        type: integer
      fieldName:
        allOf:
        - $ref: '#/definitions/constvar.PlcStartAddressType'
        description: 对应系统字段
      length:
        description: 数据长度
        type: integer
      startAddress:
        description: 数据起始地址
        type: integer
      type:
        allOf:
        - $ref: '#/definitions/constvar.PlcStartAddressValueType'
        description: 数据类型
    type: object
  model.NetConfig:
    properties:
      dns:
        description: dns
        type: string
      gateway:
        description: 网关
        type: string
      id:
        type: integer
      ip:
        description: 本机ip
        type: string
      mask:
        description: 子网掩码
        type: string
      networkCard:
        description: 网卡
        type: string
      status:
        allOf:
        - $ref: '#/definitions/model.NetConfigStatus'
        description: 状态(1启用2禁用)
    required:
    - gateway
    - ip
    - mask
    - networkCard
    type: object
  model.NetConfigStatus:
    enum:
    - 1
    - 2
    type: integer
    x-enum-comments:
      NetConfigStatusDisabled: 关闭
      NetConfigStatusEnabled: 开启
    x-enum-varnames:
    - NetConfigStatusEnabled
    - NetConfigStatusDisabled
  model.Order:
    properties:
      amount:
@@ -30,78 +236,429 @@
        type: string
      startTime:
        type: integer
      status:
        $ref: '#/definitions/model.OrderStatus'
      unit:
        type: string
      workOrderId:
        type: string
    type: object
  model.Procedures:
  model.OrderStatus:
    enum:
    - 1
    - 2
    - 3
    type: integer
    x-enum-varnames:
    - OrderStatusWaitProcess
    - OrderStatusProcessing
    - OrderStatusFinished
  model.PlcBrand:
    properties:
      id:
        type: integer
      procedure:
        allOf:
        - $ref: '#/definitions/request.ProductProcedure'
        description: request.ProductProcedure  对象
    type: object
  request.ProcedureMaterial:
    properties:
      amount:
        type: number
      materialId:
        type: string
      materialName:
        type: string
      unit:
      name:
        type: string
    type: object
  request.ProcedureWorker:
  model.ProcedureStatus:
    enum:
    - 1
    - 2
    - 3
    type: integer
    x-enum-varnames:
    - ProcedureStatusWaitProcess
    - ProcedureStatusProcessing
    - ProcedureStatusFinished
  model.Procedures:
    properties:
      phoneNum:
        type: string
      workerId:
        type: string
      workerName:
        type: string
    type: object
  request.ProductProcedure:
    properties:
      channel:
        description: 通道
        type: integer
      deviceId:
        type: string
      endTime:
        type: integer
      inputMaterials:
        description: 输入物料列表
        items:
          $ref: '#/definitions/request.ProcedureMaterial'
        type: array
      outputMaterials:
        description: 输出物料列表
        items:
          $ref: '#/definitions/request.ProcedureMaterial'
        type: array
      id:
        type: integer
      procedure:
        allOf:
        - $ref: '#/definitions/common.ProductProcedure'
        description: common.ProductProcedure  对象
      procedureId:
        type: string
      procedureName:
        type: string
      startTime:
        type: integer
      workHours:
        type: number
      workers:
        description: 人员列表
      status:
        $ref: '#/definitions/model.ProcedureStatus'
    type: object
  request.AddPlcBrand:
    properties:
      id:
        type: integer
      name:
        type: string
    type: object
  request.SendProcessParams:
    properties:
      channel:
        type: integer
      procedureId:
        type: integer
    required:
    - procedureId
    type: object
  request.UpdatePlc:
    properties:
      address:
        description: |-
          PortName   string `gorm:"type:varchar(191);comment:端口名称" json:"portName"`
          Frequency  int    `gorm:"comment:数据更新频率 0-实时更新 1-1次/秒" json:"frequency"`
        type: string
      baudRate:
        description: 串口波特率, method = serial时 用
        type: integer
      brand:
        type: string
      details:
        items:
          $ref: '#/definitions/request.ProcedureWorker'
          $ref: '#/definitions/model.DevicePlcAddress'
        type: array
      id:
        type: integer
      isOpen:
        type: boolean
      method:
        $ref: '#/definitions/constvar.PlcMethod'
      port:
        description: plc 端口号,  method =  modbusTCP用
        type: integer
      serialName:
        description: 串口名称,method = serial时 用
        type: string
    type: object
  request.UpdatePlcBrand:
    properties:
      id:
        type: integer
      name:
        type: string
    type: object
  response.ListResponse:
    properties:
      code:
        type: integer
      count:
        type: integer
      data: {}
      msg:
        type: string
    type: object
  response.ProcessParams:
    properties:
      key:
        type: string
      value: {}
    type: object
  response.ProcessParamsResponse:
    properties:
      number:
        type: string
      params:
        items:
          $ref: '#/definitions/response.ProcessParams'
        type: array
    type: object
  response.ProductProgress:
    properties:
      finishNumber:
        type: integer
      plcStatus:
        type: integer
      totalNumber:
        type: integer
    type: object
  response.TaskCountdown:
    properties:
      countDownHour:
        description: 倒计时 时
        type: integer
      countDownMinute:
        description: 倒计时 分
        type: integer
      showCountDown:
        description: 是否展示倒计时
        type: boolean
    type: object
  response.TaskData:
    properties:
      allProcedures:
        items:
          type: string
        type: array
      canStarted:
        description: 是否可以开始生产
        type: boolean
      channel:
        description: 当前任务在设备第几个通道
        type: integer
      currentProcedureIndex:
        type: integer
      order:
        $ref: '#/definitions/model.Order'
      procedure:
        $ref: '#/definitions/model.Procedures'
    type: object
  response.TaskResponse:
    properties:
      channelAmount:
        description: 通道数量
        type: integer
      prompt:
        allOf:
        - $ref: '#/definitions/conf.Prompt'
        description: 提示语
      taskCount:
        description: 任务数量
        type: integer
      tasks:
        description: 任务列表
        items:
          $ref: '#/definitions/response.TaskData'
        type: array
      workers:
        description: 人员列表
        items:
          $ref: '#/definitions/common.ProcedureWorker'
        type: array
    type: object
info:
  contact: {}
paths:
  /v1/config/net:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  items:
                    $ref: '#/definitions/model.NetConfig'
                  type: array
              type: object
      summary: 获取网络配置
      tags:
      - Config
    post:
      parameters:
      - description: 参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/model.NetConfig'
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  items:
                    $ref: '#/definitions/response.ProcessParams'
                  type: array
              type: object
      summary: 设置网络配置
      tags:
      - Config
  /v1/config/plc:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/model.DevicePlc'
              type: object
      summary: 获取plc配置
      tags:
      - Config
    post:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.UpdatePlc'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 更新plc配置
      tags:
      - Config
  /v1/plc/productProgress:
    post:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.SendProcessParams'
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/response.ProductProgress'
              type: object
      summary: 获取生产进度
      tags:
      - 生产数量
  /v1/plc/productProgressRealTime:
    post:
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/response.ProductProgress'
              type: object
      summary: 实时获取生产进度
      tags:
      - 生产数量
  /v1/plc/setProductNumber:
    post:
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 设置生产总量
      tags:
      - 生产数量
  /v1/plcBrand/add:
    post:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.AddPlcBrand'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 添加plc品牌
      tags:
      - plc品牌
  /v1/plcBrand/delete/{id}:
    delete:
      parameters:
      - description: 查询参数
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 删除plc品牌
      tags:
      - plc品牌
  /v1/plcBrand/list:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/response.ListResponse'
            - properties:
                data:
                  items:
                    $ref: '#/definitions/model.PlcBrand'
                  type: array
              type: object
      summary: 获取plc品牌列表
      tags:
      - plc品牌
  /v1/plcBrand/update:
    put:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.UpdatePlcBrand'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 更新plc品牌
      tags:
      - plc品牌
  /v1/task/countdown:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/response.TaskCountdown'
              type: object
      summary: 新任务倒计时
      tags:
      - Task
  /v1/task/finish/{id}:
    put:
      parameters:
@@ -119,9 +676,33 @@
            $ref: '#/definitions/contextx.Response'
      summary: 任务结束
      tags:
      - Base
      - Task
  /v1/task/get:
    get:
      parameters:
      - description: 页码
        in: query
        name: page
        type: integer
      - description: 每页大小
        in: query
        name: pageSize
        type: integer
      - enum:
        - 1
        - 2
        - 3
        in: query
        name: taskMode
        type: integer
        x-enum-comments:
          TaskModeCurrent: 未开始的和进行中的
          TaskModeLastFinished: 上一个结束的
          TaskModeUnStarted: 未开始的
        x-enum-varnames:
        - TaskModeUnStarted
        - TaskModeCurrent
        - TaskModeLastFinished
      produces:
      - application/json
      responses:
@@ -132,9 +713,28 @@
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/response.TaskData'
                  $ref: '#/definitions/response.TaskResponse'
              type: object
      summary: 获取任务
      tags:
      - Task
  /v1/task/sendProcessParams:
    post:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.SendProcessParams'
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 下发工艺参数(开始任务)
      tags:
      - Task
  /v1/task/start/{id}:
@@ -151,8 +751,13 @@
        "200":
          description: 成功
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 任务开始
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/response.ProcessParamsResponse'
              type: object
      summary: 任务开始(获取工艺参数)
      tags:
      - Base
      - Task
swagger: "2.0"