ctr_contract.go 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  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. SoftwareMaintenanceBeginTimeStart *gtime.Time `json:"softwareMaintenanceBeginTimeStart"` // 软件运维开始时间
  47. SoftwareMaintenanceBeginTimeEnd *gtime.Time `json:"softwareMaintenanceBeginTimeEnd"` // 软件运维开始时间
  48. SoftwareMaintenanceEndTimeStart *gtime.Time `json:"softwareMaintenanceEndTimeStart"` // 软件运维结束时间
  49. SoftwareMaintenanceEndTimeEnd *gtime.Time `json:"softwareMaintenanceEndTimeEnd"` // 软件运维结束时间
  50. HardwareMaintenanceBeginTimeStart *gtime.Time `json:"hardwareMaintenanceBeginTimeStart"` // 硬件运维开始时间
  51. HardwareMaintenanceBeginTimeEnd *gtime.Time `json:"hardwareMaintenanceBeginTimeEnd"` // 硬件运维开始时间
  52. HardwareMaintenanceEndTimeStart *gtime.Time `json:"hardwareMaintenanceEndTimeStart"` // 硬件运维结束时间
  53. HardwareMaintenanceEndTimeEnd *gtime.Time `json:"hardwareMaintenanceEndTimeEnd"` // 硬件运维结束时间
  54. }
  55. type CtrAddProduct struct {
  56. // ContractId int `json:"contractId"` // 关联合同
  57. ProdId int `json:"prodId"` // 关联产品
  58. // ProdCode string `json:"prodCode"` // 产品型号
  59. // ProdName string `json:"prodName"` // 产品名称
  60. // ProdClass string `json:"prodClass"` // 产品类别
  61. ProdNum int `json:"prodNum"` // 产品数量
  62. MaintTerm int `json:"maintTerm"` // 维保期
  63. SugSalesPrice float64 `json:"sugSalesPrice"` // 建议成交价
  64. TranPrice float64 `json:"tranPrice"` // 成交价格
  65. // ContractPrive float64 `json:"contractPrive"` // 合同总价
  66. Remark string `json:"remark"` // 备注
  67. }
  68. type CtrContractAddReq struct {
  69. ContractCode string `json:"contractCode"` // 合同编号
  70. ContractName string `json:"contractName" v:"required#请输入合同名称"` // 合同名称
  71. // CustId int `json:"custId"` // 关联客户
  72. // CustName string `json:"custName"` // 客户名称
  73. NboId int `json:"nboId"` // 关联项目
  74. // NboName string `json:"nboName"` // 项目名称
  75. // ApproStatus string `json:"approStatus"` // 审批状态
  76. ContractType string `json:"contractType"` // 合同类型
  77. // ContractAmount float64 `json:"contractAmount"` // 合同金额
  78. // InvoiceAmount float64 `json:"invoiceAmount"` // 已开票金额
  79. // CollectedAmount float64 `json:"collectedAmount"` // 已回款金额
  80. ContractStartTime *gtime.Time `json:"contractStartTime"` // 合同开始时间
  81. ContractEndTime *gtime.Time `json:"contractEndTime"` // 合同结束时间
  82. ContractSignTime *gtime.Time `json:"contractSignTime"` // 合同签订时间
  83. InchargeId int `json:"inchargeId"` // 负责人ID
  84. InchargeName string `json:"inchargeName"` // 负责人
  85. SignatoryId int `json:"signatoryId"` // 公司签约人ID
  86. SignatoryName string `json:"signatoryName"` // 公司签约人
  87. SignatoryType string `json:"signatoryType"` // 签订单位类型 10 终端用户 20 经销商 30 代理商
  88. SignatoryUnit string `json:"signatoryUnit"` // 合同签订单位
  89. EarnestMoney float64 `json:"earnestMoney"` // 质量/履约保证金(元)
  90. CustSignatoryId int `json:"custSignatoryId"` // 客户签约人ID
  91. CustSignatoryName string `json:"custSignatoryName"` // 客户签约人
  92. DistributorId int `json:"distributorId"` // 经销商ID
  93. DistributorName string `json:"distributorName"` // 经销商
  94. Remark string `json:"remark"` // 备注
  95. Product []CtrAddProduct `json:"product"` // 产品
  96. ServiceFeeAgreement string `json:"serviceFeeAgreement"` // 运维服务费约定
  97. SoftwareMaintenanceLimit int `json:"softwareMaintenanceLimit"` // 软件运维期限(年)
  98. HardwareMaintenanceLimit int `json:"hardwareMaintenanceLimit"` // 硬件运维期限(年)
  99. MaintenanceClause string `json:"maintenanceClause"` // 运维条款
  100. }
  101. type CtrContractUpdateReq struct {
  102. Id int `json:"id" v:"required#请输入Id"`
  103. // ContractCode string `json:"contractCode"` // 合同编号
  104. ContractName string `json:"contractName"` // 合同名称
  105. // CustId int `json:"custId"` // 关联客户
  106. // CustName string `json:"custName"` // 客户名称
  107. NboId int `json:"nboId"` // 关联项目
  108. // NboName string `json:"nboName"` // 项目名称
  109. // ApproStatus string `json:"approStatus"` // 审批状态
  110. ContractType string `json:"contractType"` // 合同类型
  111. // ContractAmount float64 `json:"contractAmount"` // 合同金额
  112. // InvoiceAmount float64 `json:"invoiceAmount"` // 已开票金额
  113. // CollectedAmount float64 `json:"collectedAmount"` // 已回款金额
  114. ContractStartTime *gtime.Time `json:"contractStartTime"` // 合同开始时间
  115. ContractEndTime *gtime.Time `json:"contractEndTime"` // 合同结束时间
  116. ContractSignTime *gtime.Time `json:"contractSignTime"` // 合同签订时间
  117. InchargeId int `json:"inchargeId"` // 负责人ID
  118. InchargeName string `json:"inchargeName"` // 负责人
  119. SignatoryId int `json:"signatoryId"` // 公司签约人ID
  120. SignatoryName string `json:"signatoryName"` // 公司签约人
  121. SignatoryType string `json:"signatoryType"` // 签订单位类型 10 终端用户 20 经销商 30 代理商
  122. SignatoryUnit string `json:"signatoryUnit"` // 合同签订单位
  123. EarnestMoney *float64 `json:"earnestMoney"` // 质量/履约保证金(元)
  124. CustSignatoryId int `json:"custSignatoryId"` // 客户签约人ID
  125. CustSignatoryName string `json:"custSignatoryName"` // 客户签约人
  126. DistributorId int `json:"distributorId"` // 经销商ID
  127. DistributorName string `json:"distributorName"` // 经销商
  128. Remark *string `json:"remark"`
  129. Product *[]CtrAddProduct `json:"product"` // 产品
  130. }
  131. type CtrContractUpdateProductReq struct {
  132. Id int `json:"id" v:"required#请输入Id"`
  133. MaintainPeriod *int `json:"maintainPeriod"` // 质保期(天)
  134. WarrantPeriod *int `json:"warrantPeriod"` // 运维期(天)
  135. MaintainStartTime *gtime.Time `json:"maintainStartTime"` // 运维开始时间
  136. MaintainRemark *string `json:"maintainRemark"` // 运维约定条款
  137. AcceptTime *gtime.Time `json:"acceptTime"` // 验收时间
  138. PurchaseCost *float64 `json:"purchaseCost"` // 采购成本
  139. DevCost *float64 `json:"devCost"` // 二次开发成本
  140. MaintainCost *float64 `json:"maintainCost"` // 产品维保成本
  141. DirectCost *float64 `json:"directCost"` // 直接成本
  142. }
  143. type CtrContractTransferReq struct {
  144. Id []int `json:"id" v:"required#请输入Id"`
  145. InchargeId int `json:"inchargeId"` // 负责人ID
  146. InchargeName string `json:"inchargeName"` // 负责人
  147. }
  148. type DingFileInfo struct {
  149. SpaceId string `json:"spaceId"` // 空间ID
  150. FileId string `json:"fileId"` // 文件ID
  151. FileName string `json:"fileName"` //文件名
  152. FileSize int `json:"fileSize"` // 文件大小
  153. FileType string `json:"fileType"` // 文件类型
  154. }
  155. type CtrContractCommitReq struct {
  156. Id int `json:"id" v:"required#请输入Id"`
  157. ContractModel string `json:"contractModel"` // 合同模板 值可以是:大数模板, 客户模板
  158. Terms string `json:"terms"` // 条款情况 值可以是:接纳全部条款, 不接纳全部条款
  159. PayTerms string `json:"payTerms"` // 付款条件
  160. File []DingFileInfo `json:"file"` // 附件
  161. }
  162. type CtrContractCommitWithFileUrlReq struct {
  163. Id int `json:"id" v:"required#请输入Id"`
  164. ContractModel string `json:"contractModel"` // 合同模板 值可以是:大数模板, 客户模板
  165. Terms string `json:"terms"` // 条款情况 值可以是:接纳全部条款, 不接纳全部条款
  166. PayTerms string `json:"payTerms"` // 付款条件
  167. FileName string `json:"fileName" v:"required#附件名不能为空"`
  168. FileUrl string `json:"fileUrl" v:"required#附件地址不能为空"`
  169. Shares []*CtrContractShare `json:"shares"` // 销售分成情况
  170. }
  171. // GetContractShareReq 获取合同分成信息请求
  172. type GetContractShareReq struct {
  173. ContractId string `json:"contractId" v:"required#合同Id不能为空"`
  174. }
  175. type CtrContractMaintenanceExport struct {
  176. NboName string `json:"nboName" export:"项目名称"` // 项目名称
  177. SoftwareMaintenanceBeginTime *gtime.Time `json:"softwareMaintenanceBeginTime" export:"软件运维开始时间"` // 软件运维开始时间
  178. SoftwareMaintenanceEndTime *gtime.Time `json:"softwareMaintenanceEndTime" export:"软件运维结束时间"` // 软件运维结束时间
  179. HardwareMaintenanceBeginTime *gtime.Time `json:"hardwareMaintenanceBeginTime" export:"硬件运维开始时间"` // 硬件运维开始时间
  180. HardwareMaintenanceEndTime *gtime.Time `json:"hardwareMaintenanceEndTime" export:"硬件运维结束时间"` // 硬件运维结束时间
  181. //SoftwareMaintenanceLimit int `json:"softwareMaintenanceLimit"` // 软件运维期限(年)
  182. //HardwareMaintenanceLimit int `json:"hardwareMaintenanceLimit"` // 硬件运维期限(年)
  183. }