package common

import (
	"fmt"
	"strconv"
	"time"
)

// GenerateContractNo 生成 contractNo  规则 YYYY-MM-DD-xxxxx  xxxxx 是从 00001 开始 自增
func GenerateContractNo(lastContractNo string) string {
	prefix := time.Now().Format("2006-01-02") + "-"

	if lastContractNo == "" {
		return prefix + "00001"
	}

	suffix := lastContractNo[11:]

	suffixInt, _ := strconv.ParseInt(suffix, 10, 64)

	if suffixInt >= 99999 {
		suffixInt = suffixInt + 1
		return prefix + strconv.FormatInt(suffixInt, 10)
	} else {
		suffixInt = suffixInt + 1
		suffix = strconv.FormatInt(suffixInt, 10)
		suffix = fmt.Sprintf("%05d", suffixInt)
		return prefix + suffix
	}
}