Documentation
¶
Index ¶
- func HowManyOperations() int
- func SaveOperationMetadata(operation Operation)
- func TotalBeneficiaries(operationID int) float32
- func TotalDispatch(operationID int) float32
- func UpdateOperationDocument(operation Operation)
- type BaseModel
- type Dispatch
- type DispatchItem
- type Fdp
- type FscdPlan
- type Hrd
- type Operation
- type OperationMetadata
- type Program
- type Ration
- type RegionalRequest
- type RegionalRequestItem
- type Requisition
- type RequisitionItem
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 ¶
TotalBeneficiaries returns the total number of beneficiaries in an operation
func TotalDispatch ¶
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
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 GetDispatch ¶
GetDispatch fetches a specific Dispatch record from transactional database
func GetDispatches ¶
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
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 ¶
GetOperation returns an operation record from transactional database
func GetOperationDocument ¶
GetOperationDocument returns graph of an operation record
func GetOperationGraph ¶
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