浏览代码

到款统计增加合同状态字段

xiexiaoyuan 2 年之前
父节点
当前提交
f4ac5ecf5b
共有 3 个文件被更改,包括 24 次插入1 次删除
  1. 16 1
      controller/contract/register.go
  2. 1 0
      models/fms/contract_invoice.go
  3. 7 0
      models/fms/contract_register.go

+ 16 - 1
controller/contract/register.go

@@ -1405,10 +1405,25 @@ func (rg *RegisterController) InvoiceList(c *gin.Context) {
 		return
 	}
 	page.SetTotal(total)
+	contractRegisterIds := make([]int, 0)
+	contractStatusMap := make(map[int]int)
 	for i := range list {
 		list[i].UnitName = unitMap[list[i].CurrencyUnit]
+		contractRegisterIds = append(contractRegisterIds, list[i].ContractRegisterId)
+	}
+	if len(contractRegisterIds) > 0 {
+		contractRegisters, err := fms.GetContractInfoByRegisterIds(contractRegisterIds)
+		if err != nil {
+			resp.FailMsg("查询合同信息失败", "查询合同信息失败, Err: "+err.Error(), c)
+			return
+		}
+		for _, v := range contractRegisters {
+			contractStatusMap[v.ContractRegisterId] = v.ContractStatus
+		}
+	}
+	for i := range list {
+		list[i].ContractStatus = contractStatusMap[list[i].ContractRegisterId]
 	}
-
 	// 分币种合计金额
 	var amountTotal float64
 	sumList, e := fms.GetInvoiceListCurrencySum(cond, pars, "currency_unit")

+ 1 - 0
models/fms/contract_invoice.go

@@ -41,6 +41,7 @@ type ContractInvoiceItem struct {
 	ContractInvoiceId  int     `gorm:"column:contract_invoice_id" json:"contract_invoice_id" description:"开票ID"`
 	ContractRegisterId int     `gorm:"column:contract_register_id" json:"contract_register_id" description:"登记ID"`
 	ContractCode       string  `gorm:"column:contract_code" json:"contract_code" description:"合同编号"`
+	ContractStatus     int     `json:"contract_status" description:"合同状态: 1-已审批; 2-单章寄出; 3-已签回"`
 	Amount             float64 `gorm:"column:amount" json:"amount" description:"换算金额"`
 	OriginAmount       float64 `gorm:"column:origin_amount" json:"origin_amount" description:"开票/到款金额"`
 	CurrencyUnit       string  `gorm:"column:currency_unit" json:"currency_unit" description:"货币国际代码"`

+ 7 - 0
models/fms/contract_register.go

@@ -425,3 +425,10 @@ func CreateImportContractRegister(item *ContractRegister, serviceList []*Contrac
 	}
 	return
 }
+
+func GetContractInfoByRegisterIds(registerIds []int) (list []ContractRegister,err error) {
+	err = global.DEFAULT_MYSQL.Model(ContractRegister{}).
+		Where("is_deleted = 0 AND contract_register_id in ?", registerIds).
+		Find(&list).Error
+	return
+}