zhangqian
2023-12-08 b9abe45f791bea70a059e37186907190afcec350
docs/swagger.yaml
@@ -57,6 +57,8 @@
        type: string
      procedureName:
        type: string
      productProcedureID:
        type: string
      startTime:
        type: integer
      workHours:
@@ -74,15 +76,31 @@
      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
@@ -97,11 +115,51 @@
  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
@@ -124,33 +182,192 @@
      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:"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:
@@ -175,6 +392,10 @@
    type: object
  model.NetConfig:
    properties:
      createdAt:
        type: string
      deletedAt:
        type: string
      dns:
        description: dns
        type: string
@@ -196,6 +417,8 @@
        allOf:
        - $ref: '#/definitions/model.NetConfigStatus'
        description: 状态(1启用2禁用)
      updatedAt:
        type: string
    required:
    - gateway
    - ip
@@ -217,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: 订单属性拼接的字符串,即货物描述
@@ -240,6 +469,8 @@
        $ref: '#/definitions/model.OrderStatus'
      unit:
        type: string
      updatedAt:
        type: string
      workOrderId:
        type: string
    type: object
@@ -255,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:
@@ -275,9 +512,15 @@
      channel:
        description: 通道
        type: integer
      createdAt:
        type: string
      deletedAt:
        type: string
      deviceId:
        type: string
      endTime:
        type: integer
      finishedQuantity:
        type: integer
      id:
        type: integer
@@ -287,17 +530,214 @@
        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:
@@ -306,41 +746,107 @@
    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:"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:
@@ -369,6 +875,10 @@
    type: object
  response.ProductProgress:
    properties:
      RealEndTime:
        type: integer
      RealStartTime:
        type: integer
      finishNumber:
        type: integer
      plcStatus:
@@ -376,6 +886,17 @@
      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:
@@ -512,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:
@@ -520,7 +1113,7 @@
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.SendProcessParams'
          $ref: '#/definitions/request.GetProductProgress'
      produces:
      - application/json
      responses:
@@ -534,23 +1127,6 @@
                  $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:
@@ -643,11 +1219,6 @@
  /v1/processModel/list:
    get:
      parameters:
      - description: 当前正在使用的工艺参数编号
        in: query
        name: number
        required: true
        type: string
      - description: 页码
        in: query
        name: page
@@ -671,11 +1242,84 @@
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/response.TaskCountdown'
                  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:
@@ -752,6 +1396,53 @@
      summary: 获取任务
      tags:
      - Task
  /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: