ctr_contract.go 13 KB

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