package test
|
|
import (
|
"apsClient/model/common"
|
"apsClient/nsq"
|
"encoding/json"
|
"fmt"
|
"github.com/shopspring/decimal"
|
"log"
|
"testing"
|
"time"
|
)
|
|
func TestHandleMessage(t *testing.T) {
|
Init()
|
var tasks = make([]*common.DeliverScheduleTask, 0)
|
startTime, _ := time.ParseInLocation("2006-01-02 15:04", "2023-08-22 08:00", time.Local)
|
endTime, _ := time.ParseInLocation("2006-01-02 15:04", "2023-08-23 12:00", time.Local)
|
fmt.Println(startTime)
|
fmt.Println(startTime.Unix())
|
startTime1, _ := time.ParseInLocation("2006-01-02 15:04", "2023-08-22 08:00", time.Local)
|
endTime1, _ := time.ParseInLocation("2006-01-02 15:04", "2023-08-22 18:00", time.Local)
|
|
startTime2, _ := time.ParseInLocation("2006-01-02 15:04", "2023-08-22 18:00", time.Local)
|
endTime2, _ := time.ParseInLocation("2006-01-02 15:04", "2023-08-23 06:00", time.Local)
|
|
inputMaterials := []*common.ProcedureMaterial{{
|
MaterialID: "MaterialID 1",
|
MaterialName: "这是一个输入物料名",
|
Amount: decimal.NewFromFloat(100),
|
Unit: "件",
|
}}
|
outputMaterials := []*common.ProcedureMaterial{{
|
MaterialID: "MaterialID",
|
MaterialName: "这是一个输出物料名",
|
Amount: decimal.NewFromFloat(20),
|
Unit: "件",
|
}}
|
workers := []*common.ProcedureWorker{{
|
WorkerID: "WorkerID 1",
|
WorkerName: "张三",
|
PhoneNum: "18800000000",
|
StartTime: startTime1.Unix(),
|
EndTime: endTime1.Unix(),
|
},
|
{
|
WorkerID: "WorkerID 2",
|
WorkerName: "李四",
|
PhoneNum: "19900000000",
|
StartTime: startTime2.Unix(),
|
EndTime: endTime2.Unix(),
|
}}
|
|
task1 := common.DeliverScheduleTask{
|
WorkOrder: common.WorkOrder{
|
WorkOrderID: "WorkOrderID 1",
|
OrderID: "OrderID 1",
|
ProductID: "ProductID 1",
|
ProductName: "ProductName 1",
|
Parameter: "Parameter 1",
|
Customer: "Customer 1",
|
DeliverDate: "2023-08-19",
|
OrderAttr: "OrderAttr",
|
Amount: decimal.NewFromFloat(4),
|
Unit: "件",
|
StartTime: startTime.Unix(),
|
EndTime: endTime.Unix(),
|
},
|
Procedures: []*common.ProductProcedure{{
|
ProcedureID: "ProcedureID 1",
|
ProcedureName: "ProcedureName 1",
|
DeviceID: "DeviceID1",
|
DeviceName: "DeviceName 1",
|
StartTime: startTime.Unix(),
|
EndTime: endTime.Unix(),
|
WorkHours: decimal.NewFromFloat(4),
|
InputMaterials: inputMaterials,
|
OutputMaterials: outputMaterials,
|
Workers: workers,
|
}, {ProcedureID: "ProcedureID 2",
|
ProcedureName: "ProcedureName 2",
|
DeviceID: "DeviceID1",
|
DeviceName: "DeviceName 1",
|
StartTime: startTime.Unix(),
|
EndTime: endTime.Unix(),
|
WorkHours: decimal.NewFromFloat(4),
|
InputMaterials: inputMaterials,
|
OutputMaterials: outputMaterials,
|
Workers: workers,
|
}},
|
}
|
task2 := common.DeliverScheduleTask{
|
WorkOrder: common.WorkOrder{
|
WorkOrderID: "WorkOrderID 2",
|
OrderID: "OrderID 2",
|
ProductID: "ProductID 2",
|
ProductName: "ProductName 2",
|
Parameter: "Parameter 2",
|
Customer: "Customer 2",
|
DeliverDate: "2023-08-19",
|
OrderAttr: "OrderAttr",
|
Amount: decimal.NewFromFloat(4),
|
Unit: "件",
|
StartTime: startTime.Unix(),
|
EndTime: endTime.Unix(),
|
},
|
Procedures: []*common.ProductProcedure{{
|
ProcedureID: "ProcedureID 3",
|
ProcedureName: "ProcedureName 3",
|
DeviceID: "DeviceID1",
|
DeviceName: "DeviceName 1",
|
StartTime: startTime.Unix(),
|
EndTime: endTime.Unix(),
|
WorkHours: decimal.NewFromFloat(4),
|
InputMaterials: inputMaterials,
|
OutputMaterials: outputMaterials,
|
Workers: workers,
|
}, {
|
ProcedureID: "ProcedureID 4",
|
ProcedureName: "ProcedureName 4",
|
DeviceID: "DeviceID1",
|
DeviceName: "DeviceName 1",
|
StartTime: startTime.Unix(),
|
EndTime: endTime.Unix(),
|
WorkHours: decimal.NewFromFloat(4),
|
InputMaterials: inputMaterials,
|
OutputMaterials: outputMaterials,
|
Workers: workers,
|
},
|
},
|
}
|
tasks = append(tasks, &task1, &task2)
|
data, _ := json.Marshal(&tasks)
|
handler := nsq.ScheduleTask{}
|
err := handler.HandleMessage(data)
|
if err != nil {
|
log.Fatal(err)
|
}
|
}
|