From c28ff1e6df57900a5d2fced3becae8ddc3313608 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期四, 14 三月 2024 10:34:23 +0800
Subject: [PATCH] aps在srm创建采购单
---
proto/purchase_wms/purchase_wms_grpc.pb.go | 36 ++++++
proto/purchase_wms/purchase_wms.pb.go | 216 +++++++++++++++++++++++++-----------
proto/purchase_wms.proto | 8 +
proto/purchase_wms/server.go | 97 ++++++++++++++++
4 files changed, 291 insertions(+), 66 deletions(-)
diff --git a/proto/purchase_wms.proto b/proto/purchase_wms.proto
index be80ba4..53a995e 100644
--- a/proto/purchase_wms.proto
+++ b/proto/purchase_wms.proto
@@ -11,6 +11,7 @@
rpc ExistSupplier(ExistSupplierRequest) returns (ExistSupplierResponse) {}
rpc SrmGetWarehouseInfo(SrmGetWarehouseInfoRequest) returns (SrmGetWarehouseInfoResponse) {}
rpc SrmGetOperationInfo(SrmGetOperationInfoRequest) returns (SrmGetOperationInfoResponse) {}
+ rpc CreatePurchaseByAps(CreatePurchaseByApsRequest) returns (CreatePurchaseByWmsResponse) {}
}
//------------------------------------------PurchaseToWms--------------------------------
@@ -137,3 +138,10 @@
message SrmGetOperationInfoResponse{
repeated SrmOperation operations = 1;
}
+
+//--------------------------------------------------CreatePurchaseByAps---------------------------------------
+
+message CreatePurchaseByApsRequest {
+ string sourceOrder = 1;
+ repeated CreatePurchaseByWmsRequest req = 2;
+}
\ No newline at end of file
diff --git a/proto/purchase_wms/purchase_wms.pb.go b/proto/purchase_wms/purchase_wms.pb.go
index 558b8ed..683926e 100644
--- a/proto/purchase_wms/purchase_wms.pb.go
+++ b/proto/purchase_wms/purchase_wms.pb.go
@@ -1232,6 +1232,61 @@
return nil
}
+type CreatePurchaseByApsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SourceOrder string `protobuf:"bytes,1,opt,name=sourceOrder,proto3" json:"sourceOrder,omitempty"`
+ Req []*CreatePurchaseByWmsRequest `protobuf:"bytes,2,rep,name=req,proto3" json:"req,omitempty"`
+}
+
+func (x *CreatePurchaseByApsRequest) Reset() {
+ *x = CreatePurchaseByApsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_purchase_wms_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreatePurchaseByApsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreatePurchaseByApsRequest) ProtoMessage() {}
+
+func (x *CreatePurchaseByApsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_purchase_wms_proto_msgTypes[21]
+ 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 CreatePurchaseByApsRequest.ProtoReflect.Descriptor instead.
+func (*CreatePurchaseByApsRequest) Descriptor() ([]byte, []int) {
+ return file_purchase_wms_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *CreatePurchaseByApsRequest) GetSourceOrder() string {
+ if x != nil {
+ return x.SourceOrder
+ }
+ return ""
+}
+
+func (x *CreatePurchaseByApsRequest) GetReq() []*CreatePurchaseByWmsRequest {
+ if x != nil {
+ return x.Req
+ }
+ return nil
+}
+
var File_purchase_wms_proto protoreflect.FileDescriptor
var file_purchase_wms_proto_rawDesc = []byte{
@@ -1359,50 +1414,63 @@
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x0a,
0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x53, 0x72, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0x97, 0x05, 0x0a, 0x0f,
- 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
- 0x3e, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x6f, 0x57, 0x6d, 0x73,
- 0x12, 0x15, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x6f, 0x57, 0x6d, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61,
- 0x73, 0x65, 0x54, 0x6f, 0x57, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x55, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73,
- 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
- 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75,
- 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70,
+ 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6d, 0x0a, 0x1a, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x42, 0x79, 0x41,
+ 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x03, 0x72,
+ 0x65, 0x71, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x42, 0x79, 0x57, 0x6d, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x03, 0x72, 0x65, 0x71, 0x32, 0xeb, 0x05, 0x0a, 0x0f, 0x50,
+ 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3e,
+ 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x6f, 0x57, 0x6d, 0x73, 0x12,
+ 0x15, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x6f, 0x57, 0x6d, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73,
+ 0x65, 0x54, 0x6f, 0x57, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55,
+ 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
+ 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72,
+ 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70,
+ 0x6c, 0x69, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
+ 0x74, 0x49, 0x64, 0x12, 0x22, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65,
+ 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70,
0x70, 0x6c, 0x69, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75,
- 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x69,
- 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49,
- 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75,
- 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x64,
- 0x75, 0x63, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x52, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73,
- 0x65, 0x42, 0x79, 0x57, 0x6d, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50,
- 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x42, 0x79, 0x57, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63,
- 0x68, 0x61, 0x73, 0x65, 0x42, 0x79, 0x57, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61,
- 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63,
- 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x18, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66,
- 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0d, 0x45,
- 0x78, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x45,
- 0x78, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c,
- 0x69, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a,
- 0x13, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65,
- 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72,
- 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x1c, 0x2e, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f,
- 0x75, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x52, 0x0a, 0x13, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x53, 0x72, 0x6d, 0x47, 0x65,
- 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x4f, 0x70,
- 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x10, 0x5a, 0x0e, 0x2e, 0x2f, 0x70, 0x75, 0x72, 0x63, 0x68,
- 0x61, 0x73, 0x65, 0x5f, 0x77, 0x6d, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x63, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52,
+ 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65,
+ 0x42, 0x79, 0x57, 0x6d, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75,
+ 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x42, 0x79, 0x57, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68,
+ 0x61, 0x73, 0x65, 0x42, 0x79, 0x57, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68,
+ 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18,
+ 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0d, 0x45, 0x78,
+ 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x45, 0x78,
+ 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x69,
+ 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13,
+ 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x65,
+ 0x68, 0x6f, 0x75, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x1c, 0x2e, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75,
+ 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x52, 0x0a, 0x13, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74,
+ 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x53, 0x72, 0x6d, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75,
+ 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x42, 0x79, 0x41, 0x70, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x42, 0x79, 0x41, 0x70,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x42, 0x79, 0x57, 0x6d, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x10, 0x5a, 0x0e, 0x2e, 0x2f, 0x70, 0x75,
+ 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x6d, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
}
var (
@@ -1417,7 +1485,7 @@
return file_purchase_wms_proto_rawDescData
}
-var file_purchase_wms_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
+var file_purchase_wms_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_purchase_wms_proto_goTypes = []interface{}{
(*PurchaseProduct)(nil), // 0: PurchaseProduct
(*PurchaseToWmsRequest)(nil), // 1: PurchaseToWmsRequest
@@ -1440,6 +1508,7 @@
(*SrmGetOperationInfoRequest)(nil), // 18: SrmGetOperationInfoRequest
(*SrmOperation)(nil), // 19: SrmOperation
(*SrmGetOperationInfoResponse)(nil), // 20: SrmGetOperationInfoResponse
+ (*CreatePurchaseByApsRequest)(nil), // 21: CreatePurchaseByApsRequest
}
var file_purchase_wms_proto_depIdxs = []int32{
0, // 0: PurchaseToWmsRequest.Product:type_name -> PurchaseProduct
@@ -1447,27 +1516,30 @@
11, // 2: GetPurchaseInfoResponse.Infos:type_name -> PurchaseInfo
16, // 3: SrmGetWarehouseInfoResponse.info:type_name -> SrmWarehouseInfo
19, // 4: SrmGetOperationInfoResponse.operations:type_name -> SrmOperation
- 1, // 5: PurchaseService.PurchaseToWms:input_type -> PurchaseToWmsRequest
- 3, // 6: PurchaseService.UpdatePurchaseStatus:input_type -> UpdatePurchaseStatusRequest
- 5, // 7: PurchaseService.GetSupplierListByProductId:input_type -> GetSupplierListByProductIdRequest
- 8, // 8: PurchaseService.CreatePurchaseByWms:input_type -> CreatePurchaseByWmsRequest
- 10, // 9: PurchaseService.GetPurchaseInfo:input_type -> GetPurchaseInfoRequest
- 13, // 10: PurchaseService.ExistSupplier:input_type -> ExistSupplierRequest
- 15, // 11: PurchaseService.SrmGetWarehouseInfo:input_type -> SrmGetWarehouseInfoRequest
- 18, // 12: PurchaseService.SrmGetOperationInfo:input_type -> SrmGetOperationInfoRequest
- 2, // 13: PurchaseService.PurchaseToWms:output_type -> PurchaseToWmsResponse
- 4, // 14: PurchaseService.UpdatePurchaseStatus:output_type -> UpdatePurchaseStatusResponse
- 7, // 15: PurchaseService.GetSupplierListByProductId:output_type -> GetSupplierListByProductIdResponse
- 9, // 16: PurchaseService.CreatePurchaseByWms:output_type -> CreatePurchaseByWmsResponse
- 12, // 17: PurchaseService.GetPurchaseInfo:output_type -> GetPurchaseInfoResponse
- 14, // 18: PurchaseService.ExistSupplier:output_type -> ExistSupplierResponse
- 17, // 19: PurchaseService.SrmGetWarehouseInfo:output_type -> SrmGetWarehouseInfoResponse
- 20, // 20: PurchaseService.SrmGetOperationInfo:output_type -> SrmGetOperationInfoResponse
- 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
+ 8, // 5: CreatePurchaseByApsRequest.req:type_name -> CreatePurchaseByWmsRequest
+ 1, // 6: PurchaseService.PurchaseToWms:input_type -> PurchaseToWmsRequest
+ 3, // 7: PurchaseService.UpdatePurchaseStatus:input_type -> UpdatePurchaseStatusRequest
+ 5, // 8: PurchaseService.GetSupplierListByProductId:input_type -> GetSupplierListByProductIdRequest
+ 8, // 9: PurchaseService.CreatePurchaseByWms:input_type -> CreatePurchaseByWmsRequest
+ 10, // 10: PurchaseService.GetPurchaseInfo:input_type -> GetPurchaseInfoRequest
+ 13, // 11: PurchaseService.ExistSupplier:input_type -> ExistSupplierRequest
+ 15, // 12: PurchaseService.SrmGetWarehouseInfo:input_type -> SrmGetWarehouseInfoRequest
+ 18, // 13: PurchaseService.SrmGetOperationInfo:input_type -> SrmGetOperationInfoRequest
+ 21, // 14: PurchaseService.CreatePurchaseByAps:input_type -> CreatePurchaseByApsRequest
+ 2, // 15: PurchaseService.PurchaseToWms:output_type -> PurchaseToWmsResponse
+ 4, // 16: PurchaseService.UpdatePurchaseStatus:output_type -> UpdatePurchaseStatusResponse
+ 7, // 17: PurchaseService.GetSupplierListByProductId:output_type -> GetSupplierListByProductIdResponse
+ 9, // 18: PurchaseService.CreatePurchaseByWms:output_type -> CreatePurchaseByWmsResponse
+ 12, // 19: PurchaseService.GetPurchaseInfo:output_type -> GetPurchaseInfoResponse
+ 14, // 20: PurchaseService.ExistSupplier:output_type -> ExistSupplierResponse
+ 17, // 21: PurchaseService.SrmGetWarehouseInfo:output_type -> SrmGetWarehouseInfoResponse
+ 20, // 22: PurchaseService.SrmGetOperationInfo:output_type -> SrmGetOperationInfoResponse
+ 9, // 23: PurchaseService.CreatePurchaseByAps:output_type -> CreatePurchaseByWmsResponse
+ 15, // [15:24] is the sub-list for method output_type
+ 6, // [6:15] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
}
func init() { file_purchase_wms_proto_init() }
@@ -1728,6 +1800,18 @@
return nil
}
}
+ file_purchase_wms_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreatePurchaseByApsRequest); 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{
@@ -1735,7 +1819,7 @@
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_purchase_wms_proto_rawDesc,
NumEnums: 0,
- NumMessages: 21,
+ NumMessages: 22,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/proto/purchase_wms/purchase_wms_grpc.pb.go b/proto/purchase_wms/purchase_wms_grpc.pb.go
index 142e836..1caf67d 100644
--- a/proto/purchase_wms/purchase_wms_grpc.pb.go
+++ b/proto/purchase_wms/purchase_wms_grpc.pb.go
@@ -26,6 +26,7 @@
ExistSupplier(ctx context.Context, in *ExistSupplierRequest, opts ...grpc.CallOption) (*ExistSupplierResponse, error)
SrmGetWarehouseInfo(ctx context.Context, in *SrmGetWarehouseInfoRequest, opts ...grpc.CallOption) (*SrmGetWarehouseInfoResponse, error)
SrmGetOperationInfo(ctx context.Context, in *SrmGetOperationInfoRequest, opts ...grpc.CallOption) (*SrmGetOperationInfoResponse, error)
+ CreatePurchaseByAps(ctx context.Context, in *CreatePurchaseByApsRequest, opts ...grpc.CallOption) (*CreatePurchaseByWmsResponse, error)
}
type purchaseServiceClient struct {
@@ -108,6 +109,15 @@
return out, nil
}
+func (c *purchaseServiceClient) CreatePurchaseByAps(ctx context.Context, in *CreatePurchaseByApsRequest, opts ...grpc.CallOption) (*CreatePurchaseByWmsResponse, error) {
+ out := new(CreatePurchaseByWmsResponse)
+ err := c.cc.Invoke(ctx, "/PurchaseService/CreatePurchaseByAps", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// PurchaseServiceServer is the server API for PurchaseService service.
// All implementations must embed UnimplementedPurchaseServiceServer
// for forward compatibility
@@ -120,6 +130,7 @@
ExistSupplier(context.Context, *ExistSupplierRequest) (*ExistSupplierResponse, error)
SrmGetWarehouseInfo(context.Context, *SrmGetWarehouseInfoRequest) (*SrmGetWarehouseInfoResponse, error)
SrmGetOperationInfo(context.Context, *SrmGetOperationInfoRequest) (*SrmGetOperationInfoResponse, error)
+ CreatePurchaseByAps(context.Context, *CreatePurchaseByApsRequest) (*CreatePurchaseByWmsResponse, error)
mustEmbedUnimplementedPurchaseServiceServer()
}
@@ -150,6 +161,9 @@
}
func (UnimplementedPurchaseServiceServer) SrmGetOperationInfo(context.Context, *SrmGetOperationInfoRequest) (*SrmGetOperationInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SrmGetOperationInfo not implemented")
+}
+func (UnimplementedPurchaseServiceServer) CreatePurchaseByAps(context.Context, *CreatePurchaseByApsRequest) (*CreatePurchaseByWmsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreatePurchaseByAps not implemented")
}
func (UnimplementedPurchaseServiceServer) mustEmbedUnimplementedPurchaseServiceServer() {}
@@ -308,6 +322,24 @@
return interceptor(ctx, in, info, handler)
}
+func _PurchaseService_CreatePurchaseByAps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreatePurchaseByApsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(PurchaseServiceServer).CreatePurchaseByAps(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/PurchaseService/CreatePurchaseByAps",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(PurchaseServiceServer).CreatePurchaseByAps(ctx, req.(*CreatePurchaseByApsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
// PurchaseService_ServiceDesc is the grpc.ServiceDesc for PurchaseService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -347,6 +379,10 @@
MethodName: "SrmGetOperationInfo",
Handler: _PurchaseService_SrmGetOperationInfo_Handler,
},
+ {
+ MethodName: "CreatePurchaseByAps",
+ Handler: _PurchaseService_CreatePurchaseByAps_Handler,
+ },
},
Streams: []grpc.StreamDesc{},
Metadata: "purchase_wms.proto",
diff --git a/proto/purchase_wms/server.go b/proto/purchase_wms/server.go
index 6eabcf6..29037a8 100644
--- a/proto/purchase_wms/server.go
+++ b/proto/purchase_wms/server.go
@@ -181,3 +181,100 @@
resp.Exist = true
return resp, nil
}
+
+func (s *Server) CreatePurchaseByAps(ctx context.Context, req *CreatePurchaseByApsRequest) (*CreatePurchaseByWmsResponse, error) {
+ if len(req.Req) == 0 {
+ return nil, errors.New("浜у搧id涓虹┖")
+ }
+ productIds := make([]string, 0)
+ amount := int64(0)
+ numMap := make(map[string]int64)
+ for _, request := range req.Req {
+ productIds = append(productIds, request.ProductId)
+ numMap[request.ProductId] = request.Amount
+ amount += request.Amount
+ }
+ var products []test.SupplierMaterial
+ var newProducts []test.SupplierMaterial
+ err := global.GVA_DB.Model(&test.SupplierMaterial{}).Where("number in (?)", productIds).Order("id desc").Find(&products).Error
+ if err != nil {
+ return nil, err
+ }
+ for _, id := range productIds {
+ flag := false
+ for _, product := range products {
+ if id == product.Number {
+ newProducts = append(newProducts, product)
+ flag = true
+ break
+ }
+ }
+ if !flag {
+ var material test.Material
+ var product test.SupplierMaterial
+ err = global.GVA_DB.Model(&test.Material{}).Where("id = ?", id).First(&material).Error
+ if err != nil {
+ return nil, err
+ }
+ product.Name = material.Name
+ product.Number = material.ID
+ product.Unit = material.Unit
+ product.PurchasePrice = material.PurchasePrice.InexactFloat64()
+ product.Specifications = material.Specs
+ product.ModelNumber = material.Type
+ err = global.GVA_DB.Create(&product).Error
+ if err != nil {
+ return nil, err
+ }
+ newProducts = append(newProducts, product)
+ }
+ }
+
+ //閲囪喘鍗�
+ var purchaseRecord purchase.Purchase
+ purchaseRecord.OrderSource = "APS鎺ㄩ��"
+ purchaseRecord.Name = "APS閲囪喘"
+ purchaseRecord.ID = 0
+ purchaseRecord.Status = purchase.OrderStatusConfirmed
+ purchaseRecord.HandledBy = "admin"
+ purchaseRecord.Creator = "admin"
+ purchaseRecord.Number = fmt.Sprintf("CG%v", time.Now().Unix())
+ purchaseRecord.Principal = "admin"
+ purchaseRecord.OrderType = "閲囪喘璁㈠崟"
+ purchaseRecord.Quantity = decimal.NewFromInt(amount)
+ purchaseRecord.SourceOrder = req.SourceOrder
+
+ price := float64(0)
+ var pps []purchase.PurchaseProducts
+ for _, product := range newProducts {
+ //浜у搧
+ var pp purchase.PurchaseProducts
+ pp.ProductId = int(product.ID)
+ pp.Amount = decimal.NewFromInt(numMap[product.Number])
+ pp.Price = decimal.NewFromFloat(product.PurchasePrice)
+ price += product.PurchasePrice
+ pp.Total = pp.Amount.Mul(pp.Price)
+ pp.Remark = "APS閲囪喘"
+ pps = append(pps, pp)
+ }
+ purchaseRecord.TotalPrice = purchaseRecord.Quantity.Mul(decimal.NewFromFloat(price))
+ purchaseRecord.UnInvoiceAmount = purchaseRecord.TotalPrice
+ purchaseRecord.ShouldPayAmount = purchaseRecord.TotalPrice
+
+ err = global.GVA_DB.Transaction(func(tx *gorm.DB) error {
+ err = tx.Create(&purchaseRecord).Error
+ if err != nil {
+ return err
+ }
+ for i := 0; i < len(pps); i++ {
+ pps[i].PurchaseId = int(purchaseRecord.ID)
+ }
+ return tx.Create(&pps).Error
+ })
+ if err != nil {
+ return nil, err
+ }
+ resp := new(CreatePurchaseByWmsResponse)
+ resp.PurchaseNumber = purchaseRecord.Number
+ return resp, nil
+}
--
Gitblit v1.8.0