123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package model
- import pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- type Drugs struct {
- Id int64 `json:"id"`
- Name string `json:"name"`
- CategoryId pasturePb.DrugCategory_Kind `json:"category_id"`
- Producer string `json:"producer"`
- BatchNumber string `json:"batch_number"`
- ProductionAt int64 `json:"production_at"`
- ExpirationAt int64 `json:"expiration_at"`
- Unit pasturePb.Unit_Kind `json:"unit"`
- Specs string `json:"specs"`
- Inventory int32 `json:"inventory"`
- UsageMethod pasturePb.DrugUsage_Kind `json:"usage_method"`
- Price int32 `json:"price"`
- Remarks string `json:"remarks"`
- OperationId int32 `json:"operation_id"`
- CreatedAt int64 `json:"created_at"`
- UpdatedAt int64 `json:"updated_at"`
- }
- func (d *Drugs) TableName() string {
- return "drugs"
- }
- func NewDrugs(req *pasturePb.SearchDrugsList, currentUser *SystemUser) *Drugs {
- return &Drugs{
- Name: req.Name,
- CategoryId: req.CategoryId,
- Producer: req.Producer,
- BatchNumber: req.BatchNumber,
- ProductionAt: int64(req.ProductionAt),
- ExpirationAt: int64(req.ExpirationAt),
- Unit: req.Unit,
- Specs: req.Specs,
- Inventory: req.Inventory,
- UsageMethod: req.Usage,
- Price: int32(req.Price * 100),
- Remarks: req.Remarks,
- OperationId: int32(currentUser.Id),
- }
- }
- type DrugsSlice []*Drugs
- func (d DrugsSlice) ToPB(systemUserList []*SystemUser, drugsCategoryMap map[pasturePb.DrugCategory_Kind]string,
- unitMap map[pasturePb.Unit_Kind]string, drugUsageMap map[pasturePb.DrugUsage_Kind]string) []*pasturePb.SearchDrugsList {
- res := make([]*pasturePb.SearchDrugsList, len(d))
- for i, v := range d {
- operationName := ""
- for _, u := range systemUserList {
- if int64(v.OperationId) != u.Id {
- continue
- }
- operationName = u.Name
- }
- res[i] = &pasturePb.SearchDrugsList{
- Id: int32(v.Id),
- Name: v.Name,
- CategoryId: v.CategoryId,
- CategoryName: drugsCategoryMap[v.CategoryId],
- Producer: v.Producer,
- BatchNumber: v.BatchNumber,
- ProductionAt: int32(v.ProductionAt),
- ExpirationAt: int32(v.ExpirationAt),
- Unit: v.Unit,
- UnitName: unitMap[v.Unit],
- Specs: v.Specs,
- Inventory: v.Inventory,
- Usage: v.UsageMethod,
- UsageName: drugUsageMap[v.UsageMethod],
- Price: float32(v.Price) / 100,
- Remarks: v.Remarks,
- OperationId: v.OperationId,
- OperationName: operationName,
- CreatedAt: int32(v.CreatedAt),
- UpdatedAt: int32(v.UpdatedAt),
- }
- }
- return res
- }
|