zhangqian
2023-08-18 478720790a6c7adfad82cf6829ef9471a00daab2
增加workorder,完善
3个文件已删除
1 文件已重命名
6个文件已修改
582 ■■■■■ 已修改文件
.gitignore 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/task.go 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/apsClient.err.log 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/apsClient.info.log 402 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/procedures.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/request/schedule_task.go 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/work_order.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
nsq/model.go 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
nsq/msg_handler.go 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/task.go 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -23,4 +23,5 @@
*.test
apsClient
aps.db
.idea
.idea
logs
api/v1/task.go
@@ -58,18 +58,18 @@
        ctx.Fail(code)
        return
    }
    order, err := service.NewTaskService().GetOrderByOrderId(procedure.OrderID)
    order, err := service.NewTaskService().GetOrderByWorkOrderId(procedure.WorkOrderID)
    if err != nil {
        ctx.Fail(ecode.UnknownErr)
        return
    }
    params := service.GetProcessModelParams{
        WorkOrder: "",
        WorkOrder: procedure.WorkOrderID,
        OrderId:   procedure.OrderID,
        Product:   order.ProductName,
        Procedure: procedure.ProceduresInfo.ProcedureName,
        Device:    procedure.ProceduresInfo.DeviceID,
        Device:    procedure.ProceduresInfo.DeviceName,
    }
    resp, err := service.ProcessModel{}.GetProcessModel(params)
@@ -138,7 +138,7 @@
        ctx.Fail(code)
        return
    }
    order, err := service.NewTaskService().GetOrderByOrderId(procedure.OrderID)
    order, err := service.NewTaskService().GetOrderByWorkOrderId(procedure.WorkOrderID)
    if err != nil {
        ctx.Fail(ecode.UnknownErr)
        return
logs/apsClient.err.log
File was deleted
logs/apsClient.info.log
File was deleted
model/procedures.go
@@ -13,6 +13,7 @@
    Procedures struct {
        gorm.Model     `json:"-"`
        ID             int                      `gorm:"primarykey"`
        WorkOrderID    string                   `gorm:"index;type:varchar(191);not null;comment:工单ID" json:"-"`
        OrderID        string                   `gorm:"index;type:varchar(191);not null;comment:订单ID" json:"-"`
        Status         ProcedureStatus          `json:"-"`
        ProcedureData  string                   `json:"-"`                  //request.ProductProcedure  json串
@@ -72,8 +73,8 @@
    return slf
}
func (slf *ProceduresSearch) SetOrderId(orderId string) *ProceduresSearch {
    slf.OrderID = orderId
func (slf *ProceduresSearch) SetWorkOrderId(orderId string) *ProceduresSearch {
    slf.WorkOrderID = orderId
    return slf
}
func (slf *ProceduresSearch) SetStartTimeMax(ts int64) *ProceduresSearch {
@@ -103,8 +104,8 @@
        db = db.Order(slf.Order)
    }
    if slf.OrderID != "" {
        db = db.Where("order_id = ?", slf.OrderID)
    if slf.WorkOrderID != "" {
        db = db.Where("work_order_id = ?", slf.WorkOrderID)
    }
    if slf.Preload {
model/request/schedule_task.go
@@ -4,7 +4,8 @@
// 排程任务下发
type (
    Order struct {
    WorkOrder struct {
        WorkOrderID string          `json:"workOrderId"`
        OrderID     string          `gorm:"index;type:varchar(191);not null;comment:订单ID" json:"orderId"`
        ProductID   string          `gorm:"type:varchar(191);comment:产品ID" json:"productId"`
        ProductName string          `gorm:"type:varchar(191);comment:产品名称" json:"productName"`
@@ -29,12 +30,15 @@
        WorkerID   string `gorm:"type:varchar(2048);comment:人员ID" json:"workerId"`
        WorkerName string `gorm:"unique;type:varchar(191);not null;comment:人员姓名" json:"workerName"`
        PhoneNum   string `gorm:"type:varchar(191);comment:手机号" json:"phoneNum"`
        StartTime  int64  `gorm:"comment:开始时间" json:"startTime"`
        EndTime    int64  `gorm:"comment:结束时间" json:"endTime"`
    }
    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"`
        DeviceID        string               `gorm:"type:varchar(191);not null;comment:设备ID" json:"deviceId"`
        DeviceName      string               `gorm:"type:varchar(191);not null;comment:设备名称" 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"`
@@ -44,7 +48,7 @@
    }
    DeliverScheduleTask struct {
        Order      Order               `json:"order"`
        WorkOrder  WorkOrder           `json:"workOrder"`
        Procedures []*ProductProcedure `json:"procedures"` // 工序列表
    }
)
model/work_order.go
File was renamed from model/order.go
@@ -10,6 +10,7 @@
type (
    Order struct {
        gorm.Model  `json:"-"`
        WorkOrderID string          `gorm:"index;type:varchar(191);not null;comment:工单ID" json:"workOrderId"`
        OrderID     string          `gorm:"index;type:varchar(191);not null;comment:订单ID" json:"orderId"`
        ProductID   string          `gorm:"type:varchar(191);comment:产品ID" json:"productId"`
        ProductName string          `gorm:"type:varchar(191);comment:产品名称" json:"productName"`
@@ -83,8 +84,8 @@
    return slf
}
func (slf *OrderSearch) SetOrderId(orderId string) *OrderSearch {
    slf.OrderID = orderId
func (slf *OrderSearch) SetWorkOrderId(workOrderId string) *OrderSearch {
    slf.WorkOrderID = workOrderId
    return slf
}
@@ -95,8 +96,8 @@
        db = db.Order(slf.OrderBy)
    }
    if slf.OrderID != "" {
        db = db.Where("order_id = ?", slf.OrderID)
    if slf.WorkOrderID != "" {
        db = db.Where("work_order_id = ?", slf.OrderID)
    }
    if slf.Status != 0 {
nsq/model.go
File was deleted
nsq/msg_handler.go
@@ -3,6 +3,7 @@
import (
    "apsClient/conf"
    "apsClient/model"
    "apsClient/model/request"
    "apsClient/pkg/logx"
    "apsClient/pkg/structx"
    "encoding/json"
@@ -20,7 +21,7 @@
func (slf *ScheduleTask) HandleMessage(data []byte) (err error) {
    fmt.Println(string(data))
    var tasks = make([]*DeliverScheduleTask, 0)
    var tasks = make([]*request.DeliverScheduleTask, 0)
    err = json.Unmarshal(data, &tasks)
    if err != nil {
@@ -31,10 +32,10 @@
        for _, procedure := range task.Procedures {
            if procedure.DeviceID == conf.Conf.System.DeviceId { //只存储本设备的工序
                err = model.WithTransaction(func(db *gorm.DB) error {
                    _, err := model.NewOrderSearch(db).SetOrderId(task.Order.OrderID).First()
                    _, err := model.NewOrderSearch(db).SetWorkOrderId(task.WorkOrder.WorkOrderID).First()
                    if err == gorm.ErrRecordNotFound {
                        var orderRecord model.Order
                        err = structx.AssignTo(task.Order, &orderRecord)
                        err = structx.AssignTo(task.WorkOrder, &orderRecord)
                        orderRecord.Status = model.OrderStatusUnFinished
                        if err != nil {
                            logx.Errorf(" structx.Assign task.Order to orderRecord err: %v", err.Error())
@@ -45,8 +46,9 @@
                        }
                    }
                    procedureRecord := model.Procedures{
                        OrderID: task.Order.OrderID,
                        Status:  model.ProcedureStatusUnFinished,
                        WorkOrderID: task.WorkOrder.WorkOrderID,
                        OrderID:     task.WorkOrder.OrderID,
                        Status:      model.ProcedureStatusUnFinished,
                    }
                    procedureData, err := json.Marshal(procedure)
                    procedureRecord.ProcedureData = string(procedureData)
service/task.go
@@ -35,13 +35,13 @@
        return nil, ecode.DBErr
    }
    procedure, err := model.NewProceduresSearch(nil).
        SetOrderId(order.OrderID).
        SetWorkOrderId(order.WorkOrderID).
        SetStartTimeMax(nowTs).
        SetStatus(model.ProcedureStatusUnFinished).
        First()
    if err == gorm.ErrRecordNotFound { //该订单本设备全部工序完成,把订单置为完成状态(只是对本设备完成)
        err = nil
        err = model.NewOrderSearch(nil).SetOrderId(order.OrderID).UpdateByMap(map[string]interface{}{
        err = model.NewOrderSearch(nil).SetWorkOrderId(order.WorkOrderID).UpdateByMap(map[string]interface{}{
            "status": model.OrderStatusFinished,
        })
        if err != nil {
@@ -71,6 +71,6 @@
    })
}
func (slf TaskService) GetOrderByOrderId(orderId string) (order *model.Order, err error) {
    return model.NewOrderSearch(nil).SetOrderId(orderId).First()
func (slf TaskService) GetOrderByWorkOrderId(workOrderId string) (order *model.Order, err error) {
    return model.NewOrderSearch(nil).SetWorkOrderId(workOrderId).First()
}