Merge branch 'dev' of github.com:dikstub-rssa/simrs-be into migration

This commit is contained in:
dpurbosakti
2025-10-22 09:13:00 +07:00
38 changed files with 2543 additions and 177 deletions

No files matched your search

@@ -0,0 +1,137 @@
package ambulance_transport_req
import (
ecore "simrs-vx/internal/domain/base-entities/core"
eds "simrs-vx/internal/domain/main-entities/district"
ept "simrs-vx/internal/domain/main-entities/patient"
epr "simrs-vx/internal/domain/main-entities/province"
erg "simrs-vx/internal/domain/main-entities/regency"
evl "simrs-vx/internal/domain/main-entities/village"
eren "simrs-vx/internal/domain/references/encounter"
erp "simrs-vx/internal/domain/references/person"
"time"
)
type CreateDto struct {
Patient_Id *uint `json:"patient_id"`
Diagnoses *string `json:"diagnoses" validate:"maxLength=1024"`
RequestDate *time.Time `json:"requestDate"`
UsageDate *time.Time `json:"usageDate"`
Address *string `json:"address" validate:"maxLength=100"`
RtRw *string `json:"rtRw" validate:"maxLength=10"`
Province_Code *string `json:"province_code" validate:"maxLength=2"`
Regency_Code *string `json:"regency_code" validate:"maxLength=4"`
District_Code *string `json:"district_code" validate:"maxLength=6"`
Village_Code *string `json:"village_code" validate:"maxLength=10"`
Facility_Code *eren.AmbulanceFacilityCode `json:"facility_code" validate:"maxLength=10"`
Needs_Code *eren.AmbulanceNeedsCode `json:"needs_code" validate:"maxLength=10"`
Contact_Name *string `json:"contact_name" validate:"maxLength=100"`
Contact_Relationship_Code *erp.RelationshipCode `json:"contact_relationship_code" validate:"maxLength=10"`
Contact_PhoneNumber *string `json:"contact_phoneNumber" validate:"maxLength=20"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
}
type FilterDto struct {
Patient_Id *uint `json:"patient-id"`
Facility_Code *eren.AmbulanceFacilityCode `json:"facility-code"`
Needs_Code *eren.AmbulanceNeedsCode `json:"needs-code"`
Province_Code *string `json:"province-code"`
Regency_Code *string `json:"regency-code"`
District_Code *string `json:"district-code"`
Village_Code *string `json:"village-code"`
}
type ReadDetailDto struct {
Id uint16 `json:"id"`
Includes string `json:"includes"`
}
type UpdateDto struct {
Id uint16 `json:"id"`
CreateDto
}
type DeleteDto struct {
Id uint16 `json:"id"`
}
type MetaDto struct {
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
Count int `json:"count"`
}
type ResponseDto struct {
ecore.Main
Patient_Id *uint `json:"patient_id"`
Patient *ept.Patient `json:"patient,omitempty"`
Diagnoses *string `json:"diagnoses"`
RequestDate *time.Time `json:"requestDate"`
UsageDate *time.Time `json:"usageDate"`
Address *string `json:"address"`
RtRw *string `json:"rtRw"`
Province_Code *string `json:"province_code"`
Province *epr.Province `json:"province,omitempty"`
Regency_Code *string `json:"regency_code"`
Regency *erg.Regency `json:"regency,omitempty"`
District_Code *string `json:"district_code"`
District *eds.District `json:"district,omitempty"`
Village_Code *string `json:"village_code"`
Village *evl.Village `json:"village,omitempty"`
Facility_Code *eren.AmbulanceFacilityCode `json:"facility_code"`
Needs_Code *eren.AmbulanceNeedsCode `json:"needs_code"`
Contact_Name *string `json:"contact_name"`
Contact_Relationship_Code *erp.RelationshipCode `json:"contact_relationship_code"`
Contact_PhoneNumber *string `json:"contact_phoneNumber"`
}
func (d AmbulanceTransportReq) ToResponse() ResponseDto {
resp := ResponseDto{
Patient_Id: d.Patient_Id,
Patient: d.Patient,
Diagnoses: d.Diagnoses,
RequestDate: d.RequestDate,
UsageDate: d.UsageDate,
Address: d.Address,
RtRw: d.RtRw,
Province_Code: d.Province_Code,
Province: d.Province,
Regency_Code: d.Regency_Code,
Regency: d.Regency,
District_Code: d.District_Code,
District: d.District,
Village_Code: d.Village_Code,
Village: d.Village,
Facility_Code: d.Facility_Code,
Needs_Code: d.Needs_Code,
Contact_Name: d.Contact_Name,
Contact_Relationship_Code: d.Contact_Relationship_Code,
Contact_PhoneNumber: d.Contact_PhoneNumber,
}
resp.Main = d.Main
return resp
}
func ToResponseList(data []AmbulanceTransportReq) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}
@@ -6,16 +6,18 @@ import (
ep "simrs-vx/internal/domain/main-entities/person"
eu "simrs-vx/internal/domain/main-entities/user"
erc "simrs-vx/internal/domain/references/common"
erg "simrs-vx/internal/domain/references/organization"
)
type Employee struct {
ecore.Main // adjust this according to the needs
User_Id *uint `json:"user_id"`
User *eu.User `json:"user,omitempty" gorm:"foreignKey:User_Id;references:Id"`
Person_Id *uint `json:"person_id"`
Person *ep.Person `json:"person,omitempty" gorm:"foreignKey:Person_Id;references:Id"`
Division_Code *string `json:"division_code"`
Division *ed.Division `json:"division,omitempty" gorm:"foreignKey:Division_Code;references:Code"`
Number *string `json:"number" gorm:"size:20"`
Status_Code erc.ActiveStatusCode `json:"status_code" gorm:"not null;size:10"`
ecore.Main // adjust this according to the needs
User_Id *uint `json:"user_id"`
User *eu.User `json:"user,omitempty" gorm:"foreignKey:User_Id;references:Id"`
Person_Id *uint `json:"person_id"`
Person *ep.Person `json:"person,omitempty" gorm:"foreignKey:Person_Id;references:Id"`
Position_Code *erg.EmployeePosisitionCode `json:"position_code" gorm:"size:20"`
Division_Code *string `json:"division_code"`
Division *ed.Division `json:"division,omitempty" gorm:"foreignKey:Division_Code;references:Code"`
Number *string `json:"number" gorm:"size:20"`
Status_Code erc.ActiveStatusCode `json:"status_code" gorm:"not null;size:10"`
}
@@ -70,7 +70,8 @@ type FilterDto struct {
}
type ReadDetailDto struct {
Id uint16 `json:"id"`
Id uint16 `json:"id"`
Includes string `json:"includes"`
}
type UpdateDto struct {
@@ -119,8 +120,8 @@ type ResponseDto struct {
Member_Number *string `json:"member_number"`
Ref_Number *string `json:"ref_number"`
Trx_Number *string `json:"trx_number"`
Appointment_Doctor_Id *uint `json:"assignment_doctor_id"`
Appointment_Doctor *ed.Doctor `json:"assignment_doctor,omitempty"`
Appointment_Doctor_Id *uint `json:"appointment_doctor_id"`
Appointment_Doctor *ed.Doctor `json:"appointment_doctor,omitempty"`
Responsible_Doctor_Id *uint `json:"responsible_doctor_id"`
Responsible_Doctor *ed.Doctor `json:"responsible_doctor,omitempty"`
Adm_Employee_Id *uint `json:"adm_employee_id"`
@@ -0,0 +1,64 @@
package vehicle_hist
import (
ecore "simrs-vx/internal/domain/base-entities/core"
ev "simrs-vx/internal/domain/main-entities/vehicle"
ercm "simrs-vx/internal/domain/references/common"
"time"
)
type CreateDto struct {
Vehicle ev.Vehicle
Crud_Code ercm.CrudCode `json:"crud_code"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
}
type FilterDto struct {
Vehicle_Id *uint `json:"vehicle-id"`
Crud_Code ercm.CrudCode `json:"crud_code"`
}
type ReadDetailDto struct {
Id uint16 `json:"id"`
Includes string `json:"includes"`
}
type MetaDto struct {
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
Count int `json:"count"`
}
type ResponseDto struct {
ecore.Main
Vehicle_Id *uint `json:"vehicle_id"`
Vehicle *ev.Vehicle `json:"vehicle,omitempty" gorm:"foreignKey:Vehicle_Id;references:Id"`
Date *time.Time `json:"date"`
Data *string `json:"data"`
Crud_Code *ercm.CrudCode `json:"crud_code"`
}
func (d VehicleHist) ToResponse() ResponseDto {
resp := ResponseDto{
Vehicle_Id: d.Vehicle_Id,
Vehicle: d.Vehicle,
Date: d.Date,
Data: d.Data,
Crud_Code: d.Crud_Code,
}
resp.Main = d.Main
return resp
}
func ToResponseList(data []VehicleHist) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}
@@ -0,0 +1,76 @@
package vehicle
import (
ecore "simrs-vx/internal/domain/base-entities/core"
ercl "simrs-vx/internal/domain/references/clinical"
)
type CreateDto struct {
Type_Code ercl.VehicleTypeCode `json:"type_code" validate:"required"`
PoliceNumber *string `json:"policeNumber" validate:"required"`
FrameNumber *string `json:"frameNumber"`
RegNumber *string `json:"regNumber"`
AvailableStatus bool `json:"availableStatus"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
}
type FilterDto struct {
Type_Code ercl.VehicleTypeCode `json:"type-code"`
PoliceNumber *string `json:"policeNumber"`
FrameNumber *string `json:"frameNumber"`
RegNumber *string `json:"regNumber"`
AvailableStatus bool `json:"availableStatus"`
}
type ReadDetailDto struct {
Id uint16 `json:"id"`
}
type UpdateDto struct {
Id uint `json:"id"`
CreateDto
}
type DeleteDto struct {
Id uint16 `json:"id"`
}
type MetaDto struct {
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
Count int `json:"count"`
}
type ResponseDto struct {
ecore.Main
Type_Code *ercl.VehicleTypeCode `json:"type_code"`
PoliceNumber *string `json:"policeNumber"`
FrameNumber *string `json:"frameNumber"`
RegNumber *string `json:"regNumber"`
AvailableStatus bool `json:"availableStatus"`
}
func (d Vehicle) ToResponse() ResponseDto {
resp := ResponseDto{
Type_Code: d.Type_Code,
PoliceNumber: d.PoliceNumber,
FrameNumber: d.FrameNumber,
RegNumber: d.RegNumber,
AvailableStatus: d.AvailableStatus,
}
resp.Main = d.Main
return resp
}
func ToResponseList(data []Vehicle) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}