jiangshuai
2024-02-06 02a2176f7c5733a4e4c4429c2028bbb86a967ce7
model/test/material.go
@@ -26,7 +26,9 @@
   MinPurchaseAmount decimal.Decimal `gorm:"type:decimal(35,18);comment:最小采购量" json:"minPurchaseAmount"`
   PurchaseType      PurchaseType    `gorm:"type:int(11);comment:采购类型" json:"purchaseType"`
   SalePrice         decimal.Decimal `gorm:"type:decimal(35,18);comment:销售单价" json:"salePrice"`
   CategoryName      string          `gorm:"type:varchar(255);comment:产品类别名称" json:"categoryName"` //产品类别名称
   CategoryName      string          `gorm:"type:varchar(255);comment:产品类别名称" json:"categoryName"`            //产品类别名称
   IsStorage         int             `gorm:"type:tinyint(1);default:1;comment:是否存库(1是2否)" json:"isStorage"`   //无库存的在wms以及srm中需要过滤掉
   IsVirtual         int             `json:"isVirtual" gorm:"type:tinyint(1);default:2;comment:是否虚拟物料(1是2否)"` //虚拟物料在MRP计算时跳过该层级直接领用下级物料,虚拟物料不生成工单
}
// PurchaseType 采购类型
@@ -53,9 +55,10 @@
   MaterialModeRaw         MaterialMode = "原材料"
   MaterialModeSemi        MaterialMode = "半成品"
   MaterialModeFinished    MaterialMode = "成品"
   MaterialModeAuxiliary   MaterialMode = "辅料" //辅料
   MaterialModeConsumables MaterialMode = "耗材" //耗材
   MaterialModeOther       MaterialMode = "其他" //其他
   MaterialModeAuxiliary   MaterialMode = "辅料"  //辅料
   MaterialModeConsumables MaterialMode = "耗材"  //耗材
   MaterialModeOther       MaterialMode = "其他"  //其他
   MaterialModeVirtual     MaterialMode = "虚拟件" //虚拟件, 不能销售,不能出入库,不能采购
)
func (t MaterialMode) Valid() bool {
@@ -64,7 +67,8 @@
      t != MaterialModeAuxiliary &&
      t != MaterialModeConsumables &&
      t != MaterialModeOther &&
      t != MaterialModeFinished {
      t != MaterialModeFinished &&
      t != MaterialModeVirtual {
      return false
   }
   return true
@@ -78,6 +82,14 @@
      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)
}
@@ -92,11 +104,12 @@
   MaterialTypeAuxiliary              //辅料
   MaterialTypeConsumables            //耗材
   MaterialTypeOther                  //其他
   MaterialTypeVirtual                //虚拟件
)
func (t MaterialType) Valid() bool {
   if t < MaterialTypeRaw ||
      t > MaterialTypeFinished {
      t > MaterialTypeVirtual {
      return false
   }
   return true