Browse Source

Merge branch 'fms_2.5' into debug

# Conflicts:
#	models/fms/contract_register.go
ziwen 2 years ago
parent
commit
7600693047

+ 26 - 14
controller/contract/pre_register.go

@@ -295,12 +295,12 @@ func (rg *PreRegisterController) Add(c *gin.Context) {
 			TimeBase:           base.TimeBase{},
 		}
 		pp.Set()
+		pp.CurrencyUnit = r.CurrencyUnit
 		if pp.InvoiceType == fms.ContractInvoiceTypePreMake {
 			//开票走开票字段
 			pp.InvoiceId = v.ContractInvoiceId
 			pp.InvoiceDate = registerDate
 			pp.OriginAmount = r.Amount
-			pp.CurrencyUnit = r.CurrencyUnit
 			a, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", pp.OriginAmount/rate), 64)
 			pp.Amount = a
 
@@ -321,7 +321,6 @@ func (rg *PreRegisterController) Add(c *gin.Context) {
 			pp.ArriveId = v.ContractInvoiceId
 			pp.ArriveDate = registerDate
 			pp.ArriveOriginAmount = r.Amount
-			pp.ArriveCurrencyUnit = r.CurrencyUnit
 			a, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", pp.ArriveOriginAmount/rate), 64)
 			pp.ArriveAmount = a
 		}
@@ -509,10 +508,10 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 
 		//预登记列表
 		pp := &fms.ContractPreRegister{
+			PreRegisterId:      req.PreRegisterId,
 			ContractRegisterId: ob.ContractRegisterId,
 			CompanyName:        req.CompanyName,
 			InvoiceType:        req.RegisterType,
-			InvoiceDate:        registerDate,
 			AdminId:            int(adminInfo.AdminId),
 			AdminName:          adminInfo.AdminName,
 			Remark:             r.Remark,
@@ -523,11 +522,12 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 			TimeBase:           base.TimeBase{},
 		}
 		pp.Set()
+		pp.CurrencyUnit = r.CurrencyUnit
+		ppUpdateCols := make([]string, 0)
 		if pp.InvoiceType == fms.ContractInvoiceTypePreMake {
 			//开票走开票字段
 			pp.InvoiceDate = registerDate
 			pp.OriginAmount = r.Amount
-			pp.CurrencyUnit = r.CurrencyUnit
 			a, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", pp.OriginAmount/rate), 64)
 			pp.Amount = a
 
@@ -543,16 +543,24 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 			pp.SellerGroupName = sellerItem.GroupName
 			pp.SellerTeamId = sellerItem.TeamId
 			pp.SellerTeamName = sellerItem.TeamName
+			ppUpdateCols = append(ppUpdateCols, "InvoiceDate", "Amount", "OriginAmount", "SellerId",
+				"SellerName", "SellerGroupId", "SellerGroupName", "SellerTeamId", "SellerTeamName")
 		} else {
 			//到款
 			pp.ArriveDate = registerDate
 			pp.ArriveOriginAmount = r.Amount
-			pp.ArriveCurrencyUnit = r.CurrencyUnit
 			a, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", pp.ArriveOriginAmount/rate), 64)
 			pp.ArriveAmount = a
+			ppUpdateCols = append(ppUpdateCols, "CurrencyUnit", "ArriveDate", "ArriveAmount", "ArriveOriginAmount")
 		}
 		ppList = append(ppList, pp)
-		//todo 更新
+		ppUpdateCols = append(ppUpdateCols,
+			 "CurrencyUnit", "CompanyName", "AdminId", "AdminName", "Remark",
+			"ServiceProductId", "CurrencyUnit", "StartDate", "EndDate", "ModifyTime")
+		if e = pp.Update(ppUpdateCols); e != nil {
+			resp.FailMsg("操作失败", "更新预登记记录失败, Err: "+e.Error(), c)
+			return
+		}
 	}
 	invoiceUpdateCols := []string{
 		"CurrencyUnit", "Amount", "InvoiceDate", "AdminId", "AdminName", "Remark",
@@ -983,6 +991,7 @@ func (rg *PreRegisterController) Save(c *gin.Context) {
 		invoiceList = append(invoiceList, v)
 
 		//预登记列表
+		ppUpdateCols := make([]string, 0)
 		pp := &fms.ContractPreRegister{
 			PreRegisterId:      req.PreRegisterId,
 			ContractRegisterId: ob.ContractRegisterId,
@@ -999,12 +1008,12 @@ func (rg *PreRegisterController) Save(c *gin.Context) {
 			TimeBase:           base.TimeBase{},
 		}
 		pp.Set()
+		pp.CurrencyUnit = r.CurrencyUnit
 		if pp.InvoiceType == fms.ContractInvoiceTypePreMake {
 			//开票走开票字段
 			pp.InvoiceId = v.ContractInvoiceId
 			pp.InvoiceDate = registerDate
 			pp.OriginAmount = r.Amount
-			pp.CurrencyUnit = r.CurrencyUnit
 			a, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", pp.OriginAmount/rate), 64)
 			pp.Amount = a
 
@@ -1020,21 +1029,24 @@ func (rg *PreRegisterController) Save(c *gin.Context) {
 			pp.SellerGroupName = sellerItem.GroupName
 			pp.SellerTeamId = sellerItem.TeamId
 			pp.SellerTeamName = sellerItem.TeamName
+			ppUpdateCols = append(ppUpdateCols, "InvoiceDate", "Amount", "OriginAmount", "SellerId",
+				"SellerName", "SellerGroupId", "SellerGroupName", "SellerTeamId", "SellerTeamName")
 		} else {
 			//到款
-			pp.ArriveId = v.ContractInvoiceId
 			pp.ArriveDate = registerDate
 			pp.ArriveOriginAmount = r.Amount
-			pp.ArriveCurrencyUnit = r.CurrencyUnit
 			a, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", pp.ArriveOriginAmount/rate), 64)
 			pp.ArriveAmount = a
+			ppUpdateCols = append(ppUpdateCols, "CurrencyUnit", "ArriveDate", "ArriveAmount", "ArriveOriginAmount")
 		}
 
-		// 更新预登记列表
-		//if e = pp.Create(); e != nil {
-		//	resp.FailMsg("操作失败", "新增预登记失败, Err: "+e.Error(), c)
-		//	return
-		//}
+		ppUpdateCols = append(ppUpdateCols,
+			"CompanyName", "AdminId", "AdminName", "Remark",
+			"ServiceProductId", "CurrencyUnit", "StartDate", "EndDate", "ModifyTime")
+		if e = pp.Update(ppUpdateCols); e != nil {
+			resp.FailMsg("操作失败", "更新预登记记录失败, Err: "+e.Error(), c)
+			return
+		}
 	}
 	if e = fms.UpdateContractRegisterPre(ob, updateCols, serviceList, invoiceList, invoiceUpdateCols, invoiceHandleType); e != nil {
 		resp.FailMsg("操作失败", "新增合同及套餐失败, Err: "+e.Error(), c)

+ 16 - 0
controller/contract/register.go

@@ -143,6 +143,20 @@ func (rg *RegisterController) List(c *gin.Context) {
 	respList := make([]*fms.ContractRegisterList, 0)
 	for i := range list {
 		v := new(fms.ContractRegisterList)
+		if list[i].HasPayment == 1 {
+			//代付
+			if list[i].ContractType == 1 {
+				v.ContractTypeString = "代付合同(新签)"
+			}else {
+				v.ContractTypeString = "代付合同(续约)"
+			}
+		} else {
+			if list[i].ContractType == 1 {
+				v.ContractTypeString = "自付合同(新签)"
+			}else {
+				v.ContractTypeString = "自付合同(续约)"
+			}
+		}
 		v.ContractRegisterItem = list[i]
 		v.ServicesName = serviceMap[list[i].ContractRegisterId]
 		v.InvoiceList = invoiceMap[list[i].ContractRegisterId]
@@ -279,6 +293,7 @@ func (rg *RegisterController) Add(c *gin.Context) {
 	nowTime := time.Now().Local()
 	ob.ContractCode = req.ContractCode
 	ob.RelateContractCode = req.RelateContractCode
+	ob.RelateContractMainCode = req.RelateContractMainCode
 	ob.CrmContractId = req.CrmContractId
 	ob.ContractSource = req.ContractSource
 	ob.CompanyName = req.CompanyName
@@ -577,6 +592,7 @@ func (rg *RegisterController) Edit(c *gin.Context) {
 	item.ProductIds = req.ProductIds
 	item.ContractCode = req.ContractCode
 	item.RelateContractCode = req.RelateContractCode
+	item.RelateContractMainCode = req.RelateContractMainCode
 	item.CrmContractId = req.CrmContractId
 	item.ContractSource = req.ContractSource
 	item.CompanyName = req.CompanyName

+ 6 - 5
models/fms/contract_pre_payment.go

@@ -109,8 +109,8 @@ func formatPrePay2Item(item *ContractPrePayment) (formatItem *ContractPrePayment
 // PrepayAddReq 新增到款预登记请求体
 type PreRegisterAddReq struct {
 	CompanyName  string                  `json:"company_name" binding:"required" description:"客户名称"`
-	StartDate    string                  `json:"start_date" binding:"required" description:"约定开始日期"`
-	EndDate      string                  `json:"end_date" binding:"required" description:"约定结束日期"`
+	StartDate    string                  `json:"start_date" description:"约定开始日期"`
+	EndDate      string                  `json:"end_date" description:"约定结束日期"`
 	RegisterType int                     `json:"register_type" description:"预登记类型 3-开票预登记 4-到款预登记"`
 	ProductIds   string                  `gorm:"column:product_ids" json:"product_ids" description:"产品ID:1-FICC; 2-权益, 如果两者都有,则用英文逗号拼接"`
 	SellerIds    string                  `json:"seller_ids" description:"CRM系统-销售ID"`
@@ -151,6 +151,7 @@ func (c *ContractPrePayment) Delete() (err error) {
 
 // PrepayEditReq 编辑到款预登记请求体
 type PreRegisterEditReq struct {
+	PreRegisterId      int     `json:"pre_register_id" description:"预登记ID"`
 	ContractRegisterId int    `json:"contract_register_id" binding:"required,gte=1" description:"登记ID"`
 	CompanyName        string `json:"company_name" binding:"required" description:"客户名称"`
 	StartDate          string `json:"start_date" binding:"required" description:"约定开始日期"`
@@ -163,7 +164,7 @@ type PreRegisterEditReq struct {
 }
 
 type PreRegisterEditReqItem struct {
-	InvoiceId        int     `json:"invoice_id" description:"开票ID"`
+	InvoiceId        int     `json:"contract_invoice_id" description:"开票ID"`
 	ArriveId         int     `json:"arrive_id" description:"到款ID"`
 	Amount           float64 `json:"amount" binding:"required" description:"到款金额"`
 	CurrencyUnit     string  `json:"currency_unit" binding:"required" description:"货币单位"`
@@ -183,7 +184,7 @@ type PreRegisterDelReq struct {
 }
 
 type PreRegisterSaveReqItem struct {
-	InvoiceId        int     `json:"invoice_id" description:"开票ID"`
+	InvoiceId        int     `json:"contract_invoice_id" description:"开票ID"`
 	Amount           float64 `json:"amount" binding:"required" description:"到款金额"`
 	CurrencyUnit     string  `json:"currency_unit" binding:"required" description:"货币单位"`
 	Remark           string  `json:"remark" description:"备注信息"`
@@ -197,7 +198,7 @@ type PreRegisterSaveReqItem struct {
 type PreRegisterSaveReq struct {
 	PreRegisterId      int                      `json:"pre_register_id" description:"预登记ID"`
 	ContractRegisterId int                      `json:"contract_register_id" binding:"required,gte=1" description:"登记ID"`
-	CompanyName        string                   `json:"company_name" binding:"required" description:"客户名称"`
+	CompanyName        string                   `json:"company_name" description:"客户名称"`
 	StartDate          string                   `json:"start_date" binding:"required" description:"约定开始日期"`
 	EndDate            string                   `json:"end_date" binding:"required" description:"约定结束日期"`
 	RegisterType       int                      `json:"register_type" description:"预登记类型 3-开票预登记 4-到款预登记"`

+ 5 - 4
models/fms/contract_pre_register.go

@@ -19,7 +19,6 @@ type ContractPreRegister struct {
 	CurrencyUnit       string    `gorm:"column:currency_unit" json:"currency_unit" description:"开票货币国际代码"`
 	ArriveAmount       float64   `gorm:"column:arrive_amount" json:"arrive_amount" description:"到款换算后的金额(人民币)"`
 	ArriveOriginAmount float64   `gorm:"column:arrive_origin_amount" json:"arrive_origin_amount" description:"到款金额"`
-	ArriveCurrencyUnit string    `gorm:"column:arrive_currency_unit" json:"arrive_currency_unit" description:"到款货币国际代码"`
 	InvoiceType        int       `gorm:"column:invoice_type" json:"invoice_type" description:"类型: 1-开票登记; 2-到款登记;3-开票预登记;4-到款预登记"`
 	InvoiceDate        time.Time `gorm:"column:invoice_time" json:"invoice_time" description:"开票日"`
 	ArriveDate         time.Time `gorm:"column:arrive_time" json:"arrive_time" description:"到款日"`
@@ -55,7 +54,6 @@ type ContractPreRegisterItem struct {
 	CurrencyUnit       string  `gorm:"column:currency_unit" json:"currency_unit" description:"开票货币国际代码"`
 	ArriveAmount       float64 `gorm:"column:arrive_amount" json:"arrive_amount" description:"到款换算后的金额(人民币)"`
 	ArriveOriginAmount float64 `gorm:"column:arrive_origin_amount" json:"arrive_origin_amount" description:"到款金额"`
-	ArriveCurrencyUnit string  `gorm:"column:arrive_currency_unit" json:"arrive_currency_unit" description:"到款货币国际代码"`
 	UnitName           string  `json:"unit_name" description:"货币单位名称"`
 	InvoiceType        int     `gorm:"column:invoice_type" json:"invoice_type" description:"类型: 1-开票登记; 2-到款登记;3-开票预登记;4-到款预登记"`
 	InvoiceDate        string  `gorm:"column:invoice_time" json:"invoice_time" description:"开票日"`
@@ -86,7 +84,6 @@ func formatContractPreRegister2Item(item *ContractPreRegister) (formatItem *Cont
 	formatItem.CurrencyUnit = item.CurrencyUnit
 	formatItem.ArriveAmount = item.ArriveAmount
 	formatItem.ArriveOriginAmount = item.ArriveOriginAmount
-	formatItem.ArriveCurrencyUnit = item.ArriveCurrencyUnit
 	formatItem.InvoiceType = item.InvoiceType
 	formatItem.InvoiceDate = utils.TimeTransferString(utils.FormatDate, item.InvoiceDate)
 	formatItem.ArriveDate = utils.TimeTransferString(utils.FormatDate, item.ArriveDate)
@@ -137,6 +134,11 @@ func (c *ContractPreRegister) Delete() (err error) {
 	return
 }
 
+func (c *ContractPreRegister) Update(updateCols []string) (err error) {
+	err = global.DEFAULT_MYSQL.Model(c).Select(updateCols).Updates(c).Error
+	return
+}
+
 // GetContractInvoiceItemList 获取开票到款列表
 func GetContractPreRegisterItemList(condition string, pars []interface{}) (itemList []*ContractPreRegisterItem, err error) {
 	list := make([]*ContractPreRegister, 0)
@@ -164,7 +166,6 @@ func formatContractPreRegister2ItemList(list []*ContractPreRegister) (itemList [
 			CurrencyUnit:       list[i].CurrencyUnit,
 			ArriveAmount:       list[i].ArriveAmount,
 			ArriveOriginAmount: list[i].ArriveOriginAmount,
-			ArriveCurrencyUnit: list[i].ArriveCurrencyUnit,
 			InvoiceType:        list[i].InvoiceType,
 			InvoiceDate:        utils.TimeTransferString(utils.FormatDate, list[i].InvoiceDate),
 			SellerId:           list[i].SellerId,

+ 36 - 33
models/fms/contract_register.go

@@ -9,36 +9,37 @@ import (
 
 // ContractRegister 合同登记表
 type ContractRegister struct {
-	ContractRegisterId int       `gorm:"primaryKey;column:contract_register_id" json:"contract_register_id" description:"登记ID"`
-	ContractCode       string    `gorm:"column:contract_code" json:"contract_code" description:"合同编号"`
-	RelateContractCode string    `gorm:"column:relate_contract_code" json:"relate_contract_code" description:"关联合同编号"`
-	CrmContractId      int       `gorm:"column:crm_contract_id" json:"crm_contract_id" description:"CRM系统-合同ID"`
-	ContractSource     int       `gorm:"column:contract_source" json:"contract_source" description:"合同来源: 0-非系统合同导入; 1-CRM合同导入"`
-	CompanyName        string    `gorm:"column:company_name" json:"company_name" description:"客户名称"`
-	ActualCompanyName  string    `gorm:"column:actual_company_name" json:"actual_company_name" description:"实际使用方"`
-	ProductIds         string    `gorm:"column:product_ids" json:"product_ids" description:"产品ID:1-FICC; 2-权益, 如果两者都有,则用英文逗号拼接"`
-	SellerId           int       `gorm:"column:seller_id" json:"seller_id" description:"CRM系统-销售ID"`
-	SellerName         string    `gorm:"column:seller_name" json:"seller_name" description:"CRM系统-销售名称"`
-	RaiSellerId        int       `gorm:"column:rai_seller_id" json:"rai_seller_id"  description:"CRM系统-权益销售ID"`
-	RaiSellerName      string    `gorm:"column:rai_seller_name" json:"rai_seller_name" description:"CRM系统-权益销售名称"`
-	ContractType       int       `gorm:"column:contract_type" json:"contract_type" description:"合同类型: 1-新签; 2-续约; 3-代付; 4-补充协议"`
-	ContractAmount     float64   `gorm:"column:contract_amount" json:"contract_amount" description:"合同金额"`
-	InvoicedAmount     float64   `gorm:"column:invoiced_amount" json:"invoiced_amount" description:"开票金额"`
-	PaymentAmount      float64   `gorm:"column:payment_amount" json:"payment_amount" description:"到款金额"`
-	CurrencyUnit       string    `gorm:"column:currency_unit" json:"currency_unit" description:"货币国际代码"`
-	RMBRate            float64   `gorm:"column:rmb_rate" json:"rmb_rate" description:"人民币汇率(create_time当日)"`
-	StartDate          time.Time `gorm:"column:start_date" json:"start_date" description:"合同开始日期"`
-	EndDate            time.Time `gorm:"column:end_date" json:"end_date" description:"合同结束日期"`
-	SignDate           time.Time `gorm:"column:sign_date" json:"sign_date" description:"合同签订日期"`
-	AgreedPayTime      string    `gorm:"column:agreed_pay_time" json:"agreed_pay_time" description:"约定付款时间(如:生效日起10日内)"`
-	ContractStatus     int       `gorm:"column:contract_status" json:"contract_status" description:"合同状态: 1-已审批; 2-单章寄出; 3-已签回"`
-	RegisterStatus     int       `gorm:"column:register_status" json:"register_status" description:"登记状态: 1-进行中; 2-已完成;"`
-	Remark             string    `gorm:"column:remark" json:"remark" description:"备注信息"`
-	ServiceRemark      string    `gorm:"column:service_remark" json:"service_remark" description:"套餐备注信息"`
-	HasPayment         int       `gorm:"column:has_payment" json:"has_payment" description:"是否有代付: 0-无; 1-有"`
-	NewCompany         int       `gorm:"column:new_company" json:"new_company" description:"是否为新客户: 0-否; 1-是"`
+	ContractRegisterId     int       `gorm:"primaryKey;column:contract_register_id" json:"contract_register_id" description:"登记ID"`
+	ContractCode           string    `gorm:"column:contract_code" json:"contract_code" description:"合同编号"`
+	RelateContractCode     string    `gorm:"column:relate_contract_code" json:"relate_contract_code" description:"关联合同编号"`
+	RelateContractMainCode string    `gorm:"column:relate_contract_main_code" json:"relate_contract_main_code" description:"关联主合同编号"`
+	CrmContractId          int       `gorm:"column:crm_contract_id" json:"crm_contract_id" description:"CRM系统-合同ID"`
+	ContractSource         int       `gorm:"column:contract_source" json:"contract_source" description:"合同来源: 0-非系统合同导入; 1-CRM合同导入"`
+	CompanyName            string    `gorm:"column:company_name" json:"company_name" description:"客户名称"`
+	ActualCompanyName      string    `gorm:"column:actual_company_name" json:"actual_company_name" description:"实际使用方"`
+	ProductIds             string    `gorm:"column:product_ids" json:"product_ids" description:"产品ID:1-FICC; 2-权益, 如果两者都有,则用英文逗号拼接"`
+	SellerId               int       `gorm:"column:seller_id" json:"seller_id" description:"CRM系统-销售ID"`
+	SellerName             string    `gorm:"column:seller_name" json:"seller_name" description:"CRM系统-销售名称"`
+	RaiSellerId            int       `gorm:"column:rai_seller_id" json:"rai_seller_id"  description:"CRM系统-权益销售ID"`
+	RaiSellerName          string    `gorm:"column:rai_seller_name" json:"rai_seller_name" description:"CRM系统-权益销售名称"`
+	ContractType           int       `gorm:"column:contract_type" json:"contract_type" description:"合同类型: 1-新签; 2-续约; 3-代付; 4-补充协议"`
+	ContractAmount         float64   `gorm:"column:contract_amount" json:"contract_amount" description:"合同金额"`
+	InvoicedAmount         float64   `gorm:"column:invoiced_amount" json:"invoiced_amount" description:"开票金额"`
+	PaymentAmount          float64   `gorm:"column:payment_amount" json:"payment_amount" description:"到款金额"`
+	CurrencyUnit           string    `gorm:"column:currency_unit" json:"currency_unit" description:"货币国际代码"`
+	RMBRate                float64   `gorm:"column:rmb_rate" json:"rmb_rate" description:"人民币汇率(create_time当日)"`
+	StartDate              time.Time `gorm:"column:start_date" json:"start_date" description:"合同开始日期"`
+	EndDate                time.Time `gorm:"column:end_date" json:"end_date" description:"合同结束日期"`
+	SignDate               time.Time `gorm:"column:sign_date" json:"sign_date" description:"合同签订日期"`
+	AgreedPayTime          string    `gorm:"column:agreed_pay_time" json:"agreed_pay_time" description:"约定付款时间(如:生效日起10日内)"`
+	ContractStatus         int       `gorm:"column:contract_status" json:"contract_status" description:"合同状态: 1-已审批; 2-单章寄出; 3-已签回"`
+	RegisterStatus         int       `gorm:"column:register_status" json:"register_status" description:"登记状态: 1-进行中; 2-已完成;"`
+	Remark                 string    `gorm:"column:remark" json:"remark" description:"备注信息"`
+	ServiceRemark          string    `gorm:"column:service_remark" json:"service_remark" description:"套餐备注信息"`
+	HasPayment             int       `gorm:"column:has_payment" json:"has_payment" description:"是否有代付: 0-无; 1-有"`
+	NewCompany             int       `gorm:"column:new_company" json:"new_company" description:"是否为新客户: 0-否; 1-是"`
 	ActualPayCompanies string    `gorm:"column:actual_pay_companies" json:"actual_pay_companies" description:"合同关联的所有代付方名称, 英文逗号拼接"`
-	IsDeleted          int       `gorm:"column:is_deleted" json:"is_deleted" description:"是否已删除: 0-正常; 1-已删除"`
+	IsDeleted              int       `gorm:"column:is_deleted" json:"is_deleted" description:"是否已删除: 0-正常; 1-已删除"`
 	base.TimeBase
 }
 
@@ -105,7 +106,7 @@ type ContractRegisterListReq struct {
 	ServiceTypes   string `json:"service_types" form:"service_types" description:"套餐类型"`
 	ContractType   int    `json:"contract_type" form:"contract_type" description:"合同类型"`
 	RegisterStatus int    `json:"register_status" form:"register_status" description:"登记状态"`
-	ListParam     int    `json:"list_param" form:"list_param" description:"套餐类型: 0-全部; 1-ficc; 2-权益"`
+	ListParam      int    `json:"list_param" form:"list_param" description:"套餐类型: 0-全部; 1-ficc; 2-权益"`
 	base.PageReq
 }
 
@@ -147,9 +148,10 @@ type ContractRegisterItem struct {
 // ContractRegisterList 合同登记列表
 type ContractRegisterList struct {
 	*ContractRegisterItem
-	ServicesName string                 `json:"services" description:"套餐名称"`
-	InvoiceList  []*ContractInvoiceItem `json:"invoice_list" description:"开票信息"`
-	PaymentList  []*ContractInvoiceItem `json:"payment_list" description:"到款信息"`
+	ContractTypeString string                 `json:"contract_type_string" description:"合同类型"`
+	ServicesName       string                 `json:"services" description:"套餐名称"`
+	InvoiceList        []*ContractInvoiceItem `json:"invoice_list" description:"开票信息"`
+	PaymentList        []*ContractInvoiceItem `json:"payment_list" description:"到款信息"`
 }
 
 // ContractRegisterDelReq 合同登记-删除请求体
@@ -167,6 +169,7 @@ type ContractRegisterUpdateStatusReq struct {
 type ContractRegisterAddReq struct {
 	ContractCode       string                  `json:"contract_code" binding:"required" description:"合同编号"`
 	RelateContractCode string                  `json:"relate_contract_code" description:"关联合同编号"`
+	RelateContractMainCode string                        `json:"relate_contract_main_code" description:"关联主合同编号"`
 	CrmContractId      int                     `json:"crm_contract_id" description:"CRM系统-合同ID"`
 	ContractSource     int                     `json:"contract_source" binding:"oneof=0 1" description:"合同来源: 0-非系统合同导入; 1-CRM合同导入"`
 	CompanyName        string                  `json:"company_name" binding:"required" description:"客户名称"`