From e1c0fe2768d32f79920ceda92383981d4ff12058 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期五, 15 三月 2024 10:07:50 +0800
Subject: [PATCH] 获取销售明细产品信息
---
model/response/salesDetails.go | 23 +
proto/crm_aps/crm_aps.pb.go | 405 ++++++++++++++++++++++++------
router/salesDetails.go | 5
docs/swagger.yaml | 18 +
docs/docs.go | 28 ++
docs/swagger.json | 28 ++
model/grpc_init/crm_aps_init.go | 16 +
proto/crm_srm.proto | 21 +
conf/aps-crm.json | 3
api/v1/salesDetails.go | 110 ++++++++
proto/crm_aps.proto | 20 +
proto/crm_aps/crm_aps_grpc.pb.go | 88 ++++--
conf/config.go | 5
main.go | 2
14 files changed, 650 insertions(+), 122 deletions(-)
diff --git a/api/v1/salesDetails.go b/api/v1/salesDetails.go
index 874d2c4..9f94f9e 100644
--- a/api/v1/salesDetails.go
+++ b/api/v1/salesDetails.go
@@ -11,6 +11,7 @@
"aps_crm/pkg/logx"
"aps_crm/pkg/structx"
"aps_crm/proto/crm_aps"
+ "aps_crm/proto/crm_srm"
"aps_crm/proto/product_inventory"
"aps_crm/utils"
"github.com/gin-gonic/gin"
@@ -385,3 +386,112 @@
}
ctx.Ok()
}
+
+// GetSalesDetailsProductInfo
+//
+// @Tags SalesDetails
+// @Summary 鑾峰彇閿�鍞槑缁嗕骇鍝佷俊鎭�
+// @Produce application/json
+// @Param number path string true "鏄庣粏缂栫爜"
+// @Success 200 {object} response.ListResponse
+//
+// @Router /api/salesDetails/getSalesDetailsProductInfo/{number} [get]
+func (s *SalesDetailsApi) GetSalesDetailsProductInfo(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+ number := c.Param("number")
+ first, err := model.NewSalesDetailsSearch().SetPreload(true).SetNumber(number).First()
+ if err != nil {
+ ctx.FailWithMsg(ecode.DBErr, "鏌ヨ閿�鍞槑缁嗗嚭閿�")
+ return
+ }
+ resp := make([]response.SalesDetailsProductInfo, 0)
+ amountMap := make(map[string]int64)
+ overMap := make(map[string]int64)
+ for _, product := range first.Products {
+ amountMap[product.Number] = 0
+ overMap[product.Number] = 0
+ var sdpi response.SalesDetailsProductInfo
+ sdpi.ProductId = product.Number
+ sdpi.ProductName = product.Name
+ sdpi.Specs = product.Specs
+ sdpi.Unit = product.Unit
+ sdpi.Amount = product.Amount
+ sdpi.Cost = product.Cost
+ sdpi.Price = product.Price
+ sdpi.Total = product.Total
+ sdpi.Profit = product.Profit
+ sdpi.Margin = product.Margin
+ resp = append(resp, sdpi)
+ }
+ srmClient := crm_srm.NewCrmAndSrmServiceClient(grpc_init.CrmSrmGrpcServiceConn)
+ info, err := srmClient.CrmGetPurchaseInfo(c, &crm_srm.CrmGetPurchaseInfoRequest{SalesDetailsNumber: number})
+ if err != nil {
+ logx.Errorf("grpc CrmGetPurchaseInfo err: %v", err.Error())
+ ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒")
+ return
+ }
+ //閲囪喘鏁伴噺
+ for _, purchaseInfo := range info.Info {
+ amount := amountMap[purchaseInfo.ProductId]
+ amount += purchaseInfo.Amount
+ amountMap[purchaseInfo.ProductId] = amount
+ over := overMap[purchaseInfo.ProductId]
+ over += purchaseInfo.FinishAmount
+ overMap[purchaseInfo.ProductId] = over
+ }
+ for i := 0; i < len(resp); i++ {
+ resp[i].PurchaseAmount = amountMap[resp[i].ProductId]
+ amountMap[resp[i].ProductId] = 0
+ resp[i].PurchaseFinishAmount = overMap[resp[i].ProductId]
+ resp[i].FinishAmount = resp[i].FinishAmount + overMap[resp[i].ProductId]
+ overMap[resp[i].ProductId] = 0
+ }
+
+ apsClient := crm_aps.NewCrmAndApsGrpcServiceClient(grpc_init.CrmApsGrpcServiceConn)
+ productInfo, err := apsClient.CrmGetMakeAndOutsourcingProductInfo(c, &crm_aps.CrmGetMakeAndOutsourcingProductInfoRequest{SalesDetailsNumber: number})
+ if err != nil {
+ logx.Errorf("grpc CrmGetMakeAndOutsourcingProductInfo err: %v", err.Error())
+ ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒")
+ return
+ }
+ //鍒堕�犳暟閲�
+ for _, makeInfo := range productInfo.Info {
+ if makeInfo.Type == 2 {
+ amount := amountMap[makeInfo.ProductId]
+ amount += makeInfo.Amount
+ amountMap[makeInfo.ProductId] = amount
+ over := overMap[makeInfo.ProductId]
+ over += makeInfo.FinishAmount
+ overMap[makeInfo.ProductId] = over
+ }
+ }
+ for i := 0; i < len(resp); i++ {
+ resp[i].MakeAmount = amountMap[resp[i].ProductId]
+ amountMap[resp[i].ProductId] = 0
+ resp[i].MakeFinishAmount = overMap[resp[i].ProductId]
+ resp[i].FinishAmount = resp[i].FinishAmount + overMap[resp[i].ProductId]
+ overMap[resp[i].ProductId] = 0
+ }
+ //濮斿鏁伴噺
+ for _, outsourcingInfo := range productInfo.Info {
+ if outsourcingInfo.Type == 3 {
+ amount := amountMap[outsourcingInfo.ProductId]
+ amount += outsourcingInfo.Amount
+ amountMap[outsourcingInfo.ProductId] = amount
+ over := overMap[outsourcingInfo.ProductId]
+ over += outsourcingInfo.FinishAmount
+ overMap[outsourcingInfo.ProductId] = over
+ }
+ }
+ for i := 0; i < len(resp); i++ {
+ resp[i].OutsourcingAmount = amountMap[resp[i].ProductId]
+ amountMap[resp[i].ProductId] = 0
+ resp[i].OutsourcingFinishAmount = overMap[resp[i].ProductId]
+ resp[i].FinishAmount = resp[i].FinishAmount + overMap[resp[i].ProductId]
+ overMap[resp[i].ProductId] = 0
+ }
+ ctx.OkWithDetailed(resp)
+}
diff --git a/conf/aps-crm.json b/conf/aps-crm.json
index 0269872..e9fc5a4 100644
--- a/conf/aps-crm.json
+++ b/conf/aps-crm.json
@@ -51,7 +51,8 @@
"GrpcServiceAddr": {
"Aps": "192.168.20.119:9091",
"Admin": "192.168.20.119:50051",
- "WMS": "192.168.20.119:8006"
+ "WMS": "192.168.20.119:8006",
+ "SRM": "192.168.20.119:9093"
}
}
diff --git a/conf/config.go b/conf/config.go
index 96fe2b2..7526045 100644
--- a/conf/config.go
+++ b/conf/config.go
@@ -63,6 +63,7 @@
Aps string // aps鏈嶅姟鍦板潃
Admin string // admin鏈嶅姟鍦板潃
WMS string //wms鏈嶅姟鍦板潃
+ SRM string //srm鏈嶅姟鍦板潃
}
config struct {
@@ -137,6 +138,10 @@
if len(GrpcPort) > 0 {
Conf.GrpcServiceAddr.WMS = GrpcPort
}
+ srmPort := os.Getenv("SRM_GRPC")
+ if len(srmPort) > 0 {
+ Conf.GrpcServiceAddr.SRM = srmPort
+ }
ApsGrpc := os.Getenv("GRPC_PORT")
Host := os.Getenv("HOST")
diff --git a/docs/docs.go b/docs/docs.go
index 4bf4310..0e19c2e 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -7113,6 +7113,34 @@
}
}
},
+ "/api/salesDetails/getSalesDetailsProductInfo/{number}": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "SalesDetails"
+ ],
+ "summary": "鑾峰彇閿�鍞槑缁嗕骇鍝佷俊鎭�",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "鏄庣粏缂栫爜",
+ "name": "number",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/response.ListResponse"
+ }
+ }
+ }
+ }
+ },
"/api/salesDetails/list": {
"post": {
"produces": [
diff --git a/docs/swagger.json b/docs/swagger.json
index 2165c6a..139da9a 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -7101,6 +7101,34 @@
}
}
},
+ "/api/salesDetails/getSalesDetailsProductInfo/{number}": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "SalesDetails"
+ ],
+ "summary": "鑾峰彇閿�鍞槑缁嗕骇鍝佷俊鎭�",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "鏄庣粏缂栫爜",
+ "name": "number",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/response.ListResponse"
+ }
+ }
+ }
+ }
+ },
"/api/salesDetails/list": {
"post": {
"produces": [
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index c0cc151..5704c70 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -10868,6 +10868,24 @@
summary: 鑾峰彇浜у搧搴撳瓨淇℃伅
tags:
- SalesDetails
+ /api/salesDetails/getSalesDetailsProductInfo/{number}:
+ get:
+ parameters:
+ - description: 鏄庣粏缂栫爜
+ in: path
+ name: number
+ required: true
+ type: string
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/response.ListResponse'
+ summary: 鑾峰彇閿�鍞槑缁嗕骇鍝佷俊鎭�
+ tags:
+ - SalesDetails
/api/salesDetails/list:
post:
parameters:
diff --git a/main.go b/main.go
index 04c6993..29c7af1 100644
--- a/main.go
+++ b/main.go
@@ -54,6 +54,7 @@
go middleware.InitUserConn()
go grpc_init.InitProductInventoryServiceConn()
go grpc_init.InitCrmApsGrpcServiceConn()
+ go grpc_init.InitCrmSrmGrpcServiceConn()
//鍚姩grpc鏈嶅姟
go func() {
ln, err := net.Listen("tcp", ":"+conf.Conf.System.GrpcPort)
@@ -88,6 +89,7 @@
grpc_init.CloseProductInventoryServiceConn()
middleware.CloseUserConn()
grpc_init.CloseCrmApsGrpcServiceConn()
+ grpc_init.CloseCrmSrmGrpcServiceConn()
logx.Infof("aps-crm exited...")
os.Exit(0)
diff --git a/model/grpc_init/crm_aps_init.go b/model/grpc_init/crm_aps_init.go
index 233b851..68958d2 100644
--- a/model/grpc_init/crm_aps_init.go
+++ b/model/grpc_init/crm_aps_init.go
@@ -10,6 +10,7 @@
var (
ProductInventoryServiceConn *grpc.ClientConn
CrmApsGrpcServiceConn *grpc.ClientConn
+ CrmSrmGrpcServiceConn *grpc.ClientConn
)
func InitCrmApsGrpcServiceConn() {
@@ -41,3 +42,18 @@
ProductInventoryServiceConn.Close()
}
}
+
+func InitCrmSrmGrpcServiceConn() {
+ var err error
+ CrmSrmGrpcServiceConn, err = grpc.Dial(conf.Conf.GrpcServiceAddr.SRM, grpc.WithTransportCredentials(insecure.NewCredentials()))
+ if err != nil {
+ logx.Errorf("grpc dial product service error: %v", err.Error())
+ return
+ }
+}
+
+func CloseCrmSrmGrpcServiceConn() {
+ if CrmSrmGrpcServiceConn != nil {
+ CrmSrmGrpcServiceConn.Close()
+ }
+}
diff --git a/model/response/salesDetails.go b/model/response/salesDetails.go
index 5d91ce3..5485a8a 100644
--- a/model/response/salesDetails.go
+++ b/model/response/salesDetails.go
@@ -1,5 +1,7 @@
package response
+import "github.com/shopspring/decimal"
+
type Info struct {
MakeInfo []WorkOrderInfo `json:"makeInfo"`
PurchaseInfo []Purchase `json:"purchaseInfo"`
@@ -62,3 +64,24 @@
Amount string `json:"amount"` //鍦ㄥ簱鏁伴噺
AvailableNumber string `json:"availableNumber"` //鍙敤搴撳瓨
}
+
+type SalesDetailsProductInfo struct {
+ ProductId string `json:"productId"`
+ ProductName string `json:"productName"`
+ Specs string `json:"specs"` //鐗╂枡瑙勬牸
+ Unit string `json:"unit"` //鍗曚綅
+ Amount decimal.Decimal `json:"amount"` //璁㈠崟鏁伴噺
+ FinishAmount int64 `json:"finishAmount"` //瀹屾垚鏁伴噺
+ DeliveryAmount int64 `json:"deliveryAmount"` //鍙戣揣鏁伴噺
+ PurchaseAmount int64 `json:"purchaseAmount"` //閲囪喘鏁伴噺
+ PurchaseFinishAmount int64 `json:"purchaseFinishAmount"` //閲囪喘瀹屾垚鏁伴噺
+ MakeAmount int64 `json:"makeAmount"` //鍒堕�犳暟閲�
+ MakeFinishAmount int64 `json:"makeFinishAmount"` //鍒堕�犲畬鎴愭暟閲�
+ OutsourcingAmount int64 `json:"outsourcingAmount"` //濮斿鏁伴噺
+ OutsourcingFinishAmount int64 `json:"outsourcingFinishAmount"` //濮斿瀹屾垚鏁伴噺
+ Cost string `json:"cost"` //浜у搧鎴愭湰
+ Price decimal.Decimal `json:"price"` //浜у搧浠锋牸
+ Total decimal.Decimal `json:"total"` //浜у搧鎬讳环
+ Profit string `json:"profit"` //姣涘埄
+ Margin string `json:"margin"` //姣涘埄鐜�
+}
diff --git a/proto/crm_aps.proto b/proto/crm_aps.proto
index 1676907..3e1ddc8 100644
--- a/proto/crm_aps.proto
+++ b/proto/crm_aps.proto
@@ -9,7 +9,8 @@
rpc SendSalesDetailsAndProjectToCrm(SendSalesDetailsAndProjectToCrmRequest) returns(SendSalesDetailsAndProjectToCrmResponse) {}
rpc GetClientList(GetClientListRequest) returns(GetClientListResponse) {}
rpc UpdateSalesDetail(UpdateSalesDetailRequest) returns(UpdateSalesDetailResponse) {}
- rpc RemoveSalesDetail(RemoveSalesDetailRequest) returns(RemoveSalesDetailRequest) {}
+ rpc RemoveSalesDetail(RemoveSalesDetailRequest) returns(RemoveSalesDetailResponse) {}
+ rpc CrmGetMakeAndOutsourcingProductInfo(CrmGetMakeAndOutsourcingProductInfoRequest) returns(CrmGetMakeAndOutsourcingProductInfoResponse) {}
}
//-----------------------------------------------------GetApsProjectList--------------------------------------
@@ -113,4 +114,19 @@
string number = 1;//閿�鍞槑缁嗗崟鍙�
}
-message RemoveSalesDetailResponse {}
\ No newline at end of file
+message RemoveSalesDetailResponse {}
+
+message CrmGetMakeAndOutsourcingProductInfoRequest{
+ string SalesDetailsNumber = 1;
+}
+
+message CrmGetMakeAndOutsourcingProductInfo {
+ int64 Amount = 1;
+ int64 FinishAmount = 2;
+ string ProductId = 3;
+ int64 Type = 4;
+}
+
+message CrmGetMakeAndOutsourcingProductInfoResponse{
+ repeated CrmGetMakeAndOutsourcingProductInfo Info = 1;
+}
\ No newline at end of file
diff --git a/proto/crm_aps/crm_aps.pb.go b/proto/crm_aps/crm_aps.pb.go
index dec896d..205b012 100644
--- a/proto/crm_aps/crm_aps.pb.go
+++ b/proto/crm_aps/crm_aps.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
-// protoc v3.19.0
+// protoc-gen-go v1.26.0
+// protoc v4.24.0
// source: crm_aps.proto
package crm_aps
@@ -1029,6 +1029,171 @@
return file_crm_aps_proto_rawDescGZIP(), []int{17}
}
+type CrmGetMakeAndOutsourcingProductInfoRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SalesDetailsNumber string `protobuf:"bytes,1,opt,name=SalesDetailsNumber,proto3" json:"SalesDetailsNumber,omitempty"`
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfoRequest) Reset() {
+ *x = CrmGetMakeAndOutsourcingProductInfoRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_crm_aps_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfoRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrmGetMakeAndOutsourcingProductInfoRequest) ProtoMessage() {}
+
+func (x *CrmGetMakeAndOutsourcingProductInfoRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_crm_aps_proto_msgTypes[18]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrmGetMakeAndOutsourcingProductInfoRequest.ProtoReflect.Descriptor instead.
+func (*CrmGetMakeAndOutsourcingProductInfoRequest) Descriptor() ([]byte, []int) {
+ return file_crm_aps_proto_rawDescGZIP(), []int{18}
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfoRequest) GetSalesDetailsNumber() string {
+ if x != nil {
+ return x.SalesDetailsNumber
+ }
+ return ""
+}
+
+type CrmGetMakeAndOutsourcingProductInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Amount int64 `protobuf:"varint,1,opt,name=Amount,proto3" json:"Amount,omitempty"`
+ FinishAmount int64 `protobuf:"varint,2,opt,name=FinishAmount,proto3" json:"FinishAmount,omitempty"`
+ ProductId string `protobuf:"bytes,3,opt,name=ProductId,proto3" json:"ProductId,omitempty"`
+ Type int64 `protobuf:"varint,4,opt,name=Type,proto3" json:"Type,omitempty"`
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfo) Reset() {
+ *x = CrmGetMakeAndOutsourcingProductInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_crm_aps_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrmGetMakeAndOutsourcingProductInfo) ProtoMessage() {}
+
+func (x *CrmGetMakeAndOutsourcingProductInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_crm_aps_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrmGetMakeAndOutsourcingProductInfo.ProtoReflect.Descriptor instead.
+func (*CrmGetMakeAndOutsourcingProductInfo) Descriptor() ([]byte, []int) {
+ return file_crm_aps_proto_rawDescGZIP(), []int{19}
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfo) GetAmount() int64 {
+ if x != nil {
+ return x.Amount
+ }
+ return 0
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfo) GetFinishAmount() int64 {
+ if x != nil {
+ return x.FinishAmount
+ }
+ return 0
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfo) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfo) GetType() int64 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+type CrmGetMakeAndOutsourcingProductInfoResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info []*CrmGetMakeAndOutsourcingProductInfo `protobuf:"bytes,1,rep,name=Info,proto3" json:"Info,omitempty"`
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfoResponse) Reset() {
+ *x = CrmGetMakeAndOutsourcingProductInfoResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_crm_aps_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfoResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrmGetMakeAndOutsourcingProductInfoResponse) ProtoMessage() {}
+
+func (x *CrmGetMakeAndOutsourcingProductInfoResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_crm_aps_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrmGetMakeAndOutsourcingProductInfoResponse.ProtoReflect.Descriptor instead.
+func (*CrmGetMakeAndOutsourcingProductInfoResponse) Descriptor() ([]byte, []int) {
+ return file_crm_aps_proto_rawDescGZIP(), []int{20}
+}
+
+func (x *CrmGetMakeAndOutsourcingProductInfoResponse) GetInfo() []*CrmGetMakeAndOutsourcingProductInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
var File_crm_aps_proto protoreflect.FileDescriptor
var file_crm_aps_proto_rawDesc = []byte{
@@ -1137,49 +1302,79 @@
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65,
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22,
0x1b, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65,
- 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x85, 0x05, 0x0a,
- 0x14, 0x43, 0x72, 0x6d, 0x41, 0x6e, 0x64, 0x41, 0x70, 0x73, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x70, 0x73, 0x50,
- 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x47, 0x65, 0x74,
- 0x41, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x73, 0x50, 0x72,
- 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x1c, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x73,
- 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x54, 0x6f, 0x41, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44,
- 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x54, 0x6f, 0x41, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65,
- 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x53, 0x65, 0x6e, 0x64,
- 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x54, 0x6f, 0x41, 0x70,
- 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6d, 0x53, 0x61, 0x6c, 0x65,
- 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x47,
- 0x65, 0x74, 0x43, 0x72, 0x6d, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
- 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x47,
- 0x65, 0x74, 0x43, 0x72, 0x6d, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
- 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x76, 0x0a, 0x1f, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61,
- 0x69, 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x43,
- 0x72, 0x6d, 0x12, 0x27, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65,
- 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54,
- 0x6f, 0x43, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x53, 0x65,
- 0x6e, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6e,
- 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x43, 0x72, 0x6d, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x16, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x55, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19,
- 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61,
- 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76,
- 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x2e, 0x52,
- 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
- 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x63, 0x72, 0x6d, 0x5f, 0x61, 0x70,
- 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x2a,
+ 0x43, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6b, 0x65, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x53, 0x61,
+ 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x93, 0x01, 0x0a, 0x23, 0x43,
+ 0x72, 0x6d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6b, 0x65, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c,
+ 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x09, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
+ 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65,
+ 0x22, 0x67, 0x0a, 0x2b, 0x43, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6b, 0x65, 0x41, 0x6e,
+ 0x64, 0x4f, 0x75, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64,
+ 0x75, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x38, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
+ 0x43, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6b, 0x65, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x32, 0x8b, 0x06, 0x0a, 0x14, 0x43, 0x72,
+ 0x6d, 0x41, 0x6e, 0x64, 0x41, 0x70, 0x73, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x6a,
+ 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x73,
+ 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x6d, 0x0a, 0x1c, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x73, 0x54, 0x6f, 0x41, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0x12, 0x24, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x73, 0x54, 0x6f, 0x41, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x61, 0x6c,
+ 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x54, 0x6f, 0x41, 0x70, 0x73, 0x50, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x5b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6d, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x47, 0x65, 0x74, 0x43,
+ 0x72, 0x6d, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x47, 0x65, 0x74, 0x43,
+ 0x72, 0x6d, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x1f,
+ 0x53, 0x65, 0x6e, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
+ 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x43, 0x72, 0x6d, 0x12,
+ 0x27, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x43, 0x72,
+ 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53,
+ 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x50, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x43, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x47,
+ 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x2e, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
+ 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x61,
+ 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x2e, 0x52, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x61, 0x6c,
+ 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6b,
+ 0x65, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x50,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x2e, 0x43, 0x72, 0x6d,
+ 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6b, 0x65, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x43, 0x72, 0x6d, 0x47, 0x65, 0x74,
+ 0x4d, 0x61, 0x6b, 0x65, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x69,
+ 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x63, 0x72, 0x6d,
+ 0x5f, 0x61, 0x70, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1194,51 +1389,57 @@
return file_crm_aps_proto_rawDescData
}
-var file_crm_aps_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
+var file_crm_aps_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_crm_aps_proto_goTypes = []interface{}{
- (*GetApsProjectListRequest)(nil), // 0: GetApsProjectListRequest
- (*ApsProject)(nil), // 1: ApsProject
- (*GetApsProjectListResponse)(nil), // 2: GetApsProjectListResponse
- (*SalesDetailsProduct)(nil), // 3: SalesDetailsProduct
- (*SendSalesDetailsToApsProjectRequest)(nil), // 4: SendSalesDetailsToApsProjectRequest
- (*SendSalesDetailsToApsProjectResponse)(nil), // 5: SendSalesDetailsToApsProjectResponse
- (*GetCrmSalesDetailsListRequest)(nil), // 6: GetCrmSalesDetailsListRequest
- (*CrmSalesDetails)(nil), // 7: CrmSalesDetails
- (*GetCrmSalesDetailsListResponse)(nil), // 8: GetCrmSalesDetailsListResponse
- (*SendSalesDetailsAndProjectToCrmRequest)(nil), // 9: SendSalesDetailsAndProjectToCrmRequest
- (*SendSalesDetailsAndProjectToCrmResponse)(nil), // 10: SendSalesDetailsAndProjectToCrmResponse
- (*GetClientListRequest)(nil), // 11: GetClientListRequest
- (*GetClientListResponse)(nil), // 12: GetClientListResponse
- (*Client)(nil), // 13: Client
- (*UpdateSalesDetailRequest)(nil), // 14: UpdateSalesDetailRequest
- (*UpdateSalesDetailResponse)(nil), // 15: UpdateSalesDetailResponse
- (*RemoveSalesDetailRequest)(nil), // 16: RemoveSalesDetailRequest
- (*RemoveSalesDetailResponse)(nil), // 17: RemoveSalesDetailResponse
+ (*GetApsProjectListRequest)(nil), // 0: GetApsProjectListRequest
+ (*ApsProject)(nil), // 1: ApsProject
+ (*GetApsProjectListResponse)(nil), // 2: GetApsProjectListResponse
+ (*SalesDetailsProduct)(nil), // 3: SalesDetailsProduct
+ (*SendSalesDetailsToApsProjectRequest)(nil), // 4: SendSalesDetailsToApsProjectRequest
+ (*SendSalesDetailsToApsProjectResponse)(nil), // 5: SendSalesDetailsToApsProjectResponse
+ (*GetCrmSalesDetailsListRequest)(nil), // 6: GetCrmSalesDetailsListRequest
+ (*CrmSalesDetails)(nil), // 7: CrmSalesDetails
+ (*GetCrmSalesDetailsListResponse)(nil), // 8: GetCrmSalesDetailsListResponse
+ (*SendSalesDetailsAndProjectToCrmRequest)(nil), // 9: SendSalesDetailsAndProjectToCrmRequest
+ (*SendSalesDetailsAndProjectToCrmResponse)(nil), // 10: SendSalesDetailsAndProjectToCrmResponse
+ (*GetClientListRequest)(nil), // 11: GetClientListRequest
+ (*GetClientListResponse)(nil), // 12: GetClientListResponse
+ (*Client)(nil), // 13: Client
+ (*UpdateSalesDetailRequest)(nil), // 14: UpdateSalesDetailRequest
+ (*UpdateSalesDetailResponse)(nil), // 15: UpdateSalesDetailResponse
+ (*RemoveSalesDetailRequest)(nil), // 16: RemoveSalesDetailRequest
+ (*RemoveSalesDetailResponse)(nil), // 17: RemoveSalesDetailResponse
+ (*CrmGetMakeAndOutsourcingProductInfoRequest)(nil), // 18: CrmGetMakeAndOutsourcingProductInfoRequest
+ (*CrmGetMakeAndOutsourcingProductInfo)(nil), // 19: CrmGetMakeAndOutsourcingProductInfo
+ (*CrmGetMakeAndOutsourcingProductInfoResponse)(nil), // 20: CrmGetMakeAndOutsourcingProductInfoResponse
}
var file_crm_aps_proto_depIdxs = []int32{
1, // 0: GetApsProjectListResponse.List:type_name -> ApsProject
3, // 1: SendSalesDetailsToApsProjectRequest.Products:type_name -> SalesDetailsProduct
7, // 2: GetCrmSalesDetailsListResponse.SalesDetails:type_name -> CrmSalesDetails
13, // 3: GetClientListResponse.list:type_name -> Client
- 0, // 4: CrmAndApsGrpcService.GetApsProjectList:input_type -> GetApsProjectListRequest
- 4, // 5: CrmAndApsGrpcService.SendSalesDetailsToApsProject:input_type -> SendSalesDetailsToApsProjectRequest
- 6, // 6: CrmAndApsGrpcService.GetCrmSalesDetailsList:input_type -> GetCrmSalesDetailsListRequest
- 9, // 7: CrmAndApsGrpcService.SendSalesDetailsAndProjectToCrm:input_type -> SendSalesDetailsAndProjectToCrmRequest
- 11, // 8: CrmAndApsGrpcService.GetClientList:input_type -> GetClientListRequest
- 14, // 9: CrmAndApsGrpcService.UpdateSalesDetail:input_type -> UpdateSalesDetailRequest
- 16, // 10: CrmAndApsGrpcService.RemoveSalesDetail:input_type -> RemoveSalesDetailRequest
- 2, // 11: CrmAndApsGrpcService.GetApsProjectList:output_type -> GetApsProjectListResponse
- 5, // 12: CrmAndApsGrpcService.SendSalesDetailsToApsProject:output_type -> SendSalesDetailsToApsProjectResponse
- 8, // 13: CrmAndApsGrpcService.GetCrmSalesDetailsList:output_type -> GetCrmSalesDetailsListResponse
- 10, // 14: CrmAndApsGrpcService.SendSalesDetailsAndProjectToCrm:output_type -> SendSalesDetailsAndProjectToCrmResponse
- 12, // 15: CrmAndApsGrpcService.GetClientList:output_type -> GetClientListResponse
- 15, // 16: CrmAndApsGrpcService.UpdateSalesDetail:output_type -> UpdateSalesDetailResponse
- 16, // 17: CrmAndApsGrpcService.RemoveSalesDetail:output_type -> RemoveSalesDetailRequest
- 11, // [11:18] is the sub-list for method output_type
- 4, // [4:11] is the sub-list for method input_type
- 4, // [4:4] is the sub-list for extension type_name
- 4, // [4:4] is the sub-list for extension extendee
- 0, // [0:4] is the sub-list for field type_name
+ 19, // 4: CrmGetMakeAndOutsourcingProductInfoResponse.Info:type_name -> CrmGetMakeAndOutsourcingProductInfo
+ 0, // 5: CrmAndApsGrpcService.GetApsProjectList:input_type -> GetApsProjectListRequest
+ 4, // 6: CrmAndApsGrpcService.SendSalesDetailsToApsProject:input_type -> SendSalesDetailsToApsProjectRequest
+ 6, // 7: CrmAndApsGrpcService.GetCrmSalesDetailsList:input_type -> GetCrmSalesDetailsListRequest
+ 9, // 8: CrmAndApsGrpcService.SendSalesDetailsAndProjectToCrm:input_type -> SendSalesDetailsAndProjectToCrmRequest
+ 11, // 9: CrmAndApsGrpcService.GetClientList:input_type -> GetClientListRequest
+ 14, // 10: CrmAndApsGrpcService.UpdateSalesDetail:input_type -> UpdateSalesDetailRequest
+ 16, // 11: CrmAndApsGrpcService.RemoveSalesDetail:input_type -> RemoveSalesDetailRequest
+ 18, // 12: CrmAndApsGrpcService.CrmGetMakeAndOutsourcingProductInfo:input_type -> CrmGetMakeAndOutsourcingProductInfoRequest
+ 2, // 13: CrmAndApsGrpcService.GetApsProjectList:output_type -> GetApsProjectListResponse
+ 5, // 14: CrmAndApsGrpcService.SendSalesDetailsToApsProject:output_type -> SendSalesDetailsToApsProjectResponse
+ 8, // 15: CrmAndApsGrpcService.GetCrmSalesDetailsList:output_type -> GetCrmSalesDetailsListResponse
+ 10, // 16: CrmAndApsGrpcService.SendSalesDetailsAndProjectToCrm:output_type -> SendSalesDetailsAndProjectToCrmResponse
+ 12, // 17: CrmAndApsGrpcService.GetClientList:output_type -> GetClientListResponse
+ 15, // 18: CrmAndApsGrpcService.UpdateSalesDetail:output_type -> UpdateSalesDetailResponse
+ 17, // 19: CrmAndApsGrpcService.RemoveSalesDetail:output_type -> RemoveSalesDetailResponse
+ 20, // 20: CrmAndApsGrpcService.CrmGetMakeAndOutsourcingProductInfo:output_type -> CrmGetMakeAndOutsourcingProductInfoResponse
+ 13, // [13:21] is the sub-list for method output_type
+ 5, // [5:13] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
}
func init() { file_crm_aps_proto_init() }
@@ -1463,6 +1664,42 @@
return nil
}
}
+ file_crm_aps_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrmGetMakeAndOutsourcingProductInfoRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_crm_aps_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrmGetMakeAndOutsourcingProductInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_crm_aps_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrmGetMakeAndOutsourcingProductInfoResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
type x struct{}
out := protoimpl.TypeBuilder{
@@ -1470,7 +1707,7 @@
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_crm_aps_proto_rawDesc,
NumEnums: 0,
- NumMessages: 18,
+ NumMessages: 21,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/proto/crm_aps/crm_aps_grpc.pb.go b/proto/crm_aps/crm_aps_grpc.pb.go
index 718cf76..2ed8400 100644
--- a/proto/crm_aps/crm_aps_grpc.pb.go
+++ b/proto/crm_aps/crm_aps_grpc.pb.go
@@ -1,8 +1,4 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
-// versions:
-// - protoc-gen-go-grpc v1.3.0
-// - protoc v3.19.0
-// source: crm_aps.proto
package crm_aps
@@ -18,16 +14,6 @@
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
-const (
- CrmAndApsGrpcService_GetApsProjectList_FullMethodName = "/CrmAndApsGrpcService/GetApsProjectList"
- CrmAndApsGrpcService_SendSalesDetailsToApsProject_FullMethodName = "/CrmAndApsGrpcService/SendSalesDetailsToApsProject"
- CrmAndApsGrpcService_GetCrmSalesDetailsList_FullMethodName = "/CrmAndApsGrpcService/GetCrmSalesDetailsList"
- CrmAndApsGrpcService_SendSalesDetailsAndProjectToCrm_FullMethodName = "/CrmAndApsGrpcService/SendSalesDetailsAndProjectToCrm"
- CrmAndApsGrpcService_GetClientList_FullMethodName = "/CrmAndApsGrpcService/GetClientList"
- CrmAndApsGrpcService_UpdateSalesDetail_FullMethodName = "/CrmAndApsGrpcService/UpdateSalesDetail"
- CrmAndApsGrpcService_RemoveSalesDetail_FullMethodName = "/CrmAndApsGrpcService/RemoveSalesDetail"
-)
-
// CrmAndApsGrpcServiceClient is the client API for CrmAndApsGrpcService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
@@ -38,7 +24,8 @@
SendSalesDetailsAndProjectToCrm(ctx context.Context, in *SendSalesDetailsAndProjectToCrmRequest, opts ...grpc.CallOption) (*SendSalesDetailsAndProjectToCrmResponse, error)
GetClientList(ctx context.Context, in *GetClientListRequest, opts ...grpc.CallOption) (*GetClientListResponse, error)
UpdateSalesDetail(ctx context.Context, in *UpdateSalesDetailRequest, opts ...grpc.CallOption) (*UpdateSalesDetailResponse, error)
- RemoveSalesDetail(ctx context.Context, in *RemoveSalesDetailRequest, opts ...grpc.CallOption) (*RemoveSalesDetailRequest, error)
+ RemoveSalesDetail(ctx context.Context, in *RemoveSalesDetailRequest, opts ...grpc.CallOption) (*RemoveSalesDetailResponse, error)
+ CrmGetMakeAndOutsourcingProductInfo(ctx context.Context, in *CrmGetMakeAndOutsourcingProductInfoRequest, opts ...grpc.CallOption) (*CrmGetMakeAndOutsourcingProductInfoResponse, error)
}
type crmAndApsGrpcServiceClient struct {
@@ -51,7 +38,7 @@
func (c *crmAndApsGrpcServiceClient) GetApsProjectList(ctx context.Context, in *GetApsProjectListRequest, opts ...grpc.CallOption) (*GetApsProjectListResponse, error) {
out := new(GetApsProjectListResponse)
- err := c.cc.Invoke(ctx, CrmAndApsGrpcService_GetApsProjectList_FullMethodName, in, out, opts...)
+ err := c.cc.Invoke(ctx, "/CrmAndApsGrpcService/GetApsProjectList", in, out, opts...)
if err != nil {
return nil, err
}
@@ -60,7 +47,7 @@
func (c *crmAndApsGrpcServiceClient) SendSalesDetailsToApsProject(ctx context.Context, in *SendSalesDetailsToApsProjectRequest, opts ...grpc.CallOption) (*SendSalesDetailsToApsProjectResponse, error) {
out := new(SendSalesDetailsToApsProjectResponse)
- err := c.cc.Invoke(ctx, CrmAndApsGrpcService_SendSalesDetailsToApsProject_FullMethodName, in, out, opts...)
+ err := c.cc.Invoke(ctx, "/CrmAndApsGrpcService/SendSalesDetailsToApsProject", in, out, opts...)
if err != nil {
return nil, err
}
@@ -69,7 +56,7 @@
func (c *crmAndApsGrpcServiceClient) GetCrmSalesDetailsList(ctx context.Context, in *GetCrmSalesDetailsListRequest, opts ...grpc.CallOption) (*GetCrmSalesDetailsListResponse, error) {
out := new(GetCrmSalesDetailsListResponse)
- err := c.cc.Invoke(ctx, CrmAndApsGrpcService_GetCrmSalesDetailsList_FullMethodName, in, out, opts...)
+ err := c.cc.Invoke(ctx, "/CrmAndApsGrpcService/GetCrmSalesDetailsList", in, out, opts...)
if err != nil {
return nil, err
}
@@ -78,7 +65,7 @@
func (c *crmAndApsGrpcServiceClient) SendSalesDetailsAndProjectToCrm(ctx context.Context, in *SendSalesDetailsAndProjectToCrmRequest, opts ...grpc.CallOption) (*SendSalesDetailsAndProjectToCrmResponse, error) {
out := new(SendSalesDetailsAndProjectToCrmResponse)
- err := c.cc.Invoke(ctx, CrmAndApsGrpcService_SendSalesDetailsAndProjectToCrm_FullMethodName, in, out, opts...)
+ err := c.cc.Invoke(ctx, "/CrmAndApsGrpcService/SendSalesDetailsAndProjectToCrm", in, out, opts...)
if err != nil {
return nil, err
}
@@ -87,7 +74,7 @@
func (c *crmAndApsGrpcServiceClient) GetClientList(ctx context.Context, in *GetClientListRequest, opts ...grpc.CallOption) (*GetClientListResponse, error) {
out := new(GetClientListResponse)
- err := c.cc.Invoke(ctx, CrmAndApsGrpcService_GetClientList_FullMethodName, in, out, opts...)
+ err := c.cc.Invoke(ctx, "/CrmAndApsGrpcService/GetClientList", in, out, opts...)
if err != nil {
return nil, err
}
@@ -96,16 +83,25 @@
func (c *crmAndApsGrpcServiceClient) UpdateSalesDetail(ctx context.Context, in *UpdateSalesDetailRequest, opts ...grpc.CallOption) (*UpdateSalesDetailResponse, error) {
out := new(UpdateSalesDetailResponse)
- err := c.cc.Invoke(ctx, CrmAndApsGrpcService_UpdateSalesDetail_FullMethodName, in, out, opts...)
+ err := c.cc.Invoke(ctx, "/CrmAndApsGrpcService/UpdateSalesDetail", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *crmAndApsGrpcServiceClient) RemoveSalesDetail(ctx context.Context, in *RemoveSalesDetailRequest, opts ...grpc.CallOption) (*RemoveSalesDetailRequest, error) {
- out := new(RemoveSalesDetailRequest)
- err := c.cc.Invoke(ctx, CrmAndApsGrpcService_RemoveSalesDetail_FullMethodName, in, out, opts...)
+func (c *crmAndApsGrpcServiceClient) RemoveSalesDetail(ctx context.Context, in *RemoveSalesDetailRequest, opts ...grpc.CallOption) (*RemoveSalesDetailResponse, error) {
+ out := new(RemoveSalesDetailResponse)
+ err := c.cc.Invoke(ctx, "/CrmAndApsGrpcService/RemoveSalesDetail", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *crmAndApsGrpcServiceClient) CrmGetMakeAndOutsourcingProductInfo(ctx context.Context, in *CrmGetMakeAndOutsourcingProductInfoRequest, opts ...grpc.CallOption) (*CrmGetMakeAndOutsourcingProductInfoResponse, error) {
+ out := new(CrmGetMakeAndOutsourcingProductInfoResponse)
+ err := c.cc.Invoke(ctx, "/CrmAndApsGrpcService/CrmGetMakeAndOutsourcingProductInfo", in, out, opts...)
if err != nil {
return nil, err
}
@@ -122,7 +118,8 @@
SendSalesDetailsAndProjectToCrm(context.Context, *SendSalesDetailsAndProjectToCrmRequest) (*SendSalesDetailsAndProjectToCrmResponse, error)
GetClientList(context.Context, *GetClientListRequest) (*GetClientListResponse, error)
UpdateSalesDetail(context.Context, *UpdateSalesDetailRequest) (*UpdateSalesDetailResponse, error)
- RemoveSalesDetail(context.Context, *RemoveSalesDetailRequest) (*RemoveSalesDetailRequest, error)
+ RemoveSalesDetail(context.Context, *RemoveSalesDetailRequest) (*RemoveSalesDetailResponse, error)
+ CrmGetMakeAndOutsourcingProductInfo(context.Context, *CrmGetMakeAndOutsourcingProductInfoRequest) (*CrmGetMakeAndOutsourcingProductInfoResponse, error)
mustEmbedUnimplementedCrmAndApsGrpcServiceServer()
}
@@ -148,8 +145,11 @@
func (UnimplementedCrmAndApsGrpcServiceServer) UpdateSalesDetail(context.Context, *UpdateSalesDetailRequest) (*UpdateSalesDetailResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateSalesDetail not implemented")
}
-func (UnimplementedCrmAndApsGrpcServiceServer) RemoveSalesDetail(context.Context, *RemoveSalesDetailRequest) (*RemoveSalesDetailRequest, error) {
+func (UnimplementedCrmAndApsGrpcServiceServer) RemoveSalesDetail(context.Context, *RemoveSalesDetailRequest) (*RemoveSalesDetailResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemoveSalesDetail not implemented")
+}
+func (UnimplementedCrmAndApsGrpcServiceServer) CrmGetMakeAndOutsourcingProductInfo(context.Context, *CrmGetMakeAndOutsourcingProductInfoRequest) (*CrmGetMakeAndOutsourcingProductInfoResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CrmGetMakeAndOutsourcingProductInfo not implemented")
}
func (UnimplementedCrmAndApsGrpcServiceServer) mustEmbedUnimplementedCrmAndApsGrpcServiceServer() {}
@@ -174,7 +174,7 @@
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: CrmAndApsGrpcService_GetApsProjectList_FullMethodName,
+ FullMethod: "/CrmAndApsGrpcService/GetApsProjectList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CrmAndApsGrpcServiceServer).GetApsProjectList(ctx, req.(*GetApsProjectListRequest))
@@ -192,7 +192,7 @@
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: CrmAndApsGrpcService_SendSalesDetailsToApsProject_FullMethodName,
+ FullMethod: "/CrmAndApsGrpcService/SendSalesDetailsToApsProject",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CrmAndApsGrpcServiceServer).SendSalesDetailsToApsProject(ctx, req.(*SendSalesDetailsToApsProjectRequest))
@@ -210,7 +210,7 @@
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: CrmAndApsGrpcService_GetCrmSalesDetailsList_FullMethodName,
+ FullMethod: "/CrmAndApsGrpcService/GetCrmSalesDetailsList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CrmAndApsGrpcServiceServer).GetCrmSalesDetailsList(ctx, req.(*GetCrmSalesDetailsListRequest))
@@ -228,7 +228,7 @@
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: CrmAndApsGrpcService_SendSalesDetailsAndProjectToCrm_FullMethodName,
+ FullMethod: "/CrmAndApsGrpcService/SendSalesDetailsAndProjectToCrm",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CrmAndApsGrpcServiceServer).SendSalesDetailsAndProjectToCrm(ctx, req.(*SendSalesDetailsAndProjectToCrmRequest))
@@ -246,7 +246,7 @@
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: CrmAndApsGrpcService_GetClientList_FullMethodName,
+ FullMethod: "/CrmAndApsGrpcService/GetClientList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CrmAndApsGrpcServiceServer).GetClientList(ctx, req.(*GetClientListRequest))
@@ -264,7 +264,7 @@
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: CrmAndApsGrpcService_UpdateSalesDetail_FullMethodName,
+ FullMethod: "/CrmAndApsGrpcService/UpdateSalesDetail",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CrmAndApsGrpcServiceServer).UpdateSalesDetail(ctx, req.(*UpdateSalesDetailRequest))
@@ -282,10 +282,28 @@
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: CrmAndApsGrpcService_RemoveSalesDetail_FullMethodName,
+ FullMethod: "/CrmAndApsGrpcService/RemoveSalesDetail",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CrmAndApsGrpcServiceServer).RemoveSalesDetail(ctx, req.(*RemoveSalesDetailRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _CrmAndApsGrpcService_CrmGetMakeAndOutsourcingProductInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CrmGetMakeAndOutsourcingProductInfoRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(CrmAndApsGrpcServiceServer).CrmGetMakeAndOutsourcingProductInfo(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/CrmAndApsGrpcService/CrmGetMakeAndOutsourcingProductInfo",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(CrmAndApsGrpcServiceServer).CrmGetMakeAndOutsourcingProductInfo(ctx, req.(*CrmGetMakeAndOutsourcingProductInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
@@ -325,6 +343,10 @@
MethodName: "RemoveSalesDetail",
Handler: _CrmAndApsGrpcService_RemoveSalesDetail_Handler,
},
+ {
+ MethodName: "CrmGetMakeAndOutsourcingProductInfo",
+ Handler: _CrmAndApsGrpcService_CrmGetMakeAndOutsourcingProductInfo_Handler,
+ },
},
Streams: []grpc.StreamDesc{},
Metadata: "crm_aps.proto",
diff --git a/proto/crm_srm.proto b/proto/crm_srm.proto
new file mode 100644
index 0000000..be954c9
--- /dev/null
+++ b/proto/crm_srm.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option go_package = "./crm_srm";
+
+service CrmAndSrmService {
+ rpc CrmGetPurchaseInfo(CrmGetPurchaseInfoRequest) returns(CrmGetPurchaseInfoResponse) {}
+}
+
+message CrmGetPurchaseInfoRequest{
+ string SalesDetailsNumber = 1;
+}
+
+message CrmGetPurchaseInfo {
+ int64 Amount = 1;
+ int64 FinishAmount = 2;
+ string ProductId = 3;
+}
+
+message CrmGetPurchaseInfoResponse{
+ repeated CrmGetPurchaseInfo Info = 1;
+}
\ No newline at end of file
diff --git a/router/salesDetails.go b/router/salesDetails.go
index 7d7db0c..4f273c5 100644
--- a/router/salesDetails.go
+++ b/router/salesDetails.go
@@ -19,7 +19,8 @@
salesDetailsRouter.POST("list", salesDetailsApi.List) // 鑾峰彇閿�鍞槑缁嗗崟鍒楄〃
salesDetailsRouter.GET("getProductInventoryInfo/:number", salesDetailsApi.GetProductInventoryInfo) // 鑾峰彇浜у搧搴撳瓨淇℃伅
//salesDetailsRouter.POST("createOperation", salesDetailsApi.CreateOperation) // 鍒涘缓浜у搧鍑哄簱淇℃伅
- salesDetailsRouter.GET("getApsProjectList", salesDetailsApi.GetApsProjectList) // 鑾峰彇aps椤圭洰鍒楄〃
- salesDetailsRouter.POST("sendSalesDetailsToOtherSystem", salesDetailsApi.SendSalesDetailsToOtherSystem) // 鎺ㄩ�侀攢鍞槑缁嗕俊鎭埌鍏朵粬绯荤粺 // 鍒涘缓浜у搧鍑哄簱淇℃伅
+ salesDetailsRouter.GET("getApsProjectList", salesDetailsApi.GetApsProjectList) // 鑾峰彇aps椤圭洰鍒楄〃
+ salesDetailsRouter.POST("sendSalesDetailsToOtherSystem", salesDetailsApi.SendSalesDetailsToOtherSystem) // 鎺ㄩ�侀攢鍞槑缁嗕俊鎭埌鍏朵粬绯荤粺 // 鍒涘缓浜у搧鍑哄簱淇℃伅
+ salesDetailsRouter.GET("getSalesDetailsProductInfo/:number", salesDetailsApi.GetSalesDetailsProductInfo) // 鑾峰彇閿�鍞槑缁嗕骇鍝佷俊鎭� // 鍒涘缓浜у搧鍑哄簱淇℃伅
}
}
--
Gitblit v1.8.0