package models

import (
	"sync"
)

type Synchronized struct {
	Sync sync.Mutex // 互斥锁，相当于 synchronized
}

const (
	Flow_No_Type_Process_Stage           string = "process_stage"
	Flow_No_Type_Process_Route           string = "process_route"
	Flow_No_Type_Quality_Inspect_Program string = "quality_inspect_program"
	Flow_No_Type_Product_Material        string = "product_material"
	Flow_No_Type_Product_Bom             string = "product_bom"
	Flow_No_Type_Customer                string = "customer"
	Flow_No_Type_Sale_Plan               string = "sale_plan"
	Flow_No_Type_Sale_Order              string = "sale_order"
	Flow_No_Type_Purchase_Plan           string = "purchase_plan"
	Flow_No_Type_Purchase_Order          string = "purchase_order"
	Flow_No_Type_Warehouse               string = "warehouse"
	Flow_No_Type_Product_Plan            string = "product_plan"
	Flow_No_Type_Outsourcing_Plan        string = "outsourcing_plan"

	Common_Value_True_Value  bool    = true
	Common_Value_False_Value bool    = false
	Common_Value_Zero_String string  = "0"
	Common_Value_Zere_Float  float64 = 0.0
	Common_Value_One_Int64   int64   = 1
	Common_Value_One_Int32   int32   = 1

	File_Ref_Type_Process_Route           string = "process_route"
	File_Ref_Type_Process_Stage           string = "process_stage"
	File_Ref_Type_Quality_Inspect_Program string = "quality_inspect_program"
	File_Ref_Type_Sale_Order              string = "sale_order"
	File_Ref_Type_Purchase_Plan           string = "purchase_plan"
	File_Ref_Type_Purchase_Order          string = "purchase_order"
	File_Ref_Type_Product_Plan            string = "product_plan"
	File_Ref_Type_Customer                string = "customer"
	File_Ref_Type_Outsourcing_Plan        string = "outsourcing_plan"

	Status_Enable  string = "enable"
	Status_Disable string = "disable"

	Sale_Order_Status_Pending    string = "pending"
	Sale_Order_Status_Processing string = "processing"
	Sale_Order_Status_Shipped    string = "shipped"
	Sale_Order_Status_Partially  string = "partially"
	Sale_Order_Status_Complete   string = "complete"

	Purchase_Plan_Status_Pending    string = "pending"
	Purchase_Plan_Status_Processing string = "processing"
	Purchase_Plan_Status_Complete   string = "complete"

	Purchase_Order_Status_Pending    string = "pending"
	Purchase_Order_Status_Processing string = "processing"
	Purchase_Order_Status_Shipped    string = "shipped"
	Purchase_Order_Status_Complete   string = "complete"

	Warehouse_Record_Type_In     string = "in"
	Warehouse_Record_Type_Out    string = "out"
	Warehouse_Record_Type_Move   string = "move"
	Warehouse_Record_Type_Lock   string = "lock"
	Warehouse_Record_Type_Unlock string = "unlock"

	Product_Plan_Status_Pending    string = "pending"
	Product_Plan_Status_Processing string = "processing"
	Product_Plan_Status_Complete   string = "complete"

	Outsourcing_Plan_Status_Pending    string = "pending"
	Outsourcing_Plan_Status_Processing string = "processing"
	Outsourcing_Plan_Status_Complete   string = "complete"

	Warehouse_Record_Ref_Type_Product     string = "product"
	Warehouse_Record_Ref_Type_Purchase    string = "purchase"
	Warehouse_Record_Ref_Type_Outsourcing string = "outsourcing"
)

// type: {
// 	raw_material: "原材料供应商",
// 	module: "零部件/模块供应商",
// 	mro: "MRO供应商",
// 	service: "服务供应商",
// 	fixed_asset: "固定资产供应商"
// },

// valueLevel: {
// 	strategic: "战略供应商",
// 	core: "核心供应商",
// 	normal: "一般供应商"
// }
