hsun преди 2 години
родител
ревизия
204759016d
променени са 5 файла, в които са добавени 101 реда и са изтрити 22 реда
  1. 3 3
      controller/contract/register.go
  2. 24 2
      models/fms/contract_invoice.go
  3. 40 5
      models/fms/contract_register.go
  4. 24 2
      models/fms/contract_register_log.go
  5. 10 10
      models/fms/contract_service.go

+ 3 - 3
controller/contract/register.go

@@ -131,7 +131,7 @@ func (rg *RegisterController) List(c *gin.Context) {
 	respList := make([]*fms.ContractRegisterList, 0)
 	for i := range list {
 		v := new(fms.ContractRegisterList)
-		v.ContractRegisterItem = *list[i]
+		v.ContractRegisterItem = list[i]
 		v.ServicesName = serviceMap[list[i].ContractRegisterId]
 		v.InvoiceList = invoiceMap[list[i].ContractRegisterId]
 		v.PaymentList = paymentMap[list[i].ContractRegisterId]
@@ -467,7 +467,7 @@ func (rg *RegisterController) Detail(c *gin.Context) {
 		resp.FailData("获取失败", "获取合同登记详情失败, Err:"+e.Error(), c)
 		return
 	}
-	result.ContractRegisterItem = *item
+	result.ContractRegisterItem = item
 
 	// 套餐信息
 	serviceList, e := fmsService.GetContractServiceAndDetail(req.ContractRegisterId)
@@ -494,7 +494,7 @@ func (rg *RegisterController) Detail(c *gin.Context) {
 			continue
 		}
 		if invoiceList[i].InvoiceType == fms.ContractInvoiceTypePay {
-			result.InvoiceList = append(result.InvoiceList, invoiceList[i])
+			result.PaymentList = append(result.PaymentList, invoiceList[i])
 		}
 	}
 

+ 24 - 2
models/fms/contract_invoice.go

@@ -3,6 +3,7 @@ package fms
 import (
 	"hongze/fms_api/global"
 	"hongze/fms_api/models/base"
+	"hongze/fms_api/utils"
 	"time"
 )
 
@@ -113,12 +114,33 @@ type ContractInvoiceSaveItem struct {
 }
 
 // GetContractInvoiceItemList 获取开票到款列表
-func GetContractInvoiceItemList(condition string, pars []interface{}) (list []*ContractInvoiceItem, err error) {
-	list = make([]*ContractInvoiceItem, 0)
+func GetContractInvoiceItemList(condition string, pars []interface{}) (itemList []*ContractInvoiceItem, err error) {
+	list := make([]*ContractInvoice, 0)
 	err = global.DEFAULT_MYSQL.Model(ContractInvoice{}).
 		Where("is_deleted = 0").
 		Where(condition, pars...).
 		Order("contract_invoice_id ASC").
 		Find(&list).Error
+	if err != nil {
+		return
+	}
+	itemList = formatContractInvoice2ItemList(list)
+	return
+}
+
+// formatContractInvoice2ItemList 格式化ContractInvoice
+func formatContractInvoice2ItemList(list []*ContractInvoice) (itemList []*ContractInvoiceItem) {
+	itemList = make([]*ContractInvoiceItem, 0)
+	for i := range list {
+		itemList = append(itemList, &ContractInvoiceItem{
+			ContractInvoiceId:  list[i].ContractInvoiceId,
+			ContractRegisterId: list[i].ContractRegisterId,
+			Amount:             list[i].Amount,
+			InvoiceType:        list[i].InvoiceType,
+			InvoiceDate:        utils.TimeTransferString(utils.FormatDate, list[i].InvoiceDate),
+			Remark:             list[i].Remark,
+			CreateTime:         utils.TimeTransferString(utils.FormatDateTime, list[i].CreateTime),
+		})
+	}
 	return
 }

+ 40 - 5
models/fms/contract_register.go

@@ -3,6 +3,7 @@ package fms
 import (
 	"hongze/fms_api/global"
 	"hongze/fms_api/models/base"
+	"hongze/fms_api/utils"
 	"time"
 )
 
@@ -119,7 +120,7 @@ type ContractRegisterItem struct {
 
 // ContractRegisterList 合同登记列表
 type ContractRegisterList struct {
-	ContractRegisterItem
+	*ContractRegisterItem
 	ServicesName string                 `json:"services" description:"套餐名称"`
 	InvoiceList  []*ContractInvoiceItem `json:"invoice_list" description:"开票信息"`
 	PaymentList  []*ContractInvoiceItem `json:"payment_list" description:"到款信息"`
@@ -269,7 +270,7 @@ type ContractRegisterDetailReq struct {
 
 // ContractRegisterDetail-合同登记详情
 type ContractRegisterDetail struct {
-	ContractRegisterItem
+	*ContractRegisterItem
 	ServiceList []*ContractServiceAndDetail `json:"service_list" description:"合同服务及详情"`
 	InvoiceList []*ContractInvoiceItem      `json:"invoice_list" description:"开票信息"`
 	PaymentList []*ContractInvoiceItem      `json:"payment_list" description:"到款信息"`
@@ -277,16 +278,21 @@ type ContractRegisterDetail struct {
 }
 
 // GetContractRegisterItemById 获取合同登记信息
-func GetContractRegisterItemById(id int) (item *ContractRegisterItem, err error) {
+func GetContractRegisterItemById(id int) (result *ContractRegisterItem, err error) {
+	item := new(ContractRegister)
 	err = global.DEFAULT_MYSQL.Model(ContractRegister{}).
 		Where("is_deleted = 0 AND contract_register_id = ?", id).
 		First(&item).Error
+	if err != nil && err != utils.ErrNoRow {
+		return
+	}
+	result = formatContractRegister2Item(item)
 	return
 }
 
 // GetContractRegisterItemPageList 获取合同登记列表-分页
 func GetContractRegisterItemPageList(page base.IPage, condition string, pars []interface{}) (count int64, results []*ContractRegisterItem, err error) {
-	results = make([]*ContractRegisterItem, 0)
+	list := make([]*ContractRegister, 0)
 	query := global.DEFAULT_MYSQL.Table("contract_register").
 		Where("is_deleted = 0").
 		Where(condition, pars...)
@@ -294,6 +300,35 @@ func GetContractRegisterItemPageList(page base.IPage, condition string, pars []i
 	if len(page.GetOrderItemsString()) > 0 {
 		query = query.Order(page.GetOrderItemsString())
 	}
-	err = query.Limit(int(page.GetPageSize())).Offset(int(page.Offset())).Find(&results).Error
+	err = query.Limit(int(page.GetPageSize())).Offset(int(page.Offset())).Find(&list).Error
+	if err != nil {
+		return
+	}
+	for i := range list {
+		results = append(results, formatContractRegister2Item(list[i]))
+	}
+	return
+}
+
+// formatContractRegister2Item 格式化ContractRegister
+func formatContractRegister2Item(item *ContractRegister) (formatItem *ContractRegisterItem) {
+	formatItem = new(ContractRegisterItem)
+	formatItem.ContractRegisterId = item.ContractRegisterId
+	formatItem.ContractCode = item.ContractCode
+	formatItem.CompanyName = item.CompanyName
+	formatItem.SellerId = item.SellerId
+	formatItem.SellerName = item.SellerName
+	formatItem.ContractType = item.ContractType
+	formatItem.ContractAmount = item.ContractAmount
+	formatItem.InvoicedAmount = item.InvoicedAmount
+	formatItem.PaymentAmount = item.PaymentAmount
+	formatItem.StartDate = utils.TimeTransferString(utils.FormatDate, item.StartDate)
+	formatItem.EndDate = utils.TimeTransferString(utils.FormatDate, item.EndDate)
+	formatItem.SignDate = utils.TimeTransferString(utils.FormatDate, item.SignDate)
+	formatItem.AgreedPayTime = item.AgreedPayTime
+	formatItem.ContractStatus = item.ContractStatus
+	formatItem.RegisterStatus = item.RegisterStatus
+	formatItem.Remark = item.Remark
+	formatItem.CreateTime = utils.TimeTransferString(utils.FormatDateTime, item.CreateTime)
 	return
 }

+ 24 - 2
models/fms/contract_register_log.go

@@ -2,6 +2,7 @@ package fms
 
 import (
 	"hongze/fms_api/global"
+	"hongze/fms_api/utils"
 	"time"
 )
 
@@ -51,10 +52,31 @@ func (c *ContractRegisterLog) List(condition string, pars []interface{}) (list [
 }
 
 // GetContractRegisterLogItemList 获取合同登记操作记录
-func GetContractRegisterLogItemList(condition string, pars []interface{}) (list []*ContractRegisterLogItem, err error) {
-	list = make([]*ContractRegisterLogItem, 0)
+func GetContractRegisterLogItemList(condition string, pars []interface{}) (itemList []*ContractRegisterLogItem, err error) {
+	list := make([]*ContractRegisterLog, 0)
 	err = global.DEFAULT_MYSQL.Model(ContractRegisterLog{}).
 		Where(condition, pars...).
 		Find(&list).Error
+	if err != nil {
+		return
+	}
+	itemList = formatContractRegisterLog2ItemList(list)
+	return
+}
+
+// formatContractRegisterLog2ItemList 格式化ContractRegisterLog
+func formatContractRegisterLog2ItemList(list []*ContractRegisterLog) (itemList []*ContractRegisterLogItem) {
+	itemList = make([]*ContractRegisterLogItem, 0)
+	for i := range list {
+		itemList = append(itemList, &ContractRegisterLogItem{
+			ContractRegisterId: list[i].ContractRegisterId,
+			AdminId:            list[i].AdminId,
+			AdminName:          list[i].AdminName,
+			OpData:             list[i].OpData,
+			OpType:             list[i].OpType,
+			Remark:             list[i].Remark,
+			CreateTime:         utils.TimeTransferString(utils.FormatDateTime, list[i].CreateTime),
+		})
+	}
 	return
 }

+ 10 - 10
models/fms/contract_service.go

@@ -41,16 +41,16 @@ type ContractServiceAddReq struct {
 
 // ContractServiceAndDetail 合同的服务内容
 type ContractServiceAndDetail struct {
-	ContractServiceId int                      `json:"contract_service_id" description:"合同服务ID"`
-	ContractId        int                      `json:"contract_id" description:"合同id"`
-	ProductId         int                      `json:"product_id" description:"产品id,1:ficc;2:权益"`
-	ServiceTemplateId int                      `json:"service_template_id" description:"合同服务模板id"`
-	Title             string                   `json:"title" description:"套餐标题"`
-	Value             string                   `json:"value" description:"套餐的值"`
-	HasDetail         string                   `json:"has_detail" description:"是否有详情,枚举值:是、否;默认:否"`
-	TableValue        string                   `json:"table_value" description:"表格数据,用于word生成时的json数据"`
-	ChartPermissionId int                      `json:"chart_permission_id" description:"权限id"`
-	DetailList        []*ContractServiceDetail `json:"detail_list"`
+	ContractServiceId  int                      `json:"contract_service_id" description:"合同服务ID"`
+	ContractRegisterId int                      `json:"contract_register_id" description:"合同登记ID"`
+	ProductId          int                      `json:"product_id" description:"产品id,1:ficc;2:权益"`
+	ServiceTemplateId  int                      `json:"service_template_id" description:"合同服务模板id"`
+	Title              string                   `json:"title" description:"套餐标题"`
+	Value              string                   `json:"value" description:"套餐的值"`
+	HasDetail          string                   `json:"has_detail" description:"是否有详情,枚举值:是、否;默认:否"`
+	TableValue         string                   `json:"table_value" description:"表格数据,用于word生成时的json数据"`
+	ChartPermissionId  int                      `json:"chart_permission_id" description:"权限id"`
+	DetailList         []*ContractServiceDetail `json:"detail_list"`
 }
 
 // GetContractServiceAndDetailList 根据id获取合同列表数据