diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 5d1434728..4d5570566 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -2206,16 +2206,26 @@ func setAttrViewColDateFillSpecificTime(operation *Operation) (err error) { } keyID := operation.ID - key, _ := attrView.GetKey(keyID) - if nil == key || av.KeyTypeDate != key.Type { + dateValues, _ := attrView.GetKeyValues(keyID) + if nil == dateValues || av.KeyTypeDate != dateValues.Key.Type { return } - if nil == key.Date { - key.Date = &av.Date{} + if nil == dateValues.Key.Date { + dateValues.Key.Date = &av.Date{} + } + + dateValues.Key.Date.FillSpecificTime = operation.Data.(bool) + for _, v := range dateValues.Values { + if !v.IsEmpty() { + continue + } + if nil == v.Date { + v.Date = &av.ValueDate{} + } + v.Date.IsNotTime = !dateValues.Key.Date.FillSpecificTime } - key.Date.FillSpecificTime = operation.Data.(bool) err = av.SaveAttributeView(attrView) return }