zhangqian
2023-11-27 dcf393c077af5638ea12c05dd6e1754fa535be20
排程任务下发增加productProcedureID,报工表和工序表增加productProcedureID
8个文件已修改
143 ■■■■■ 已修改文件
docs/docs.go 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/common/common.go 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/procedures.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/report_work.go 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
nsq/msg_handler.go 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/report_work.go 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go
@@ -987,6 +987,9 @@
                "procedureName": {
                    "type": "string"
                },
                "productProcedureID": {
                    "type": "string"
                },
                "startTime": {
                    "type": "integer"
                },
@@ -1466,6 +1469,10 @@
                    "description": "工艺模型编号",
                    "type": "string"
                },
                "productProcedureID": {
                    "description": "产品工序id",
                    "type": "string"
                },
                "realEndTime": {
                    "type": "integer"
                },
@@ -1539,7 +1546,7 @@
            "properties": {
                "barCode": {
                    "description": "条形码",
                    "type": "integer"
                    "type": "string"
                },
                "channel": {
                    "description": "通道",
@@ -1574,6 +1581,10 @@
                    "description": "procedures表的id",
                    "type": "integer"
                },
                "productProcedureID": {
                    "description": "产品工序id",
                    "type": "string"
                },
                "reportAmount": {
                    "description": "报工数量",
                    "type": "integer"
docs/swagger.json
@@ -975,6 +975,9 @@
                "procedureName": {
                    "type": "string"
                },
                "productProcedureID": {
                    "type": "string"
                },
                "startTime": {
                    "type": "integer"
                },
@@ -1454,6 +1457,10 @@
                    "description": "工艺模型编号",
                    "type": "string"
                },
                "productProcedureID": {
                    "description": "产品工序id",
                    "type": "string"
                },
                "realEndTime": {
                    "type": "integer"
                },
@@ -1527,7 +1534,7 @@
            "properties": {
                "barCode": {
                    "description": "条形码",
                    "type": "integer"
                    "type": "string"
                },
                "channel": {
                    "description": "通道",
@@ -1562,6 +1569,10 @@
                    "description": "procedures表的id",
                    "type": "integer"
                },
                "productProcedureID": {
                    "description": "产品工序id",
                    "type": "string"
                },
                "reportAmount": {
                    "description": "报工数量",
                    "type": "integer"
docs/swagger.yaml
@@ -57,6 +57,8 @@
        type: string
      procedureName:
        type: string
      productProcedureID:
        type: string
      startTime:
        type: integer
      workHours:
@@ -397,6 +399,9 @@
      processModelNumber:
        description: 工艺模型编号
        type: string
      productProcedureID:
        description: 产品工序id
        type: string
      realEndTime:
        type: integer
      realStartTime:
@@ -448,7 +453,7 @@
    properties:
      barCode:
        description: 条形码
        type: integer
        type: string
      channel:
        description: 通道
        type: integer
@@ -472,6 +477,9 @@
      proceduresId:
        description: procedures表的id
        type: integer
      productProcedureID:
        description: 产品工序id
        type: string
      reportAmount:
        description: 报工数量
        type: integer
model/common/common.go
@@ -38,20 +38,21 @@
    }
    ProductProcedure struct {
        ProcedureID       string               `gorm:"uniqueIndex:idx_product_procedure;type:varchar(191);comment:工序ID" json:"procedureId"`
        ProcedureName     string               `gorm:"type:varchar(191);comment:工序名称,仅查询用" json:"procedureName"`
        NextProcedureID   string               `json:"nextProcedureId"`
        NextProcedureName string               `json:"nextProcedureName"`
        DeviceID          string               `gorm:"type:varchar(191);not null;comment:设备ID" json:"deviceId"`
        DeviceName        string               `json:"deviceName"`
        StartTime         int64                `gorm:"comment:计划开始时间" json:"startTime"`
        EndTime           int64                `gorm:"comment:计划结束时间" json:"endTime"`
        WorkHours         decimal.Decimal      `gorm:"type:decimal(35,18);comment:工时" json:"workHours"`
        InputMaterials    []*ProcedureMaterial `json:"inputMaterials"`    // 输入物料列表
        OutputMaterials   []*ProcedureMaterial `json:"outputMaterials"`   // 输出物料列表
        Workers           []*ProcedureWorker   `json:"workers"`           // 人员列表
        AllProcedureNames []string             `json:"allProcedureNames"` // 所属工单工序列表
        Channel           int32                `json:"channel"`           //通道序号
        ProductProcedureID string               `gorm:"index;type:varchar(191);not null;comment:产品工序ID" json:"productProcedureID"`
        ProcedureID        string               `gorm:"uniqueIndex:idx_product_procedure;type:varchar(191);comment:工序ID" json:"procedureId"`
        ProcedureName      string               `gorm:"type:varchar(191);comment:工序名称,仅查询用" json:"procedureName"`
        NextProcedureID    string               `json:"nextProcedureId"`
        NextProcedureName  string               `json:"nextProcedureName"`
        DeviceID           string               `gorm:"type:varchar(191);not null;comment:设备ID" json:"deviceId"`
        DeviceName         string               `json:"deviceName"`
        StartTime          int64                `gorm:"comment:计划开始时间" json:"startTime"`
        EndTime            int64                `gorm:"comment:计划结束时间" json:"endTime"`
        WorkHours          decimal.Decimal      `gorm:"type:decimal(35,18);comment:工时" json:"workHours"`
        InputMaterials     []*ProcedureMaterial `json:"inputMaterials"`    // 输入物料列表
        OutputMaterials    []*ProcedureMaterial `json:"outputMaterials"`   // 输出物料列表
        Workers            []*ProcedureWorker   `json:"workers"`           // 人员列表
        AllProcedureNames  []string             `json:"allProcedureNames"` // 所属工单工序列表
        Channel            int32                `json:"channel"`           //通道序号
    }
    DeliverScheduleTask struct {
model/procedures.go
@@ -12,6 +12,7 @@
type (
    Procedures struct {
        gorm.Model
        ProductProcedureID string `gorm:"index;type:varchar(191);not null" json:"productProcedureID"` //产品工序id
        WorkOrderID        string `gorm:"index;type:varchar(191);not null" json:"-"`
        OrderID            string `gorm:"index;type:varchar(191);not null" json:"-"`
        DeviceID           string `gorm:"index;type:varchar(191)" json:"deviceId"`
model/report_work.go
@@ -9,20 +9,21 @@
type (
    ReportWork struct {
        gorm.Model
        ProceduresID uint   `gorm:"index;type:varchar(191)" json:"proceduresId"` //procedures表的id
        WorkOrderID  string `gorm:"index;type:varchar(191);not null" json:"workOrderId"`
        DeviceID     string `gorm:"index;type:varchar(191)" json:"deviceId"`
        DeviceName   string `gorm:"index;type:varchar(191)" json:"deviceName"`
        ProcedureID  string `gorm:"index;type:varchar(191)" json:"procedureId"`
        Channel      int32  `gorm:"index;" json:"channel"` //通道
        StartTime    int64  `json:"startTime"`
        EndTime      int64  `json:"endTime"`
        ReportAmount int    `json:"reportAmount"` //报工数量
        FinishAmount int    `json:"finishAmount"` //本次报工 - 上次报工
        WorkerID     string `json:"workerID"`     //报工人id
        WorkerName   string `json:"workerName"`   //报工人姓名
        WorkerTime   int64  `json:"workerTime"`   //工时,单位秒
        BarCode      string `json:"barCode"`      //条形码
        ProceduresID       uint   `gorm:"index;type:varchar(191)" json:"proceduresId"`                //procedures表的id
        ProductProcedureID string `gorm:"index;type:varchar(191);not null" json:"productProcedureID"` //产品工序id
        WorkOrderID        string `gorm:"index;type:varchar(191);not null" json:"workOrderId"`
        DeviceID           string `gorm:"index;type:varchar(191)" json:"deviceId"`
        DeviceName         string `gorm:"index;type:varchar(191)" json:"deviceName"`
        ProcedureID        string `gorm:"index;type:varchar(191)" json:"procedureId"`
        Channel            int32  `gorm:"index;" json:"channel"` //通道
        StartTime          int64  `json:"startTime"`
        EndTime            int64  `json:"endTime"`
        ReportAmount       int    `json:"reportAmount"` //报工数量
        FinishAmount       int    `json:"finishAmount"` //本次报工 - 上次报工
        WorkerID           string `json:"workerID"`     //报工人id
        WorkerName         string `json:"workerName"`   //报工人姓名
        WorkerTime         int64  `json:"workerTime"`   //工时,单位秒
        BarCode            string `json:"barCode"`      //条形码
    }
    ReportWorkSearch struct {
nsq/msg_handler.go
@@ -52,15 +52,16 @@
        procedureRecords := make([]*model.Procedures, 0, len(task.Procedures))
        for _, procedure := range task.Procedures {
            procedureRecord := model.Procedures{
                WorkOrderID:    task.WorkOrder.WorkOrderID,
                OrderID:        task.WorkOrder.OrderID,
                DeviceID:       procedure.DeviceID,
                ProcedureID:    procedure.ProcedureID,
                StartTime:      procedure.StartTime,
                EndTime:        procedure.EndTime,
                Status:         model.ProcedureStatusWaitProcess,
                Channel:        procedure.Channel,
                ProceduresInfo: common.ProductProcedure{},
                ProductProcedureID: procedure.ProductProcedureID,
                WorkOrderID:        task.WorkOrder.WorkOrderID,
                OrderID:            task.WorkOrder.OrderID,
                DeviceID:           procedure.DeviceID,
                ProcedureID:        procedure.ProcedureID,
                StartTime:          procedure.StartTime,
                EndTime:            procedure.EndTime,
                Status:             model.ProcedureStatusWaitProcess,
                Channel:            procedure.Channel,
                ProceduresInfo:     common.ProductProcedure{},
            }
            procedureData, err := json.Marshal(procedure)
            if err != nil {
service/report_work.go
@@ -49,20 +49,21 @@
    }
    record := &model.ReportWork{
        ProceduresID: params.ProcedureId,
        WorkOrderID:  procedure.WorkOrderID,
        DeviceID:     procedure.DeviceID,
        DeviceName:   procedure.ProceduresInfo.DeviceName,
        ProcedureID:  procedure.ProcedureID,
        Channel:      procedure.Channel,
        StartTime:    startTs,
        EndTime:      nowTs,
        ReportAmount: params.ReportAmount,
        FinishAmount: finishAmount,
        WorkerID:     params.WorkerID,
        WorkerName:   workerName,
        WorkerTime:   nowTs - startTs,
        BarCode:      snowflake.GenerateIdStr(),
        ProceduresID:       params.ProcedureId,
        ProductProcedureID: procedure.ProductProcedureID,
        WorkOrderID:        procedure.WorkOrderID,
        DeviceID:           procedure.DeviceID,
        DeviceName:         procedure.ProceduresInfo.DeviceName,
        ProcedureID:        procedure.ProcedureID,
        Channel:            procedure.Channel,
        StartTime:          startTs,
        EndTime:            nowTs,
        ReportAmount:       params.ReportAmount,
        FinishAmount:       finishAmount,
        WorkerID:           params.WorkerID,
        WorkerName:         workerName,
        WorkerTime:         nowTs - startTs,
        BarCode:            snowflake.GenerateIdStr(),
    }
    err = model.NewReportWorkSearch(nil).Create(record)