Parcourir la source

药品管理相关功能接口

csx il y a 4 ans
Parent
révision
20faa44469

Fichier diff supprimé car celui-ci est trop grand
+ 1726 - 0
controllers/drug_stock_api_contorller.go


+ 91 - 0
models/drug.go Voir le fichier

@@ -0,0 +1,91 @@
1
+package models
2
+
3
+type BaseDrugLib struct {
4
+	ID                          int64                          `gorm:"column:id" json:"id" form:"id"`
5
+	DrugName                    string                         `gorm:"column:drug_name" json:"drug_name" form:"drug_name"`
6
+	Pinyin                      string                         `gorm:"column:pinyin" json:"pinyin" form:"pinyin"`
7
+	Wubi                        string                         `gorm:"column:wubi" json:"wubi" form:"wubi"`
8
+	DrugAlias                   string                         `gorm:"column:drug_alias" json:"drug_alias" form:"drug_alias"`
9
+	DrugAliasPinyin             string                         `gorm:"column:drug_alias_pinyin" json:"drug_alias_pinyin" form:"drug_alias_pinyin"`
10
+	DrugAliasWubi               string                         `gorm:"column:drug_alias_wubi" json:"drug_alias_wubi" form:"drug_alias_wubi"`
11
+	DrugCategory                int64                          `gorm:"column:drug_category" json:"drug_category" form:"drug_category"`
12
+	DrugSpec                    float64                        `gorm:"column:drug_spec" json:"drug_spec" form:"drug_spec"`
13
+	DrugType                    int64                          `gorm:"column:drug_type" json:"drug_type" form:"drug_type"`
14
+	DrugStockLimit              string                         `gorm:"column:drug_stock_limit" json:"drug_stock_limit" form:"drug_stock_limit"`
15
+	DrugOriginPlace             string                         `gorm:"column:drug_origin_place" json:"drug_origin_place" form:"drug_origin_place"`
16
+	DrugDosageForm              int64                          `gorm:"column:drug_dosage_form" json:"drug_dosage_form" form:"drug_dosage_form"`
17
+	MedicalInsuranceLevel       int64                          `gorm:"column:medical_insurance_level" json:"medical_insurance_level" form:"medical_insurance_level"`
18
+	MaxUnit                     string                         `gorm:"column:max_unit" json:"max_unit" form:"max_unit"`
19
+	MinUnit                     string                         `gorm:"column:min_unit" json:"min_unit" form:"min_unit"`
20
+	UnitMatrixing               string                         `gorm:"column:unit_matrixing" json:"unit_matrixing" form:"unit_matrixing"`
21
+	RetailPrice                 float64                        `gorm:"column:retail_price" json:"retail_price" form:"retail_price"`
22
+	LastPrice                   float64                        `gorm:"column:last_price" json:"last_price" form:"last_price"`
23
+	DrugControl                 int64                          `gorm:"column:drug_control" json:"drug_control" form:"drug_control"`
24
+	Number                      string                         `gorm:"column:number" json:"number" form:"number"`
25
+	DrugClassify                string                         `gorm:"column:drug_classify" json:"drug_classify" form:"drug_classify"`
26
+	DrugDose                    float64                        `gorm:"column:drug_dose" json:"drug_dose" form:"drug_dose"`
27
+	DrugDoseUnit                int64                          `gorm:"column:drug_dose_unit" json:"drug_dose_unit" form:"drug_dose_unit"`
28
+	MedicalInsuranceNumber      string                         `gorm:"column:medical_insurance_number" json:"medical_insurance_number" form:"medical_insurance_number"`
29
+	Manufacturer                int64                          `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
30
+	PharmacologyCategory        int64                          `gorm:"column:pharmacology_category" json:"pharmacology_category" form:"pharmacology_category"`
31
+	StatisticsCategory          int64                          `gorm:"column:statistics_category" json:"statistics_category" form:"statistics_category"`
32
+	Code                        string                         `gorm:"column:code" json:"code" form:"code"`
33
+	IsSpecialDiseases           int64                          `gorm:"column:is_special_diseases" json:"is_special_diseases" form:"is_special_diseases"`
34
+	IsRecord                    int64                          `gorm:"column:is_record" json:"is_record" form:"is_record"`
35
+	Agent                       int64                          `gorm:"column:agent" json:"agent" form:"agent"`
36
+	DrugStatus                  string                         `gorm:"column:drug_status" json:"drug_status" form:"drug_status"`
37
+	LimitRemark                 string                         `gorm:"column:limit_remark" json:"limit_remark" form:"limit_remark"`
38
+	DeliveryWay                 string                         `gorm:"column:delivery_way" json:"delivery_way" form:"delivery_way"`
39
+	ExecutionFrequency          string                         `gorm:"column:execution_frequency" json:"execution_frequency" form:"execution_frequency"`
40
+	SingleDose                  float64                        `gorm:"column:single_dose" json:"single_dose" form:"single_dose"`
41
+	PrescribingNumber           float64                        `gorm:"column:prescribing_number" json:"prescribing_number" form:"prescribing_number"`
42
+	Label                       int64                          `gorm:"column:label" json:"label" form:"label"`
43
+	Sort                        int64                          `gorm:"column:sort" json:"sort" form:"sort"`
44
+	IsUseDoctorAdvice           int64                          `gorm:"column:is_use_doctor_advice" json:"is_use_doctor_advice" form:"is_use_doctor_advice"`
45
+	IsDefault                   int64                          `gorm:"column:is_default" json:"is_default" form:"is_default"`
46
+	IsChargePredict             int64                          `gorm:"column:is_charge_predict" json:"is_charge_predict" form:"is_charge_predict"`
47
+	IsStatisticsWork            int64                          `gorm:"column:is_statistics_work" json:"is_statistics_work" form:"is_statistics_work"`
48
+	IsChargeUse                 int64                          `gorm:"column:is_charge_use" json:"is_charge_use" form:"is_charge_use"`
49
+	Status                      int64                          `gorm:"column:status" json:"status" form:"status"`
50
+	Ctime                       int64                          `gorm:"column:ctime" json:"ctime" form:"ctime"`
51
+	Mtime                       int64                          `gorm:"column:mtime" json:"mtime" form:"mtime"`
52
+	OrgId                       int64                          `gorm:"column:org_id" json:"org_id" form:"org_id"`
53
+	DrugCode                    string                         `gorm:"column:drug_code" json:"drug_code" form:"drug_code"`
54
+	MedicineInsurancePercentage []*MedicineInsurancePercentage `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"monitoring_record"`
55
+}
56
+
57
+func (BaseDrugLib) TableName() string {
58
+	return "xt_base_drug"
59
+}
60
+
61
+type DrugUnitSafeguard struct {
62
+	ID               int64  `gorm:"column:id" json:"id" form:"id"`
63
+	Unit             string `gorm:"column:unit" json:"unit" form:"unit"`
64
+	ConversionFactor string `gorm:"column:conversion_factor" json:"conversion_factor" form:"conversion_factor"`
65
+	IsStockUse       int64  `gorm:"column:is_stock_use" json:"is_stock_use" form:"is_stock_use"`
66
+	UserOrgId        int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
67
+	Ctime            int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
68
+	Mtime            int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
69
+	Status           int64  `gorm:"column:status" json:"status" form:"status"`
70
+	DrugId           int64  `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
71
+}
72
+
73
+func (DrugUnitSafeguard) TableName() string {
74
+	return "xt_drug_unit_safeguard"
75
+}
76
+
77
+type MedicineInsurancePercentage struct {
78
+	ID                    int64   `gorm:"column:id" json:"id" form:"id"`
79
+	MedicineInsuranceType int64   `gorm:"column:medicine_insurance_type" json:"medicine_insurance_type" form:"medicine_insurance_type"`
80
+	Percent               float64 `gorm:"column:percent" json:"percent" form:"percent"`
81
+	UserOrgId             int64   `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
82
+	Status                int64   `gorm:"column:status" json:"status" form:"status"`
83
+	Ctime                 int64   `gorm:"column:ctime" json:"ctime" form:"ctime"`
84
+	Mtime                 int64   `gorm:"column:mtime" json:"mtime" form:"mtime"`
85
+	DrugId                int64   `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
86
+	RecordTime            int64   `gorm:"column:record_time" json:"record_time" form:"record_time"`
87
+}
88
+
89
+func (MedicineInsurancePercentage) TableName() string {
90
+	return "xt_medicine_insurance_percentage"
91
+}

+ 193 - 0
models/drug_stock.go Voir le fichier

@@ -0,0 +1,193 @@
1
+package models
2
+
3
+type DrugWarehouse struct {
4
+	ID               int64  `gorm:"column:id" json:"id" form:"id"`
5
+	WarehousingOrder string `gorm:"column:warehousing_order" json:"warehousing_order" form:"warehousing_order"`
6
+	OperationTime    int64  `gorm:"column:operation_time" json:"operation_time" form:"operation_time"`
7
+	OrgId            int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
8
+	Creater          int64  `gorm:"column:creater" json:"creater" form:"creater"`
9
+	Ctime            int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
10
+	Modifier         int64  `gorm:"column:modifier" json:"modifier" form:"modifier"`
11
+	Mtime            int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
12
+	Status           int64  `gorm:"column:status" json:"status" form:"status"`
13
+	WarehousingTime  int64  `gorm:"column:warehousing_time" json:"warehousing_time" form:"warehousing_time"`
14
+	Dealer           int64  `gorm:"column:dealer" json:"dealer" form:"dealer"`
15
+	Manufacturer     int64  `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
16
+	Type             int64  `gorm:"column:type" json:"type" form:"type"`
17
+}
18
+
19
+func (DrugWarehouse) TableName() string {
20
+	return "xt_drug_warehouse"
21
+}
22
+
23
+type DrugWarehouseInfo struct {
24
+	ID               int64   `gorm:"column:id" json:"id" form:"id"`
25
+	WarehousingId    int64   `gorm:"column:warehousing_id" json:"warehousing_id" form:"warehousing_id"`
26
+	DrugId           int64   `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
27
+	Number           string  `gorm:"column:number" json:"number" form:"number"`
28
+	ProductDate      int64   `gorm:"column:product_date" json:"product_date" form:"product_date"`
29
+	ExpiryDate       int64   `gorm:"column:expiry_date" json:"expiry_date" form:"expiry_date"`
30
+	WarehousingCount int64   `gorm:"column:warehousing_count" json:"warehousing_count" form:"warehousing_count"`
31
+	Price            float64 `gorm:"column:price" json:"price" form:"price"`
32
+	TotalPrice       float64 `gorm:"column:total_price" json:"total_price" form:"total_price"`
33
+	Dealer           int64   `gorm:"column:dealer" json:"dealer" form:"dealer"`
34
+	Manufacturer     int64   `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
35
+	Remark           string  `gorm:"column:remark" json:"remark" form:"remark"`
36
+	Ctime            int64   `gorm:"column:ctime" json:"ctime" form:"ctime"`
37
+	Mtime            int64   `gorm:"column:mtime" json:"mtime" form:"mtime"`
38
+	Status           int64   `gorm:"column:status" json:"status" form:"status"`
39
+	OrgId            int64   `gorm:"column:org_id" json:"org_id" form:"org_id"`
40
+	IsReturn         int64   `gorm:"column:is_return" json:"is_return" form:"is_return"`
41
+	WarehousingOrder string  `gorm:"column:warehousing_order" json:"warehousing_order" form:"warehousing_order"`
42
+	Type             int64   `gorm:"column:type" json:"type" form:"type"`
43
+	RetailPrice      float64 `gorm:"column:retail_price" json:"retail_price" form:"retail_price"`
44
+	RetailTotalPrice float64 `gorm:"column:retail_total_price" json:"retail_total_price" form:"retail_total_price"`
45
+}
46
+
47
+func (DrugWarehouseInfo) TableName() string {
48
+	return "xt_drug_warehouse_info"
49
+}
50
+
51
+type DrugWarehouseOut struct {
52
+	ID                      int64  `gorm:"column:id" json:"id" form:"id"`
53
+	WarehouseOutOrderNumber string `gorm:"column:warehouse_out_order_number" json:"warehouse_out_order_number" form:"warehouse_out_order_number"`
54
+	OperationTime           int64  `gorm:"column:operation_time" json:"operation_time" form:"operation_time"`
55
+	Creater                 int64  `gorm:"column:creater" json:"creater" form:"creater"`
56
+	OrgId                   int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
57
+	Modifier                int64  `gorm:"column:modifier" json:"modifier" form:"modifier"`
58
+	Remark                  string `gorm:"column:remark" json:"remark" form:"remark"`
59
+	Ctime                   int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
60
+	Mtime                   int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
61
+	Status                  int64  `gorm:"column:status" json:"status" form:"status"`
62
+	WarehouseOutTime        int64  `gorm:"column:warehouse_out_time" json:"warehouse_out_time" form:"warehouse_out_time"`
63
+	Dealer                  int64  `gorm:"column:dealer" json:"dealer" form:"dealer"`
64
+	Manufacturer            int64  `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
65
+	Type                    int64  `gorm:"column:type" json:"type" form:"type"`
66
+	IsSys                   int64  `gorm:"column:is_sys" json:"is_sys" form:"is_sys"`
67
+}
68
+
69
+func (DrugWarehouseOut) TableName() string {
70
+	return "xt_drug_warehouse_out"
71
+}
72
+
73
+type DrugWarehouseOutInfo struct {
74
+	ID                      int64   `gorm:"column:id" json:"id" form:"id"`
75
+	WarehouseOutId          int64   `gorm:"column:warehouse_out_id" json:"warehouse_out_id" form:"warehouse_out_id"`
76
+	DrugId                  int64   `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
77
+	WarehousingOutTarget    int64   `gorm:"column:warehousing_out_target" json:"warehousing_out_target" form:"warehousing_out_target"`
78
+	Count                   int64   `gorm:"column:count" json:"count" form:"count"`
79
+	Price                   float64 `gorm:"column:price" json:"price" form:"price"`
80
+	TotalPrice              float64 `gorm:"column:total_price" json:"total_price" form:"total_price"`
81
+	ProductDate             int64   `gorm:"column:product_date" json:"product_date" form:"product_date"`
82
+	ExpiryDate              int64   `gorm:"column:expiry_date" json:"expiry_date" form:"expiry_date"`
83
+	Mtime                   int64   `gorm:"column:mtime" json:"mtime" form:"mtime"`
84
+	Ctime                   int64   `gorm:"column:ctime" json:"ctime" form:"ctime"`
85
+	Status                  int64   `gorm:"column:status" json:"status" form:"status"`
86
+	OrgId                   int64   `gorm:"column:org_id" json:"org_id" form:"org_id"`
87
+	Remark                  string  `gorm:"column:remark" json:"remark" form:"remark"`
88
+	IsCancel                int64   `gorm:"column:is_cancel" json:"is_cancel" form:"is_cancel"`
89
+	WarehouseOutOrderNumber string  `gorm:"column:warehouse_out_order_number" json:"warehouse_out_order_number" form:"warehouse_out_order_number"`
90
+	Type                    int64   `gorm:"column:type" json:"type" form:"type"`
91
+	Dealer                  int64   `gorm:"column:dealer" json:"dealer" form:"dealer"`
92
+	Manufacturer            int64   `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
93
+	IsSys                   int64   `gorm:"column:is_sys" json:"is_sys" form:"is_sys"`
94
+	SysRecordTime           int64   `gorm:"column:sys_record_time" json:"sys_record_time" form:"sys_record_time"`
95
+	RetailPrice             float64 `gorm:"column:retail_price" json:"retail_price" form:"retail_price"`
96
+	RetailTotalPrice        float64 `gorm:"column:retail_total_price" json:"retail_total_price" form:"retail_total_price"`
97
+}
98
+
99
+func (DrugWarehouseOutInfo) TableName() string {
100
+	return "xt_drug_warehouse_out_info"
101
+}
102
+
103
+type DrugSalesReturn struct {
104
+	ID           int64  `gorm:"column:id" json:"id" form:"id"`
105
+	OrderNumber  string `gorm:"column:order_number" json:"order_number" form:"order_number"`
106
+	OperaTime    int64  `gorm:"column:opera_time" json:"opera_time" form:"opera_time"`
107
+	Total        int64  `gorm:"column:total" json:"total" form:"total"`
108
+	Creater      int64  `gorm:"column:creater" json:"creater" form:"creater"`
109
+	Ctime        int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
110
+	Mtime        int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
111
+	Status       int64  `gorm:"column:status" json:"status" form:"status"`
112
+	OrgId        int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
113
+	ReturnTime   int64  `gorm:"column:return_time" json:"return_time" form:"return_time"`
114
+	Manufacturer int64  `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
115
+	Dealer       int64  `gorm:"column:dealer" json:"dealer" form:"dealer"`
116
+	Type         int64  `gorm:"column:type" json:"type" form:"type"`
117
+}
118
+
119
+func (DrugSalesReturn) TableName() string {
120
+	return "xt_drug_sales_return"
121
+}
122
+
123
+type DrugSalesReturnInfo struct {
124
+	ID               int64   `gorm:"column:id" json:"id" form:"id"`
125
+	DrugId           int64   `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
126
+	SalesReturnId    int64   `gorm:"column:sales_return_id" json:"sales_return_id" form:"sales_return_id"`
127
+	Count            int64   `gorm:"column:count" json:"count" form:"count"`
128
+	Price            float64 `gorm:"column:price" json:"price" form:"price"`
129
+	Total            float64 `gorm:"column:total" json:"total" form:"total"`
130
+	ProductDate      int64   `gorm:"column:product_date" json:"product_date" form:"product_date"`
131
+	ExpiryDate       int64   `gorm:"column:expiry_date" json:"expiry_date" form:"expiry_date"`
132
+	Ctime            int64   `gorm:"column:ctime" json:"ctime" form:"ctime"`
133
+	Mtime            int64   `gorm:"column:mtime" json:"mtime" form:"mtime"`
134
+	Status           int64   `gorm:"column:status" json:"status" form:"status"`
135
+	OrgId            int64   `gorm:"column:org_id" json:"org_id" form:"org_id"`
136
+	OrderNumber      string  `gorm:"column:order_number" json:"order_number" form:"order_number"`
137
+	Type             int64   `gorm:"column:type" json:"type" form:"type"`
138
+	Dealer           int64   `gorm:"column:dealer" json:"dealer" form:"dealer"`
139
+	Manufacturer     int64   `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
140
+	RetailPrice      float64 `gorm:"column:retail_price" json:"retail_price" form:"retail_price"`
141
+	RetailTotalPrice float64 `gorm:"column:retail_total_price" json:"retail_total_price" form:"retail_total_price"`
142
+	Number           string  `gorm:"column:number" json:"number" form:"number"`
143
+}
144
+
145
+func (DrugSalesReturnInfo) TableName() string {
146
+	return "xt_drug_sales_return_info"
147
+}
148
+
149
+type DrugCancelStock struct {
150
+	ID           int64  `gorm:"column:id" json:"id" form:"id"`
151
+	OrderNumber  string `gorm:"column:order_number" json:"order_number" form:"order_number"`
152
+	OperaTime    int64  `gorm:"column:opera_time" json:"opera_time" form:"opera_time"`
153
+	Total        int64  `gorm:"column:total" json:"total" form:"total"`
154
+	Creater      int64  `gorm:"column:creater" json:"creater" form:"creater"`
155
+	Ctime        int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
156
+	Mtime        int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
157
+	Status       int64  `gorm:"column:status" json:"status" form:"status"`
158
+	OrgId        int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
159
+	ReturnTime   int64  `gorm:"column:return_time" json:"return_time" form:"return_time"`
160
+	Dealer       int64  `gorm:"column:dealer" json:"dealer" form:"dealer"`
161
+	Manufacturer int64  `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
162
+	Type         int64  `gorm:"column:type" json:"type" form:"type"`
163
+}
164
+
165
+func (DrugCancelStock) TableName() string {
166
+	return "xt_drug_cancel_stock"
167
+}
168
+
169
+type DrugCancelStockInfo struct {
170
+	ID               int64   `gorm:"column:id" json:"id" form:"id"`
171
+	DrugId           int64   `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
172
+	CancelStockId    int64   `gorm:"column:cancel_stock_id" json:"cancel_stock_id" form:"cancel_stock_id"`
173
+	Count            int64   `gorm:"column:count" json:"count" form:"count"`
174
+	Price            float64 `gorm:"column:price" json:"price" form:"price"`
175
+	Total            float64 `gorm:"column:total" json:"total" form:"total"`
176
+	ProductDate      int64   `gorm:"column:product_date" json:"product_date" form:"product_date"`
177
+	ExpiryDate       int64   `gorm:"column:expiry_date" json:"expiry_date" form:"expiry_date"`
178
+	Ctime            int64   `gorm:"column:ctime" json:"ctime" form:"ctime"`
179
+	Mtime            int64   `gorm:"column:mtime" json:"mtime" form:"mtime"`
180
+	Status           int64   `gorm:"column:status" json:"status" form:"status"`
181
+	OrgId            int64   `gorm:"column:org_id" json:"org_id" form:"org_id"`
182
+	OrderNumber      string  `gorm:"column:order_number" json:"order_number" form:"order_number"`
183
+	Type             int64   `gorm:"column:type" json:"type" form:"type"`
184
+	Dealer           int64   `gorm:"column:dealer" json:"dealer" form:"dealer"`
185
+	Manufacturer     int64   `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
186
+	RetailPrice      float64 `gorm:"column:retail_price" json:"retail_price" form:"retail_price"`
187
+	RetailTotalPrice float64 `gorm:"column:retail_total_price" json:"retail_total_price" form:"retail_total_price"`
188
+	Number           string  `gorm:"column:number" json:"number" form:"number"`
189
+}
190
+
191
+func (DrugCancelStockInfo) TableName() string {
192
+	return "xt_drug_cancel_stock_info"
193
+}

+ 108 - 0
models/new_monitor.go Voir le fichier

@@ -0,0 +1,108 @@
1
+package models
2
+
3
+type NewVMMonitorDialysisSchedule struct {
4
+	ID           int64 `gorm:"column:id" json:"id"`
5
+	UserOrgId    int64 `gorm:"column:user_org_id" json:"user_org_id"`
6
+	PartitionId  int64 `gorm:"column:partition_id" json:"partition_id"`
7
+	BedId        int64 `gorm:"column:bed_id" json:"bed_id"`
8
+	PatientId    int64 `gorm:"column:patient_id" json:"patient_id"`
9
+	ScheduleDate int64 `gorm:"column:schedule_date" json:"schedule_date"`
10
+	ScheduleType int64 `gorm:"column:schedule_type" json:"schedule_type"`
11
+	ModeId       int64 `gorm:"column:mode_id" json:"mode_id"`
12
+	Status       int64 `gorm:"column:status" json:"status"`
13
+
14
+	MonitorPatients VMMonitorPatients `gorm:"ForeignKey:PatientId" json:"patient"`
15
+	DeviceNumber    DeviceNumber      `gorm:"ForeignKey:BedId" json:"device_number"`
16
+	DeviceZone      DeviceZone        `gorm:"ForeignKey:PartitionId" json:"device_zone"`
17
+	TreatmentMode   TreatmentMode     `gorm:"ForeignKey:ModeId" json:"treatment_mode"`
18
+
19
+	DialysisOrder            VMMonitorDialysisOrder    `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"dialysis_order"`
20
+	Prescription             VMDialysisPrescription    `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"prescription"`
21
+	AssessmentBeforeDislysis VMPredialysisEvaluation   `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"assessment_before_dislysis"`
22
+	AssessmentAfterDislysis  VMAssessmentAfterDislysis `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"assessment_after_dislysis"`
23
+	MonitoringRecord         []VMMonitoringRecord      `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"monitoring_record"`
24
+}
25
+
26
+func (NewVMMonitorDialysisSchedule) TableName() string {
27
+	return "xt_schedule"
28
+}
29
+
30
+type VMMonitorPatients struct {
31
+	ID         int64  `gorm:"column:id" json:"id" form:"id"`
32
+	UserOrgId  int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
33
+	Name       string `gorm:"column:name" json:"name" form:"name"`
34
+	Status     int64  `gorm:"column:status" json:"status" form:"status"`
35
+	DialysisNo string `gorm:"column:dialysis_no" json:"dialysis_no" form:"dialysis_no"`
36
+}
37
+
38
+func (VMMonitorPatients) TableName() string {
39
+	return "xt_patients"
40
+}
41
+
42
+type VMMonitorDialysisOrder struct {
43
+	ID           int64        `gorm:"column:id" json:"id"`
44
+	DialysisDate int64        `gorm:"column:dialysis_date" json:"dialysis_date"`
45
+	UserOrgId    int64        `gorm:"column:user_org_id" json:"user_org_id"`
46
+	PatientId    int64        `gorm:"column:patient_id" json:"patient_id"`
47
+	BedID        int64        `gorm:"column:bed_id" json:"bed_id"`
48
+	Status       int64        `gorm:"column:status" json:"status"`
49
+	DeviceNumber DeviceNumber `gorm:"ForeignKey:BedId" json:"device_number"`
50
+}
51
+
52
+func (VMMonitorDialysisOrder) TableName() string {
53
+	return "xt_dialysis_order"
54
+}
55
+
56
+type VMDialysisPrescription struct {
57
+	ID                    int64   `gorm:"column:id" json:"id"`
58
+	UserOrgId             int64   `gorm:"column:user_org_id" json:"user_org_id"`
59
+	PatientId             int64   `gorm:"column:patient_id" json:"patient_id"`
60
+	Status                int64   `gorm:"column:status" json:"status"`
61
+	RecordDate            int64   `gorm:"column:record_date" json:"record_date"`
62
+	TargetUltrafiltration float64 `gorm:"column:target_ultrafiltration" json:"target_ultrafiltration"`
63
+}
64
+
65
+func (VMDialysisPrescription) TableName() string {
66
+	return "xt_dialysis_prescription"
67
+}
68
+
69
+type VMPredialysisEvaluation struct {
70
+	ID             int64   `gorm:"column:id" json:"id"`
71
+	UserOrgId      int64   `gorm:"column:user_org_id" json:"user_org_id"`
72
+	PatientId      int64   `gorm:"column:patient_id" json:"patient_id"`
73
+	AssessmentDate int64   `gorm:"column:assessment_date" json:"assessment_date"`
74
+	WeighingBefore float64 `gorm:"column:weighing_before" json:"weighing_before"`
75
+	WeightBefore   float64 `gorm:"column:weight_before" json:"weight_before"`
76
+	Status         int64   `gorm:"column:status" json:"status"`
77
+}
78
+
79
+func (VMPredialysisEvaluation) TableName() string {
80
+	return "xt_assessment_before_dislysis"
81
+}
82
+
83
+type VMAssessmentAfterDislysis struct {
84
+	ID             int64   `gorm:"column:id" json:"id"`
85
+	UserOrgId      int64   `gorm:"column:user_org_id" json:"user_org_id"`
86
+	PatientId      int64   `gorm:"column:patient_id" json:"patient_id"`
87
+	AssessmentDate int64   `gorm:"column:assessment_date" json:"assessment_date"`
88
+	WeightAfter    float64 `gorm:"column:weight_after" json:"weight_after"`
89
+	Status         int64   `gorm:"column:status" json:"status"`
90
+}
91
+
92
+func (VMAssessmentAfterDislysis) TableName() string {
93
+	return "xt_assessment_after_dislysis"
94
+}
95
+
96
+type VMMonitoringRecord struct {
97
+	ID                     int64   `gorm:"column:id" json:"id"`
98
+	UserOrgId              int64   `gorm:"column:user_org_id" json:"user_org_id"`
99
+	PatientId              int64   `gorm:"column:patient_id" json:"patient_id"`
100
+	MonitoringDate         int64   `gorm:"column:monitoring_date" json:"monitoring_date"`
101
+	SystolicBloodPressure  float64 `gorm:"column:systolic_blood_pressure" json:"systolic_blood_pressure"`
102
+	DiastolicBloodPressure float64 `gorm:"column:diastolic_blood_pressure" json:"diastolic_blood_pressure"`
103
+	Status                 int64   `gorm:"column:status" json:"status"`
104
+}
105
+
106
+func (VMMonitoringRecord) TableName() string {
107
+	return "xt_monitoring_record"
108
+}

+ 48 - 0
service/drug_stock_service.go Voir le fichier

@@ -0,0 +1,48 @@
1
+package service
2
+
3
+import "XT_New/models"
4
+
5
+type DrugConfig struct {
6
+	ID           int64        `gorm:"column:id" json:"id" form:"id"`
7
+	DrugName     string       `gorm:"column:drug_name" json:"drug_name" form:"drug_name"`
8
+	DrugCategory int64        `gorm:"column:drug_category" json:"drug_category" form:"drug_category"`
9
+	DrugSpec     float64      `gorm:"column:drug_spec" json:"drug_spec" form:"drug_spec"`
10
+	DrugType     int64        `gorm:"column:drug_type" json:"drug_type" form:"drug_type"`
11
+	DrugStatus   string       `gorm:"column:drug_status" json:"drug_status" form:"drug_status"`
12
+	Status       int64        `gorm:"column:status" json:"status" form:"status"`
13
+	OrgId        int64        `gorm:"column:org_id" json:"org_id" form:"org_id"`
14
+	Manufacturer int64        `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
15
+	DrugSpecs    []DrugConfig `gorm:"ForeignKey:DrugName;AssociationForeignKey:DrugName" json:"drug_specs"`
16
+}
17
+
18
+func (DrugConfig) TableName() string {
19
+	return "xt_base_drug"
20
+}
21
+
22
+func GetDrugs(orgId int64) (drugs []*DrugConfig, err error) {
23
+	err = readDb.Model(&DrugConfig{}).Where("org_id = ? AND  status = 1  AND find_in_set('停用',drug_status) = 0", orgId).Preload("DrugSpecs", "status = 1  AND find_in_set('停用',drug_status) = 0 AND org_id = ?", orgId).Group("drug_name").Find(&drugs).Error
24
+	return
25
+}
26
+
27
+func FindAllDrugByManufactureId(manufacturer_id int64, dealer_id int64, org_id int64) (goodInfo []*DrugConfig, err error) {
28
+	db := readDb.Model(&DrugConfig{}).Where("org_id = ? AND status = 1 AND find_in_set('停用',drug_status) = 0", org_id)
29
+	if manufacturer_id > 0 {
30
+		db = db.Where("manufacturer = ?", manufacturer_id)
31
+	}
32
+	//if dealer_id > 0 {
33
+	//	db = db.Where("dealer = ?", dealer_id)
34
+	//}
35
+	err = db.Preload("DrugSpecs", "status = 1 AND org_id = ? AND find_in_set('停用',drug_status) = 0", org_id).Group("drug_name").Find(&goodInfo).Error
36
+	return goodInfo, err
37
+}
38
+
39
+type MedicineInsuranceDate struct {
40
+	RecordTime int64
41
+}
42
+
43
+func GetLastMedicineInsurance(orgID int64, drug_id int64) (mip []*models.MedicineInsurancePercentage, err error) {
44
+	var mip_other models.MedicineInsurancePercentage
45
+	err = readDb.Model(&models.MedicineInsurancePercentage{}).Where("user_org_id = ? AND status=1 AND  drug_id = ?", orgID, drug_id).Last(&mip_other).Error
46
+	err = readDb.Model(&models.MedicineInsurancePercentage{}).Where("user_org_id = ? AND status=1 AND record_time = ? AND drug_id = ?", orgID, mip_other.RecordTime, drug_id).Find(&mip).Error
47
+	return
48
+}

+ 220 - 0
service/manage_center_service.go Voir le fichier

@@ -0,0 +1,220 @@
1
+package service
2
+
3
+import "XT_New/models"
4
+
5
+func GetDictionaryConfigList(orgID int64) (dataconfig interface{}, err error) {
6
+	var configList []*models.DictionaryDataconfig
7
+
8
+	err = readDb.Model(&models.DictionaryDataconfig{}).Where("(org_id in (0,?) and status = 1) or (status = 0 and delete_id_system > 0 and org_id = ?)", orgID, orgID).Order("orders asc, id asc").Find(&configList).Error
9
+	if err != nil {
10
+		return nil, err
11
+	}
12
+
13
+	// configResult := make([]*ConfigViewModel,0)
14
+	childConfig := make(map[int64][]*models.DictionaryDataconfig)
15
+	resultConfig := make(map[string][]*models.DictionaryConfigViewModel)
16
+	deleteSystemChilds := make([]*models.DictionaryDataconfig, 0)
17
+	editSystemChilds := make([]*models.DictionaryDataconfig, 0)
18
+	for _, config := range configList {
19
+		if config.Status == 1 && config.DeleteIdSystem > 0 {
20
+			editSystemChilds = append(editSystemChilds, config)
21
+		}
22
+
23
+		if config.Status == 0 && config.DeleteIdSystem > 0 {
24
+			deleteSystemChilds = append(deleteSystemChilds, config)
25
+		}
26
+	}
27
+	continueFlag := false
28
+	for _, config := range configList {
29
+		continueFlag = false
30
+		if config.ParentId == 0 {
31
+			newConfig := &models.DictionaryConfigViewModel{
32
+				ID:           config.ID,
33
+				ParentId:     config.ParentId,
34
+				Module:       config.Module,
35
+				OrgId:        config.OrgId,
36
+				Name:         config.Name,
37
+				FieldName:    config.FieldName,
38
+				Value:        config.Value,
39
+				CreateUserId: config.CreateUserId,
40
+				Status:       config.Status,
41
+				Remark:       config.Remark,
42
+				Title:        config.Title,
43
+				Content:      config.Content,
44
+			}
45
+			// configResult = append(configResult,newConfig)
46
+			result := resultConfig[config.Module]
47
+			if result == nil {
48
+				result = make([]*models.DictionaryConfigViewModel, 0)
49
+			}
50
+			for _, vm := range editSystemChilds {
51
+				if vm.DeleteIdSystem == config.ID {
52
+					continueFlag = true
53
+					break
54
+				}
55
+			}
56
+
57
+			for _, _vm := range deleteSystemChilds {
58
+				if _vm.DeleteIdSystem == config.ID {
59
+					continueFlag = true
60
+					break
61
+				}
62
+			}
63
+			if config.OrgId != 0 && config.Status == 0 && config.DeleteIdSystem > 0 {
64
+				continue
65
+			}
66
+			if continueFlag {
67
+				continue
68
+			}
69
+			result = append(result, newConfig)
70
+			resultConfig[config.Module] = result
71
+		} else {
72
+			childs := childConfig[config.ParentId]
73
+			if childs == nil {
74
+				childs = make([]*models.DictionaryDataconfig, 0)
75
+			}
76
+			continueFlag := false
77
+			for _, vm := range editSystemChilds {
78
+				if vm.DeleteIdSystem == config.ID {
79
+					continueFlag = true
80
+					break
81
+				}
82
+			}
83
+
84
+			for _, _vm := range deleteSystemChilds {
85
+				if _vm.DeleteIdSystem == config.ID {
86
+					continueFlag = true
87
+					break
88
+				}
89
+			}
90
+			if config.OrgId != 0 && config.Status == 0 && config.DeleteIdSystem > 0 {
91
+				continue
92
+			}
93
+			if continueFlag {
94
+				continue
95
+			}
96
+
97
+			childs = append(childs, config)
98
+			childConfig[config.ParentId] = childs
99
+		}
100
+	}
101
+
102
+	for _, vm := range resultConfig {
103
+		for _, _vm := range vm {
104
+			_vm.Childs = childConfig[_vm.ID]
105
+		}
106
+		// vm.Childs = childConfig[vm.ID]
107
+	}
108
+	return resultConfig, err
109
+}
110
+
111
+func CreateDictionaryConfig(dataconfig *models.DictionaryDataconfig) (err error) {
112
+	// readDb.Model(&models.Dataconfig{}).Where("module = ? and parent_id = 0 and org_id in (0,?)",dataconfig.Module,dataconfig.OrgId).Count(&total)
113
+	err = readDb.Create(&dataconfig).Error
114
+	return
115
+}
116
+
117
+func GetDictionaryChildValue(module string, parent_id int64, org_id int64) (value int) {
118
+	readDb.Model(&models.DictionaryDataconfig{}).Where("module=? and parent_id=? and org_id in (0,?)", module, parent_id, org_id).Count(&value)
119
+	return
120
+}
121
+
122
+func FindDictionaryConfigByTitle(module string, title string, org_id int64) (dataconfig models.DictionaryDataconfig, err error) {
123
+	err = readDb.Model(&models.DictionaryDataconfig{}).Where("module=? and title=? and org_id in (0,?) and status = 1", module, title, org_id).First(&dataconfig).Error
124
+	return
125
+}
126
+
127
+func UpdateDictionaryTemplate(dataconfig *models.DictionaryDataconfig) (err error) {
128
+	err = readDb.Model(&models.DictionaryDataconfig{}).Where("id =?", dataconfig.ID).Update(map[string]interface{}{"title": dataconfig.Title, "content": dataconfig.Content, "update_time": dataconfig.UpdatedTime, "remark": dataconfig.Remark}).Error
129
+	return
130
+}
131
+
132
+func UpdateDictionaryChildConfig(dataconfig *models.DictionaryDataconfig) (err error) {
133
+	err = readDb.Model(&models.DictionaryDataconfig{}).Where("id =?", dataconfig.ID).Update(map[string]interface{}{"name": dataconfig.Name, "update_time": dataconfig.UpdatedTime, "remark": dataconfig.Remark, "orders": dataconfig.Order}).Error
134
+	return
135
+}
136
+
137
+func DeleteDictionaryChildConfig(dataconfig *models.DictionaryDataconfig) (err error) {
138
+	err = readDb.Model(&models.DictionaryDataconfig{}).Where("id =?", dataconfig.ID).Update(map[string]interface{}{"status": dataconfig.Status, "update_time": dataconfig.UpdatedTime}).Error
139
+	return
140
+}
141
+
142
+func CreateBaseDrugLib(lib *models.BaseDrugLib) (err error) {
143
+	err = writeDb.Create(&lib).Error
144
+	return
145
+}
146
+
147
+func UpdateBaseDrugLib(lib *models.BaseDrugLib) (err error) {
148
+	err = writeDb.Save(lib).Error
149
+	return
150
+}
151
+
152
+func FindBaseDrugLibRecordCount(lib *models.BaseDrugLib) (count int64) {
153
+	readDb.Model(&models.BaseDrugLib{}).Where("org_id = ? AND drug_name = ? AND  drug_category = ? AND drug_spec=? AND drug_type=? AND status = 1", lib.OrgId, lib.DrugName, lib.DrugCategory, lib.DrugSpec, lib.DrugType).Count(&count)
154
+	return
155
+}
156
+
157
+func FindAllDrugLibRecordTotal(org_id int64) (count int64) {
158
+	readDb.Model(&models.BaseDrugLib{}).Where("org_id = ? AND status = 1", org_id).Count(&count)
159
+	return
160
+}
161
+
162
+func FindBaseDrugLibRecord(org_id int64, id int64) (lib models.BaseDrugLib, err error) {
163
+	err = readDb.Model(&models.BaseDrugLib{}).Where("org_id = ? AND id = ? AND status = 1", org_id, id).First(&lib).Error
164
+	return
165
+}
166
+
167
+func GetBaseDrugLibList(org_id int64, keyword string, page int64, limit int64, is_use int64, is_charge int64, is_inject int64) (list []*models.BaseDrugLib, total int64, err error) {
168
+
169
+	db := readDb.Model(&models.BaseDrugLib{}).Where("org_id = ?  AND status = 1", org_id)
170
+	if len(keyword) != 0 {
171
+		keyword = "%" + keyword + "%"
172
+		db = db.Where("drug_name Like ?", keyword)
173
+
174
+	}
175
+
176
+	if is_use != 0 {
177
+		if is_use == 1 {
178
+			db = db.Where("find_in_set('停用',drug_status) = 0")
179
+
180
+		} else {
181
+			db = db.Where("find_in_set('停用',drug_status) > 0")
182
+		}
183
+	}
184
+
185
+	if is_charge != 0 {
186
+		//db = db.Where("drug_name Like ?", keyword)
187
+		if is_charge == 1 {
188
+			db = db.Where("find_in_set('收费',drug_status) > 0")
189
+
190
+		} else {
191
+			db = db.Where("find_in_set('收费',drug_status) = 0")
192
+		}
193
+
194
+	}
195
+
196
+	if is_inject != 0 {
197
+		//db = db.Where("drug_name Like ?", keyword)
198
+		if is_inject == 1 {
199
+			db = db.Where("find_in_set('注射类',drug_status) > 0")
200
+
201
+		} else {
202
+			db = db.Where("find_in_set('注射类',drug_status) = 0")
203
+		}
204
+
205
+	}
206
+	offset := (page - 1) * limit
207
+
208
+	err = db.Count(&total).Offset(offset).Limit(limit).Find(&list).Error
209
+	return
210
+}
211
+
212
+func CreateMedicineInsurancePercentage(mip *models.MedicineInsurancePercentage) (err error) {
213
+	err = writeDb.Create(mip).Error
214
+	return
215
+}
216
+
217
+func CreateUnitSafeguard(dus *models.DrugUnitSafeguard) (err error) {
218
+	err = writeDb.Create(dus).Error
219
+	return
220
+}