import "Common.proto";

package ErmcpMI1;
option go_package = "com.muchinfo.mtp.proto";
option java_package = "cn.muchinfo.rma.protobuf.protoclasses";
// 套保计划信息 0 18 1
message HedgePlanInfo {
	optional string HedgePlanNo = 1; // string 套保计划编号
	optional int32 ContractType = 2; // int32 计划类型-1:采购-1:销售
	optional uint32 AreaUserID = 3; // uint32 机构ID
	optional uint32 DeliveryGoodsID = 4; // uint32 现货品种ID
	optional uint32 WrStandardID = 5; // uint32 现货商品ID
	optional uint32 ProductType = 6; // uint32 产品类型-1:标准仓单2:等标3:非标
	optional string SpotGoodsDesc = 7; // string 商品型号
	optional double PlanQty = 8; // double 计划数量
	optional double ConvertFactor = 9; // double 标仓系数
	optional string PlanTime = 10; // string 计划时间
}
// 套保计划操作请求 0 18 2
message HedgePlanOperateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 HedgePlanID = 2; // uint64 套保计划ID(601+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 3; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回
	optional uint32 OperateSrc = 4; // uint32 操作来源-1:管理端2:终端
	optional uint32 UserID = 5; // uint32 操作用户ID
	optional string Remark = 6; // string 备注
	optional string ClientTicket = 7; // string 客户端流水号
	optional ErmcpMI1.HedgePlanInfo Info = 8; // HedgePlanInfo 套保计划信息
}
// 套保计划操作响应 0 18 3
message HedgePlanOperateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 HedgePlanID = 4; // uint64 套保计划ID(601+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 5; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回
	optional uint32 OperateSrc = 6; // uint32 操作来源-1:管理端2:终端
	optional string ClientTicket = 7; // string 客户端流水号
}
// 现货合同信息 0 18 4
message SpotContractInfo {
	optional string ContractNo = 1; // string 现货合同编号
	optional int32 ContractType = 2; // int32 现货合同类型-1:采购-1:销售
	optional uint32 UserID = 3; // uint32 机构ID
	optional uint32 BuyUserID = 4; // uint32 采购方ID
	optional uint32 SellUserID = 5; // uint32 客户ID
	optional string SignDate = 6; // string 签订日期
	optional bytes ContractAttachment = 7; // bytes 合同附件
	optional double ContractMargin = 8; // double 合同保证金
	optional uint32 DeliveryGoodsID = 9; // uint32 现货品种ID
	optional uint32 WrStandardID = 10; // uint32 现货商品ID
	optional string BrandID = 11; // string 品牌ID
	optional uint32 ProductType = 12; // uint32 产品类型-1:标准仓单2:等标3:非标
	optional double ConvertFactor = 13; // double 标仓系数
	optional string SpotGoodsDesc = 14; // string 商品型号
	optional uint32 PriceType = 15; // uint32 定价类型-1:一口价2:点价3:暂定价
	optional double Qty = 16; // double 数量
	optional double Price = 17; // double 价格暂定价[1:一口价、3:暂定价]
	optional double Amount = 18; // double 金额[1:一口价、3:暂定价]
	optional string DeliveryStartDate = 19; // string 交收期(开始)
	optional string DeliveryEndDate = 20; // string 交收期(结束)
	optional uint32 GoodsID = 21; // uint32 点价合约ID-0:为现货，其它为期货商品合约ID[2:点价3:暂定价]
	optional double PriceMove = 22; // double 升贴水[2:点价3:暂定价]
	optional string StartDate = 23; // string 点价开始日期[2:点价3:暂定价]
	optional string EndDate = 24; // string 点价结束日期[2:点价3:暂定价]
	optional string PointDesc = 25; // string 点价备注[2:点价3:暂定价]
	optional string DeliveryDesc = 26; // string 交收方式
	optional uint32 MerUserID = 27; // uint32 跟单员ID
	optional uint32 TradeUserID = 28; // uint32 交易员ID
	optional double PricedQty = 29; // double 已定价量
	optional double PricedAmount = 30; // double 已定价金额
	optional uint32 SpotGoodsModelID = 31; // uint32 现货型号ID
	optional uint32 SpotGoodsBrandID = 32; // uint32 现货品牌ID
}
// 现货合同操作请求 0 18 5
message SpotContractOperateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 SpotContractID = 2; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 3; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
	optional uint32 OperateSrc = 4; // uint32 操作来源-1:管理端2:终端
	optional uint32 UserID = 5; // uint32 操作用户ID
	optional string Remark = 6; // string 备注
	optional string ClientTicket = 7; // string 客户端流水号
	optional ErmcpMI1.SpotContractInfo Info = 8; // SpotContractInfo 现货合同信息
}
// 现货合同操作响应 0 18 6
message SpotContractOperateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 SpotContractID = 4; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 5; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
	optional uint32 OperateSrc = 6; // uint32 操作来源-1:管理端2:终端
	optional string ClientTicket = 7; // string 客户端流水号
}
// 合同操作信息 0 18 7
message ContractOperateApplyInfo {
	optional uint32 OperateApplyType = 1; // uint32 操作申请类型-1:点价2:结算3:款项4:发票
	optional uint64 RelatedID = 2; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
	optional bytes DetailJson = 3; // bytes 明细JSON
	optional bytes AttachUrl = 4; // bytes 附件
}
// 合同操作请求 0 18 8
message ContractOperateApplyReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 OperateApplyID = 2; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 3; // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
	optional uint32 OperateSrc = 4; // uint32 操作来源-1:管理端2:终端
	optional uint32 UserID = 5; // uint32 操作用户ID
	optional string Remark = 6; // string 备注
	optional string ClientTicket = 7; // string 客户端流水号
	optional ErmcpMI1.ContractOperateApplyInfo Info = 8; // ContractOperateApplyInfo 合同操作信息
}
// 合同操作响应 0 18 9
message ContractOperateApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 OperateApplyID = 4; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 5; // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
	optional uint32 OperateSrc = 6; // uint32 操作来源-1:管理端2:终端
	optional string ClientTicket = 7; // string 客户端流水号
}
