zhangqian
2023-09-13 ffdeee34afd3c28f603584e80039fc1dc30f1ff9
下发工艺参数时记录该工序对应的设备位置
7个文件已修改
43 ■■■■■ 已修改文件
api/v1/task.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/procedures.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/response/common.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/task.go 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/task.go
@@ -211,7 +211,7 @@
    }
    err = model.WithTransaction(func(db *gorm.DB) error {
        err = taskService.UpdateProcedureStatus(db, params.ProcedureId, model.ProcedureStatusProcessing)
        err = taskService.UpdateProcedureStatusAndPosition(db, params.ProcedureId, model.ProcedureStatusProcessing, params.Position)
        if err != nil {
            return err
        }
docs/docs.go
@@ -865,6 +865,10 @@
                "id": {
                    "type": "integer"
                },
                "position": {
                    "description": "每个设备可能有多个机位同时生产,用position表示位置",
                    "type": "integer"
                },
                "procedure": {
                    "description": "common.ProductProcedure  对象",
                    "allOf": [
@@ -1040,6 +1044,10 @@
                "order": {
                    "$ref": "#/definitions/model.Order"
                },
                "position": {
                    "description": "当前任务在设备第几个位置",
                    "type": "integer"
                },
                "procedure": {
                    "$ref": "#/definitions/model.Procedures"
                }
docs/swagger.json
@@ -853,6 +853,10 @@
                "id": {
                    "type": "integer"
                },
                "position": {
                    "description": "每个设备可能有多个机位同时生产,用position表示位置",
                    "type": "integer"
                },
                "procedure": {
                    "description": "common.ProductProcedure  对象",
                    "allOf": [
@@ -1028,6 +1032,10 @@
                "order": {
                    "$ref": "#/definitions/model.Order"
                },
                "position": {
                    "description": "当前任务在设备第几个位置",
                    "type": "integer"
                },
                "procedure": {
                    "$ref": "#/definitions/model.Procedures"
                }
docs/swagger.yaml
@@ -242,6 +242,9 @@
        type: integer
      id:
        type: integer
      position:
        description: 每个设备可能有多个机位同时生产,用position表示位置
        type: integer
      procedure:
        allOf:
        - $ref: '#/definitions/common.ProductProcedure'
@@ -359,6 +362,9 @@
        type: integer
      order:
        $ref: '#/definitions/model.Order'
      position:
        description: 当前任务在设备第几个位置
        type: integer
      procedure:
        $ref: '#/definitions/model.Procedures'
    type: object
model/procedures.go
@@ -17,6 +17,7 @@
        OrderID        string `gorm:"index;type:varchar(191);not null;comment:订单ID" json:"-"`
        DeviceID       string `gorm:"index;type:varchar(191);comment:设备ID" json:"deviceId"`
        ProcedureID    string `gorm:"index;type:varchar(191);comment:工序ID" json:"procedureId"`
        Position       int    `gorm:"type:int;comment:工作位置" json:"position"` //每个设备可能有多个机位同时生产,用position表示位置
        StartTime      int64  `gorm:"comment:计划开始时间" json:"startTime"`
        EndTime        int64  `gorm:"comment:计划结束时间" json:"endTime"`
        Status         ProcedureStatus
model/response/common.go
@@ -21,6 +21,7 @@
type TaskData struct {
    Order                 *model.Order
    Procedure             *model.Procedures
    Position              int //当前任务在设备第几个位置
    AllProcedures         []string
    CurrentProcedureIndex int
}
service/task.go
@@ -66,8 +66,11 @@
    }
    for _, procedure := range procedures {
        taskData := response.TaskData{
            Order:     orderMap[procedure.WorkOrderID],
            Procedure: procedure,
            Order:                 orderMap[procedure.WorkOrderID],
            Procedure:             procedure,
            AllProcedures:         nil,
            CurrentProcedureIndex: 0,
            Position:              procedure.Position,
        }
        taskDataList = append(taskDataList, &taskData)
    }
@@ -82,6 +85,16 @@
    return procedure, ecode.OK
}
func (slf TaskService) UpdateProcedureStatusAndPosition(db *gorm.DB, id int, status model.ProcedureStatus, position int) error {
    if status == model.ProcedureStatusFinished {
        ProgressCacheUnset()
    }
    return model.NewProceduresSearch(db).SetId(id).UpdateByMap(map[string]interface{}{
        "status":   status,
        "position": position,
    })
}
func (slf TaskService) UpdateProcedureStatus(db *gorm.DB, id int, status model.ProcedureStatus) error {
    if status == model.ProcedureStatusFinished {
        ProgressCacheUnset()