package constvar
|
|
type BaseOperationType int
|
|
const (
|
BaseOperationTypeIncoming BaseOperationType = iota + 1 //收货
|
BaseOperationTypeOutgoing //交货
|
BaseOperationTypeInternal //内部调拨
|
BaseOperationTypeDisuse //报废
|
BaseOperationTypeAdjust //库存盘点
|
)
|
|
func (slf BaseOperationType) IsValid() bool {
|
return slf == BaseOperationTypeIncoming ||
|
slf == BaseOperationTypeOutgoing ||
|
slf == BaseOperationTypeInternal
|
}
|
|
type ReservationMethod int
|
|
const (
|
ReservationMethodAtConfirm ReservationMethod = iota + 1 //在确认时
|
ReservationMethodManual //手动
|
ReservationMethodByDate //在预定日期之前
|
)
|
|
func (slf ReservationMethod) IsValid() bool {
|
return slf == ReservationMethodAtConfirm ||
|
slf == ReservationMethodManual ||
|
slf == ReservationMethodByDate
|
}
|
|
type WhetherType int
|
|
const (
|
WhetherTypeAsk WhetherType = iota + 1 //询问
|
WhetherTypeAlways //总是
|
ReservationNever //从不
|
)
|
|
func (slf WhetherType) IsValid() bool {
|
return slf == WhetherTypeAsk ||
|
slf == WhetherTypeAlways ||
|
slf == ReservationNever
|
}
|
|
// ProductType 产品类型
|
type ProductType int
|
|
const (
|
Consumables ProductType = iota + 1 // 消耗品
|
Server // 服务
|
StoredProduct // 可储存的产品
|
)
|
|
// MaterialMode 物料类型(字符串)
|
type MaterialMode string
|
|
const (
|
MaterialModeRaw MaterialMode = "原材料"
|
MaterialModeSemi MaterialMode = "半成品"
|
MaterialModeFinished MaterialMode = "成品"
|
MaterialModeAuxiliary MaterialMode = "辅料" //辅料
|
MaterialModeConsumables MaterialMode = "耗材" //耗材
|
MaterialModeOther MaterialMode = "其他" //其他
|
MaterialModeVirtual MaterialMode = "虚拟件" //虚拟件, 不能销售,不能出入库,不能采购
|
)
|
|
func (t MaterialMode) Valid() bool {
|
if t != MaterialModeRaw &&
|
t != MaterialModeSemi &&
|
t != MaterialModeAuxiliary &&
|
t != MaterialModeConsumables &&
|
t != MaterialModeOther &&
|
t != MaterialModeFinished &&
|
t != MaterialModeVirtual {
|
return false
|
}
|
return true
|
}
|
|
func (t MaterialMode) Type() MaterialType {
|
switch t {
|
case MaterialModeRaw:
|
return MaterialTypeRaw
|
case MaterialModeSemi:
|
return MaterialTypeSemi
|
case MaterialModeFinished:
|
return MaterialTypeFinished
|
case MaterialModeAuxiliary:
|
return MaterialTypeAuxiliary
|
case MaterialModeConsumables:
|
return MaterialTypeConsumables
|
case MaterialModeOther:
|
return MaterialTypeOther
|
case MaterialModeVirtual:
|
return MaterialTypeVirtual
|
}
|
return MaterialType(0)
|
}
|
|
// MaterialType 物料类型(数字)
|
type MaterialType int
|
|
const (
|
MaterialTypeRaw = iota + 1 // 原材料
|
MaterialTypeSemi // 半成品
|
MaterialTypeFinished // 成品
|
MaterialTypeAuxiliary //辅料
|
MaterialTypeConsumables //耗材
|
MaterialTypeOther //其他
|
MaterialTypeVirtual //虚拟件
|
)
|
|
func (t MaterialType) Valid() bool {
|
if t < MaterialTypeRaw ||
|
t > MaterialTypeVirtual {
|
return false
|
}
|
return true
|
}
|
|
type MaterialStatus int
|
|
const (
|
MaterialStatusCreate MaterialStatus = iota // 新建
|
MaterialStatusActive // 启用
|
MaterialStatusInactive = -1 // 停用
|
)
|
|
// InvoicingStrategy 开票策略
|
type InvoicingStrategy int
|
|
const (
|
IndentNumber InvoicingStrategy = iota + 1 //订购数量
|
DeliverNumber //交付数量
|
PrepaidPrice //预付\固定价格
|
Milestones //基于里程碑
|
BasedDeliverNumber //基于交付数量
|
)
|
|
// OrderCreation 订单创建
|
type OrderCreation int
|
|
const (
|
Nothing OrderCreation = iota + 1 //不操作
|
Task //任务
|
Object //项目
|
TaskAndObject //任务和项目
|
)
|
|
type ProductStatus int
|
|
const (
|
ProductStatusCreate ProductStatus = iota // 新建
|
ProductStatusActive // 启用
|
ProductStatusInactive = -1 // 停用
|
)
|
|
// PurchaseType 采购类型
|
type PurchaseType int
|
|
const (
|
PurchaseTypeOutSource PurchaseType = iota + 1 // 采购
|
PurchaseTypeSelf // 自制
|
PurchaseTypeEntrust // 委外
|
)
|
|
func (t PurchaseType) Valid() bool {
|
if t < PurchaseTypeOutSource ||
|
t > PurchaseTypeEntrust {
|
return false
|
}
|
return true
|
}
|
|
// LocationType 位置类型
|
type LocationType int
|
|
const (
|
LocationTypeVendor LocationType = iota + 1 // 供应商位置
|
LocationTypeView // 视图
|
LocationTypeInternal // 内部位置
|
LocationTypeCustomer // 客户位置
|
LocationTypeInventoryLoss // 库存损失
|
LocationTypeProduction // 生产
|
LocationTypeTransit // 中转位置
|
LocationTypeDisuse //报废位置
|
LocationTypeAdjust //库存盘点
|
)
|
|
func (t LocationType) Valid() bool {
|
return t >= LocationTypeVendor && t <= LocationTypeTransit
|
}
|
|
type ForceRemovalStrategy int
|
|
const (
|
ForceRemovalStrategyFIFO ForceRemovalStrategy = iota + 1
|
ForceRemovalStrategyLIFO
|
ForceRemovalStrategyClosestLocation
|
)
|
|
func (t ForceRemovalStrategy) Valid() bool {
|
return t >= ForceRemovalStrategyFIFO && t <= ForceRemovalStrategyClosestLocation
|
}
|
|
type CostingMethod int
|
|
const (
|
CostingMethodStandardPrice CostingMethod = iota + 1 //标准价格
|
CostingMethodFIFO //先进先出
|
CostingMethodAverageCost //平均成本
|
)
|
|
func (t CostingMethod) Valid() bool {
|
return t >= CostingMethodStandardPrice && t <= CostingMethodAverageCost
|
}
|
|
type InventoryValuation int
|
|
const (
|
InventoryValuationManual InventoryValuation = iota + 1 //手动
|
InventoryValuationAuto //自动
|
)
|
|
func (t InventoryValuation) Valid() bool {
|
return t >= InventoryValuationManual && t <= InventoryValuationAuto
|
}
|
|
type OperationStatus int
|
|
const (
|
OperationStatus_Draft OperationStatus = iota + 1 //草稿
|
OperationStatus_Waiting //正在等待
|
OperationStatus_Ready //就绪
|
OperationStatus_Finish //完成
|
OperationStatus_Cancel //取消
|
)
|
|
type PostType int
|
|
const (
|
PostType_Soon PostType = iota + 1 //尽快
|
PostType_AfterReady //当所有产品就绪时
|
)
|
|
type RuleType int
|
|
const (
|
RuleType_Product RuleType = iota + 1 //产品上架规则
|
RuleType_ProductCategory //产品类别上架规则
|
)
|
|
type UserType int
|
|
const (
|
UserTypeSuper UserType = iota + 1 // 超级管理员
|
UserTypePrimary // 主账户
|
UserTypeSub // 子账户
|
)
|
|
type FileType string
|
|
const (
|
FileType_File FileType = "file" //文件
|
FileType_Picture FileType = "picture" //图片
|
FileType_Thumbnail FileType = "thumbnail" //缩略图
|
)
|
|
var FileExtMap = map[string]FileType{
|
"doc": FileType_File,
|
"docx": FileType_File,
|
"xls": FileType_File,
|
"xlsx": FileType_File,
|
"txt": FileType_File,
|
}
|
|
var PicExtMap = map[string]FileType{
|
"jpg": FileType_Picture,
|
"jpeg": FileType_Picture,
|
"png": FileType_Picture,
|
"svg": FileType_Picture,
|
}
|
|
type FileTemplateCategory int
|
|
const (
|
FileTemplateCategory_Selfmade FileTemplateCategory = iota + 1 //入库-自制
|
FileTemplateCategory_Output //出库
|
FileTemplateCategory_JialianInput = 14 //嘉联入库
|
FileTemplateCategory_JialianOutput = 15 //嘉联出库
|
)
|
|
type CodeStandardType string
|
|
const (
|
CodeStandardType_Material CodeStandardType = "物料编码"
|
CodeStandardType_Incoming CodeStandardType = "入库编码"
|
CodeStandardType_Outgoing CodeStandardType = "出库编码"
|
CodeStandardType_Internal CodeStandardType = "调拨编码"
|
CodeStandardType_Disuse CodeStandardType = "仓库报废编码"
|
)
|
|
type OperationSource int
|
|
const (
|
OperationSourcePurchase OperationSource = 1 //采购入库
|
OperationSourceProduction OperationSource = 2 //生产入库
|
OperationSourceOutsourcing OperationSource = 3 //委外入库
|
OperationSourceProductionApply OperationSource = 4 //生产领料
|
OperationSourceOutsourcingApply OperationSource = 5 //委外领料
|
OperationSourceSaleDelivery OperationSource = 6 //销售发货
|
)
|