zhangqian
2023-12-08 b9abe45f791bea70a059e37186907190afcec350
docs/swagger.yaml
@@ -30,6 +30,9 @@
        items:
          type: string
        type: array
      channel:
        description: 通道序号
        type: integer
      deviceId:
        type: string
      deviceName:
@@ -54,6 +57,8 @@
        type: string
      procedureName:
        type: string
      productProcedureID:
        type: string
      startTime:
        type: integer
      workHours:
@@ -64,14 +69,41 @@
          $ref: '#/definitions/common.ProcedureWorker'
        type: array
    type: object
  conf.Prompt:
    properties:
      plcNotConnected:
        type: string
      safeProduce:
        type: string
    type: object
  constvar.Parity:
    enum:
    - 1
    - 2
    - 3
    type: integer
    x-enum-comments:
      ParityEven: 奇校验
      ParityNull: 无校验
      ParityOdd: 偶校验
    x-enum-varnames:
    - ParityEven
    - ParityOdd
    - ParityNull
  constvar.PlcMethod:
    enum:
    - modbusTCP
    - modbusRTU
    - serial
    - 网络
    - 串口
    type: string
    x-enum-varnames:
    - PlcMethodModbusTCP
    - PlcMethodModbusRTU
    - PlcMethodSerial
    - PlcMethodModbusTCPChinese
    - PlcMethodSerialChinese
  constvar.PlcStartAddressType:
    enum:
    - 1
@@ -83,11 +115,65 @@
  constvar.PlcStartAddressValueType:
    enum:
    - string
    - int
    - int16
    - int32
    type: string
    x-enum-varnames:
    - PlcStartAddressValueTypeString
    - PlcStartAddressValueTypeInt
    - PlcStartAddressValueTypeInt16
    - PlcStartAddressValueTypeInt32
  constvar.ProblemCode:
    enum:
    - service
    - network
    - db
    - serf
    - cloud
    - device
    - process_model
    - plc_config
    - plc_address_list
    - plc_process_model_address_list
    - plc_connect
    type: string
    x-enum-comments:
      ProblemCodeCloud: 未连接云端
      ProblemCodeDB: 数据库连接错误
      ProblemCodeDevice: 未绑定设备
      ProblemCodeNetwork: 网络错误
      ProblemCodePlcAddressList: plc地址表缺失
      ProblemCodePlcConfig: plc配置缺失
      ProblemCodePlcConnect: plc连接失败
      ProblemCodePlcProcessModelAddressList: plc地址表缺失
      ProblemCodeProcessModel: 工艺参数缺失
      ProblemCodeSerf: 未加入serf集群
      ProblemCodeService: 服务不可用
    x-enum-varnames:
    - ProblemCodeService
    - ProblemCodeNetwork
    - ProblemCodeDB
    - ProblemCodeSerf
    - ProblemCodeCloud
    - ProblemCodeDevice
    - ProblemCodeProcessModel
    - ProblemCodePlcConfig
    - ProblemCodePlcAddressList
    - ProblemCodePlcProcessModelAddressList
    - ProblemCodePlcConnect
  constvar.TaskMode:
    enum:
    - 1
    - 2
    - 3
    type: integer
    x-enum-comments:
      TaskModeCurrent: 未开始的和进行中的
      TaskModeLastFinished: 上一个结束的
      TaskModeUnStarted: 未开始的
    x-enum-varnames:
    - TaskModeUnStarted
    - TaskModeCurrent
    - TaskModeLastFinished
  contextx.Response:
    properties:
      code:
@@ -96,37 +182,199 @@
      msg:
        type: string
    type: object
  contextx.ResponseList:
    properties:
      code:
        type: integer
      data: {}
      msg:
        type: string
      total:
        type: integer
    type: object
  model.CommonStats:
    properties:
      name:
        type: string
      value:
        type: string
    type: object
  model.Dashboard:
    properties:
      createdAt:
        type: string
      delayWorkOrderAmount:
        description: 延期交付工单数
        type: integer
      deletedAt:
        type: string
      deviceLoad:
        description: 设备负荷对比分析
        items:
          $ref: '#/definitions/model.CommonStats'
        type: array
      deviceLoadData:
        description: 设备负荷对比分析
        type: string
      deviceRunningAmount:
        description: 开机台数
        type: integer
      externalDeviceRunningAmount:
        description: 外加工台数
        type: integer
      id:
        type: integer
      inMaintenanceDeviceAmount:
        description: 维修中设备数
        type: integer
      internalDeviceRunningAmount:
        description: 自有开机台数
        type: integer
      materialMissWorkOrderAmount:
        description: 物料不足工单数
        type: integer
      materialRequirement:
        description: 物料需求统计
        items:
          $ref: '#/definitions/model.CommonStats'
        type: array
      materialRequirementData:
        description: 物料需求统计
        type: string
      orderFinishRate:
        description: 订单完成比率
        items:
          $ref: '#/definitions/model.CommonStats'
        type: array
      orderFinishRateData:
        description: 订单完成比率
        type: string
      outPlanProductionAmount:
        description: 计划外加工数
        type: integer
      personnelProductivity:
        description: 人员生产效率
        items:
          $ref: '#/definitions/model.CommonStats'
        type: array
      personnelProductivityData:
        description: 人员生产效率
        type: string
      personnelSkillPercent:
        description: 人员技能占比
        items:
          $ref: '#/definitions/model.CommonStats'
        type: array
      personnelSkillPercentData:
        description: 人员技能占比
        type: string
      planOrderFinishRate:
        description: 计划达成率
        type: integer
      planProductionAmount:
        description: 计划加工数
        type: integer
      realExternalProductionAmount:
        description: 实际外加工数
        type: integer
      realProductionAmount:
        description: 实际生产数
        type: integer
      todayFinishAmount:
        description: 车间当日合计生产
        type: integer
      todayQualifiedRate:
        description: 车间当日正品率
        type: string
      totalDeviceAmount:
        description: 总设备数
        type: integer
      totalProductionAmount:
        description: 总产量
        type: integer
      updatedAt:
        type: string
      version:
        type: string
      workOrderAmount:
        description: 生产工单数
        type: integer
      workOrderStats:
        description: 工单进度统计
        items:
          $ref: '#/definitions/model.WorkOrderStats'
        type: array
      workOrderStatsData:
        description: 工单进度统计
        type: string
      workerTypeStats:
        description: 人员工种分析
        items:
          $ref: '#/definitions/model.CommonStats'
        type: array
      workerTypeStatsData:
        description: 人员工种分析
        type: string
      workshopStats:
        description: 车间统计
        items:
          $ref: '#/definitions/model.WorkshopStats'
        type: array
      workshopStatsData:
        description: 车间统计
        type: string
    type: object
  model.DevicePlc:
    properties:
      address:
        description: |-
          PortName   string `gorm:"type:varchar(191);comment:端口名称" json:"portName"`
          Frequency  int    `gorm:"type:int(11);comment:数据更新频率 0-实时更新 1-1次/秒" json:"frequency"`
        description: plc ip地址, method = modbusTCP用
        type: string
      baudRate:
        description: 串口波特率, method = serial时 用
        type: integer
      brand:
        type: string
      createdAt:
        type: string
      dataBit:
        description: 数据位,method = modbusRTU 用
        type: integer
      deletedAt:
        type: string
      details:
        items:
          $ref: '#/definitions/model.DevicePlcAddress'
        type: array
      deviceID:
        description: 设备编号
        type: string
      id:
        type: integer
      isOpen:
        type: boolean
      method:
        $ref: '#/definitions/constvar.PlcMethod'
      parity:
        allOf:
        - $ref: '#/definitions/constvar.Parity'
        description: 校验方式,method = modbusRTU 用
      port:
        description: plc 端口号,  method =  modbusTCP用
        type: integer
      serialName:
        description: 串口名称,method = serial时 用
        type: string
      stopBit:
        description: 停止位,method = modbusRTU 用
        type: integer
      updatedAt:
        type: string
    type: object
  model.DevicePlcAddress:
    properties:
      channel:
        description: 数据起始地址
        type: integer
      fieldName:
        allOf:
        - $ref: '#/definitions/constvar.PlcStartAddressType'
@@ -144,6 +392,10 @@
    type: object
  model.NetConfig:
    properties:
      createdAt:
        type: string
      deletedAt:
        type: string
      dns:
        description: dns
        type: string
@@ -165,6 +417,8 @@
        allOf:
        - $ref: '#/definitions/model.NetConfigStatus'
        description: 状态(1启用2禁用)
      updatedAt:
        type: string
    required:
    - gateway
    - ip
@@ -186,11 +440,17 @@
    properties:
      amount:
        type: number
      createdAt:
        type: string
      customer:
        type: string
      deletedAt:
        type: string
      deliverDate:
        type: string
      endTime:
        type: integer
      id:
        type: integer
      orderAttr:
        description: 订单属性拼接的字符串,即货物描述
@@ -209,6 +469,8 @@
        $ref: '#/definitions/model.OrderStatus'
      unit:
        type: string
      updatedAt:
        type: string
      workOrderId:
        type: string
    type: object
@@ -224,9 +486,15 @@
    - OrderStatusFinished
  model.PlcBrand:
    properties:
      createdAt:
        type: string
      deletedAt:
        type: string
      id:
        type: integer
      name:
        type: string
      updatedAt:
        type: string
    type: object
  model.ProcedureStatus:
@@ -241,14 +509,20 @@
    - ProcedureStatusFinished
  model.Procedures:
    properties:
      channel:
        description: 通道
        type: integer
      createdAt:
        type: string
      deletedAt:
        type: string
      deviceId:
        type: string
      endTime:
        type: integer
      id:
      finishedQuantity:
        type: integer
      position:
        description: 每个设备可能有多个机位同时生产,用position表示位置
      id:
        type: integer
      procedure:
        allOf:
@@ -256,62 +530,323 @@
        description: common.ProductProcedure  对象
      procedureId:
        type: string
      processModelNumber:
        description: 工艺模型编号
        type: string
      productProcedureID:
        description: 产品工序id
        type: string
      realEndTime:
        type: integer
      realStartTime:
        type: integer
      startTime:
        type: integer
      status:
        $ref: '#/definitions/model.ProcedureStatus'
      updatedAt:
        type: string
    type: object
  model.ProcessModel:
    properties:
      createdAt:
        type: string
      deletedAt:
        type: string
      deviceId:
        description: 用于过滤获取nsq消息
        type: string
      id:
        type: integer
      isUpdate:
        description: 前端用
        type: boolean
      newNumber:
        type: string
      newParamsMap:
        additionalProperties: true
        type: object
      number:
        description: 工艺模型编号
        type: string
      params:
        type: string
      paramsMap:
        additionalProperties: true
        type: object
      procedure:
        description: 工序
        type: string
      product:
        description: 产品名称
        type: string
      updatedAt:
        type: string
    type: object
  model.ReportWork:
    properties:
      barCode:
        description: 条形码
        type: string
      createdAt:
        type: string
      deletedAt:
        type: string
      deviceId:
        type: string
      deviceName:
        type: string
      endTime:
        type: integer
      finishAmount:
        description: 本次报工 - 上次报工
        type: integer
      id:
        type: integer
      procedureId:
        type: string
      proceduresId:
        description: procedures表的id
        type: integer
      productProcedureID:
        description: 产品工序id
        type: string
      reportAmount:
        description: 报工数量
        type: integer
      startTime:
        type: integer
      updatedAt:
        type: string
      workOrderId:
        type: string
      workerID:
        description: 报工人id
        type: string
      workerName:
        description: 报工人姓名
        type: string
      workerTime:
        description: 工时,单位秒
        type: integer
    type: object
  model.WorkOrderStats:
    properties:
      amount:
        description: 生产数量
        type: integer
      delayDays:
        description: 延期天数
        type: integer
      finishProcedureNum:
        description: 已完成工序数量
        type: integer
      number:
        description: 编号
        type: string
      planTime:
        description: 计划时间
        type: string
      procedureNum:
        description: 工序数量
        type: integer
      processingProcedureNum:
        description: 进行中工序数量
        type: integer
      product:
        description: 产品
        type: string
      scale:
        description: 规格
        type: string
    type: object
  model.WorkshopStats:
    properties:
      defective:
        description: 次品数量
        type: integer
      name:
        description: 车间名称
        type: string
      percent:
        description: 正品率
        type: integer
      qualified:
        description: 正品数量
        type: integer
      total:
        description: 生产总数
        type: integer
    type: object
  problem.CheckResult:
    properties:
      checkResult:
        type: boolean
      itemCode:
        $ref: '#/definitions/constvar.ProblemCode'
      itemName:
        type: string
    type: object
  request.AddPlcBrand:
    properties:
      createdAt:
        type: string
      deletedAt:
        type: string
      id:
        type: integer
      name:
        type: string
      updatedAt:
        type: string
    type: object
  request.DeviceConfig:
    properties:
      needSetProcessParams:
        description: 是否需要设置工艺参数
        type: boolean
    type: object
  request.GetProductProgress:
    properties:
      channel:
        type: integer
      procedureId:
        type: integer
    type: object
  request.QueryType:
    enum:
    - 1
    - 2
    - 3
    type: integer
    x-enum-varnames:
    - QueryTypeUnFinish
    - QueryTypeToday
    - QueryTypeFinished
  request.ReportWork:
    properties:
      procedureId:
        description: 工序id
        type: integer
      reportAmount:
        description: 报工数量
        type: integer
      workerID:
        description: 报告者id
        type: string
    required:
    - procedureId
    - reportAmount
    - workerID
    type: object
  request.SendProcessParams:
    properties:
      position:
        type: integer
      procedureId:
        type: integer
    required:
    - procedureId
    type: object
  request.SetCurrentDevice:
    properties:
      currentDeviceID:
        description: 当前选定的生产设备
        type: string
    type: object
  request.UpdatePlc:
    properties:
      address:
        description: |-
          PortName   string `gorm:"type:varchar(191);comment:端口名称" json:"portName"`
          Frequency  int    `gorm:"type:int(11);comment:数据更新频率 0-实时更新 1-1次/秒" json:"frequency"`
        description: plc ip地址, method = modbusTCP用
        type: string
      baudRate:
        description: 串口波特率, method = serial时 用
        type: integer
      brand:
        type: string
      createdAt:
        type: string
      dataBit:
        description: 数据位,method = modbusRTU 用
        type: integer
      deletedAt:
        type: string
      details:
        items:
          $ref: '#/definitions/model.DevicePlcAddress'
        type: array
      deviceID:
        description: 设备编号
        type: string
      id:
        type: integer
      isOpen:
        type: boolean
      method:
        $ref: '#/definitions/constvar.PlcMethod'
      parity:
        allOf:
        - $ref: '#/definitions/constvar.Parity'
        description: 校验方式,method = modbusRTU 用
      port:
        description: plc 端口号,  method =  modbusTCP用
        type: integer
      serialName:
        description: 串口名称,method = serial时 用
        type: string
      stopBit:
        description: 停止位,method = modbusRTU 用
        type: integer
      updatedAt:
        type: string
    type: object
  request.UpdatePlcBrand:
    properties:
      createdAt:
        type: string
      deletedAt:
        type: string
      id:
        type: integer
      name:
        type: string
      updatedAt:
        type: string
    type: object
  response.Device:
    properties:
      deviceID:
        type: string
      deviceName:
        type: string
      needSetProcessParams:
        description: 是否需要设置工艺参数
        type: boolean
    type: object
  response.DeviceListResponse:
    properties:
      clusterNodeQuantity:
        description: 集群节点数量
        type: integer
      clusterStatus:
        description: 集群状态
        type: string
      currentDeviceID:
        description: 当前选定的生产设备
        type: string
      deviceList:
        description: 生产设备id列表
        items:
          $ref: '#/definitions/response.Device'
        type: array
      systemDeviceID:
        description: 工控机设备ID
        type: string
      systemDeviceRunSince:
        description: 系统运行开始时间戳
        type: integer
      systemDeviceStatus:
        allOf:
        - $ref: '#/definitions/response.SystemDeviceStatus'
        description: 设备状态
    type: object
  response.ListResponse:
    properties:
@@ -340,11 +875,28 @@
    type: object
  response.ProductProgress:
    properties:
      RealEndTime:
        type: integer
      RealStartTime:
        type: integer
      finishNumber:
        type: integer
      plcStatus:
        type: integer
      totalNumber:
        type: integer
    type: object
  response.SystemDeviceStatus:
    enum:
    - 1
    - 2
    type: integer
    x-enum-comments:
      SystemDeviceStatusNormal: 正常
      SystemDeviceStatusUnNormal: 异常
    x-enum-varnames:
    - SystemDeviceStatusNormal
    - SystemDeviceStatusUnNormal
  response.TaskCountdown:
    properties:
      countDownHour:
@@ -363,15 +915,36 @@
        items:
          type: string
        type: array
      canStarted:
        description: 是否可以开始生产
        type: boolean
      channel:
        description: 当前任务在设备第几个通道
        type: integer
      currentProcedureIndex:
        type: integer
      order:
        $ref: '#/definitions/model.Order'
      position:
        description: 当前任务在设备第几个位置
        type: integer
      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:
@@ -460,6 +1033,78 @@
      summary: 更新plc配置
      tags:
      - Config
  /v1/dashboard/dashboard:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/model.Dashboard'
              type: object
      summary: 驾驶舱
      tags:
      - 驾驶舱
  /v1/device/config:
    post:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.DeviceConfig'
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 设置设备一些配置
      tags:
      - 设备
  /v1/device/list:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/response.DeviceListResponse'
              type: object
      summary: 获取当前面板绑定的设备列表
      tags:
      - 设备
  /v1/device/setCurrentDeviceId:
    post:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.SetCurrentDevice'
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 设置当前设备id
      tags:
      - 设备
  /v1/plc/productProgress:
    post:
      parameters:
@@ -468,7 +1113,7 @@
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.SendProcessParams'
          $ref: '#/definitions/request.GetProductProgress'
      produces:
      - application/json
      responses:
@@ -571,6 +1216,110 @@
      summary: 更新plc品牌
      tags:
      - plc品牌
  /v1/processModel/list:
    get:
      parameters:
      - description: 页码
        in: query
        name: page
        type: integer
      - description: 每页大小
        in: query
        name: pageSize
        type: integer
      - description: 当前的工序id
        in: query
        name: procedureId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  items:
                    $ref: '#/definitions/model.ProcessModel'
                  type: array
              type: object
      summary: 获取工艺模型列表
      tags:
      - 工艺模型
  /v1/reportWork/list:
    get:
      parameters:
      - description: 页码
        in: query
        name: page
        type: integer
      - description: 每页大小
        in: query
        name: pageSize
        type: integer
      - description: 工序id
        in: query
        name: procedureId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.ResponseList'
            - properties:
                data:
                  items:
                    $ref: '#/definitions/model.ReportWork'
                  type: array
              type: object
      summary: 报工列表
      tags:
      - 报工
  /v1/reportWork/report:
    post:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.ReportWork'
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 上报
      tags:
      - 报工
  /v1/system/problemList:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  items:
                    $ref: '#/definitions/problem.CheckResult'
                  type: array
              type: object
      summary: 问题诊断/问题列表
      tags:
      - 系统
  /v1/task/countdown:
    get:
      produces:
@@ -617,6 +1366,21 @@
        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:
@@ -627,12 +1391,59 @@
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/response.TaskData'
                  $ref: '#/definitions/response.TaskResponse'
              type: object
      summary: 获取任务
      tags:
      - Task
  /v1/task/sendProcessParams/{id}:
  /v1/task/list:
    get:
      parameters:
      - description: 通道号。不传取全部的
        in: query
        name: channel
        type: integer
      - in: query
        name: deviceID
        type: string
      - description: 默认3
        in: query
        name: limit
        type: integer
      - description: 默认0
        in: query
        name: offset
        type: integer
      - description: 1 未完成 2 今天未完成 3 已完成
        enum:
        - 1
        - 2
        - 3
        in: query
        name: type
        type: integer
        x-enum-varnames:
        - QueryTypeUnFinish
        - QueryTypeToday
        - QueryTypeFinished
      produces:
      - application/json
      responses:
        "200":
          description: 成功
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  additionalProperties:
                    $ref: '#/definitions/response.TaskResponse'
                  type: object
              type: object
      summary: 获取任务列表2
      tags:
      - Task
  /v1/task/sendProcessParams:
    post:
      parameters:
      - description: 查询参数
@@ -674,4 +1485,23 @@
      summary: 任务开始(获取工艺参数)
      tags:
      - Task
  /v1/task/updateProcessParams:
    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
swagger: "2.0"