From 96844c22ef3fba86a55e0af1b51bc1009d6fa950 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期五, 20 十月 2023 11:57:48 +0800
Subject: [PATCH] 1.库存盘点bug修改

---
 constvar/const.go |  185 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 185 insertions(+), 0 deletions(-)

diff --git a/constvar/const.go b/constvar/const.go
index c2ae672..5c6a63f 100644
--- a/constvar/const.go
+++ b/constvar/const.go
@@ -1 +1,186 @@
 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                        // 鍙偍瀛樼殑浜у搧
+)
+
+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                            //姝e湪绛夊緟
+	OperationStatus_Ready                              //灏辩华
+	OperationStatus_Finish                             //瀹屾垚
+)
+
+type PostType int
+
+const (
+	PostType_Soon       PostType = iota + 1 //灏藉揩
+	PostType_AfterReady                     //褰撴墍鏈変骇鍝佸氨缁椂
+)

--
Gitblit v1.8.0