From 73b6baf6af3d88cdcb0e2df7932a9bd96b0b85c5 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 01 七月 2024 22:32:34 +0800
Subject: [PATCH] 月度统计出入库按类型汇总报表定时任务和手动跑任务接口

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

diff --git a/constvar/const.go b/constvar/const.go
index 9a5246d..82d7c47 100644
--- a/constvar/const.go
+++ b/constvar/const.go
@@ -6,6 +6,8 @@
 	BaseOperationTypeIncoming BaseOperationType = iota + 1 //鏀惰揣
 	BaseOperationTypeOutgoing                              //浜よ揣
 	BaseOperationTypeInternal                              //鍐呴儴璋冩嫧
+	BaseOperationTypeDisuse                                //鎶ュ簾
+	BaseOperationTypeAdjust                                //搴撳瓨鐩樼偣
 )
 
 func (slf BaseOperationType) IsValid() bool {
@@ -49,6 +51,81 @@
 	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 寮�绁ㄧ瓥鐣�
@@ -108,6 +185,8 @@
 	LocationTypeInventoryLoss                         // 搴撳瓨鎹熷け
 	LocationTypeProduction                            // 鐢熶骇
 	LocationTypeTransit                               // 涓浆浣嶇疆
+	LocationTypeDisuse                                //鎶ュ簾浣嶇疆
+	LocationTypeAdjust                                //搴撳瓨鐩樼偣
 )
 
 func (t LocationType) Valid() bool {
@@ -131,7 +210,7 @@
 const (
 	CostingMethodStandardPrice CostingMethod = iota + 1 //鏍囧噯浠锋牸
 	CostingMethodFIFO                                   //鍏堣繘鍏堝嚭
-	CostingMethodAverageCost                            //
+	CostingMethodAverageCost                            //骞冲潎鎴愭湰
 )
 
 func (t CostingMethod) Valid() bool {
@@ -148,3 +227,131 @@
 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                             //瀹屾垚
+	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_JialianInput1   = 14                            //鍢夎仈鍏ュ簱妯℃澘1
+	FileTemplateCategory_JialianOutput1  = 15                            //鍢夎仈鍑哄簱妯″潡1
+	FileWarehouseCategory_JialianInput2  = 16                            //鍢夎仈鍏ュ簱妯℃澘2
+	FileWarehouseCategory_JialianOutput2 = 17                            //鍢夎仈鍑哄簱妯″潡2
+)
+
+type CodeStandardType string
+
+const (
+	CodeStandardType_Material  CodeStandardType = "鐗╂枡缂栫爜"
+	CodeStandardType_Incoming  CodeStandardType = "鍏ュ簱缂栫爜"
+	CodeStandardType_Outgoing  CodeStandardType = "鍑哄簱缂栫爜"
+	CodeStandardType_Internal  CodeStandardType = "璋冩嫧缂栫爜"
+	CodeStandardType_Disuse    CodeStandardType = "浠撳簱鎶ュ簾缂栫爜"
+	CodeStandardType_TakeStock CodeStandardType = "鐩樼偣缂栫爜"
+)
+
+type OperationSource int
+
+const (
+	OperationSourcePurchase         OperationSource = 1 //閲囪喘鍏ュ簱
+	OperationSourceProduction       OperationSource = 2 //鐢熶骇鍏ュ簱
+	OperationSourceOutsourcing      OperationSource = 3 //濮斿鍏ュ簱
+	OperationSourceProductionApply  OperationSource = 4 //鐢熶骇棰嗘枡
+	OperationSourceOutsourcingApply OperationSource = 5 //濮斿棰嗘枡
+	OperationSourceSaleDelivery     OperationSource = 6 //閿�鍞彂璐�
+)
+
+const DoMonthStatsToken = "Eoh2ZAUJjtbmu0TBkc3dq7MPCpL4riw5NVxOfgXYlKvHF6sR"
+
+type SystemConfigType int
+
+const (
+	SystemConfigTypeInventoryCutOffPoint SystemConfigType = 1 //搴撳瓨缁撶畻鏃堕棿鐐�
+)
+
+type MiniDictType int
+
+const (
+	StorageType  MiniDictType = iota + 1 // 鍏ュ簱绫诲瀷
+	StockoutType                         // 鍑哄簱绫诲瀷
+	TransferType                         // 璋冩嫧绫诲瀷
+	TakeStock                            // 鐩樼偣绫诲瀷
+)
+
+func (t MiniDictType) Valid() bool {
+	if t <= 0 {
+		return false
+	}
+	return true
+}
+
+// BoolType 甯冨皵绫诲瀷
+type BoolType int
+
+const (
+	BoolTypeTrue  BoolType = 1 // true
+	BoolTypeFalse BoolType = 2 // false
+)
+
+func (slf BoolType) IsValid() bool {
+	return slf == BoolTypeTrue || slf == BoolTypeFalse
+}
+
+func (slf BoolType) Bool() bool {
+	return slf == BoolTypeTrue
+}

--
Gitblit v1.8.0