models

package
v0.0.0-...-e6ca919 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2019 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HowManyOperations

func HowManyOperations() int

HowManyOperations returnes the total number of operations in the database

func SaveOperationMetadata

func SaveOperationMetadata(operation Operation)

SaveOperationMetadata saves metadata for 'operation'

func TotalBeneficiaries

func TotalBeneficiaries(operationID int) float32

TotalBeneficiaries returns the total number of beneficiaries in an operation

func TotalDispatch

func TotalDispatch(operationID int) float32

TotalDispatch calculates total dispatch amount

func UpdateOperationDocument

func UpdateOperationDocument(operation Operation)

UpdateOperationDocument creates corresponding records from relation model in mongo

Types

type BaseModel

type BaseModel struct {
	CreatedAt  time.Time `json:"created_at"`
	UpdatedAt  time.Time `json:"updated_at"`
	CreatedBy  int       `json:"created_by"`
	ModifiedBy int       `json:"modified_by"`
	DeletedAt  string    `json:"deleted_at"`
}

BaseModel contains fields and methods common to all transactional entities

func (*BaseModel) Hash

func (b *BaseModel) Hash() string

Hash generates a hashed value of the object

type Dispatch

type Dispatch struct {
	BaseModel
	ID                   int            `json:"id"`
	GinNo                string         `json:"gin_no"`
	OperationID          int            `json:"operation_id"`
	RequisitionNo        string         `json:"requisition_no"`
	DispatchDate         string         `json:"dispatch_date"`
	FdpID                int            `json:"fdpi_d"`
	WeightBridgeTicketNo string         `json:"weight_bridge_ticket_no"`
	TransporterID        int            `json:"transporter_id"`
	PlateNo              string         `json:"plate_no"`
	TrailerPlateNo       string         `json:"trailer_plate_no"`
	DriverName           string         `json:"driver_name"`
	Remark               string         `json:"remark"`
	Draft                bool           `json:"draft"`
	Deleted              bool           `json:"deleted"`
	HubID                int            `json:"hub_id"`
	WarehouseID          int            `json:"warehouse_id"`
	StorekeeperName      string         `json:"storekeeper_name"`
	DispatchIDGUID       string         `json:"dispatch_id_guid"`
	DispatchedDateEC     string         `json:"dispatched_date_ec"`
	DispatchTypeID       int            `json:"dispatch_type_id"`
	DispatchType         int            `json:"dispatch_type"`
	Items                []DispatchItem `json:"dispatch_items"`
}

Dispatch represent a single goods issue ticket from warehouse

func GetAllDispatches

func GetAllDispatches() []Dispatch

GetAllDispatches returns all dispatches

func GetDispatch

func GetDispatch(id int) Dispatch

GetDispatch fetches a specific Dispatch record from transactional database

func GetDispatches

func GetDispatches(operationID int) []Dispatch

GetDispatches fetches all dispatch records for a given operation

type DispatchItem

type DispatchItem struct {
	BaseModel
	ID                  int     `json:"id"`
	DispatchID          int     `json:"dispatch_id"`
	CommodityCategoryID int     `json:"commodity_category_id"`
	CommodityID         int     `json:"commodity_id"`
	Quantity            float32 `json:"quantity"`
	ProjectID           int     `json:"project_id"`
	GUIDRef             string  `json:"guid_ref"`
	OrganizationID      int     `json:"organization_id"`
	UnitOfMeasureID     int     `json:"unit_of_measure_id"`
	Deleted             bool    `json:"deleted"`
}

DispatchItem represents item detail for a dispatch

type Fdp

type Fdp struct {
	BaseModel
	ID          int     `json:"id"`
	Name        string  `json:"name"`
	Description string  `json:"description"`
	Lat         float64 `json:"lat"`
	Lon         float64 `json:"lon"`
	Active      bool    `json:"active"`
	LocationID  int     `json:"location_id"`
	Address     string  `json:"address"`
	Woreda      string  `json:"woreda"`
	Zone        string  `json:"zone"`
	Region      string  `json:"region"`
}

Fdp is Food Distribution Point

type FscdPlan

type FscdPlan struct {
	BaseModel
	ID       int `json:"id"`
	Name     string
	Code     string
	Year     string
	Duration int32
	Status   int32
}

FscdPlan represents food requirement for PSNP program

type Hrd

type Hrd struct {
	BaseModel
	ID        int `json:"id" bson:"_id"`
	YearGC    int `json:"year_gc" bson:"year_gc"`
	Status    int `json:"status" bson:"status"`
	YearEC    int `json:"year_ec" bson:"year_ec"`
	MonthFrom int `json:"month_from" bson:"month_from"`
	Duration  int `json:"duration" bson:"duration"`
	SeasonID  int `json:"season_id" bson:"season_id"`
	RationID  int `json:"ration_id" bson:"ration_id"`
}

Hrd represents food requirement for relief program

func GetHrd

func GetHrd(id int) Hrd

GetHrd returns an Hrd record from transactional database

type Operation

type Operation struct {
	BaseModel
	ID               int               `json:"id" bson:"_id"`
	ProgramID        int64             `json:"program_id" bson:"program_id"`
	HrdID            int               `json:"hrd_id" bson:"hrd_id"`
	FscdAnnualPlanID int               `json:"fscd_annual_plan_id" bson:"fscd_annual_plan_id"`
	RationID         int               `json:"ration_id" bson:"ration_id"`
	Name             string            `json:"name" bson:"name"`
	Description      string            `json:"description" bson:"description"`
	Year             string            `json:"year" bson:"year"`
	Round            int               `json:"round" bson:"round"`
	Month            int               `json:"month" bson:"month"`
	ExpectedStart    string            `json:"expected_start" bson:"expected_start"`
	ExpectedEnd      string            `json:"expected_end" bson:"expected_end"`
	ActualStart      string            `json:"actual_start" bson:"actual_start"`
	ActualEnd        string            `json:"actual_end" bson:"actual_end"`
	Status           int               `json:"status" bson:"status"`
	Hrd              Hrd               `json:"hrd" bson:"hrd"`
	Program          Program           `json:"program" bson:"program"`
	Ration           Ration            `json:"ration" bson:"ration"`
	RegionalRequests []RegionalRequest `json:"regional_requests" bson:"regional_requests"`
	Requisitions     []Requisition     `json:"requisitions" bson:"requisitions"`
	Dispatches       []Dispatch        `json:"dispatches" bson:"dispatch"`
	Document         string            `json:"document" sql:"type:JSONB DEFAULT '{}'::JSONB"`
}

Operation represents a construct from CATS which is one of the collections in the rm2doc db

func GetAllOperations

func GetAllOperations() []Operation

GetAllOperations returns all operations in the database

func GetOperation

func GetOperation(id int) Operation

GetOperation returns an operation record from transactional database

func GetOperationDocument

func GetOperationDocument(id int) *Operation

GetOperationDocument returns graph of an operation record

func GetOperationGraph

func GetOperationGraph(id int) Operation

GetOperationGraph returns an operation record and all associated relations from transactional database

type OperationMetadata

type OperationMetadata struct {
	gorm.Model
	ID       int    `json:"id"`
	Document string `json:"document" sql:"type:JSONB DEFAULT '{}'::JSONB"`
}

OperationMetadata represents document metadata for operation

func (OperationMetadata) TableName

func (OperationMetadata) TableName() string

TableName sets table to use for saving operation metadata

type Program

type Program struct {
	BaseModel
	ID          int    `json:"id" bson:"_id"`
	Name        string `json:"name" bson:"name"`
	Code        string `json:"code" bson:"code"`
	Description string `json:"description" bson:"description"`
}

Program represents the type of assistance e.g. Relief, PSNP or IPD

type Ration

type Ration struct {
	BaseModel
	ID          int    `json:"id" bson:"_id"`
	ReferenceNo string `json:"reference_no" bson:"reference_no"`
	Description string `json:"description" bson:"description"`
	Current     bool   `json:"current" bson:"current"`
}

Ration is used to define the amount of assistance given to a beneficiary in a given operation period

type RegionalRequest

type RegionalRequest struct {
	BaseModel
	ID            int                   `json:"id" bson:"_id"`
	OperationID   int                   `json:"operation_id" bson:"operation_id"`
	ReferenceNo   string                `json:"reference_no" bson:"reference_no"`
	RegionID      int                   `json:"region_id" bson:"region_id"`
	RationID      int                   `json:"ration_id" bson:"ration_id"`
	RequestedDate string                `json:"requested_date" bson:"requested_date"`
	ProgramID     int                   `json:"program_id" bson:"program_id"`
	Remark        string                `json:"remark" bson:"remark"`
	Generated     bool                  `json:"generated" bson:"generated"`
	Items         []RegionalRequestItem `json:"request_items" bson:"request_items"`
}

RegionalRequest represents monthly requests for Relief or PSNP programs

type RegionalRequestItem

type RegionalRequestItem struct {
	BaseModel
	ID                    int     `json:"id" bson:"_id"`
	RegionalRequestID     int     `json:"regional_request_id" bson:"regional_request_id"`
	FdpID                 int     `json:"fdp_id" bson:"fdp_id"`
	NumberOfBeneficiaries float64 `json:"number_of_beneficiaries" bson:"number_of_beneficiaries"`
	Fdp                   Fdp     `json:"fdp" bson:"fdp"`
}

RegionalRequestItem represents items within a regional requisition

type Requisition

type Requisition struct {
	BaseModel
	ID            int               `json:"id" bson:"_id"`
	RequisitionNo string            `json:"requisition_no" bson:"requisition_no"`
	OperationID   int               `json:"operation_id" bson:"operation_id"`
	CommodityID   int               `json:"commodity_id" bson:"commodity_id"`
	RegionID      int               `json:"region_id" bson:"region_id"`
	ZoneID        int               `json:"zone_id" bson:"zone_id"`
	RationID      int               `json:"ration_id" bson:"ration_id"`
	RequestedBy   string            `json:"requested_by" bson:"requested_by"`
	RequestedOn   string            `json:"requested_on" bson:"requested_on"`
	Status        int               `json:"status" bson:"status"`
	RequestID     string            `json:"request_id" bson:"request_id"`
	Items         []RequisitionItem `json:"requisition_items" bson:"requisition_items"`
}

Requisition represents allocation request document

func GetRequisition

func GetRequisition(id int) Requisition

GetRequisition returns the complete detail for a requisition record

func GetRequisitions

func GetRequisitions(operationID int) []Requisition

GetRequisitions fetches all requisitions records for a given operation

type RequisitionItem

type RequisitionItem struct {
	BaseModel
	ID            int     `json:"id" bson:"_id"`
	RequisitionID int     `json:"requisition_id" bson:"requisition_id"`
	FdpID         int     `json:"fdp_id" bson:"fdp_id"`
	BeneficiaryNo int     `json:"beneficiary_no" bson:"beneficiary_no"`
	Amount        float32 `json:"amount" bson:"amount"`
	Contigency    float32 `json:"contigency" bson:"contigency"`
	Fdp           Fdp     `json:"fdp" bson:"fdp"`
}

RequisitionItem represents beneficiary number for each FDP together with commodity

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL