ctr_contract.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. // ==========================================================================
  2. // This is auto-generated by gf cli tool. Fill this file as you wish.
  3. // ==========================================================================
  4. package contract
  5. import (
  6. "dashoo.cn/micro/app/model/contract/internal"
  7. "dashoo.cn/opms_libary/request"
  8. "github.com/gogf/gf/os/gtime"
  9. )
  10. // CtrContract is the golang structure for table ctr_contract.
  11. type CtrContract internal.CtrContract
  12. // Fill with you ideas below.
  13. type CtrContractGetRsp struct {
  14. CtrContract
  15. Product []*CtrContractProduct `json:"product"` // 产品
  16. }
  17. type CtrContractListRsp struct {
  18. CtrContract
  19. }
  20. type CtrContractListReq struct {
  21. request.PageReq
  22. SearchText string `json:"searchText"` // 合同编号,合同名称,客户名称,项目名称
  23. ContractCode string `json:"contractCode"` // 合同编号
  24. ContractName string `json:"contractName"` // 合同名称
  25. CustId int `json:"custId"` // 关联客户
  26. CustName string `json:"custName"` // 客户名称
  27. NboId int `json:"nboId"` // 关联项目
  28. NboName string `json:"nboName"` // 项目名称
  29. ApproStatus string `json:"approStatus"` // 审批状态
  30. ContractType string `json:"contractType"` // 合同类型
  31. // ContractStartTime *gtime.Time `json:"contractStartTime"` // 合同开始时间
  32. // ContractEndTime *gtime.Time `json:"contractEndTime"` // 合同结束时间
  33. InchargeId int `json:"inchargeId"` // 负责人ID
  34. InchargeName string `json:"inchargeName"` // 负责人
  35. SignatoryId int `json:"signatoryId"` // 公司签约人ID
  36. SignatoryName string `json:"signatoryName"` // 公司签约人
  37. DistributorId int `json:"distributorId"` // 经销商ID
  38. DistributorName string `json:"distributorName"` // 经销商
  39. ProductLine string `json:"productLine"` // 产品线
  40. ContractEndTimeStart string `json:"contractEndTimeStart"` //开始时间
  41. ContractEndTimeEnd string `json:"contractEndTimeEnd"` //结束时间
  42. CustProvinceId int `json:"custProvinceId"` // 所在省ID
  43. CustCityId int `json:"custCityId"` // 所在市ID
  44. ContractSignTimeStart string `json:"contractSignTimeStart"` //合同签订时间开始
  45. ContractSignTimeEnd string `json:"contractSignTimeEnd"` //合同签订时间结束
  46. }
  47. type CtrAddProduct struct {
  48. // ContractId int `json:"contractId"` // 关联合同
  49. ProdId int `json:"prodId"` // 关联产品
  50. // ProdCode string `json:"prodCode"` // 产品型号
  51. // ProdName string `json:"prodName"` // 产品名称
  52. // ProdClass string `json:"prodClass"` // 产品类别
  53. ProdNum int `json:"prodNum"` // 产品数量
  54. MaintTerm int `json:"maintTerm"` // 维保期
  55. SugSalesPrice float64 `json:"sugSalesPrice"` // 建议成交价
  56. TranPrice float64 `json:"tranPrice"` // 成交价格
  57. // ContractPrive float64 `json:"contractPrive"` // 合同总价
  58. Remark string `json:"remark"` // 备注
  59. }
  60. type CtrContractAddReq struct {
  61. ContractCode string `json:"contractCode"` // 合同编号
  62. ContractName string `json:"contractName" v:"required#请输入合同名称"` // 合同名称
  63. // CustId int `json:"custId"` // 关联客户
  64. // CustName string `json:"custName"` // 客户名称
  65. NboId int `json:"nboId"` // 关联项目
  66. // NboName string `json:"nboName"` // 项目名称
  67. // ApproStatus string `json:"approStatus"` // 审批状态
  68. ContractType string `json:"contractType"` // 合同类型
  69. // ContractAmount float64 `json:"contractAmount"` // 合同金额
  70. // InvoiceAmount float64 `json:"invoiceAmount"` // 已开票金额
  71. // CollectedAmount float64 `json:"collectedAmount"` // 已回款金额
  72. ContractStartTime *gtime.Time `json:"contractStartTime"` // 合同开始时间
  73. ContractEndTime *gtime.Time `json:"contractEndTime"` // 合同结束时间
  74. ContractSignTime *gtime.Time `json:"contractSignTime"` // 合同签订时间
  75. InchargeId int `json:"inchargeId"` // 负责人ID
  76. InchargeName string `json:"inchargeName"` // 负责人
  77. SignatoryId int `json:"signatoryId"` // 公司签约人ID
  78. SignatoryName string `json:"signatoryName"` // 公司签约人
  79. SignatoryType string `json:"signatoryType"` // 签订单位类型 10 终端用户 20 经销商 30 代理商
  80. SignatoryUnit string `json:"signatoryUnit"` // 合同签订单位
  81. EarnestMoney float64 `json:"earnestMoney"` // 质量/履约保证金(元)
  82. CustSignatoryId int `json:"custSignatoryId"` // 客户签约人ID
  83. CustSignatoryName string `json:"custSignatoryName"` // 客户签约人
  84. DistributorId int `json:"distributorId"` // 经销商ID
  85. DistributorName string `json:"distributorName"` // 经销商
  86. Remark string `json:"remark"` // 备注
  87. Product []CtrAddProduct `json:"product"` // 产品
  88. ServiceFeeAgreement string `json:"serviceFeeAgreement"` // 运维服务费约定
  89. SoftwareMaintenanceLimit int `json:"softwareMaintenanceLimit"` // 软件运维期限(年)
  90. HardwareMaintenanceLimit int `json:"hardwareMaintenanceLimit"` // 硬件运维期限(年)
  91. MaintenanceClause string `json:"maintenanceClause"` // 运维条款
  92. }
  93. type CtrContractUpdateReq struct {
  94. Id int `json:"id" v:"required#请输入Id"`
  95. // ContractCode string `json:"contractCode"` // 合同编号
  96. ContractName string `json:"contractName"` // 合同名称
  97. // CustId int `json:"custId"` // 关联客户
  98. // CustName string `json:"custName"` // 客户名称
  99. NboId int `json:"nboId"` // 关联项目
  100. // NboName string `json:"nboName"` // 项目名称
  101. // ApproStatus string `json:"approStatus"` // 审批状态
  102. ContractType string `json:"contractType"` // 合同类型
  103. // ContractAmount float64 `json:"contractAmount"` // 合同金额
  104. // InvoiceAmount float64 `json:"invoiceAmount"` // 已开票金额
  105. // CollectedAmount float64 `json:"collectedAmount"` // 已回款金额
  106. ContractStartTime *gtime.Time `json:"contractStartTime"` // 合同开始时间
  107. ContractEndTime *gtime.Time `json:"contractEndTime"` // 合同结束时间
  108. ContractSignTime *gtime.Time `json:"contractSignTime"` // 合同签订时间
  109. InchargeId int `json:"inchargeId"` // 负责人ID
  110. InchargeName string `json:"inchargeName"` // 负责人
  111. SignatoryId int `json:"signatoryId"` // 公司签约人ID
  112. SignatoryName string `json:"signatoryName"` // 公司签约人
  113. SignatoryType string `json:"signatoryType"` // 签订单位类型 10 终端用户 20 经销商 30 代理商
  114. SignatoryUnit string `json:"signatoryUnit"` // 合同签订单位
  115. EarnestMoney *float64 `json:"earnestMoney"` // 质量/履约保证金(元)
  116. CustSignatoryId int `json:"custSignatoryId"` // 客户签约人ID
  117. CustSignatoryName string `json:"custSignatoryName"` // 客户签约人
  118. DistributorId int `json:"distributorId"` // 经销商ID
  119. DistributorName string `json:"distributorName"` // 经销商
  120. Remark *string `json:"remark"`
  121. Product *[]CtrAddProduct `json:"product"` // 产品
  122. }
  123. type CtrContractUpdateProductReq struct {
  124. Id int `json:"id" v:"required#请输入Id"`
  125. MaintainPeriod *int `json:"maintainPeriod"` // 质保期(天)
  126. WarrantPeriod *int `json:"warrantPeriod"` // 运维期(天)
  127. MaintainStartTime *gtime.Time `json:"maintainStartTime"` // 运维开始时间
  128. MaintainRemark *string `json:"maintainRemark"` // 运维约定条款
  129. AcceptTime *gtime.Time `json:"acceptTime"` // 验收时间
  130. PurchaseCost *float64 `json:"purchaseCost"` // 采购成本
  131. DevCost *float64 `json:"devCost"` // 二次开发成本
  132. MaintainCost *float64 `json:"maintainCost"` // 产品维保成本
  133. DirectCost *float64 `json:"directCost"` // 直接成本
  134. }
  135. type CtrContractTransferReq struct {
  136. Id []int `json:"id" v:"required#请输入Id"`
  137. InchargeId int `json:"inchargeId"` // 负责人ID
  138. InchargeName string `json:"inchargeName"` // 负责人
  139. }
  140. type DingFileInfo struct {
  141. SpaceId string `json:"spaceId"` // 空间ID
  142. FileId string `json:"fileId"` // 文件ID
  143. FileName string `json:"fileName"` //文件名
  144. FileSize int `json:"fileSize"` // 文件大小
  145. FileType string `json:"fileType"` // 文件类型
  146. }
  147. type CtrContractCommitReq struct {
  148. Id int `json:"id" v:"required#请输入Id"`
  149. ContractModel string `json:"contractModel"` // 合同模板 值可以是:大数模板, 客户模板
  150. Terms string `json:"terms"` // 条款情况 值可以是:接纳全部条款, 不接纳全部条款
  151. PayTerms string `json:"payTerms"` // 付款条件
  152. File []DingFileInfo `json:"file"` // 附件
  153. }
  154. type CtrContractCommitWithFileUrlReq struct {
  155. Id int `json:"id" v:"required#请输入Id"`
  156. ContractModel string `json:"contractModel"` // 合同模板 值可以是:大数模板, 客户模板
  157. Terms string `json:"terms"` // 条款情况 值可以是:接纳全部条款, 不接纳全部条款
  158. PayTerms string `json:"payTerms"` // 付款条件
  159. FileName string `json:"fileName" v:"required#附件名不能为空"`
  160. FileUrl string `json:"fileUrl" v:"required#附件地址不能为空"`
  161. Shares []*CtrContractShare `json:"shares"` // 销售分成情况
  162. }
  163. // GetContractShareReq 获取合同分成信息请求
  164. type GetContractShareReq struct {
  165. ContractId string `json:"contractId" v:"required#合同Id不能为空"`
  166. }