diff --git a/models/terminology.models.go b/models/terminology.models.go new file mode 100644 index 0000000..78f6e06 --- /dev/null +++ b/models/terminology.models.go @@ -0,0 +1,27 @@ +package models + +type TerminologyV0 struct { + ResourceType string `db:"resource_type"` + AttributePath string `db:"attribute_path"` + Code string `db:"code"` + ParentCode string `db:"parent_code"` + Display string `db:"display"` + DisplayEn string `db:"display_en"` + CodeSystem string `db:"code_system"` + OrderNo uint `db:"order_no"` + FtIndex string `db:"ft_index"` + UseInd bool `db:"use_ind"` + Description string `db:"description"` + StatusCd string `db:"status_cd"` + CreatedDttm string `db:"created_dttm"` + CreatedUserID uint `db:"created_user_id"` + UpdatedDttm string `db:"updated_dttm"` + UpdatedUserID uint `db:"updated_user_id"` + NullifiedDttm string `db:"nullified_dttm"` + NullifiedUserID uint `db:"nullified_user_id"` +} + +type TerminologyParamv0 struct { + AttributePath string `json:"AttributePath"` + CodeSystem string `json:"CodeSystem"` +} diff --git a/services/app.services.go b/services/app.services.go index 148b881..a98868b 100644 --- a/services/app.services.go +++ b/services/app.services.go @@ -1,8 +1,14 @@ package services -import "cpone/models" +import ( + "cpone/models" + dbx "cpone/package/database" + "fmt" -//Func get menu sidebar + "go.uber.org/zap" +) + +// Func get menu sidebar func GetMenu() ([]models.Menu, error) { // dummyBreadcrumb := []Breadcrumb{ @@ -515,6 +521,30 @@ func GetUserLogin() (models.User, error) { return a, nil } -func GetTerminology(attributePath string, codeSystem string) { +func GetTerminologyList(inp models.TerminologyParamv0) ([]models.TerminologyV0, error) { + logger, _ := zap.NewProduction() + defer logger.Sync() + var term []models.TerminologyV0 + + query := ` + SELECT + * + FROM terminology + WHERE status_cd = 'normal' + AND code_system = ? + AND attribute_path = ? + ` + + logger.Info("QUERY SEARCH TERMINOLOGY", + zap.String("query search", query), + ) + + if err := dbx.Handlex.Select(&term, query, + inp.CodeSystem, + inp.CodeSystem); err != nil { + return nil, fmt.Errorf("error querying database terminology: %v", err) + } + + return term, nil }