This commit is contained in:
Daniel 2025-08-23 21:43:05 +08:00
parent eb578a3d9d
commit 17924377ec
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 33 additions and 1 deletions

View file

@ -807,6 +807,12 @@ func (r *ValueRollup) BuildContents(keyValues []*KeyValues, destKey *Key, relati
if nil == destVal {
continue
}
if val := destVal.GetValByType(destKey.Type); nil == val {
// 目标字段因为修改类型导致空值
continue
}
if KeyTypeNumber == destKey.Type {
destVal.Number.Format = destKey.NumberFormat
destVal.Number.FormatNumber()

View file

@ -4086,7 +4086,33 @@ func updateAttributeViewColumn(operation *Operation) (err error) {
}
}
err = av.SaveAttributeView(attrView)
if err = av.SaveAttributeView(attrView); nil != err {
return
}
if changeType {
relatedAvIDs := av.GetSrcAvIDs(attrView.ID)
for _, relatedAvID := range relatedAvIDs {
destAv, _ := av.ParseAttributeView(relatedAvID)
if nil == destAv {
continue
}
for _, keyValues := range destAv.KeyValues {
if av.KeyTypeRollup == keyValues.Key.Type && keyValues.Key.Rollup.KeyID == operation.ID {
// 置空关联过来的汇总
for _, val := range keyValues.Values {
val.Rollup.Contents = nil
}
keyValues.Key.Rollup.Calc = &av.RollupCalc{Operator: av.CalcOperatorNone}
}
}
regenAttrViewGroups(destAv, "force")
av.SaveAttributeView(destAv)
ReloadAttrView(destAv.ID)
}
}
return
}