ziwen 2 years ago
parent
commit
f87d4b7232
2 changed files with 21 additions and 26 deletions
  1. 14 19
      controller/contract/register.go
  2. 7 7
      models/fms/contract_invoice.go

+ 14 - 19
controller/contract/register.go

@@ -569,7 +569,7 @@ func (rg *RegisterController) Edit(c *gin.Context) {
 
 	updateCols := []string{
 		"ProductIds", "ContractCode", "RelateContractCode", "CrmContractId", "ContractSource", "CompanyName", "ActualCompanyName",
-		"SellerId", "SellerName", "ContractType", "ContractAmount", "StartDate", "EndDate", "SignDate", "AgreedPayTime","RaiSellerId","RaiSellerName",
+		"SellerId", "SellerName", "ContractType", "ContractAmount", "StartDate", "EndDate", "SignDate", "AgreedPayTime", "RaiSellerId", "RaiSellerName",
 		"ContractStatus", "RegisterStatus", "Remark", "ServiceRemark", "HasPayment", "NewCompany", "ModifyTime",
 	}
 	nowTime := time.Now().Local()
@@ -832,7 +832,7 @@ func (rg *RegisterController) Detail(c *gin.Context) {
 			item.SellerIds = strconv.Itoa(item.RaiSellerId)
 		}
 	}
-	
+
 	item.SellerIds = strings.Trim(item.SellerIds, ",")
 	result.ContractRegisterItem = item
 
@@ -1164,7 +1164,7 @@ func (rg *RegisterController) Invoice(c *gin.Context) {
 			return
 		}
 	}
-	
+
 	// 校验金额-是否修改状态
 	go fmsService.CheckContractRegisterAmount(req.ContractRegisterId)
 
@@ -1681,10 +1681,10 @@ func (rg *RegisterController) Export(c *gin.Context) {
 		dataRow.AddCell().SetString(v.CurrencyUnit)                                      // 货币单位
 		if ficcAmount != nil {
 			dataRow.AddCell().SetString(fmt.Sprint("¥", ficcAmount.ServiceAmount)) // FICC套餐总金额
-			dataRow.AddCell().SetString("") // 权益套餐总金额
+			dataRow.AddCell().SetString("")                                        // 权益套餐总金额
 		}
 		if raiAmount != nil {
-			dataRow.AddCell().SetString("") // 权益套餐总金额
+			dataRow.AddCell().SetString("")                                       // 权益套餐总金额
 			dataRow.AddCell().SetString(fmt.Sprint("¥", raiAmount.ServiceAmount)) // FICC套餐总金额
 		}
 		if ficcAmount == nil && raiAmount == nil {
@@ -1754,7 +1754,7 @@ func (rg *RegisterController) Export(c *gin.Context) {
 // @Title 开票/到款列表
 // @Description 开票/到款列表
 // @Param   InvoiceType		query	int		false	"类型: 1-开票登记; 2-到款登记"
-// @Param   ContractCode	query	string	false	"合同编号"
+// @Param   Keyword			query	string	false	"查询关键字"
 // @Param   StartDate		query	string	false	"开始日期"
 // @Param   EndDate			query	string	false	"结束日期"
 // @Param   MinAmount		query	float64	false	"开票金额区间-最小值"
@@ -1785,18 +1785,12 @@ func (rg *RegisterController) InvoiceList(c *gin.Context) {
 	cond := `invoice_type = ?`
 	pars := make([]interface{}, 0)
 	pars = append(pars, req.InvoiceType)
-	// 合同编号
-	if req.ContractCode != "" {
-		kw := fmt.Sprint("%", req.ContractCode, "%")
-		pars = append(pars, kw)
-		// 开票列表同时模糊查询销售名称
-		if req.InvoiceType == fms.ContractInvoiceTypeMake {
-			cond += ` AND (a.contract_code LIKE ? )`
-			pars = append(pars, kw)
-		} else {
-			cond += ` AND a.contract_code LIKE ?`
-			pars = append(pars, kw)
-		}
+	// 搜索
+	if req.Keyword != "" {
+		kw := fmt.Sprint("%", req.Keyword, "%")
+		//pars = append(pars, kw)
+		cond += `  AND (b.company_name LIKE ? OR a.contract_code LIKE ?)`
+		pars = append(pars, kw, kw)
 	}
 	if req.StartDate != "" && req.EndDate != "" {
 		st := fmt.Sprint(req.StartDate, " 00:00:00")
@@ -1968,7 +1962,7 @@ func ExportInvoiceList(c *gin.Context, req fms.ContractInvoiceListReq, results *
 	sheet.AddRow()
 
 	// 列表数据表头
-	titles := []string{"合同编号", "套餐类型", fmt.Sprintf("%s金额", listName), "金额单位", "换算金额(元)",
+	titles := []string{"客户名称", "合同编号", "套餐类型", fmt.Sprintf("%s金额", listName), "金额单位", "换算金额(元)",
 		fmt.Sprintf("%s日期", listName), "备注"}
 	titleRow := sheet.AddRow()
 	titleRow.SetHeight(40)
@@ -1985,6 +1979,7 @@ func ExportInvoiceList(c *gin.Context, req fms.ContractInvoiceListReq, results *
 	for _, v := range list {
 		dataRow := sheet.AddRow()
 		dataRow.SetHeight(20)
+		dataRow.AddCell().SetString(v.CompanyName)                             // 客户名称
 		dataRow.AddCell().SetString(v.ContractCode)                            // 合同编号
 		dataRow.AddCell().SetString(ServiceTemplateStrMap[v.ServiceProductId]) // 套餐类型
 		dataRow.AddCell().SetString(fmt.Sprint(v.OriginAmount))                // 开票金额

+ 7 - 7
models/fms/contract_invoice.go

@@ -57,7 +57,7 @@ type ContractInvoiceItem struct {
 	ServiceProductId   int     `gorm:"column:service_product_id" json:"service_product_id" description:"套餐类型:1ficc套餐,2权益套餐"`
 	IsPrePay           int     `gorm:"column:is_pre_pay" json:"is_pre_pay" description:"是否预付款: 0-不是; 1-是"`
 	CreateTime         string  `gorm:"column:create_time" json:"create_time" description:"创建时间"`
-	CompanyName        string    `gorm:"column:company_name" json:"company_name" description:"客户名称"`
+	CompanyName        string  `gorm:"column:company_name" json:"company_name" description:"客户名称"`
 }
 
 func (c *ContractInvoice) Create() (err error) {
@@ -209,7 +209,7 @@ func formatContractInvoice2ItemList(list []*ContractInvoice) (itemList []*Contra
 type ContractInvoiceListReq struct {
 	InvoiceType      int     `json:"invoice_type" form:"invoice_type" binding:"oneof=1 2" description:"类型: 1-开票登记; 2-到款登记"`
 	SellerIds        string  `json:"seller_ids" form:"seller_ids" description:"销售ID, 多个id用逗号拼接"`
-	ContractCode     string  `json:"contract_code" form:"contract_code" binding:"omitempty" description:"合同编号"`
+	Keyword          string  `json:"keyword" form:"keyword" binding:"omitempty" description:"搜索关键字"`
 	StartDate        string  `json:"start_date" form:"start_date" binding:"omitempty,datetime=2006-01-02" description:"开始日期"`
 	EndDate          string  `json:"end_date" form:"end_date" binding:"omitempty,datetime=2006-01-02" description:"结束日期"`
 	MinAmount        float64 `json:"min_amount" form:"min_amount" description:"开票金额区间-最小值"`
@@ -282,7 +282,7 @@ type InvoicePaymentCensusListReq struct {
 	IsExport     int    `json:"is_export" form:"is_export" description:"是否导出: 0-否; 1-是"`
 	SortParam    string `json:"sort_param" form:"sort_param" description:"排序字段参数,用来排序的字段, 枚举值:'invoice_time':开票日 、 'payment_date':到款日"`
 	SortType     string `json:"sort_type" form:"sort_type" description:"如何排序,是正序还是倒序,枚举值:asc 正序,desc 倒叙"`
-	TimeType    int    `json:"time_type" form:"time_type" description:"时间类型: 1-开票时间; 2-到款时间;3-开票时间&到款时间"`
+	TimeType     int    `json:"time_type" form:"time_type" description:"时间类型: 1-开票时间; 2-到款时间;3-开票时间&到款时间"`
 	base.PageReq
 }
 
@@ -492,8 +492,8 @@ type InvoiceListCurrencySum struct {
 // GetInvoiceListCurrencySum 获取开票/到款分货币合计
 func GetInvoiceListCurrencySum(condition string, pars []interface{}, groupRule string) (results []*InvoiceListCurrencySum, err error) {
 	query := global.DEFAULT_MYSQL.Table("contract_invoice AS a").
-		Select("a.currency_unit, a.invoice_type, SUM(a.amount) AS amount_total, SUM(a.origin_amount) AS origin_amount_total").
-		Where("a.is_deleted = 0").
+		Select("a.currency_unit, a.invoice_type, SUM(a.amount) AS amount_total, SUM(a.origin_amount) AS origin_amount_total, b.company_name").
+		Joins("JOIN contract_register b ON a.contract_register_id = b.contract_register_id").
 		Where(condition, pars...).
 		Group(groupRule)
 	err = query.Find(&results).Error
@@ -502,5 +502,5 @@ func GetInvoiceListCurrencySum(condition string, pars []interface{}, groupRule s
 
 type ContractInvoiceRespItem struct {
 	ContractInvoice
-	CompanyName        string    `gorm:"column:company_name" json:"company_name" description:"客户名称"`
-}
+	CompanyName string `gorm:"column:company_name" json:"company_name" description:"客户名称"`
+}