package tjdept

import (
	"dbweb/core"
	"strings"
)

//LevelName 获取部门级别汉字名称，以下之一：
//"系统", "国家", "省", "市", "县", "镇街", "居村"
func LevelName(l int64) string {
	names := []string{"系统", "国家", "省", "市", "县", "镇街", "居村"}
	if l > int64(len(names)-1) {
		return "其他"
	}
	return names[l]
}

//CompactCode 获取紧凑部门代码，尾部0被省略，系统、国家返回空字符串
func CompactCode(d *core.Dept) string {
	switch d.Level {
	case 0, 1:
		return ""
	case 2, 3, 4: //省，地市，县
		return string(d.Code[2 : int(d.Level)*2])
	case 5: //乡镇
		return string(d.Code[2:11])
	default:
		return d.Code[2:]
	}
}
//Compact 紧缩一个代码
func Compact(str string) string {
	for {
		switch len(str) {
		case 4, 6:
			if strings.HasSuffix(str, "00") {
				str = str[:len(str)-2]
			} else {
				return str
			}
		case 9, 12:
			if strings.HasSuffix(str, "000") {
				str = str[:len(str)-3]
			} else {
				return str
			}
		default:
			return str
		}
	}

}
