jiangshuai
2023-10-20 96844c22ef3fba86a55e0af1b51bc1009d6fa950
constvar/const.go
@@ -6,6 +6,8 @@
   BaseOperationTypeIncoming BaseOperationType = iota + 1 //收货
   BaseOperationTypeOutgoing                              //交货
   BaseOperationTypeInternal                              //内部调拨
   BaseOperationTypeDisuse                                //报废
   BaseOperationTypeAdjust                                //库存盘点
)
func (slf BaseOperationType) IsValid() bool {
@@ -41,3 +43,144 @@
      slf == WhetherTypeAlways ||
      slf == ReservationNever
}
// ProductType 产品类型
type ProductType int
const (
   Consumables   ProductType = iota + 1 // 消耗品
   Server                               // 服务
   StoredProduct                        // 可储存的产品
)
type MaterialMode string
const (
   MaterialModeRaw      MaterialMode = "原材料"
   MaterialModeSemi     MaterialMode = "半成品"
   MaterialModeFinished MaterialMode = "成品"
)
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                             //完成
)
type PostType int
const (
   PostType_Soon       PostType = iota + 1 //尽快
   PostType_AfterReady                     //当所有产品就绪时
)