Browse Source

11月8日库存管理

XMLWAN 2 years ago
parent
commit
fe7f20f61a

+ 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
 
5 5
 #

+ 83 - 77
controllers/drug_stock_api_contorller.go View File

@@ -119,6 +119,9 @@ func (c *StockDrugApiController) CreateDrugWarehouse() {
119 119
 	if warehousing_id == 0 {
120 120
 		service.AddSigleDrugWarehouse(&warehousing)
121 121
 	}
122
+	if warehousing_id > 0 {
123
+		service.UpdateSigleDrugWarehouse(warehousing_id, storehouse_id)
124
+	}
122 125
 	info, _ := service.FindLastWarehousingSeven(adminUserInfo.CurrentOrgId)
123 126
 	dataBody := make(map[string]interface{}, 0)
124 127
 	err := json.Unmarshal(c.Ctx.Input.RequestBody, &dataBody)
@@ -1171,6 +1174,9 @@ func (c *StockDrugApiController) CreateDrugWarehouseOut() {
1171 1174
 	if warehouse_out_id == 0 {
1172 1175
 		service.AddSigleDrugWarehouseOut(&warehouseOut)
1173 1176
 	}
1177
+	if warehouse_out_id > 0 {
1178
+		service.UpdateSingleDrugWarehouseOut(warehouse_out_id, storehouse_id)
1179
+	}
1174 1180
 	lastWarehouseOut, _ := service.GetDrugLastWarehouseOut(adminUserInfo.CurrentOrgId)
1175 1181
 	dataBody := make(map[string]interface{}, 0)
1176 1182
 	err := json.Unmarshal(c.Ctx.Input.RequestBody, &dataBody)
@@ -1419,35 +1425,35 @@ func (c *StockDrugApiController) DeleteDrugWarehouseOut() {
1419 1425
 	idArray := strings.Split(ids, ",")
1420 1426
 	err := service.DeleteDrugWarehouseOut(idArray)
1421 1427
 
1422
-	list, _ := service.GetDrugWarhouseOutByIds(idArray)
1423
-	for _, item := range list {
1424
-		medical, _ := service.GetBaseDrugMedical(item.DrugId)
1425
-		if item.CountUnit == medical.MaxUnit {
1426
-
1427
-			service.UpdateDrugInfoByIds(item.WarehouseInfoId, item.Count)
1428
-
1429
-		}
1430
-		if medical.MaxUnit != medical.MinUnit && item.CountUnit == medical.MinUnit {
1431
-			service.UpdateDrugInfoByIdsOne(item.WarehouseInfoId, item.Count)
1432
-		}
1433
-
1434
-		//查询默认仓库
1435
-		houseConfig, _ := service.GetAllStoreHouseConfig(item.OrgId)
1436
-		//查询默认仓库剩余多少库存
1437
-		list, _ := service.GetDrugSumCountByStorehouseId(houseConfig.DrugStorehouseOut, item.OrgId, item.DrugId)
1438
-		var sum_count int64
1439
-		var sum_in_count int64
1440
-		for _, it := range list {
1441
-			baseDrug, _ := service.GetBaseDrugMedical(it.DrugId)
1442
-			if it.MaxUnit == baseDrug.MaxUnit {
1443
-				it.StockMaxNumber = it.StockMaxNumber * baseDrug.MinNumber
1444
-				it.WarehousingCount = it.WarehousingCount * baseDrug.MinNumber
1445
-			}
1446
-			sum_count += it.StockMaxNumber + it.StockMinNumber
1447
-			sum_in_count += it.WarehousingCount
1448
-		}
1449
-		service.UpdateMedicalSumCount(item.DrugId, sum_count, sum_in_count, item.OrgId)
1450
-	}
1428
+	//list, _ := service.GetDrugWarhouseOutByIds(idArray)
1429
+	//for _, item := range list {
1430
+	//	medical, _ := service.GetBaseDrugMedical(item.DrugId)
1431
+	//	if item.CountUnit == medical.MaxUnit {
1432
+	//
1433
+	//		service.UpdateDrugInfoByIds(item.WarehouseInfoId, item.Count)
1434
+	//
1435
+	//	}
1436
+	//	if medical.MaxUnit != medical.MinUnit && item.CountUnit == medical.MinUnit {
1437
+	//		service.UpdateDrugInfoByIdsOne(item.WarehouseInfoId, item.Count)
1438
+	//	}
1439
+	//
1440
+	//	//查询默认仓库
1441
+	//	houseConfig, _ := service.GetAllStoreHouseConfig(item.OrgId)
1442
+	//	//查询默认仓库剩余多少库存
1443
+	//	list, _ := service.GetDrugSumCountByStorehouseId(houseConfig.DrugStorehouseOut, item.OrgId, item.DrugId)
1444
+	//	var sum_count int64
1445
+	//	var sum_in_count int64
1446
+	//	for _, it := range list {
1447
+	//		baseDrug, _ := service.GetBaseDrugMedical(it.DrugId)
1448
+	//		if it.MaxUnit == baseDrug.MaxUnit {
1449
+	//			it.StockMaxNumber = it.StockMaxNumber * baseDrug.MinNumber
1450
+	//			it.WarehousingCount = it.WarehousingCount * baseDrug.MinNumber
1451
+	//		}
1452
+	//		sum_count += it.StockMaxNumber + it.StockMinNumber
1453
+	//		sum_in_count += it.WarehousingCount
1454
+	//	}
1455
+	//	service.UpdateMedicalSumCount(item.DrugId, sum_count, sum_in_count, item.OrgId)
1456
+	//}
1451 1457
 	if err != nil {
1452 1458
 		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDeleteFail)
1453 1459
 	} else {
@@ -1462,37 +1468,37 @@ func (this *StockDrugApiController) DeleteDrugWarehouseOutInfo() {
1462 1468
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
1463 1469
 		return
1464 1470
 	}
1465
-	//查询详情
1466
-	info, _ := service.GetDrugWarehosueOutInfo(id)
1467
-
1468
-	//查询默认仓库
1469
-	houseConfig, _ := service.GetAllStoreHouseConfig(info.OrgId)
1470
-	//查询默认仓库剩余多少库存
1471
-	list, _ := service.GetDrugSumCountByStorehouseId(houseConfig.DrugStorehouseOut, info.OrgId, info.DrugId)
1472
-
1473
-	for _, it := range list {
1474
-
1475
-		//查询默认仓库
1476
-		houseConfig, _ := service.GetAllStoreHouseConfig(it.OrgId)
1477
-		//查询默认仓库剩余多少库存
1478
-		list, _ := service.GetDrugSumCountByStorehouseId(houseConfig.DrugStorehouseOut, it.OrgId, it.DrugId)
1479
-		var sum_count int64
1480
-		var sum_in_count int64
1481
-		for _, it := range list {
1482
-			baseDrug, _ := service.GetBaseDrugMedical(it.DrugId)
1483
-			if it.MaxUnit == baseDrug.MaxUnit {
1484
-				it.StockMaxNumber = it.StockMaxNumber * baseDrug.MinNumber
1485
-				it.WarehousingCount = it.WarehousingCount * baseDrug.MinNumber
1486
-			}
1487
-			sum_count += it.StockMaxNumber + it.StockMinNumber
1488
-			sum_in_count += it.WarehousingCount
1489
-		}
1490
-		service.UpdateMedicalSumCount(it.DrugId, sum_count, sum_in_count, it.OrgId)
1491
-
1492
-	}
1471
+	////查询详情
1472
+	//info, _ := service.GetDrugWarehosueOutInfo(id)
1473
+	//
1474
+	////查询默认仓库
1475
+	//houseConfig, _ := service.GetAllStoreHouseConfig(info.OrgId)
1476
+	////查询默认仓库剩余多少库存
1477
+	//list, _ := service.GetDrugSumCountByStorehouseId(houseConfig.DrugStorehouseOut, info.OrgId, info.DrugId)
1478
+	//
1479
+	//for _, it := range list {
1480
+	//
1481
+	//	//查询默认仓库
1482
+	//	houseConfig, _ := service.GetAllStoreHouseConfig(it.OrgId)
1483
+	//	//查询默认仓库剩余多少库存
1484
+	//	list, _ := service.GetDrugSumCountByStorehouseId(houseConfig.DrugStorehouseOut, it.OrgId, it.DrugId)
1485
+	//	var sum_count int64
1486
+	//	var sum_in_count int64
1487
+	//	for _, it := range list {
1488
+	//		baseDrug, _ := service.GetBaseDrugMedical(it.DrugId)
1489
+	//		if it.MaxUnit == baseDrug.MaxUnit {
1490
+	//			it.StockMaxNumber = it.StockMaxNumber * baseDrug.MinNumber
1491
+	//			it.WarehousingCount = it.WarehousingCount * baseDrug.MinNumber
1492
+	//		}
1493
+	//		sum_count += it.StockMaxNumber + it.StockMinNumber
1494
+	//		sum_in_count += it.WarehousingCount
1495
+	//	}
1496
+	//	service.UpdateMedicalSumCount(it.DrugId, sum_count, sum_in_count, it.OrgId)
1497
+	//
1498
+	//}
1493 1499
 
1494 1500
 	//删除流水
1495
-	service.DeleteDrugWarehouseOutInfoById(info.ID)
1501
+	//service.DeleteDrugWarehouseOutInfoById(info.ID)
1496 1502
 	err := service.UpDateDrugWarehouseOutStatus(id)
1497 1503
 	if err != nil {
1498 1504
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDeleteFail)
@@ -2212,6 +2218,9 @@ func (c *StockDrugApiController) CreateDrugCancelStock() {
2212 2218
 	if cancelstock_id == 0 {
2213 2219
 		service.AddSigleDrugCancelStock(&cancelStock)
2214 2220
 	}
2221
+	if cancelstock_id > 0 {
2222
+		service.UpdateSingleDrugCancelStock(cancelstock_id, storehouse_id)
2223
+	}
2215 2224
 	cancelLastStock, _ := service.GetLastDrugCancelStockById(adminUserInfo.CurrentOrgId)
2216 2225
 	dataBody := make(map[string]interface{}, 0)
2217 2226
 	err := json.Unmarshal(c.Ctx.Input.RequestBody, &dataBody)
@@ -3526,6 +3535,7 @@ func (c *StockDrugApiController) CheckWarehousingInfo() {
3526 3535
 
3527 3536
 	warehousing_id, _ := c.GetInt64("warehousing_id")
3528 3537
 	orgId := c.GetAdminUserInfo().CurrentOrgId
3538
+	houseConfig, _ := service.GetAllStoreHouseConfig(orgId)
3529 3539
 	//更改核对状态
3530 3540
 	err := service.CheckWarehousingInfo(warehousing_id, orgId)
3531 3541
 
@@ -3588,26 +3598,22 @@ func (c *StockDrugApiController) CheckWarehousingInfo() {
3588 3598
 			}
3589 3599
 			service.CreateDrugFlowTwo(flow)
3590 3600
 
3591
-			//查询该药品默认仓库剩余库存
3592
-			druglist, _ := service.GetDrugStockWarehouseInfo(item.ID, item.OrgId)
3593
-			var sum_in_count int64
3601
+			//查询默认仓库
3602
+
3603
+			//查询默认仓库剩余多少库存
3604
+			list, _ := service.GetDrugSumCountByStorehouseId(houseConfig.DrugStorehouseOut, item.OrgId, item.DrugId)
3594 3605
 			var sum_count int64
3595
-			for _, its := range druglist {
3596
-				drugMedical, _ := service.GetBaseDrugMedical(its.DrugId)
3597
-				if its.MaxUnit == drugMedical.MaxUnit && drugMedical.MaxUnit != drugMedical.MinUnit {
3598
-					sum_in_count += its.WarehousingCount * drugMedical.MinNumber
3599
-					sum_count += its.StockMaxNumber*drugMedical.MinNumber + its.StockMinNumber
3600
-				}
3601
-				if its.MaxUnit == drugMedical.MinUnit && drugMedical.MaxUnit != drugMedical.MinUnit {
3602
-					sum_in_count += its.WarehousingCount
3603
-					sum_count += its.StockMaxNumber + its.StockMinNumber
3604
-				}
3605
-				if its.MaxUnit == drugMedical.MinUnit && drugMedical.MaxUnit == drugMedical.MinUnit {
3606
-					sum_in_count += its.WarehousingCount
3607
-					sum_count += its.StockMaxNumber + its.StockMinNumber
3608
-				}
3609
-				service.UpdateBaseDrugSum(its.DrugId, its.OrgId, sum_count, sum_in_count)
3606
+			var sum_in_count int64
3607
+			for _, it := range list {
3608
+				baseDrug, _ := service.GetBaseDrugMedical(it.DrugId)
3609
+				if it.MaxUnit == baseDrug.MaxUnit {
3610
+					it.StockMaxNumber = it.StockMaxNumber * baseDrug.MinNumber
3611
+					it.WarehousingCount = it.WarehousingCount * baseDrug.MinNumber
3612
+				}
3613
+				sum_count += it.StockMaxNumber + it.StockMinNumber
3614
+				sum_in_count += it.WarehousingCount
3610 3615
 			}
3616
+			service.UpdateMedicalSumCount(item.DrugId, sum_count, sum_in_count, item.OrgId)
3611 3617
 
3612 3618
 		}
3613 3619
 
@@ -3693,7 +3699,7 @@ func (c *StockDrugApiController) CheckDrugOut() {
3693 3699
 		var total_count int64
3694 3700
 		var out_count int64
3695 3701
 		//查询剩余库存
3696
-		stockInfo, _ := service.GetDrugAllStockInfo(storeHouseConfig.DrugStorehouseOut, it.OrgId, it.DrugId)
3702
+		stockInfo, _ := service.GetDrugAllStockInfo(it.StorehouseId, it.OrgId, it.DrugId)
3697 3703
 		drup, _ := service.FindBaseDrugLibRecord(it.OrgId, it.DrugId)
3698 3704
 
3699 3705
 		for _, item := range stockInfo {

+ 17 - 0
controllers/his_api_controller.go View File

@@ -623,9 +623,25 @@ func (c *HisApiController) GetHisPatientInfo() {
623 623
 	last_p_info, _ := service.FindLastPatientPrescriptionInfo(admin.CurrentOrgId, patient_id, recordDateTime)
624 624
 	if p_type == 1 { //住院
625 625
 		prescriptions, _ = service.GetHisPrescription(admin.CurrentOrgId, patient_id, recordDateTime, p_type)
626
+		for _, item := range prescriptions {
627
+			for _, subItem := range item.HisDoctorAdviceInfo {
628
+				info, _ := service.GetWarehoseInfoByDrugId(subItem.DrugId, admin.CurrentOrgId)
629
+				if info.RetailPrice > 0 {
630
+					subItem.Drug.MinPrice = info.RetailPrice
631
+				}
632
+			}
633
+		}
626 634
 		last_prescriptions, _ = service.GetHisPrescription(admin.CurrentOrgId, patient_id, last_p_info.RecordDate, p_type)
627 635
 	} else { //门诊
628 636
 		prescriptions, _ = service.GetNewHisPrescription(admin.CurrentOrgId, patient_id, his_patient_id, recordDateTime, p_type)
637
+		for _, item := range prescriptions {
638
+			for _, subItem := range item.HisDoctorAdviceInfo {
639
+				info, _ := service.GetWarehoseInfoByDrugId(subItem.DrugId, admin.CurrentOrgId)
640
+				if info.RetailPrice > 0 {
641
+					subItem.Drug.MinPrice = info.RetailPrice
642
+				}
643
+			}
644
+		}
629 645
 		last_prescriptions, _ = service.GetHisPrescription(admin.CurrentOrgId, patient_id, last_p_info.RecordDate, p_type)
630 646
 	}
631 647
 
@@ -844,6 +860,7 @@ func (c *HisApiController) GetHisPrescriptionConfig() {
844 860
 						index = index + 1
845 861
 						if subItem.RetailPrice > 0 {
846 862
 							item.MinPrice = subItem.RetailPrice
863
+
847 864
 						}
848 865
 					}
849 866
 				}

+ 48 - 39
controllers/stock_in_api_controller.go View File

@@ -186,7 +186,10 @@ func (c *StockManagerApiController) CreateWarehouse() {
186 186
 	if warehousing_info_id == 0 {
187 187
 		service.AddSigleWarehouse(&warehousing)
188 188
 	}
189
-
189
+	if warehousing_info_id > 0 {
190
+		service.UpdateWarehouse(warehousing_info_id, storehouse_id)
191
+	}
192
+	info, _ := service.FindLastWarehousingSix(adminUserInfo.CurrentOrgId)
190 193
 	dataBody := make(map[string]interface{}, 0)
191 194
 	err := json.Unmarshal(c.Ctx.Input.RequestBody, &dataBody)
192 195
 	if err != nil {
@@ -288,11 +291,12 @@ func (c *StockManagerApiController) CreateWarehouse() {
288 291
 
289 292
 				license_number, _ := items["license_number"].(string)
290 293
 
294
+				register_number, _ := items["register_number"].(string)
291 295
 				//入库单表格
292 296
 				warehouseInfo := &models.WarehousingInfo{
293 297
 					ID:               id,
294 298
 					WarehousingOrder: warehousing.WarehousingOrder,
295
-					WarehousingId:    warehousing.ID,
299
+					WarehousingId:    info.ID,
296 300
 					GoodId:           good_id,
297 301
 					Number:           number,
298 302
 					GoodTypeId:       good_type_id,
@@ -313,6 +317,7 @@ func (c *StockManagerApiController) CreateWarehouse() {
313 317
 					PackingPrice:     packing_price,
314 318
 					StorehouseId:     storehouse_id,
315 319
 					IsCheck:          2,
320
+					RegisterNumber:   register_number,
316 321
 				}
317 322
 				warehousingInfo = append(warehousingInfo, warehouseInfo)
318 323
 
@@ -330,8 +335,6 @@ func (c *StockManagerApiController) CreateWarehouse() {
330 335
 
331 336
 	}
332 337
 
333
-	info, _ := service.FindLastWarehousingSix(adminUserInfo.CurrentOrgId)
334
-
335 338
 	//查询入库数据
336 339
 	list, _ := service.GetGoodWarehouseInfoById(info.ID, info.OrgId)
337 340
 	dealerList, _ := service.GetAllDealerList(adminUserInfo.CurrentOrgId)
@@ -1259,6 +1262,9 @@ func (c *StockManagerApiController) CreateWarehouseOut() {
1259 1262
 			service.AddSigleWarehouseOut(&warehouseOut)
1260 1263
 		}
1261 1264
 	}
1265
+	if warehouseOut_id > 0 {
1266
+		service.UpdateSingleWarehoseOut(warehouseOut_id, storehouse_id)
1267
+	}
1262 1268
 
1263 1269
 	goodWarehouseOut, _ := service.GetLastGoodWarehouseOutTwenty(adminUserInfo.CurrentOrgId)
1264 1270
 
@@ -1404,23 +1410,23 @@ func (c *StockManagerApiController) DeleteWarehouseOut() {
1404 1410
 	idArray := strings.Split(ids, ",")
1405 1411
 
1406 1412
 	err := service.DeleteWarehouseOut(idArray)
1407
-	list, _ := service.GetWarehouseOutInfoByIds(idArray)
1408
-	for _, item := range list {
1409
-		//添加库存
1410
-		service.UpdateWarehouseInfoById(item.WarehouseInfotId, item.Count)
1411
-		//添加库存
1412
-		//查询该机构默认仓库
1413
-		storeConfig, _ := service.GetAllStoreHouseConfig(item.OrgId)
1414
-		//查询剩余库存
1415
-		goodList, _ := service.GetGoodSumCountByStoreId(storeConfig.StorehouseOutInfo, item.GoodId, item.OrgId)
1416
-		var sum_count int64
1417
-		var sum_in_count int64
1418
-		for _, item := range goodList {
1419
-			sum_count += item.StockCount
1420
-			sum_in_count += item.WarehousingCount
1421
-		}
1422
-		service.UpdateGoodByGoodId(item.GoodId, sum_count, sum_in_count, item.OrgId)
1423
-	}
1413
+	//list, _ := service.GetWarehouseOutInfoByIds(idArray)
1414
+	//for _, item := range list {
1415
+	//	//添加库存
1416
+	//	service.UpdateWarehouseInfoById(item.WarehouseInfotId, item.Count)
1417
+	//	//添加库存
1418
+	//	//查询该机构默认仓库
1419
+	//	storeConfig, _ := service.GetAllStoreHouseConfig(item.OrgId)
1420
+	//	//查询剩余库存
1421
+	//	goodList, _ := service.GetGoodSumCountByStoreId(storeConfig.StorehouseOutInfo, item.GoodId, item.OrgId)
1422
+	//	var sum_count int64
1423
+	//	var sum_in_count int64
1424
+	//	for _, item := range goodList {
1425
+	//		sum_count += item.StockCount
1426
+	//		sum_in_count += item.WarehousingCount
1427
+	//	}
1428
+	//	service.UpdateGoodByGoodId(item.GoodId, sum_count, sum_in_count, item.OrgId)
1429
+	//}
1424 1430
 	if err != nil {
1425 1431
 		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDeleteFail)
1426 1432
 	} else {
@@ -1436,25 +1442,26 @@ func (this *StockManagerApiController) DeleteWarehouseOutInfo() {
1436 1442
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
1437 1443
 		return
1438 1444
 	}
1439
-	//添加库存
1440
-	out, _ := service.GetWarhouseOutById(id)
1441
-
1442
-	service.UpdateWareInfoById(out.WarehouseInfotId, out.Count)
1443
-
1444
-	//查询该机构默认仓库
1445
-	storeConfig, _ := service.GetAllStoreHouseConfig(out.OrgId)
1446
-	//查询剩余库存
1447
-	goodList, _ := service.GetGoodSumCountByStoreId(storeConfig.StorehouseOutInfo, out.GoodId, out.OrgId)
1448
-	var sum_count int64
1449
-	var sum_in_count int64
1450
-	for _, item := range goodList {
1451
-		sum_count += item.StockCount
1452
-		sum_in_count += item.WarehousingCount
1453
-	}
1454
-	service.UpdateGoodByGoodId(out.GoodId, sum_count, sum_in_count, out.OrgId)
1455
-
1456 1445
 	err := service.UpDateWarehouseOutStatus(id)
1457
-	service.UpdateStockFlowWarehouseOutById(id)
1446
+	//添加库存
1447
+	//out, _ := service.GetWarhouseOutById(id)
1448
+	//
1449
+	//service.UpdateWareInfoById(out.WarehouseInfotId, out.Count)
1450
+	//
1451
+	////查询该机构默认仓库
1452
+	//storeConfig, _ := service.GetAllStoreHouseConfig(out.OrgId)
1453
+	////查询剩余库存
1454
+	//goodList, _ := service.GetGoodSumCountByStoreId(storeConfig.StorehouseOutInfo, out.GoodId, out.OrgId)
1455
+	//var sum_count int64
1456
+	//var sum_in_count int64
1457
+	//for _, item := range goodList {
1458
+	//	sum_count += item.StockCount
1459
+	//	sum_in_count += item.WarehousingCount
1460
+	//}
1461
+	//service.UpdateGoodByGoodId(out.GoodId, sum_count, sum_in_count, out.OrgId)
1462
+	//
1463
+	//
1464
+	//service.UpdateStockFlowWarehouseOutById(id)
1458 1465
 
1459 1466
 	if err != nil {
1460 1467
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDeleteFail)
@@ -2033,6 +2040,8 @@ func (c *StockManagerApiController) CreateCancelStock() {
2033 2040
 	}
2034 2041
 	if cancel_stock_id == 0 {
2035 2042
 		service.AddSigleCancelStock(&cancelStock)
2043
+	} else {
2044
+		service.UpdateSigleCancelStock(cancel_stock_id, storehouse_id)
2036 2045
 	}
2037 2046
 
2038 2047
 	dataBody := make(map[string]interface{}, 0)

+ 357 - 344
service/manage_center_service.go View File

@@ -211,6 +211,12 @@ func GetDrugAutoWarehouseOutEight(patient_id int64, advicedate int64, drugid int
211 211
 	return detail, err
212 212
 }
213 213
 
214
+func GetDrugAutoWarehouseOutNight(patient_id int64, advicedate int64, drugid int64, adviceid int64) (night []*models.DrugWarehouseOutInfo, err error) {
215
+
216
+	err = XTReadDB().Where("patient_id = ? and sys_record_time =? and drug_id = ? and status = 1 and advice_id = ?", patient_id, advicedate, drugid, adviceid).Find(&night).Error
217
+	return night, err
218
+}
219
+
214 220
 func UpdateDrugWarehouse(id int64, info models.DrugWarehouseInfo) error {
215 221
 	err := writeDb.Model(&models.DrugWarehouseInfo{}).Where("id = ?", id).UpdateColumn("stock_min_number", gorm.Expr("stock_min_number + ?", info.StockMinNumber)).Error
216 222
 	return err
@@ -427,379 +433,386 @@ func DrugAutoAddCancelInfo(advice *models.HisDoctorAdviceInfo, creater int64) er
427 433
 
428 434
 	//查询该病人该药品是否有库存记录
429 435
 	info, _ := GetDrugAutoWarehouseOutEight(advice.PatientId, advice.AdviceDate, advice.DrugId, advice.ID)
436
+
437
+	list, _ := GetDrugAutoWarehouseOutNight(advice.PatientId, advice.AdviceDate, advice.DrugId, advice.ID)
438
+
430 439
 	storeHouseConfig, _ := GetAllStoreHouseConfig(advice.UserOrgId)
440
+	//退库
441
+	drug, _ := FindBaseDrugLibRecord(advice.UserOrgId, advice.DrugId)
431 442
 	//如果剩余数量 + 退库数量 < 总入库数量
432
-	if info.ID > 0 {
433
-		//查询该药品出库批次总入库数量
434
-		druginfo, error := GetDrugInfoSix(info.WarehouseInfoId, info.OrgId)
435
-		fmt.Println(error)
436
-		//退库
437
-		drug, _ := FindBaseDrugLibRecord(advice.UserOrgId, advice.DrugId)
438
-		var out_count int64  //该批次出库库存
439
-		var sum_count int64  //该批次总库存
440
-		var over_count int64 //剩余数量
441
-
442
-		over_count = druginfo.StockMaxNumber*drug.MinNumber + druginfo.StockMinNumber
443
-		if info.CountUnit == drug.MaxUnit && drug.MaxUnit != drug.MinUnit {
444
-			out_count = info.Count * drug.MinNumber
445
-
446
-		}
447
-		if info.CountUnit == drug.MinUnit && drug.MaxUnit != drug.MinUnit {
448
-			out_count = info.Count
449
-		}
443
+	if len(list) > 0 {
444
+		for _, its := range list {
445
+			//查询该药品出库批次总入库数量
446
+			druginfo, _ := GetDrugInfoSix(its.WarehouseInfoId, info.OrgId)
450 447
 
451
-		if info.CountUnit == drug.MaxUnit && drug.MaxUnit == drug.MinUnit {
452
-			out_count = info.Count
453
-		}
448
+			var out_count int64  //该批次出库库存
449
+			var sum_count int64  //该批次总库存
450
+			var over_count int64 //剩余数量
454 451
 
455
-		if druginfo.MaxUnit == drug.MaxUnit && drug.MaxUnit != drug.MinUnit {
456
-			sum_count = druginfo.WarehousingCount * drug.MinNumber
457
-		}
452
+			over_count = druginfo.StockMaxNumber*drug.MinNumber + druginfo.StockMinNumber
453
+			if info.CountUnit == drug.MaxUnit && drug.MaxUnit != drug.MinUnit {
454
+				out_count = info.Count * drug.MinNumber
458 455
 
459
-		if druginfo.MaxUnit == drug.MinUnit && drug.MaxUnit != drug.MinUnit {
460
-			sum_count = druginfo.WarehousingCount
461
-		}
456
+			}
457
+			if info.CountUnit == drug.MinUnit && drug.MaxUnit != drug.MinUnit {
458
+				out_count = info.Count
459
+			}
462 460
 
463
-		if druginfo.MaxUnit == drug.MaxUnit && drug.MaxUnit == drug.MinUnit {
464
-			sum_count = druginfo.WarehousingCount
465
-		}
461
+			if info.CountUnit == drug.MaxUnit && drug.MaxUnit == drug.MinUnit {
462
+				out_count = info.Count
463
+			}
466 464
 
467
-		fmt.Println("该批次剩余库存", over_count)
468
-		fmt.Println("该批次退库数量", out_count)
469
-		fmt.Println("该批次总入库数量", sum_count)
470
-		if (over_count + out_count) <= sum_count {
465
+			if druginfo.MaxUnit == drug.MaxUnit && drug.MaxUnit != drug.MinUnit {
466
+				sum_count = druginfo.WarehousingCount * drug.MinNumber
467
+			}
471 468
 
472
-			if advice.PrescribingNumberUnit == drug.MinUnit && drug.MaxUnit != drug.MinUnit {
469
+			if druginfo.MaxUnit == drug.MinUnit && drug.MaxUnit != drug.MinUnit {
470
+				sum_count = druginfo.WarehousingCount
471
+			}
473 472
 
474
-				floatPrescrip := strconv.FormatFloat(advice.PrescribingNumber, 'f', -1, 32)
475
-				prescribingNumber, _ := strconv.ParseInt(floatPrescrip, 10, 64)
473
+			if druginfo.MaxUnit == drug.MaxUnit && drug.MaxUnit == drug.MinUnit {
474
+				sum_count = druginfo.WarehousingCount
475
+			}
476 476
 
477
-				//退库
478
-				warehouseInfo := models.DrugWarehouseInfo{
479
-					StockMinNumber: prescribingNumber,
480
-				}
481
-				UpdateDrugWarehouse(info.WarehouseInfoId, warehouseInfo)
482
-
483
-				operation_time := time.Now().Unix()
484
-
485
-				ctime := time.Now().Unix()
486
-				timeStr := time.Now().Format("2006-01-02")
487
-				timeArr := strings.Split(timeStr, "-")
488
-				total, _ := FindAllDrugCancelStockTotal(advice.UserOrgId)
489
-				total = total + 1
490
-				orderNumber := "CKTKD" + strconv.FormatInt(advice.UserOrgId, 10) + timeArr[0] + timeArr[1] + timeArr[2] + "000" + strconv.FormatInt(total, 10)
491
-				cancelStock := models.DrugCancelStock{
492
-					OrderNumber:  orderNumber,
493
-					OperaTime:    operation_time,
494
-					OrgId:        advice.UserOrgId,
495
-					Creater:      creater,
496
-					Ctime:        ctime,
497
-					Status:       1,
498
-					ReturnTime:   advice.AdviceDate,
499
-					Dealer:       info.Dealer,
500
-					Manufacturer: info.Manufacturer,
501
-					Type:         1,
502
-					StorehouseId: storeHouseConfig.DrugStorehouseOut,
503
-					IsCheck:      1,
504
-				}
505
-				AddSigleDrugCancelStock(&cancelStock)
506
-
507
-				manufactureName, _ := GetManufactureById(info.Manufacturer)
508
-				dealer, _ := GetDealerById(info.Dealer)
509
-				cancelInfo, _ := GetLastDrugCancelStockById(advice.UserOrgId)
510
-				cancelStockInfo := models.DrugCancelStockInfo{
511
-					OrderNumber:      cancelInfo.OrderNumber,
512
-					CancelStockId:    cancelInfo.ID,
513
-					DrugId:           info.DrugId,
514
-					Count:            info.Count,
515
-					Status:           1,
516
-					Ctime:            ctime,
517
-					OrgId:            advice.UserOrgId,
518
-					Type:             1,
519
-					Manufacturer:     manufactureName.ManufacturerName,
520
-					Dealer:           dealer.DealerName,
521
-					Total:            0,
522
-					RetailPrice:      info.RetailPrice,
523
-					RetailTotalPrice: info.RetailTotalPrice,
524
-					Price:            info.Price,
525
-					RegisterAccount:  "",
526
-					Remark:           info.Remark,
527
-					BatchNumber:      info.BatchNumber,
528
-					MaxUnit:          info.CountUnit,
529
-					ProductDate:      info.ProductDate,
530
-					ExpiryDate:       info.ExpiryDate,
531
-					BatchNumberId:    info.WarehouseInfoId,
532
-					StorehouseId:     storeHouseConfig.DrugStorehouseOut,
533
-					IsCheck:          1,
477
+			fmt.Println("该批次剩余库存", over_count)
478
+			fmt.Println("该批次退库数量", out_count)
479
+			fmt.Println("该批次总入库数量", sum_count)
480
+			if (over_count + out_count) <= sum_count {
481
+				if its.CountUnit == drug.MinUnit && drug.MaxUnit != drug.MinUnit {
482
+					//退库
483
+					warehouseInfo := models.DrugWarehouseInfo{
484
+						StockMinNumber: its.Count,
485
+					}
486
+					UpdateDrugWarehouse(its.WarehouseInfoId, warehouseInfo)
534 487
 				}
535
-
536
-				flow := models.DrugFlow{
537
-					WarehousingId:           0,
538
-					DrugId:                  info.DrugId,
539
-					Number:                  "",
540
-					BatchNumber:             info.BatchNumber,
541
-					Count:                   info.Count,
542
-					UserOrgId:               advice.UserOrgId,
543
-					PatientId:               0,
544
-					SystemTime:              info.SysRecordTime,
545
-					ConsumableType:          7,
546
-					IsSys:                   0,
547
-					WarehousingOrder:        "",
548
-					WarehouseOutId:          0,
549
-					WarehouseOutOrderNumber: info.WarehouseOutOrderNumber,
550
-					IsEdit:                  0,
551
-					CancelStockId:           cancelStock.ID,
552
-					CancelOrderNumber:       cancelStock.OrderNumber,
553
-					Manufacturer:            info.Manufacturer,
554
-					Dealer:                  info.Dealer,
555
-					Creator:                 creater,
556
-					UpdateCreator:           0,
557
-					Status:                  1,
558
-					Ctime:                   time.Now().Unix(),
559
-					Mtime:                   0,
560
-					Price:                   info.Price,
561
-					WarehousingDetailId:     0,
562
-					WarehouseOutDetailId:    0,
563
-					CancelOutDetailId:       0,
564
-					ExpireDate:              info.ExpiryDate,
565
-					ProductDate:             info.ProductDate,
566
-					MaxUnit:                 info.CountUnit,
567
-					MinUnit:                 "",
568
-					AdviceId:                info.AdviceId,
569
-					StorehouseId:            storeHouseConfig.DrugStorehouseOut,
488
+				if its.CountUnit == drug.MaxUnit && drug.MaxUnit != drug.MinUnit {
489
+					warehouseInfo := models.DrugWarehouseInfo{
490
+						StockMaxNumber: its.Count,
491
+					}
492
+					UpdateDrugWarehouseOne(its.WarehouseInfoId, warehouseInfo)
570 493
 				}
571
-				CreatedCancelStock(cancelStockInfo)
572
-				CreateDrugFlowOne(flow)
573
-
574
-				//删除出库记录
575
-				UpdateDrugFlowSeven(info.PatientId, info.SysRecordTime, info.DrugId, advice.ID, info.ID, info.WarehouseOutId)
576
-				//删除流水
577
-				UpdateDrugFlowTens(info.PatientId, info.WarehouseOutOrderNumber, info.DrugId, advice.ID, info.ID)
578
-			}
579
-			if advice.PrescribingNumberUnit == drug.MaxUnit && drug.MaxUnit != drug.MinUnit {
580 494
 
581
-				houseConfig, _ := GetAllStoreHouseConfig(advice.UserOrgId)
582
-				floatPrescrip := strconv.FormatFloat(advice.PrescribingNumber, 'f', -1, 32)
583
-
584
-				prescribingNumber, _ := strconv.ParseInt(floatPrescrip, 10, 64)
585
-
586
-				if advice.PrescribingNumberUnit == drug.MaxUnit {
495
+				if its.CountUnit == drug.MaxUnit && drug.MaxUnit == drug.MinUnit {
587 496
 					warehouseInfo := models.DrugWarehouseInfo{
588
-						StockMaxNumber: prescribingNumber,
497
+						StockMaxNumber: its.Count,
589 498
 					}
590
-					UpdateDrugWarehouseOne(info.WarehouseInfoId, warehouseInfo)
591
-
499
+					UpdateDrugWarehouseOne(its.WarehouseInfoId, warehouseInfo)
592 500
 				}
593 501
 
594
-				operation_time := time.Now().Unix()
595
-				ctime := time.Now().Unix()
596
-				timeStr := time.Now().Format("2006-01-02")
597
-				timeArr := strings.Split(timeStr, "-")
598
-				total, _ := FindAllDrugCancelStockTotal(advice.UserOrgId)
599
-				total = total + 1
600
-				orderNumber := "CKTKD" + strconv.FormatInt(advice.UserOrgId, 10) + timeArr[0] + timeArr[1] + timeArr[2] + "000" + strconv.FormatInt(total, 10)
601
-
602
-				cancelStock := models.DrugCancelStock{
603
-					OrderNumber:  orderNumber,
604
-					OperaTime:    operation_time,
605
-					OrgId:        advice.UserOrgId,
606
-					Creater:      creater,
607
-					Ctime:        ctime,
608
-					Status:       1,
609
-					ReturnTime:   advice.AdviceDate,
610
-					Dealer:       info.Dealer,
611
-					Manufacturer: info.Manufacturer,
612
-					Type:         1,
613
-					StorehouseId: houseConfig.DrugStorehouseOut,
614
-					IsCheck:      1,
615
-				}
616
-				AddSigleDrugCancelStock(&cancelStock)
617
-				fmt.Println("到这里了吗32222222222222222222222222222222222222222222222")
618
-
619
-				manufactureName, _ := GetManufactureById(info.Manufacturer)
620
-				dealer, _ := GetDealerById(info.Dealer)
621
-				cancelInfo, _ := GetLastDrugCancelStockById(advice.UserOrgId)
622
-				cancelStockInfo := models.DrugCancelStockInfo{
623
-					OrderNumber:      cancelInfo.OrderNumber,
624
-					CancelStockId:    cancelInfo.ID,
625
-					DrugId:           info.DrugId,
626
-					Count:            info.Count,
627
-					Status:           1,
628
-					Ctime:            ctime,
629
-					OrgId:            advice.UserOrgId,
630
-					Type:             1,
631
-					Manufacturer:     manufactureName.ManufacturerName,
632
-					Dealer:           dealer.DealerName,
633
-					Total:            0,
634
-					RetailPrice:      info.RetailPrice,
635
-					RetailTotalPrice: info.RetailTotalPrice,
636
-					Price:            info.Price,
637
-					RegisterAccount:  "",
638
-					Remark:           info.Remark,
639
-					BatchNumber:      info.BatchNumber,
640
-					MaxUnit:          info.CountUnit,
641
-					ProductDate:      info.ProductDate,
642
-					ExpiryDate:       info.ExpiryDate,
643
-					BatchNumberId:    info.WarehouseInfoId,
644
-					StorehouseId:     houseConfig.DrugStorehouseOut,
645
-					IsCheck:          1,
646
-				}
502
+			}
503
+		}
647 504
 
648
-				flow := models.DrugFlow{
649
-					WarehousingId:           0,
650
-					DrugId:                  info.DrugId,
651
-					Number:                  "",
652
-					BatchNumber:             info.BatchNumber,
653
-					Count:                   info.Count,
654
-					UserOrgId:               advice.UserOrgId,
655
-					PatientId:               0,
656
-					SystemTime:              info.SysRecordTime,
657
-					ConsumableType:          7,
658
-					IsSys:                   0,
659
-					WarehousingOrder:        "",
660
-					WarehouseOutId:          0,
661
-					WarehouseOutOrderNumber: info.WarehouseOutOrderNumber,
662
-					IsEdit:                  0,
663
-					CancelStockId:           cancelStock.ID,
664
-					CancelOrderNumber:       cancelStock.OrderNumber,
665
-					Manufacturer:            info.Manufacturer,
666
-					Dealer:                  info.Dealer,
667
-					Creator:                 creater,
668
-					UpdateCreator:           0,
669
-					Status:                  1,
670
-					Ctime:                   time.Now().Unix(),
671
-					Mtime:                   0,
672
-					Price:                   info.Price,
673
-					WarehousingDetailId:     0,
674
-					WarehouseOutDetailId:    0,
675
-					CancelOutDetailId:       0,
676
-					ExpireDate:              info.ExpiryDate,
677
-					ProductDate:             info.ProductDate,
678
-					MaxUnit:                 info.CountUnit,
679
-					MinUnit:                 "",
680
-					AdviceId:                info.AdviceId,
681
-					StorehouseId:            houseConfig.DrugStorehouseOut,
682
-				}
683
-				CreatedCancelStock(cancelStockInfo)
684
-				CreateDrugFlowOne(flow)
685
-				//删除出库记录
686
-				UpdateDrugFlowSeven(info.PatientId, info.SysRecordTime, info.DrugId, advice.ID, info.ID, info.WarehouseOutId)
687
-				//删除流水
688
-				UpdateDrugFlowTens(info.PatientId, info.WarehouseOutOrderNumber, info.DrugId, advice.ID, info.ID)
505
+		floatPrescrip := strconv.FormatFloat(advice.PrescribingNumber, 'f', -1, 32)
506
+		prescribingNumber, _ := strconv.ParseInt(floatPrescrip, 10, 64)
507
+
508
+		if advice.PrescribingNumberUnit == drug.MinUnit && drug.MaxUnit != drug.MinUnit {
509
+
510
+			operation_time := time.Now().Unix()
511
+
512
+			ctime := time.Now().Unix()
513
+			timeStr := time.Now().Format("2006-01-02")
514
+			timeArr := strings.Split(timeStr, "-")
515
+			total, _ := FindAllDrugCancelStockTotal(advice.UserOrgId)
516
+			total = total + 1
517
+			orderNumber := "CKTKD" + strconv.FormatInt(advice.UserOrgId, 10) + timeArr[0] + timeArr[1] + timeArr[2] + "000" + strconv.FormatInt(total, 10)
518
+			cancelStock := models.DrugCancelStock{
519
+				OrderNumber:  orderNumber,
520
+				OperaTime:    operation_time,
521
+				OrgId:        advice.UserOrgId,
522
+				Creater:      creater,
523
+				Ctime:        ctime,
524
+				Status:       1,
525
+				ReturnTime:   advice.AdviceDate,
526
+				Dealer:       info.Dealer,
527
+				Manufacturer: info.Manufacturer,
528
+				Type:         1,
529
+				StorehouseId: storeHouseConfig.DrugStorehouseOut,
530
+				IsCheck:      1,
531
+			}
532
+			AddSigleDrugCancelStock(&cancelStock)
533
+
534
+			manufactureName, _ := GetManufactureById(info.Manufacturer)
535
+			dealer, _ := GetDealerById(info.Dealer)
536
+			cancelInfo, _ := GetLastDrugCancelStockById(advice.UserOrgId)
537
+			cancelStockInfo := models.DrugCancelStockInfo{
538
+				OrderNumber:      cancelInfo.OrderNumber,
539
+				CancelStockId:    cancelInfo.ID,
540
+				DrugId:           advice.DrugId,
541
+				Count:            prescribingNumber,
542
+				Status:           1,
543
+				Ctime:            ctime,
544
+				OrgId:            advice.UserOrgId,
545
+				Type:             1,
546
+				Manufacturer:     manufactureName.ManufacturerName,
547
+				Dealer:           dealer.DealerName,
548
+				Total:            0,
549
+				RetailPrice:      info.RetailPrice,
550
+				RetailTotalPrice: info.RetailTotalPrice,
551
+				Price:            info.Price,
552
+				RegisterAccount:  "",
553
+				Remark:           info.Remark,
554
+				BatchNumber:      info.BatchNumber,
555
+				MaxUnit:          advice.PrescribingNumberUnit,
556
+				ProductDate:      info.ProductDate,
557
+				ExpiryDate:       info.ExpiryDate,
558
+				BatchNumberId:    info.WarehouseInfoId,
559
+				StorehouseId:     storeHouseConfig.DrugStorehouseOut,
560
+				IsCheck:          1,
689 561
 			}
690 562
 
691
-			if advice.PrescribingNumberUnit == drug.MaxUnit && drug.MaxUnit == drug.MinUnit {
563
+			flow := models.DrugFlow{
564
+				WarehousingId:           0,
565
+				DrugId:                  info.DrugId,
566
+				Number:                  "",
567
+				BatchNumber:             info.BatchNumber,
568
+				Count:                   prescribingNumber,
569
+				UserOrgId:               advice.UserOrgId,
570
+				PatientId:               0,
571
+				SystemTime:              info.SysRecordTime,
572
+				ConsumableType:          7,
573
+				IsSys:                   0,
574
+				WarehousingOrder:        "",
575
+				WarehouseOutId:          0,
576
+				WarehouseOutOrderNumber: info.WarehouseOutOrderNumber,
577
+				IsEdit:                  0,
578
+				CancelStockId:           cancelStock.ID,
579
+				CancelOrderNumber:       cancelStock.OrderNumber,
580
+				Manufacturer:            info.Manufacturer,
581
+				Dealer:                  info.Dealer,
582
+				Creator:                 creater,
583
+				UpdateCreator:           0,
584
+				Status:                  1,
585
+				Ctime:                   time.Now().Unix(),
586
+				Mtime:                   0,
587
+				Price:                   info.Price,
588
+				WarehousingDetailId:     0,
589
+				WarehouseOutDetailId:    0,
590
+				CancelOutDetailId:       0,
591
+				ExpireDate:              info.ExpiryDate,
592
+				ProductDate:             info.ProductDate,
593
+				MaxUnit:                 advice.PrescribingNumberUnit,
594
+				MinUnit:                 "",
595
+				AdviceId:                info.AdviceId,
596
+				StorehouseId:            storeHouseConfig.DrugStorehouseOut,
597
+			}
598
+			CreatedCancelStock(cancelStockInfo)
599
+			CreateDrugFlowOne(flow)
692 600
 
693
-				houseConfig, _ := GetAllStoreHouseConfig(advice.UserOrgId)
694
-				floatPrescrip := strconv.FormatFloat(advice.PrescribingNumber, 'f', -1, 32)
601
+			//删除出库记录
602
+			UpdateDrugFlowSeven(info.PatientId, info.SysRecordTime, info.DrugId, advice.ID, info.ID, info.WarehouseOutId)
603
+			//删除流水
604
+			UpdateDrugFlowTens(info.PatientId, info.WarehouseOutOrderNumber, info.DrugId, advice.ID, info.ID)
605
+		}
606
+		if advice.PrescribingNumberUnit == drug.MaxUnit && drug.MaxUnit != drug.MinUnit {
607
+
608
+			houseConfig, _ := GetAllStoreHouseConfig(advice.UserOrgId)
609
+
610
+			operation_time := time.Now().Unix()
611
+			ctime := time.Now().Unix()
612
+			timeStr := time.Now().Format("2006-01-02")
613
+			timeArr := strings.Split(timeStr, "-")
614
+			total, _ := FindAllDrugCancelStockTotal(advice.UserOrgId)
615
+			total = total + 1
616
+			orderNumber := "CKTKD" + strconv.FormatInt(advice.UserOrgId, 10) + timeArr[0] + timeArr[1] + timeArr[2] + "000" + strconv.FormatInt(total, 10)
617
+
618
+			cancelStock := models.DrugCancelStock{
619
+				OrderNumber:  orderNumber,
620
+				OperaTime:    operation_time,
621
+				OrgId:        advice.UserOrgId,
622
+				Creater:      creater,
623
+				Ctime:        ctime,
624
+				Status:       1,
625
+				ReturnTime:   advice.AdviceDate,
626
+				Dealer:       info.Dealer,
627
+				Manufacturer: info.Manufacturer,
628
+				Type:         1,
629
+				StorehouseId: houseConfig.DrugStorehouseOut,
630
+				IsCheck:      1,
631
+			}
632
+			AddSigleDrugCancelStock(&cancelStock)
633
+			fmt.Println("到这里了吗32222222222222222222222222222222222222222222222")
634
+
635
+			manufactureName, _ := GetManufactureById(info.Manufacturer)
636
+			dealer, _ := GetDealerById(info.Dealer)
637
+			cancelInfo, _ := GetLastDrugCancelStockById(advice.UserOrgId)
638
+			cancelStockInfo := models.DrugCancelStockInfo{
639
+				OrderNumber:      cancelInfo.OrderNumber,
640
+				CancelStockId:    cancelInfo.ID,
641
+				DrugId:           info.DrugId,
642
+				Count:            prescribingNumber,
643
+				Status:           1,
644
+				Ctime:            ctime,
645
+				OrgId:            advice.UserOrgId,
646
+				Type:             1,
647
+				Manufacturer:     manufactureName.ManufacturerName,
648
+				Dealer:           dealer.DealerName,
649
+				Total:            0,
650
+				RetailPrice:      info.RetailPrice,
651
+				RetailTotalPrice: info.RetailTotalPrice,
652
+				Price:            info.Price,
653
+				RegisterAccount:  "",
654
+				Remark:           info.Remark,
655
+				BatchNumber:      info.BatchNumber,
656
+				MaxUnit:          advice.PrescribingNumberUnit,
657
+				ProductDate:      info.ProductDate,
658
+				ExpiryDate:       info.ExpiryDate,
659
+				BatchNumberId:    info.WarehouseInfoId,
660
+				StorehouseId:     houseConfig.DrugStorehouseOut,
661
+				IsCheck:          1,
662
+			}
695 663
 
696
-				prescribingNumber, _ := strconv.ParseInt(floatPrescrip, 10, 64)
664
+			flow := models.DrugFlow{
665
+				WarehousingId:           0,
666
+				DrugId:                  info.DrugId,
667
+				Number:                  "",
668
+				BatchNumber:             info.BatchNumber,
669
+				Count:                   prescribingNumber,
670
+				UserOrgId:               advice.UserOrgId,
671
+				PatientId:               0,
672
+				SystemTime:              info.SysRecordTime,
673
+				ConsumableType:          7,
674
+				IsSys:                   0,
675
+				WarehousingOrder:        "",
676
+				WarehouseOutId:          0,
677
+				WarehouseOutOrderNumber: info.WarehouseOutOrderNumber,
678
+				IsEdit:                  0,
679
+				CancelStockId:           cancelStock.ID,
680
+				CancelOrderNumber:       cancelStock.OrderNumber,
681
+				Manufacturer:            info.Manufacturer,
682
+				Dealer:                  info.Dealer,
683
+				Creator:                 creater,
684
+				UpdateCreator:           0,
685
+				Status:                  1,
686
+				Ctime:                   time.Now().Unix(),
687
+				Mtime:                   0,
688
+				Price:                   info.Price,
689
+				WarehousingDetailId:     0,
690
+				WarehouseOutDetailId:    0,
691
+				CancelOutDetailId:       0,
692
+				ExpireDate:              info.ExpiryDate,
693
+				ProductDate:             info.ProductDate,
694
+				MaxUnit:                 advice.PrescribingNumberUnit,
695
+				MinUnit:                 "",
696
+				AdviceId:                info.AdviceId,
697
+				StorehouseId:            houseConfig.DrugStorehouseOut,
698
+			}
699
+			CreatedCancelStock(cancelStockInfo)
700
+			CreateDrugFlowOne(flow)
701
+			//删除出库记录
702
+			UpdateDrugFlowSeven(info.PatientId, info.SysRecordTime, info.DrugId, advice.ID, info.ID, info.WarehouseOutId)
703
+			//删除流水
704
+			UpdateDrugFlowTens(info.PatientId, info.WarehouseOutOrderNumber, info.DrugId, advice.ID, info.ID)
705
+		}
697 706
 
698
-				if advice.PrescribingNumberUnit == drug.MaxUnit {
699
-					warehouseInfo := models.DrugWarehouseInfo{
700
-						StockMaxNumber: prescribingNumber,
701
-					}
702
-					UpdateDrugWarehouseOne(info.WarehouseInfoId, warehouseInfo)
707
+		if advice.PrescribingNumberUnit == drug.MaxUnit && drug.MaxUnit == drug.MinUnit {
703 708
 
704
-				}
709
+			houseConfig, _ := GetAllStoreHouseConfig(advice.UserOrgId)
705 710
 
706
-				operation_time := time.Now().Unix()
707
-				ctime := time.Now().Unix()
708
-				timeStr := time.Now().Format("2006-01-02")
709
-				timeArr := strings.Split(timeStr, "-")
710
-				total, _ := FindAllDrugCancelStockTotal(advice.UserOrgId)
711
-				total = total + 1
712
-				orderNumber := "CKTKD" + strconv.FormatInt(advice.UserOrgId, 10) + timeArr[0] + timeArr[1] + timeArr[2] + "000" + strconv.FormatInt(total, 10)
713
-
714
-				cancelStock := models.DrugCancelStock{
715
-					OrderNumber:  orderNumber,
716
-					OperaTime:    operation_time,
717
-					OrgId:        advice.UserOrgId,
718
-					Creater:      creater,
719
-					Ctime:        ctime,
720
-					Status:       1,
721
-					ReturnTime:   advice.AdviceDate,
722
-					Dealer:       info.Dealer,
723
-					Manufacturer: info.Manufacturer,
724
-					Type:         1,
725
-					StorehouseId: houseConfig.DrugStorehouseOut,
726
-					IsCheck:      1,
727
-				}
728
-				AddSigleDrugCancelStock(&cancelStock)
729
-				fmt.Println("到这里了吗32222222222222222222222222222222222222222222222")
730
-
731
-				manufactureName, _ := GetManufactureById(info.Manufacturer)
732
-				dealer, _ := GetDealerById(info.Dealer)
733
-				cancelInfo, _ := GetLastDrugCancelStockById(advice.UserOrgId)
734
-				cancelStockInfo := models.DrugCancelStockInfo{
735
-					OrderNumber:      cancelInfo.OrderNumber,
736
-					CancelStockId:    cancelInfo.ID,
737
-					DrugId:           info.DrugId,
738
-					Count:            info.Count,
739
-					Status:           1,
740
-					Ctime:            ctime,
741
-					OrgId:            advice.UserOrgId,
742
-					Type:             1,
743
-					Manufacturer:     manufactureName.ManufacturerName,
744
-					Dealer:           dealer.DealerName,
745
-					Total:            0,
746
-					RetailPrice:      info.RetailPrice,
747
-					RetailTotalPrice: info.RetailTotalPrice,
748
-					Price:            info.Price,
749
-					RegisterAccount:  "",
750
-					Remark:           info.Remark,
751
-					BatchNumber:      info.BatchNumber,
752
-					MaxUnit:          info.CountUnit,
753
-					ProductDate:      info.ProductDate,
754
-					ExpiryDate:       info.ExpiryDate,
755
-					BatchNumberId:    info.WarehouseInfoId,
756
-					StorehouseId:     houseConfig.DrugStorehouseOut,
757
-					IsCheck:          1,
711
+			if advice.PrescribingNumberUnit == drug.MaxUnit {
712
+				warehouseInfo := models.DrugWarehouseInfo{
713
+					StockMaxNumber: prescribingNumber,
758 714
 				}
715
+				UpdateDrugWarehouseOne(info.WarehouseInfoId, warehouseInfo)
759 716
 
760
-				flow := models.DrugFlow{
761
-					WarehousingId:           0,
762
-					DrugId:                  info.DrugId,
763
-					Number:                  "",
764
-					BatchNumber:             info.BatchNumber,
765
-					Count:                   info.Count,
766
-					UserOrgId:               advice.UserOrgId,
767
-					PatientId:               0,
768
-					SystemTime:              info.SysRecordTime,
769
-					ConsumableType:          7,
770
-					IsSys:                   0,
771
-					WarehousingOrder:        "",
772
-					WarehouseOutId:          0,
773
-					WarehouseOutOrderNumber: info.WarehouseOutOrderNumber,
774
-					IsEdit:                  0,
775
-					CancelStockId:           cancelStock.ID,
776
-					CancelOrderNumber:       cancelStock.OrderNumber,
777
-					Manufacturer:            info.Manufacturer,
778
-					Dealer:                  info.Dealer,
779
-					Creator:                 creater,
780
-					UpdateCreator:           0,
781
-					Status:                  1,
782
-					Ctime:                   time.Now().Unix(),
783
-					Mtime:                   0,
784
-					Price:                   info.Price,
785
-					WarehousingDetailId:     0,
786
-					WarehouseOutDetailId:    0,
787
-					CancelOutDetailId:       0,
788
-					ExpireDate:              info.ExpiryDate,
789
-					ProductDate:             info.ProductDate,
790
-					MaxUnit:                 info.CountUnit,
791
-					MinUnit:                 "",
792
-					AdviceId:                info.AdviceId,
793
-					StorehouseId:            houseConfig.DrugStorehouseOut,
794
-				}
795
-				CreatedCancelStock(cancelStockInfo)
796
-				CreateDrugFlowOne(flow)
797
-				//删除出库记录
798
-				UpdateDrugFlowSeven(info.PatientId, info.SysRecordTime, info.DrugId, advice.ID, info.ID, info.WarehouseOutId)
799
-				//删除流水
800
-				UpdateDrugFlowTens(info.PatientId, info.WarehouseOutOrderNumber, info.DrugId, advice.ID, info.ID)
801 717
 			}
718
+
719
+			operation_time := time.Now().Unix()
720
+			ctime := time.Now().Unix()
721
+			timeStr := time.Now().Format("2006-01-02")
722
+			timeArr := strings.Split(timeStr, "-")
723
+			total, _ := FindAllDrugCancelStockTotal(advice.UserOrgId)
724
+			total = total + 1
725
+			orderNumber := "CKTKD" + strconv.FormatInt(advice.UserOrgId, 10) + timeArr[0] + timeArr[1] + timeArr[2] + "000" + strconv.FormatInt(total, 10)
726
+
727
+			cancelStock := models.DrugCancelStock{
728
+				OrderNumber:  orderNumber,
729
+				OperaTime:    operation_time,
730
+				OrgId:        advice.UserOrgId,
731
+				Creater:      creater,
732
+				Ctime:        ctime,
733
+				Status:       1,
734
+				ReturnTime:   advice.AdviceDate,
735
+				Dealer:       info.Dealer,
736
+				Manufacturer: info.Manufacturer,
737
+				Type:         1,
738
+				StorehouseId: houseConfig.DrugStorehouseOut,
739
+				IsCheck:      1,
740
+			}
741
+			AddSigleDrugCancelStock(&cancelStock)
742
+			fmt.Println("到这里了吗32222222222222222222222222222222222222222222222")
743
+
744
+			manufactureName, _ := GetManufactureById(info.Manufacturer)
745
+			dealer, _ := GetDealerById(info.Dealer)
746
+			cancelInfo, _ := GetLastDrugCancelStockById(advice.UserOrgId)
747
+			cancelStockInfo := models.DrugCancelStockInfo{
748
+				OrderNumber:      cancelInfo.OrderNumber,
749
+				CancelStockId:    cancelInfo.ID,
750
+				DrugId:           info.DrugId,
751
+				Count:            prescribingNumber,
752
+				Status:           1,
753
+				Ctime:            ctime,
754
+				OrgId:            advice.UserOrgId,
755
+				Type:             1,
756
+				Manufacturer:     manufactureName.ManufacturerName,
757
+				Dealer:           dealer.DealerName,
758
+				Total:            0,
759
+				RetailPrice:      info.RetailPrice,
760
+				RetailTotalPrice: info.RetailTotalPrice,
761
+				Price:            info.Price,
762
+				RegisterAccount:  "",
763
+				Remark:           info.Remark,
764
+				BatchNumber:      info.BatchNumber,
765
+				MaxUnit:          advice.PrescribingNumberUnit,
766
+				ProductDate:      info.ProductDate,
767
+				ExpiryDate:       info.ExpiryDate,
768
+				BatchNumberId:    info.WarehouseInfoId,
769
+				StorehouseId:     houseConfig.DrugStorehouseOut,
770
+				IsCheck:          1,
771
+			}
772
+
773
+			flow := models.DrugFlow{
774
+				WarehousingId:           0,
775
+				DrugId:                  info.DrugId,
776
+				Number:                  "",
777
+				BatchNumber:             info.BatchNumber,
778
+				Count:                   prescribingNumber,
779
+				UserOrgId:               advice.UserOrgId,
780
+				PatientId:               0,
781
+				SystemTime:              info.SysRecordTime,
782
+				ConsumableType:          7,
783
+				IsSys:                   0,
784
+				WarehousingOrder:        "",
785
+				WarehouseOutId:          0,
786
+				WarehouseOutOrderNumber: info.WarehouseOutOrderNumber,
787
+				IsEdit:                  0,
788
+				CancelStockId:           cancelStock.ID,
789
+				CancelOrderNumber:       cancelStock.OrderNumber,
790
+				Manufacturer:            info.Manufacturer,
791
+				Dealer:                  info.Dealer,
792
+				Creator:                 creater,
793
+				UpdateCreator:           0,
794
+				Status:                  1,
795
+				Ctime:                   time.Now().Unix(),
796
+				Mtime:                   0,
797
+				Price:                   info.Price,
798
+				WarehousingDetailId:     0,
799
+				WarehouseOutDetailId:    0,
800
+				CancelOutDetailId:       0,
801
+				ExpireDate:              info.ExpiryDate,
802
+				ProductDate:             info.ProductDate,
803
+				MaxUnit:                 advice.PrescribingNumberUnit,
804
+				MinUnit:                 "",
805
+				AdviceId:                info.AdviceId,
806
+				StorehouseId:            houseConfig.DrugStorehouseOut,
807
+			}
808
+			CreatedCancelStock(cancelStockInfo)
809
+			CreateDrugFlowOne(flow)
810
+			//删除出库记录
811
+			UpdateDrugFlowSeven(info.PatientId, info.SysRecordTime, info.DrugId, advice.ID, info.ID, info.WarehouseOutId)
812
+			//删除流水
813
+			UpdateDrugFlowTens(info.PatientId, info.WarehouseOutOrderNumber, info.DrugId, advice.ID, info.ID)
802 814
 		}
815
+
803 816
 		//更新字典里面的库存
804 817
 		stockInfo, _ := GetDrugAllStockInfo(storeHouseConfig.DrugStorehouseOut, advice.UserOrgId, advice.DrugId)
805 818
 		//查询改药品信息

+ 37 - 6
service/stock_service.go View File

@@ -409,6 +409,11 @@ func AddSigleWarehouse(warehouse *models.Warehousing) error {
409 409
 	return err
410 410
 
411 411
 }
412
+func UpdateWarehouse(id int64, storehouse_id int64) error {
413
+
414
+	err := XTWriteDB().Model(&models.Warehousing{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"storehouse_id": storehouse_id}).Error
415
+	return err
416
+}
412 417
 
413 418
 func AddSigleDrugWarehouse(warehouse *models.DrugWarehouse) error {
414 419
 	err := writeDb.Create(&warehouse).Error
@@ -416,6 +421,11 @@ func AddSigleDrugWarehouse(warehouse *models.DrugWarehouse) error {
416 421
 
417 422
 }
418 423
 
424
+func UpdateSigleDrugWarehouse(id int64, storehosue_id int64) error {
425
+	err := XTWriteDB().Model(&models.DrugWarehouse{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"storehouse_id": storehosue_id}).Error
426
+	return err
427
+}
428
+
419 429
 func AddSigleSalesReturn(salesReturn *models.SalesReturn) error {
420 430
 	err := writeDb.Create(&salesReturn).Error
421 431
 	return err
@@ -1440,12 +1450,24 @@ func AddSigleWarehouseOut(warehouseOut *models.WarehouseOut) error {
1440 1450
 
1441 1451
 }
1442 1452
 
1453
+func UpdateSingleWarehoseOut(id int64, storehouse_id int64) error {
1454
+
1455
+	err := XTWriteDB().Model(&models.WarehouseOut{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"storehouse_id": storehouse_id}).Error
1456
+	return err
1457
+}
1458
+
1443 1459
 func AddSigleDrugWarehouseOut(warehouseOut *models.DrugWarehouseOut) error {
1444 1460
 	err := writeDb.Create(&warehouseOut).Error
1445 1461
 	return err
1446 1462
 
1447 1463
 }
1448 1464
 
1465
+func UpdateSingleDrugWarehouseOut(id int64, storehouse_id int64) error {
1466
+
1467
+	err := XTWriteDB().Model(&models.DrugWarehouseOut{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"storehouse_id": storehouse_id}).Error
1468
+	return err
1469
+}
1470
+
1449 1471
 func CreateWarehousingOutInfo(warehouseOutInfo []*models.WarehouseOutInfo) (err error) {
1450 1472
 	if len(warehouseOutInfo) > 0 {
1451 1473
 		utx := writeDb.Begin()
@@ -1818,6 +1840,10 @@ func AddSigleCancelStock(cancelStock *models.CancelStock) error {
1818 1840
 	return err
1819 1841
 
1820 1842
 }
1843
+func UpdateSigleCancelStock(id int64, storehouse_id int64) error {
1844
+	err := XTWriteDB().Model(&models.CancelStock{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"storehouse_id": storehouse_id}).Error
1845
+	return err
1846
+}
1821 1847
 
1822 1848
 func GetLastCancelStockById(orgid int64) (models.CancelStock, error) {
1823 1849
 	stock := models.CancelStock{}
@@ -1853,6 +1879,11 @@ func AddSigleDrugCancelStock(cancelStock *models.DrugCancelStock) error {
1853 1879
 	err := writeDb.Create(&cancelStock).Error
1854 1880
 	return err
1855 1881
 }
1882
+func UpdateSingleDrugCancelStock(id int64, storehouse_id int64) error {
1883
+
1884
+	err := XTWriteDB().Model(&models.DrugCancelStock{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"storehouse_id": storehouse_id}).Error
1885
+	return err
1886
+}
1856 1887
 
1857 1888
 //func AddSigleDrugCancelStockTX(cancelStock *models.DrugCancelStock,tx *gorm.DB) error {
1858 1889
 //	err := tx.Create(&cancelStock).Error
@@ -4182,7 +4213,7 @@ func GetOrderDetialByOrderIdOne(id []string, orgid int64) (out []*models.Warehou
4182 4213
 	}
4183 4214
 
4184 4215
 	err = db.Select("x.id,x.warehouse_out_id,x.good_id,sum(x.count) as count,x.price,x.total_price,x.product_date,x.expiry_date,x.ctime,x.org_id,x.warehouse_out_order_number,x.type,x.dealer,t.manufacturer,t.social_security_directory_code,x.is_sys,x.sys_record_time,n.number,x.remark,x.license_number,x.storehouse_id,x.admin_user_id,x.buy_price,x.stock_count,t.good_name,t.good_type_id,t.specification_name,t.min_number,t.packing_unit,t.min_unit,t.packing_price").Joins("left join xt_warehouse_info as n on n.id=x.warehouse_info_id").Joins("left join xt_good_information as t on t.id=x.good_id").Group("x.warehouse_out_id,x.good_id").Order("x.ctime desc").Scan(&out).Error
4185
-	err = db.Select("x.id,x.warehouse_out_id,x.good_id,sum(x.count) as count,x.price,x.total_price,x.product_date,x.expiry_date,x.ctime,x.org_id,x.warehouse_out_order_number,x.type,x.dealer,t.manufacturer,t.social_security_directory_code,x.is_sys,x.sys_record_time,x.number,x.remark,x.license_number,x.storehouse_id,x.admin_user_id,x.buy_price,x.stock_count,x.register_number,t.good_name,t.good_type_id,t.specification_name,t.min_number,t.packing_unit,t.min_unit,t.packing_price").Joins("left join xt_good_information as t on t.id=x.good_id").Group("x.warehouse_out_id,x.good_id").Order("x.ctime desc").Scan(&out).Error
4216
+
4186 4217
 	return out, err
4187 4218
 }
4188 4219
 
@@ -7043,7 +7074,7 @@ func FindLastWarehousing(order string) (info models.Warehousing, err error) {
7043 7074
 
7044 7075
 func UpdateWarehouseDetail(info *models.WarehousingInfo, id int64) error {
7045 7076
 
7046
-	err := XTWriteDB().Model(&models.WarehousingInfo{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"good_id": info.GoodId, "good_type_id": info.GoodTypeId, "number": info.Number, "product_date": info.ProductDate, "expiry_date": info.ExpiryDate, "warehousing_count": info.WarehousingCount, "warehousing_unit": info.WarehousingUnit, "price": info.Price, "total_price": info.TotalPrice, "dealer": info.Dealer, "manufacturer": info.Manufacturer, "remark": info.Remark, "license_number": info.LicenseNumber, "packing_price": info.PackingPrice}).Error
7077
+	err := XTWriteDB().Model(&models.WarehousingInfo{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"good_id": info.GoodId, "good_type_id": info.GoodTypeId, "number": info.Number, "product_date": info.ProductDate, "expiry_date": info.ExpiryDate, "warehousing_count": info.WarehousingCount, "warehousing_unit": info.WarehousingUnit, "price": info.Price, "total_price": info.TotalPrice, "dealer": info.Dealer, "manufacturer": info.Manufacturer, "remark": info.Remark, "license_number": info.LicenseNumber, "packing_price": info.PackingPrice, "register_number": info.RegisterNumber, "storehouse_id": info.StorehouseId}).Error
7047 7078
 	return err
7048 7079
 }
7049 7080
 
@@ -7184,7 +7215,7 @@ func UpdateDrugWarehouseInfoTwenty(id int64, info *models.DrugWarehouseInfo) err
7184 7215
 
7185 7216
 func UpdatedDrugWarehouseInfo(info *models.DrugWarehouseOutInfo, id int64) error {
7186 7217
 
7187
-	err := XTWriteDB().Model(&models.DrugWarehouseOutInfo{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"drug_id": info.DrugId, "count": info.Count, "count_unit": info.CountUnit, "price": info.Price, "product_date": info.ProductDate, "expiry_date": info.ExpiryDate, "remark": info.Remark, "dealer": info.Dealer, "manufacturer": info.Manufacturer, "retail_price": info.RetailPrice, "retail_total_price": info.RetailTotalPrice, "number": info.Number, "batch_number": info.BatchNumber, "admin_user_id": info.AdminUserId, "last_price": info.LastPrice, "stock_count": info.StockCount}).Error
7218
+	err := XTWriteDB().Model(&models.DrugWarehouseOutInfo{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"drug_id": info.DrugId, "count": info.Count, "count_unit": info.CountUnit, "price": info.Price, "product_date": info.ProductDate, "expiry_date": info.ExpiryDate, "remark": info.Remark, "dealer": info.Dealer, "manufacturer": info.Manufacturer, "retail_price": info.RetailPrice, "retail_total_price": info.RetailTotalPrice, "number": info.Number, "batch_number": info.BatchNumber, "admin_user_id": info.AdminUserId, "last_price": info.LastPrice, "stock_count": info.StockCount, "storehouse_id": info.StorehouseId}).Error
7188 7219
 	return err
7189 7220
 }
7190 7221
 
@@ -7293,7 +7324,7 @@ func GetCancelStockInfo(id int64, orgid int64) (stock []*models.CancelStockInfo,
7293 7324
 
7294 7325
 func ModifyCancelStockInfo(id int64, info *models.CancelStockInfo) error {
7295 7326
 
7296
-	err := XTWriteDB().Model(&models.CancelStockInfo{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"good_id": info.GoodId, "good_type_id": info.GoodTypeId, "count": info.Count, "price": info.Price, "total": info.Total, "product_date": info.ProductDate, "expiry_date": info.ExpiryDate, "dealer": info.Dealer, "manufacturer": info.Manufacturer, "number": info.Number, "register_account": info.RegisterAccount, "remark": info.Remark}).Error
7327
+	err := XTWriteDB().Model(&models.CancelStockInfo{}).Where("id = ? and status = 1", id).Update(map[string]interface{}{"good_id": info.GoodId, "good_type_id": info.GoodTypeId, "count": info.Count, "price": info.Price, "total": info.Total, "product_date": info.ProductDate, "expiry_date": info.ExpiryDate, "dealer": info.Dealer, "manufacturer": info.Manufacturer, "number": info.Number, "register_account": info.RegisterAccount, "remark": info.Remark, "storehouse_id": info.StorehouseId}).Error
7297 7328
 	return err
7298 7329
 }
7299 7330
 
@@ -7366,9 +7397,9 @@ func UpdateDrugSumCount(drugid int64, sum_count int64, sum_in_count int64, orgid
7366 7397
 	return err
7367 7398
 }
7368 7399
 
7369
-func GetDrugStockWarehouseInfo(id int64, orgid int64) (info []*models.DrugWarehouseInfo, err error) {
7400
+func GetDrugStockWarehouseInfo(id int64, orgid int64, storehouse_id int64) (info []*models.DrugWarehouseInfo, err error) {
7370 7401
 
7371
-	err = XTReadDB().Where("id = ? and org_id = ? and status = 1 and is_check = 1", id, orgid).Find(&info).Error
7402
+	err = XTReadDB().Where("id = ? and org_id = ? and status = 1 and is_check = 1 and storehouse_id = ?", id, orgid, storehouse_id).Find(&info).Error
7372 7403
 	return info, err
7373 7404
 }
7374 7405