Browse Source

修改药房发药

XMLWAN 2 years ago
parent
commit
b987943213

+ 3 - 1
.idea/.gitignore View File

@@ -1,2 +1,4 @@
1 1
 # Default ignored files
2
-/workspace.xml
2
+/workspace.xml
3
+# Datasource local storage ignored files
4
+/dataSources.local.xml

+ 1 - 1
conf/app.conf View File

@@ -1,5 +1,5 @@
1 1
 appname = 血透
2
-httpport = 9531
2
+httpport = 9529
3 3
 runmode = dev
4 4
 #dev/prod
5 5
 

+ 59 - 60
controllers/base_api_controller.go View File

@@ -2,7 +2,6 @@ package controllers
2 2
 
3 3
 import (
4 4
 	"XT_New/enums"
5
-	"XT_New/models"
6 5
 	"XT_New/service"
7 6
 	"fmt"
8 7
 	"strconv"
@@ -70,36 +69,36 @@ type BaseAuthAPIController struct {
70 69
 func (this *BaseAuthAPIController) Prepare() {
71 70
 	this.BaseAPIController.Prepare()
72 71
 	if this.GetAdminUserInfo() == nil {
73
-		var userAdmin models.AdminUser
74
-		userAdmin.Id = 1448
75
-		userAdmin.Mobile = "13318599895"
76
-
77
-		userAdmin.Id = 1//4,809
78
-		userAdmin.Mobile = "12222222222"
79
-		userAdmin.IsSuperAdmin = true
80
-		userAdmin.Status = 1
81
-		userAdmin.CreateTime = 1530786071
82
-		userAdmin.ModifyTime = 1530786071
83
-		var subscibe models.ServeSubscibe
84
-		subscibe.ID = 11
85
-		subscibe.OrgId = 14//机构id
86
-		subscibe.PeriodStart = 1547447814
87
-		subscibe.PeriodEnd = 1550039814
88
-		subscibe.State = 1
89
-		subscibe.Status = 1
90
-		subscibe.CreatedTime = 1538035409
91
-		subscibe.UpdatedTime = 1538035409
92
-		subscibes := make(map[int64]*models.ServeSubscibe, 0)
93
-		subscibes[4] = &subscibe
94
-		var adminUserInfo service.AdminUserInfo
95
-		adminUserInfo.CurrentOrgId = 14//机构id小英9675或4
96
-		adminUserInfo.CurrentAppId = 14//4
97
-		adminUserInfo.AdminUser = &userAdmin
98
-		adminUserInfo.Subscibes = subscibes
99
-		this.SetSession("admin_user_info", &adminUserInfo)
100
-
101
-		//this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNotLogin)
102
-		//this.StopRun()
72
+		//var userAdmin models.AdminUser
73
+		//userAdmin.Id = 1448
74
+		//userAdmin.Mobile = "13318599895"
75
+		//
76
+		//userAdmin.Id = 1//4,809
77
+		//userAdmin.Mobile = "12222222222"
78
+		//userAdmin.IsSuperAdmin = true
79
+		//userAdmin.Status = 1
80
+		//userAdmin.CreateTime = 1530786071
81
+		//userAdmin.ModifyTime = 1530786071
82
+		//var subscibe models.ServeSubscibe
83
+		//subscibe.ID = 11
84
+		//subscibe.OrgId = 14//机构id
85
+		//subscibe.PeriodStart = 1547447814
86
+		//subscibe.PeriodEnd = 1550039814
87
+		//subscibe.State = 1
88
+		//subscibe.Status = 1
89
+		//subscibe.CreatedTime = 1538035409
90
+		//subscibe.UpdatedTime = 1538035409
91
+		//subscibes := make(map[int64]*models.ServeSubscibe, 0)
92
+		//subscibes[4] = &subscibe
93
+		//var adminUserInfo service.AdminUserInfo
94
+		//adminUserInfo.CurrentOrgId = 14//机构id小英9675或4
95
+		//adminUserInfo.CurrentAppId = 14//4
96
+		//adminUserInfo.AdminUser = &userAdmin
97
+		//adminUserInfo.Subscibes = subscibes
98
+		//this.SetSession("admin_user_info", &adminUserInfo)
99
+
100
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNotLogin)
101
+		this.StopRun()
103 102
 
104 103
 	}
105 104
 
@@ -316,35 +315,35 @@ type BaseServeAPIController struct {
316 315
 func (this *BaseServeAPIController) Prepare() {
317 316
 	this.BaseAPIController.Prepare()
318 317
 	if this.GetAdminUserInfo() == nil {
319
-		var userAdmin models.AdminUser
320
-		userAdmin.Id = 1448
321
-		userAdmin.Mobile = "13318599895"
322
-
323
-		userAdmin.Id = 1//4,809
324
-		userAdmin.Mobile = "12222222222"
325
-		userAdmin.IsSuperAdmin = false
326
-		userAdmin.Status = 1
327
-		userAdmin.CreateTime = 1530786071
328
-		userAdmin.ModifyTime = 1530786071
329
-		var subscibe models.ServeSubscibe
330
-		subscibe.ID = 11
331
-		subscibe.OrgId = 14//机构id小英9675或4
332
-		subscibe.PeriodStart = 1538035409
333
-		subscibe.PeriodEnd = 1569571409
334
-		subscibe.State = 1
335
-		subscibe.Status = 1
336
-		subscibe.CreatedTime = 1538035409
337
-		subscibe.UpdatedTime = 1538035409
338
-		subscibes := make(map[int64]*models.ServeSubscibe, 0)
339
-		subscibes[4] = &subscibe
340
-		var adminUserInfo service.AdminUserInfo
341
-		adminUserInfo.CurrentOrgId = 14//机构id小英9675或4
342
-		adminUserInfo.CurrentAppId = 14//4
343
-		adminUserInfo.AdminUser = &userAdmin
344
-		adminUserInfo.Subscibes = subscibes
345
-		this.SetSession("admin_user_info", &adminUserInfo)
346
-		//this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNotLogin)
347
-		//this.StopRun()
318
+		//var userAdmin models.AdminUser
319
+		//userAdmin.Id = 1448
320
+		//userAdmin.Mobile = "13318599895"
321
+		//
322
+		//userAdmin.Id = 1//4,809
323
+		//userAdmin.Mobile = "12222222222"
324
+		//userAdmin.IsSuperAdmin = false
325
+		//userAdmin.Status = 1
326
+		//userAdmin.CreateTime = 1530786071
327
+		//userAdmin.ModifyTime = 1530786071
328
+		//var subscibe models.ServeSubscibe
329
+		//subscibe.ID = 11
330
+		//subscibe.OrgId = 14//机构id小英9675或4
331
+		//subscibe.PeriodStart = 1538035409
332
+		//subscibe.PeriodEnd = 1569571409
333
+		//subscibe.State = 1
334
+		//subscibe.Status = 1
335
+		//subscibe.CreatedTime = 1538035409
336
+		//subscibe.UpdatedTime = 1538035409
337
+		//subscibes := make(map[int64]*models.ServeSubscibe, 0)
338
+		//subscibes[4] = &subscibe
339
+		//var adminUserInfo service.AdminUserInfo
340
+		//adminUserInfo.CurrentOrgId = 14//机构id小英9675或4
341
+		//adminUserInfo.CurrentAppId = 14//4
342
+		//adminUserInfo.AdminUser = &userAdmin
343
+		//adminUserInfo.Subscibes = subscibes
344
+		//this.SetSession("admin_user_info", &adminUserInfo)
345
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNotLogin)
346
+		this.StopRun()
348 347
 	}
349 348
 
350 349
 	//if adminUserInfo.AppRole != nil {

+ 36 - 33
controllers/his_api_controller.go View File

@@ -1263,51 +1263,54 @@ func (c *HisApiController) CreateHisPrescription() {
1263 1263
 												}
1264 1264
 
1265 1265
 											}
1266
+											//没通过药房发药的才退库
1267
+											if drug.IsPharmacy != 1 {
1268
+												if device_number != number_count {
1266 1269
 
1267
-											if device_number != number_count {
1270
+													// 查询该药品最后一次出库记录
1271
+													druginfo, _ := service.GetLastDrugWarehouseOutByDrugId(drug_id, patient_id, recordDateTime, adviceId)
1268 1272
 
1269
-												// 查询该药品最后一次出库记录
1270
-												druginfo, _ := service.GetLastDrugWarehouseOutByDrugId(drug_id, patient_id, recordDateTime, adviceId)
1273
+													//回退库存
1274
+													if druginfo.CountUnit == drug.MaxUnit && drug.MaxUnit != drug.MinUnit {
1271 1275
 
1272
-												//回退库存
1273
-												if druginfo.CountUnit == drug.MaxUnit && drug.MaxUnit != drug.MinUnit {
1274
-
1275
-													service.ModefyDrugByWarehouseInfo(druginfo.WarehouseInfoId, number_count)
1276
-												}
1277
-												if druginfo.CountUnit == drug.MinUnit && drug.MaxUnit != drug.MinUnit {
1278
-													var stock_max_number int64
1279
-													var stock_min_number int64
1276
+														service.ModefyDrugByWarehouseInfo(druginfo.WarehouseInfoId, number_count)
1277
+													}
1278
+													if druginfo.CountUnit == drug.MinUnit && drug.MaxUnit != drug.MinUnit {
1279
+														var stock_max_number int64
1280
+														var stock_min_number int64
1280 1281
 
1281
-													if number_count >= drug.MinNumber {
1282
+														if number_count >= drug.MinNumber {
1282 1283
 
1283
-														stock_max_number = device_number / drug.MinNumber
1284
-														service.ModefyDrugByWarehouseInfo(druginfo.WarehouseInfoId, stock_max_number)
1285
-														stock_min_number = device_number % drug.MinNumber
1286
-														service.ModefyDrugByWarehouseInfoOne(druginfo.WarehouseInfoId, stock_min_number)
1284
+															stock_max_number = device_number / drug.MinNumber
1285
+															service.ModefyDrugByWarehouseInfo(druginfo.WarehouseInfoId, stock_max_number)
1286
+															stock_min_number = device_number % drug.MinNumber
1287
+															service.ModefyDrugByWarehouseInfoOne(druginfo.WarehouseInfoId, stock_min_number)
1287 1288
 
1288
-													} else {
1289
+														} else {
1289 1290
 
1290
-														service.ModefyDrugByWarehouseInfoOne(druginfo.WarehouseInfoId, device_number)
1291
+															service.ModefyDrugByWarehouseInfoOne(druginfo.WarehouseInfoId, device_number)
1292
+														}
1291 1293
 													}
1292
-												}
1293 1294
 
1294
-												if druginfo.CountUnit == drug.MaxUnit && druginfo.CountUnit == drug.MinUnit && drug.MaxUnit == drug.MinUnit {
1295
-													service.ModefyDrugByWarehouseInfo(druginfo.WarehouseInfoId, device_number)
1296
-												}
1297
-												//删除记录
1298
-												service.DeleteDrugAutoWarehouseSeven(drug_id, patient_id, recordDateTime, adviceId)
1295
+													if druginfo.CountUnit == drug.MaxUnit && druginfo.CountUnit == drug.MinUnit && drug.MaxUnit == drug.MinUnit {
1296
+														service.ModefyDrugByWarehouseInfo(druginfo.WarehouseInfoId, device_number)
1297
+													}
1298
+													//删除记录
1299
+													service.DeleteDrugAutoWarehouseSeven(drug_id, patient_id, recordDateTime, adviceId)
1300
+
1301
+													//查询默认仓库
1302
+													storeHouseConfig, _ := service.GetAllStoreHouseConfig(druginfo.OrgId)
1303
+													//查询默认仓库剩余多少库存
1304
+													var sum_count int64
1305
+													stockInfo, _ := service.GetDrugAllStockInfo(storeHouseConfig.DrugStorehouseOut, druginfo.OrgId, drug_id)
1306
+													for _, its := range stockInfo {
1307
+														sum_count += its.StockMaxNumber*drug.MinNumber + its.StockMinNumber
1308
+													}
1309
+													service.UpdateBaseDrugSumTwo(drug_id, sum_count, druginfo.OrgId)
1299 1310
 
1300
-												//查询默认仓库
1301
-												storeHouseConfig, _ := service.GetAllStoreHouseConfig(druginfo.OrgId)
1302
-												//查询默认仓库剩余多少库存
1303
-												var sum_count int64
1304
-												stockInfo, _ := service.GetDrugAllStockInfo(storeHouseConfig.DrugStorehouseOut, druginfo.OrgId, drug_id)
1305
-												for _, its := range stockInfo {
1306
-													sum_count += its.StockMaxNumber*drug.MinNumber + its.StockMinNumber
1307 1311
 												}
1308
-												service.UpdateBaseDrugSumTwo(drug_id, sum_count, druginfo.OrgId)
1309
-
1310 1312
 											}
1313
+
1311 1314
 										}
1312 1315
 									}
1313 1316
 								}

+ 4 - 5
controllers/mobile_api_controllers/patient_api_controller.go View File

@@ -550,7 +550,6 @@ func (c *PatientApiController) ExecDoctorAdvice() {
550 550
 
551 551
 	origin, _ := c.GetInt64("origin", 0)
552 552
 	groupno, _ := c.GetInt64("groupno", -1)
553
-	orgid := c.GetMobileAdminUserInfo().Org.Id
554 553
 
555 554
 	if origin != 2 {
556 555
 		adminUserInfo := c.GetMobileAdminUserInfo()
@@ -759,7 +758,7 @@ func (c *PatientApiController) ExecDoctorAdvice() {
759 758
 									//查询是否出库按钮开启
760 759
 									prescriptionConfig, _ := service.FindPrescriptionConfigById(item.UserOrgId)
761 760
 									if prescriptionConfig.IsOpen == 1 {
762
-										if medical.IsUse == 2 && !service.IsPharmacyDelivery(item.DrugId,orgid) {
761
+										if medical.IsUse == 2 && medical.IsPharmacy != 1 {
763 762
 											service.DrugsDelivery(item.UserOrgId, item.ExecutionStaff, &item)
764 763
 
765 764
 											//更新字典里面的库存
@@ -772,7 +771,7 @@ func (c *PatientApiController) ExecDoctorAdvice() {
772 771
 										}
773 772
 									}
774 773
 								} else {
775
-									if medical.IsUse == 2 && !service.IsPharmacyDelivery(item.DrugId,orgid) {
774
+									if medical.IsUse == 2 && medical.IsPharmacy != 1 {
776 775
 										service.DrugsDelivery(item.UserOrgId, item.ExecutionStaff, &item)
777 776
 
778 777
 										stockInfo, _ := service.GetDrugAllStockInfo(storeHouseConfig.DrugStorehouseOut, item.UserOrgId, item.DrugId)
@@ -862,7 +861,7 @@ func (c *PatientApiController) ExecDoctorAdvice() {
862 861
 							}
863 862
 
864 863
 							if prescribing_number_total <= total {
865
-								if medical.IsUse == 2 && !service.IsPharmacyDelivery(item.DrugId,orgid) {
864
+								if medical.IsUse == 2 && medical.IsPharmacy != 1 {
866 865
 									service.DrugsDelivery(item.UserOrgId, item.ExecutionStaff, &item)
867 866
 
868 867
 									//更新字典里面的库存
@@ -1166,7 +1165,7 @@ func (c *PatientApiController) ExecDoctorAdvice() {
1166 1165
 						}
1167 1166
 
1168 1167
 						if prescribing_number_total <= total {
1169
-							if medical.IsUse == 2 && !service.IsPharmacyDelivery(item.DrugId,orgid) {
1168
+							if medical.IsUse == 2 && medical.IsPharmacy != 1 {
1170 1169
 
1171 1170
 								if config.IsOpen != 1 {
1172 1171
 									service.HisDrugsDelivery(adminInfo.Org.Id, creater, &advice)

+ 4 - 5
controllers/patient_api_controller.go View File

@@ -1710,7 +1710,7 @@ func (c *PatientApiController) ExecGroupAdvice() {
1710 1710
 				return
1711 1711
 			}
1712 1712
 			if prescribing_number_total <= total {
1713
-				if medical.IsUse == 2 {
1713
+				if medical.IsUse == 2 && medical.IsPharmacy != 1 {
1714 1714
 					service.DrugsDelivery(adminUserInfo.CurrentOrgId, item.ExecutionStaff, item)
1715 1715
 					//查询默认仓库
1716 1716
 					storeHouseConfig, _ := service.GetAllStoreHouseConfig(item.UserOrgId)
@@ -1933,9 +1933,8 @@ func (c *PatientApiController) ExecDoctorAdvice() {
1933 1933
 					if adviceSetting.IsAdviceOpen == 1 {
1934 1934
 						//查询是否出库按钮开启
1935 1935
 						prescriptionConfig, _ := service.FindPrescriptionConfigById(item.UserOrgId)
1936
-						fmt.Println("prescriptionConfigwodweweeeweweweweweewewewwewew", prescriptionConfig)
1937 1936
 						if prescriptionConfig.IsOpen == 1 {
1938
-							if medical.IsUse == 2 && !service.IsPharmacyDelivery(item.DrugId, item.UserOrgId) {
1937
+							if medical.IsUse == 2 && medical.IsPharmacy != 1 {
1939 1938
 								service.DrugsDelivery(item.UserOrgId, item.ExecutionStaff, item)
1940 1939
 								//查询默认仓库
1941 1940
 								storeHouseConfig, _ := service.GetAllStoreHouseConfig(item.UserOrgId)
@@ -1972,7 +1971,7 @@ func (c *PatientApiController) ExecDoctorAdvice() {
1972 1971
 						}
1973 1972
 
1974 1973
 					} else {
1975
-						if medical.IsUse == 2 && !service.IsPharmacyDelivery(item.DrugId, item.UserOrgId) {
1974
+						if medical.IsUse == 2 && medical.IsPharmacy != 1 {
1976 1975
 							service.DrugsDelivery(item.UserOrgId, item.ExecutionStaff, item)
1977 1976
 							//更新字典里面的库存
1978 1977
 							var sum_count int64
@@ -2252,7 +2251,7 @@ func (c *PatientApiController) ExecDoctorAdvice() {
2252 2251
 					}
2253 2252
 
2254 2253
 					if prescribing_number_total <= total {
2255
-						if medical.IsUse == 2 && !service.IsPharmacyDelivery(item.DrugId, item.UserOrgId) {
2254
+						if medical.IsUse == 2 && medical.IsPharmacy != 1 {
2256 2255
 
2257 2256
 							if config.IsOpen != 1 {
2258 2257
 								service.HisDrugsDelivery(adminUserInfo.CurrentOrgId, item.ExecutionStaff, item)

+ 9 - 8
models/drug.go View File

@@ -74,7 +74,7 @@ type BaseDrugLib struct {
74 74
 	BatchRetaiPrice       float64                `gorm:"column:batch_retai_price" json:"batch_retai_price" form:"batch_retai_price"`
75 75
 	SumCount              int64                  `gorm:"column:sum_count" json:"sum_count" form:"sum_count"`
76 76
 	SumInCount            int64                  `gorm:"column:sum_in_count" json:"sum_in_count" form:"sum_in_count"`
77
-	IsPharmacy			  int64					`gorm:"column:is_pharmacy" json:"is_pharmacy" form:"is_pharmacy"`
77
+	IsPharmacy            int64                  `gorm:"column:is_pharmacy" json:"is_pharmacy" form:"is_pharmacy"`
78 78
 }
79 79
 
80 80
 func (BaseDrugLib) TableName() string {
@@ -82,13 +82,14 @@ func (BaseDrugLib) TableName() string {
82 82
 }
83 83
 
84 84
 type BaseDrugLibSeven struct {
85
-	ID        int64  `gorm:"column:id" json:"id" form:"id"`
86
-	DrugName  string `gorm:"column:drug_name" json:"drug_name" form:"drug_name"`
87
-	MaxUnit   string `gorm:"column:max_unit" json:"max_unit" form:"max_unit"`
88
-	MinNumber int64  `gorm:"column:min_number" json:"min_number" form:"min_number"`
89
-	MinUnit   string `gorm:"column:min_unit" json:"min_unit" form:"min_unit"`
90
-	SumCount  int64  `gorm:"column:sum_count" json:"sum_count" form:"sum_count"`
91
-	IsUse     int64  `gorm:"column:is_user" json:"is_user" form:"is_user"`
85
+	ID         int64  `gorm:"column:id" json:"id" form:"id"`
86
+	DrugName   string `gorm:"column:drug_name" json:"drug_name" form:"drug_name"`
87
+	MaxUnit    string `gorm:"column:max_unit" json:"max_unit" form:"max_unit"`
88
+	MinNumber  int64  `gorm:"column:min_number" json:"min_number" form:"min_number"`
89
+	MinUnit    string `gorm:"column:min_unit" json:"min_unit" form:"min_unit"`
90
+	SumCount   int64  `gorm:"column:sum_count" json:"sum_count" form:"sum_count"`
91
+	IsUse      int64  `gorm:"column:is_user" json:"is_user" form:"is_user"`
92
+	IsPharmacy int64  `gorm:"column:is_pharmacy" json:"is_pharmacy" form:"is_pharmacy"`
92 93
 }
93 94
 
94 95
 func (BaseDrugLibSeven) TableName() string {

+ 1 - 0
models/self_drug_models.go View File

@@ -75,6 +75,7 @@ type XtBaseDrug struct {
75 75
 	DrugDay               string  `gorm:"column:drug_day" json:"drug_day" form:"drug_day"`
76 76
 	MinPrice              float64 `gorm:"column:min_price" json:"min_price" form:"min_price"`
77 77
 	IsUse                 int64   `gorm:"column:is_user" json:"is_user" form:"is_user"`
78
+	IsPharmacy            int64   `gorm:"column:is_pharmacy" json:"is_pharmacy" form:"is_pharmacy"`
78 79
 }
79 80
 
80 81
 func (XtBaseDrug) TableName() string {

+ 1 - 1
service/manage_center_service.go View File

@@ -177,7 +177,7 @@ func FindBaseDrugLibRecord(org_id int64, id int64) (lib models.BaseDrugLib, err
177 177
 }
178 178
 
179 179
 func FindBaseDrugLibRecordSeven(org_id int64, id int64) (lib models.BaseDrugLibSeven, err error) {
180
-	err = readDb.Select("id,drug_name,max_unit,min_number,min_unit,sum_count,is_user").Where("org_id = ? AND id = ? AND status = 1", org_id, id).First(&lib).Error
180
+	err = readDb.Select("id,drug_name,max_unit,min_number,min_unit,sum_count,is_user,is_pharmacy").Where("org_id = ? AND id = ? AND status = 1", org_id, id).First(&lib).Error
181 181
 	return
182 182
 }
183 183
 

+ 1 - 0
service/pharmacy_service.go View File

@@ -970,6 +970,7 @@ func MapToJson(param map[string]interface{}) string {
970 970
 
971 971
 //封装扣减库存
972 972
 func FenStock(orgid, creater int64, v *models.HisDoctorAdviceInfo) (err error) {
973
+
973 974
 	err = HisDrugsDelivery(orgid, creater, v)
974 975
 	if err != nil {
975 976
 		err = fmt.Errorf("!:%v", err)