|
@@ -19,17 +19,26 @@ func generateSerial(ctx *ApiSession, typeName string) (serial string, err error)
|
|
|
Sort: bson.M{"_id": -1},
|
|
|
}, cate)
|
|
|
if !found || err != nil {
|
|
|
- return "", fmt.Errorf("未找到该分类")
|
|
|
+ return "", fmt.Errorf("未找到该类型")
|
|
|
}
|
|
|
// 自增器 increment index加1
|
|
|
increment := &model.Increment{}
|
|
|
- repo.RepoSeachDoc(ctx.CreateRepoCtx(), &repo.DocSearchOptions{
|
|
|
+ found, _ = repo.RepoSeachDoc(ctx.CreateRepoCtx(), &repo.DocSearchOptions{
|
|
|
CollectName: repo.CollectionIncrement,
|
|
|
+ Query: repo.Map{"type": cate.LetterName},
|
|
|
Project: []string{"index"},
|
|
|
Sort: bson.M{"_id": -1},
|
|
|
}, increment)
|
|
|
+ if !found {
|
|
|
+ repo.RepoAddDoc(ctx.CreateRepoCtx(), repo.CollectionIncrement, &model.Increment{
|
|
|
+ Type: cate.LetterName,
|
|
|
+ Index: 1,
|
|
|
+ })
|
|
|
+ return fmt.Sprintf("%s-%06d", cate.LetterName, 1), nil
|
|
|
+ }
|
|
|
+
|
|
|
index := increment.Index + 1
|
|
|
- repo.RepoAddDoc(ctx.CreateRepoCtx(), repo.CollectionIncrement, &model.Increment{Index: index})
|
|
|
+ repo.RepoUpdateSetDoc(ctx.CreateRepoCtx(), repo.CollectionIncrement, increment.Id.Hex(), &model.Increment{Index: index})
|
|
|
|
|
|
// 拼接为序号
|
|
|
return fmt.Sprintf("%s-%06d", cate.LetterName, index), nil
|
|
@@ -44,7 +53,7 @@ func searchBillTypeById(ctx *ApiSession, collectName string, id primitive.Object
|
|
|
Sort: bson.M{"_id": -1},
|
|
|
})
|
|
|
if !found {
|
|
|
- return "", fmt.Errorf("未找到该分类")
|
|
|
+ return "", fmt.Errorf("未找到该类型")
|
|
|
}
|
|
|
return curbill["type"].(string), nil
|
|
|
}
|