浏览代码

Merge branch 'fms_2.7' into debug

ziwen 1 年之前
父节点
当前提交
2e3dc1a966
共有 3 个文件被更改,包括 63 次插入15 次删除
  1. 13 13
      controller/contract/pre_register.go
  2. 36 0
      controller/contract/register.go
  3. 14 2
      models/fms/contract_register.go

+ 13 - 13
controller/contract/pre_register.go

@@ -329,12 +329,12 @@ func (rg *PreRegisterController) Add(c *gin.Context) {
 			pp.SellerTeamId = sellerItem.TeamId
 			pp.SellerTeamName = sellerItem.TeamName
 
-			pp.PaymentSellerId = sellerItem.SellerId
-			pp.PaymentSellerName = sellerItem.SellerName
-			pp.PaymentSellerGroupId = sellerItem.GroupId
-			pp.PaymentSellerGroupName = sellerItem.GroupName
-			pp.PaymentSellerTeamId = sellerItem.TeamId
-			pp.PaymentSellerTeamName = sellerItem.TeamName
+			//pp.PaymentSellerId = sellerItem.SellerId
+			//pp.PaymentSellerName = sellerItem.SellerName
+			//pp.PaymentSellerGroupId = sellerItem.GroupId
+			//pp.PaymentSellerGroupName = sellerItem.GroupName
+			//pp.PaymentSellerTeamId = sellerItem.TeamId
+			//pp.PaymentSellerTeamName = sellerItem.TeamName
 		} else {
 			//到款
 			pp.ArriveId = v.ContractInvoiceId
@@ -491,6 +491,7 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 
 	invoiceList := make([]*fms.ContractInvoice, 0)
 	ppList := make([]*fms.ContractPreRegister, 0)
+	var sellerItem *crm.SellerAdminWithGroupTeam
 	for _, r := range req.List {
 		// 货币及汇率
 		rateList, e := fmsService.GetTodayCurrencyRateList()
@@ -536,7 +537,7 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 		a, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", v.OriginAmount/rate), 64)
 		v.Amount = a
 
-		sellerItem := sellerMap[r.SellerId]
+		sellerItem = sellerMap[r.SellerId]
 		if sellerItem == nil {
 			resp.Fail("销售信息异常", c)
 			return
@@ -574,7 +575,7 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 			a, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", pp.OriginAmount/rate), 64)
 			pp.Amount = a
 
-			sellerItem := sellerMap[r.SellerId]
+			sellerItem = sellerMap[r.SellerId]
 			if sellerItem == nil {
 				resp.Fail("销售信息异常", c)
 				return
@@ -605,7 +606,7 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 			a, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", pp.ArriveOriginAmount/rate), 64)
 			pp.ArriveAmount = a
 
-			sellerItem := sellerMap[r.SellerId]
+			sellerItem = sellerMap[r.SellerId]
 			if sellerItem == nil {
 				resp.Fail("销售信息异常", c)
 				return
@@ -642,10 +643,10 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 	}
 	invoiceUpdateCols := []string{
 		"CurrencyUnit", "OriginAmount", "Amount", "InvoiceDate", "AdminId", "AdminName", "Remark",
-		"ServiceProductId", "StartDate", "EndDate", "ModifyTime","SellerId", "SellerName", "SellerGroupId","SellerGroupName","SellerTeamId","SellerTeamName",
+		"ServiceProductId", "StartDate", "EndDate", "ModifyTime", "SellerId", "SellerName", "SellerGroupId", "SellerGroupName", "SellerTeamId", "SellerTeamName",
 	}
 	// 更新合同登记、套餐、开票到款
-	if e = fms.UpdateContractPreRegister(ob, updateCols, serviceList, invoiceList, invoiceUpdateCols, req.DelInvoiceIds, req.DelPreRegisterIds, ppList); e != nil {
+	if e = fms.UpdateContractPreRegister(ob, updateCols, serviceList, invoiceList, invoiceUpdateCols, req.DelInvoiceIds, req.DelPreRegisterIds, ppList, sellerItem, req.RegisterType); e != nil {
 		resp.FailMsg("操作失败", "更新合同及套餐失败, Err: "+e.Error(), c)
 		return
 	}
@@ -834,12 +835,11 @@ func (rg *PreRegisterController) Detail(c *gin.Context) {
 		return
 	}
 	for _, v := range dupList {
-		if v.ContractRegisterId != req.ContractRegisterId{
+		if v.ContractRegisterId != req.ContractRegisterId {
 			list = append(list, v)
 		}
 	}
 
-
 	//获取ficc小套餐品种
 	sysConf := new(system.SysConfig)
 	confCond := `config_code = ?`

+ 36 - 0
controller/contract/register.go

@@ -556,6 +556,24 @@ func (rg *RegisterController) Add(c *gin.Context) {
 					return
 				}
 			}
+
+			ppOB := new(fms.ContractPreRegister)
+			items, e := ppOB.FetchByRegisterId(ppItem.ContractRegisterId)
+			if e != nil {
+				if e == utils.ErrNoRow {
+					resp.Fail("预登记记录不存在或已被删除", c)
+					return
+				}
+				resp.FailMsg("获取预登记失败", "Err:"+e.Error(), c)
+				return
+			}
+			for _, item := range items {
+				e = item.Delete()
+				if e != nil {
+					resp.FailMsg("删除预登记失败", "Err:"+e.Error(), c)
+					return
+				}
+			}
 		}
 
 
@@ -672,6 +690,24 @@ func (rg *RegisterController) Add(c *gin.Context) {
 					resp.FailMsg("删除预到款记录失败", "Err:"+e.Error(), c)
 					return
 				}
+
+				ppOB := new(fms.ContractPreRegister)
+				items, e := ppOB.FetchByRegisterId(ppItem.ContractRegisterId)
+				if e != nil {
+					if e == utils.ErrNoRow {
+						resp.Fail("预登记记录不存在或已被删除", c)
+						return
+					}
+					resp.FailMsg("获取预登记失败", "Err:"+e.Error(), c)
+					return
+				}
+				for _, item := range items {
+					e = item.Delete()
+					if e != nil {
+						resp.FailMsg("删除预登记失败", "Err:"+e.Error(), c)
+						return
+					}
+				}
 			}
 		}
 		// 操作日志

+ 14 - 2
models/fms/contract_register.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"hongze/fms_api/global"
 	"hongze/fms_api/models/base"
+	"hongze/fms_api/models/crm"
 	"hongze/fms_api/utils"
 	"time"
 )
@@ -563,7 +564,7 @@ type CheckContractNameResp struct {
 
 // UpdateContractPreRegister 更新合同预登记
 func UpdateContractPreRegister(item *ContractRegister, updateCols []string, serviceDetail []*ContractServiceAndDetail,
-	invoiceList []*ContractInvoice, invoiceUpdateCols []string, delInvoiceIds, delPreRegisterIds []int, ppList []*ContractPreRegister) (err error) {
+	invoiceList []*ContractInvoice, invoiceUpdateCols []string, delInvoiceIds, delPreRegisterIds []int, ppList []*ContractPreRegister, sellerItem *crm.SellerAdminWithGroupTeam, registerType int) (err error) {
 	tx := global.DEFAULT_MYSQL.Begin()
 	defer func() {
 		if err != nil {
@@ -653,8 +654,19 @@ func UpdateContractPreRegister(item *ContractRegister, updateCols []string, serv
 		StartDate:          item.StartDate,
 		EndDate:            item.EndDate,
 		CurrencyUnit:       item.CurrencyUnit,
+		SellerId:           sellerItem.SellerId,
+		SellerName:         sellerItem.SellerName,
+		SellerGroupId:      sellerItem.GroupId,
+		SellerGroupName:    sellerItem.GroupName,
+		SellerTeamId:       sellerItem.TeamId,
+		SellerTeamName:     sellerItem.TeamName,
+	}
+	if registerType == 3{
+		tx.Model(&invoiceItem).Select([]string{"StartDate", "EndDate", "CurrencyUnit","SellerId",
+			"SellerName","SellerGroupId","SellerGroupName","SellerTeamId","SellerTeamName"}).Where("contract_register_id", item.ContractRegisterId).Updates(invoiceItem)
+	} else {
+		tx.Model(&invoiceItem).Select([]string{"StartDate", "EndDate", "CurrencyUnit"}).Where("contract_register_id", item.ContractRegisterId).Updates(invoiceItem)
 	}
-	tx.Model(&invoiceItem).Select([]string{"StartDate", "EndDate", "CurrencyUnit"}).Where("ContractRegisterId", item.ContractRegisterId).Updates(invoiceItem)
 
 	//pp := &ContractPreRegister{}
 	//ppItem, e := pp.Fetch(ppList[0].PreRegisterId)