Browse Source

历史排班

28169 1 year ago
parent
commit
d88a33a589

BIN
XT_New.exe View File


+ 13 - 17
controllers/drug_stock_api_contorller.go View File

3820
 		medical, _ := service.GetBaseDrugMedical(it.DrugId)
3820
 		medical, _ := service.GetBaseDrugMedical(it.DrugId)
3821
 		////出库数量累加
3821
 		////出库数量累加
3822
 		var out_count_one int64
3822
 		var out_count_one int64
3823
-		//fmt.Println("it.count", it.CountUnit)
3824
-		//fmt.Println("MaxUnit", medical.MaxUnit)
3825
-		//fmt.Println("MinUnit", medical.MinUnit)
3826
-		//fmt.Println("count", it.Count)
3827
-		//fmt.Println("number", medical.MinNumber)
3823
+
3828
 		if it.CountUnit == medical.MaxUnit && medical.MaxUnit != medical.MinUnit {
3824
 		if it.CountUnit == medical.MaxUnit && medical.MaxUnit != medical.MinUnit {
3829
 			out_count_one = it.Count * medical.MinNumber
3825
 			out_count_one = it.Count * medical.MinNumber
3830
 		}
3826
 		}
3836
 		if it.CountUnit == medical.MaxUnit && medical.MaxUnit == medical.MinUnit {
3832
 		if it.CountUnit == medical.MaxUnit && medical.MaxUnit == medical.MinUnit {
3837
 			out_count_one = it.Count
3833
 			out_count_one = it.Count
3838
 		}
3834
 		}
3839
-		//fmt.Println("countone3232232323323232332332wo", out_count_one)
3840
-		//增加出库数量
3835
+
3841
 		service.AddDrugCount(it.DrugId, it.OrgId, storeHouseConfig.DrugStorehouseOut, out_count_one)
3836
 		service.AddDrugCount(it.DrugId, it.OrgId, storeHouseConfig.DrugStorehouseOut, out_count_one)
3842
-		//fmt.Println("countunit23322332232323", it.CountUnit)
3843
 
3837
 
3844
 	}
3838
 	}
3845
 	warehousingOutInfoListThree, _ := service.GetDrugWarehouseOutListById(warehouse_out_id, orgId)
3839
 	warehousingOutInfoListThree, _ := service.GetDrugWarehouseOutListById(warehouse_out_id, orgId)
3847
 		medical, _ := service.GetBaseDrugMedical(it.DrugId)
3841
 		medical, _ := service.GetBaseDrugMedical(it.DrugId)
3848
 		drup, _ := service.FindBaseDrugLibRecord(it.OrgId, it.DrugId)
3842
 		drup, _ := service.FindBaseDrugLibRecord(it.OrgId, it.DrugId)
3849
 		//出库逻辑
3843
 		//出库逻辑
3850
-		service.AutoDrugDeliverInfoFourtyOne(orgId, it.Count, &drugWarehouseOut, &drup, it)
3844
+		service.AutoDrugDeliverInfoFourtyOne(orgId, it.Count, &drugWarehouseOut, &drup, it, it.CountUnit)
3851
 
3845
 
3852
 		//查询剩余库存
3846
 		//查询剩余库存
3853
 		stockInfo, _ := service.GetDrugAllStockInfo(storeHouseConfig.DrugStorehouseOut, it.OrgId, it.DrugId)
3847
 		stockInfo, _ := service.GetDrugAllStockInfo(storeHouseConfig.DrugStorehouseOut, it.OrgId, it.DrugId)
3861
 		//更新基础库库存
3855
 		//更新基础库库存
3862
 		service.UpdateBaseDrugSumTwo(it.DrugId, sum_count, it.OrgId)
3856
 		service.UpdateBaseDrugSumTwo(it.DrugId, sum_count, it.OrgId)
3863
 
3857
 
3864
-		//查询该药品剩余库存
3865
-		//infolist, _ := service.FindDrugWarehouseInfoFlushCountByStorehouse(it.DrugId, it.OrgId, storeHouseConfig.DrugStorehouseOut)
3866
-		//var over_count int64
3867
-		//for _, its := range infolist {
3868
-		//  over_count += its.StockMaxNumber*medical.MinNumber + its.StockMinNumber
3869
-		//}
3870
-		//更新剩余库存
3871
 		service.UpdateDrugStockCount(it.DrugId, it.OrgId, storeHouseConfig.DrugStorehouseOut, sum_count)
3858
 		service.UpdateDrugStockCount(it.DrugId, it.OrgId, storeHouseConfig.DrugStorehouseOut, sum_count)
3872
 
3859
 
3873
 	}
3860
 	}
3996
 		infolist, _ := service.FindDrugWarehouseInfoFlushCountByStorehouse(item.DrugId, item.OrgId, storeHouseConfig.DrugStorehouseOut)
3983
 		infolist, _ := service.FindDrugWarehouseInfoFlushCountByStorehouse(item.DrugId, item.OrgId, storeHouseConfig.DrugStorehouseOut)
3997
 		var over_count int64
3984
 		var over_count int64
3998
 		for _, its := range infolist {
3985
 		for _, its := range infolist {
3999
-			over_count += its.StockMaxNumber*medical.MinNumber + its.StockMinNumber
3986
+			baseDrug, _ := service.GetBaseDrugMedical(its.DrugId)
3987
+			fmt.Println("ITS", its.MaxUnit)
3988
+			fmt.Println("itwowoowow", baseDrug.MaxUnit)
3989
+			if its.MaxUnit == baseDrug.MaxUnit {
3990
+				its.StockMaxNumber = its.StockMaxNumber * baseDrug.MinNumber
3991
+			}
3992
+			fmt.Println("its.StockMaxNumber", its.StockMaxNumber)
3993
+			fmt.Println("its.StockMinNumber", its.StockMinNumber)
3994
+			over_count += its.StockMaxNumber + its.StockMinNumber
4000
 		}
3995
 		}
3996
+		fmt.Println("over_coutnwowowowowo", over_count)
4001
 		service.UpdateDrugStockCount(item.DrugId, item.OrgId, storeHouseConfig.DrugStorehouseOut, over_count)
3997
 		service.UpdateDrugStockCount(item.DrugId, item.OrgId, storeHouseConfig.DrugStorehouseOut, over_count)
4002
 
3998
 
4003
 	}
3999
 	}

+ 6 - 6
controllers/pharmacy_controller.go View File

90
 		etime = stime + 86399
90
 		etime = stime + 86399
91
 	}
91
 	}
92
 
92
 
93
-	if orgid != 9671 && orgid != 10188 && orgid != 10217 && orgid != 3877 && orgid != 10164 {
93
+	if orgid != 9671 && orgid != 10188 && orgid != 10217 && orgid != 3877 && orgid != 10164 && orgid != 10480 {
94
 		//查询表里当天的数据
94
 		//查询表里当天的数据
95
 		var wtotal int
95
 		var wtotal int
96
 		wtotal, err = service.GetTodayPharmacy(stime, etime, orgid, 1)
96
 		wtotal, err = service.GetTodayPharmacy(stime, etime, orgid, 1)
118
 		return
118
 		return
119
 	}
119
 	}
120
 
120
 
121
-	if orgid == 9671 || orgid == 10188 || orgid == 10217 || orgid == 3877 || orgid == 10164 {
121
+	if orgid == 9671 || orgid == 10188 || orgid == 10217 || orgid == 3877 || orgid == 10164 || orgid == 10480 {
122
 		var wtotal int
122
 		var wtotal int
123
 		var itotal int
123
 		var itotal int
124
 		//查找出库数量
124
 		//查找出库数量
169
 		etime = stime + 86399
169
 		etime = stime + 86399
170
 	}
170
 	}
171
 
171
 
172
-	if orgid == 10164 || orgid == 3877 || orgid == 10188 || orgid == 10217 || orgid == 9671 || orgid == 10387 || orgid == 10375 {
172
+	if orgid == 10164 || orgid == 3877 || orgid == 10188 || orgid == 10217 || orgid == 9671 || orgid == 10387 || orgid == 10375 || orgid == 10480 {
173
 
173
 
174
 		//获取排班班次
174
 		//获取排班班次
175
 		schedule, _ := service.GetSchedulePatientId(stime, etime, orgid, shift, partition)
175
 		schedule, _ := service.GetSchedulePatientId(stime, etime, orgid, shift, partition)
193
 		})
193
 		})
194
 	}
194
 	}
195
 
195
 
196
-	if orgid != 10164 && orgid == 3877 && orgid != 10188 && orgid != 10217 && orgid != 9671 && orgid != 10387 && orgid != 10375 {
196
+	if orgid != 10164 && orgid == 3877 && orgid != 10188 && orgid != 10217 && orgid != 9671 && orgid != 10387 && orgid != 10375 && orgid != 10480 {
197
 		//查询表里当天的数据
197
 		//查询表里当天的数据
198
 		var flist []*models.TmpPatient
198
 		var flist []*models.TmpPatient
199
 		flist, err = service.GetTodayDrug(stime, etime, orgid, 1, keyword)
199
 		flist, err = service.GetTodayDrug(stime, etime, orgid, 1, keyword)
249
 		etime = stime + 86399
249
 		etime = stime + 86399
250
 	}
250
 	}
251
 
251
 
252
-	if orgid != 9671 && orgid != 10188 && orgid != 10217 && orgid != 3877 && orgid != 10164 && orgid != 10387 && orgid != 10375 {
252
+	if orgid != 9671 && orgid != 10188 && orgid != 10217 && orgid != 3877 && orgid != 10164 && orgid != 10387 && orgid != 10375 && orgid != 10480 {
253
 		//查询表里当天的数据
253
 		//查询表里当天的数据
254
 		var flist []*models.TmpPatient
254
 		var flist []*models.TmpPatient
255
 		flist, err = service.GetTodayDrug(stime, etime, orgid, 0, keyword)
255
 		flist, err = service.GetTodayDrug(stime, etime, orgid, 0, keyword)
273
 	}
273
 	}
274
 
274
 
275
 	//当天已发药的人数
275
 	//当天已发药的人数
276
-	if orgid == 9671 || orgid == 10188 || orgid == 10217 || orgid == 3877 || orgid == 10164 || orgid == 10387 || orgid == 10375 {
276
+	if orgid == 9671 || orgid == 10188 || orgid == 10217 || orgid == 3877 || orgid == 10164 || orgid == 10387 || orgid == 10375 || orgid == 10480 {
277
 
277
 
278
 		//获取排班班次
278
 		//获取排班班次
279
 		schedule, _ := service.GetSchedulePatientId(stime, etime, orgid, shift, partition)
279
 		schedule, _ := service.GetSchedulePatientId(stime, etime, orgid, shift, partition)

+ 2 - 0
models/patient_models.go View File

25
 	TrobleShoot        int64  `gorm:"column:troble_shoot" json:"troble_shoot" form:"troble_shoot"`
25
 	TrobleShoot        int64  `gorm:"column:troble_shoot" json:"troble_shoot" form:"troble_shoot"`
26
 	SchRemark          string `gorm:"column:sch_remark" json:"sch_remark" form:"sch_remark"`
26
 	SchRemark          string `gorm:"column:sch_remark" json:"sch_remark" form:"sch_remark"`
27
 	ScheduleRemark     string `gorm:"column:schedule_remark" json:"schedule_remark" form:"schedule_remark"`
27
 	ScheduleRemark     string `gorm:"column:schedule_remark" json:"schedule_remark" form:"schedule_remark"`
28
+	FirstLetter        string `gorm:"column:first_letter" json:"first_letter" form:"first_letter"`
28
 }
29
 }
29
 
30
 
30
 func (MSchedualPatientList) TableName() string {
31
 func (MSchedualPatientList) TableName() string {
832
 	InfectiousRemark             string  `gorm:"column:infectious_remark" json:"infectious_remark" form:"infectious_remark"`
833
 	InfectiousRemark             string  `gorm:"column:infectious_remark" json:"infectious_remark" form:"infectious_remark"`
833
 	AllergicHistory              string  `gorm:"column:allergic_history" json:"allergic_history" form:"allergic_history"`
834
 	AllergicHistory              string  `gorm:"column:allergic_history" json:"allergic_history" form:"allergic_history"`
834
 	PatientAddress               string  `gorm:"column:patient_address" json:"patient_address" form:"patient_address"`
835
 	PatientAddress               string  `gorm:"column:patient_address" json:"patient_address" form:"patient_address"`
836
+	FirstLetter                  string  `gorm:"column:first_letter" json:"first_letter" form:"first_letter"`
835
 }
837
 }
836
 
838
 
837
 func (XtPatientsNew) TableName() string {
839
 func (XtPatientsNew) TableName() string {

+ 2 - 2
service/new_warehouse_service.go View File

1554
 
1554
 
1555
 			//查询今日该药品该患者是否有出库数据
1555
 			//查询今日该药品该患者是否有出库数据
1556
 			lastDrugOutInfo, _ := GetNewDrugWarehouseOutInfoSix(advice.DrugId, advice.PatientId, advice.RecordDate, advice.UserOrgId, advice.ID, warehouse.ID)
1556
 			lastDrugOutInfo, _ := GetNewDrugWarehouseOutInfoSix(advice.DrugId, advice.PatientId, advice.RecordDate, advice.UserOrgId, advice.ID, warehouse.ID)
1557
-			fmt.Println("以色列---------------------------------------", lastDrugOutInfo.ID)
1557
+
1558
 			if lastDrugOutInfo.ID == 0 {
1558
 			if lastDrugOutInfo.ID == 0 {
1559
 				errOne := AddSigleDrugWarehouseOutInfo(warehouseOutInfo)
1559
 				errOne := AddSigleDrugWarehouseOutInfo(warehouseOutInfo)
1560
 				if errOne != nil {
1560
 				if errOne != nil {
1575
 				}
1575
 				}
1576
 			}
1576
 			}
1577
 			if lastDrugOutInfo.ID > 0 {
1577
 			if lastDrugOutInfo.ID > 0 {
1578
-				fmt.Println("wowowowowowwwwwwwwwwwwwwwwwwwwwwwww")
1578
+
1579
 				//删除在新增
1579
 				//删除在新增
1580
 				UpdateDrugWarehouseOutInfoTen(lastDrugOutInfo.PatientId, lastDrugOutInfo.SysRecordTime, advice.ID)
1580
 				UpdateDrugWarehouseOutInfoTen(lastDrugOutInfo.PatientId, lastDrugOutInfo.SysRecordTime, advice.ID)
1581
 
1581
 

+ 70 - 44
service/warhouse_service.go View File

5764
 }
5764
 }
5765
 
5765
 
5766
 // 药品手动出库 递归方式
5766
 // 药品手动出库 递归方式
5767
-func AutoDrugDeliverInfoFourtyOne(orgID int64, prescribingNumber int64, warehouseout *models.DrugWarehouseOut, drup *models.BaseDrugLib, advice *models.DrugWarehouseOutInfo) (err error) {
5767
+func AutoDrugDeliverInfoFourtyOne(orgID int64, prescribingNumber int64, warehouseout *models.DrugWarehouseOut, drup *models.BaseDrugLib, advice *models.DrugWarehouseOutInfo, unit string) (err error) {
5768
 
5768
 
5769
 	// 判断处方里药品单位是拆零单位还是包装单位,	如果是包装单位,则根据规格,将包装数量转为拆零数量
5769
 	// 判断处方里药品单位是拆零单位还是包装单位,	如果是包装单位,则根据规格,将包装数量转为拆零数量
5770
 	var deliver_number int64 = 0
5770
 	var deliver_number int64 = 0
5771
+
5771
 	var stock_number int64 = 0
5772
 	var stock_number int64 = 0
5772
-	var retail_price float64
5773
+
5774
+	var drug_price float64
5773
 	if advice.CountUnit == drup.MaxUnit {
5775
 	if advice.CountUnit == drup.MaxUnit {
5774
 		deliver_number = prescribingNumber * drup.MinNumber
5776
 		deliver_number = prescribingNumber * drup.MinNumber
5775
-		formatInt := strconv.FormatInt(prescribingNumber, 10)
5776
-		floatcount, _ := strconv.ParseFloat(formatInt, 64)
5777
-		retail_price = floatcount * advice.Price
5777
+
5778
 	} else {
5778
 	} else {
5779
 		deliver_number = prescribingNumber
5779
 		deliver_number = prescribingNumber
5780
-		formatInt := strconv.FormatInt(prescribingNumber, 10)
5781
-		floatcount, _ := strconv.ParseFloat(formatInt, 64)
5782
-		retail_price = floatcount * advice.Price
5780
+
5783
 	}
5781
 	}
5782
+	if advice.CountUnit == drup.MaxUnit {
5783
+		drug_price = drup.RetailPrice
5784
+	}
5785
+	fmt.Println(drug_price)
5784
 
5786
 
5785
-	lastWarehouse, _ := FindLastDrugWarehousingInfoByID(advice.DrugId, warehouseout.StorehouseId)
5786
-	if lastWarehouse.StockMinNumber >= drup.MinNumber {
5787
-		var stockMax int64
5788
-		var stockMin int64
5789
-		stockMax = lastWarehouse.StockMinNumber / drup.MinNumber
5790
-		stockMin = lastWarehouse.StockMinNumber % drup.MinNumber
5791
-		//fmt.Println("stockmax", stockMax)
5792
-		//fmt.Println("stockMin", stockMin)
5793
-		ChangeMaxNumber(lastWarehouse.ID, stockMax)
5794
-		UpdateMinNumber(lastWarehouse.ID, stockMin)
5787
+	if advice.CountUnit == drup.MinUnit {
5788
+		drug_price = drup.MinPrice
5795
 	}
5789
 	}
5796
 
5790
 
5797
-	warehouse, err := FindLastDrugWarehousingInfoByID(advice.DrugId, warehouseout.StorehouseId)
5791
+	if advice.CountUnit != drup.MaxUnit || advice.CountUnit != drup.MinUnit {
5792
+		drug_price = drup.RetailPrice
5793
+	}
5798
 
5794
 
5799
-	if err != nil {
5795
+	// 根据先进先出原则,查询最先入库的批次,进行出库
5796
+	// 如果没有对应的库存,则报错
5797
+	lastWarehouse, _ := FindLastDrugWarehousingInfoByID(advice.DrugId, advice.StorehouseId)
5800
 
5798
 
5801
-		return err
5799
+	if lastWarehouse.MaxUnit != lastWarehouse.MinUnit && drup.MaxUnit != drup.MinUnit && lastWarehouse.MinUnit != "" {
5800
+		if lastWarehouse.StockMinNumber >= drup.MinNumber {
5801
+			var stockMax int64
5802
+			var stockMin int64
5803
+			stockMax = lastWarehouse.StockMinNumber / drup.MinNumber
5804
+			stockMin = lastWarehouse.StockMinNumber % drup.MinNumber
5805
+
5806
+			ChangeMaxNumber(lastWarehouse.ID, stockMax)
5807
+			UpdateMinNumber(lastWarehouse.ID, stockMin)
5808
+
5809
+		}
5802
 	}
5810
 	}
5803
 
5811
 
5812
+	if lastWarehouse.MaxUnit == lastWarehouse.MinUnit && drup.MaxUnit != drup.MinUnit && lastWarehouse.MinUnit != "" {
5813
+
5814
+		lastWarehouse.StockMaxNumber = lastWarehouse.StockMaxNumber + lastWarehouse.StockMinNumber
5815
+		ChangeMaxNumberOne(lastWarehouse.ID, lastWarehouse.StockMaxNumber)
5816
+
5817
+	}
5818
+
5819
+	warehouse, err := FindLastDrugWarehousingInfoByID(advice.DrugId, advice.StorehouseId)
5820
+
5804
 	// 将该批次的剩余库存数量转换为拆零数量
5821
 	// 将该批次的剩余库存数量转换为拆零数量
5805
 	if warehouse.MaxUnit == drup.MaxUnit && drup.MaxUnit != drup.MinUnit {
5822
 	if warehouse.MaxUnit == drup.MaxUnit && drup.MaxUnit != drup.MinUnit {
5823
+
5806
 		stock_number = warehouse.StockMaxNumber*drup.MinNumber + warehouse.StockMinNumber
5824
 		stock_number = warehouse.StockMaxNumber*drup.MinNumber + warehouse.StockMinNumber
5825
+
5807
 	}
5826
 	}
5808
 	if warehouse.MaxUnit == drup.MinUnit && drup.MaxUnit != drup.MinUnit {
5827
 	if warehouse.MaxUnit == drup.MinUnit && drup.MaxUnit != drup.MinUnit {
5828
+
5809
 		stock_number = warehouse.StockMaxNumber + warehouse.StockMinNumber
5829
 		stock_number = warehouse.StockMaxNumber + warehouse.StockMinNumber
5830
+
5810
 	}
5831
 	}
5811
 	if warehouse.MaxUnit == drup.MaxUnit && drup.MaxUnit == drup.MinUnit {
5832
 	if warehouse.MaxUnit == drup.MaxUnit && drup.MaxUnit == drup.MinUnit {
5833
+
5812
 		stock_number = warehouse.StockMaxNumber*drup.MinNumber + warehouse.StockMinNumber
5834
 		stock_number = warehouse.StockMaxNumber*drup.MinNumber + warehouse.StockMinNumber
5813
-	}
5814
 
5835
 
5815
-	fmt.Println("stock_number", stock_number)
5816
-	fmt.Println("deliver_number", deliver_number)
5817
-	// 当库存数量大于或等于出库数量的话,则正常出库该批次
5836
+	}
5818
 	if stock_number >= deliver_number {
5837
 	if stock_number >= deliver_number {
5819
 
5838
 
5820
-		// 出库完成后,要减去对应批次的库存数量
5821
-		// 判断处方里药品单位是拆零单位还是包装单位,	如果是拆零单位,则根据规格,将拆零数量转为包装数量
5822
 		var maxNumber int64 = 0
5839
 		var maxNumber int64 = 0
5823
 		var minNumber int64 = 0
5840
 		var minNumber int64 = 0
5824
 
5841
 
5836
 		}
5853
 		}
5837
 
5854
 
5838
 		if drup.MinUnit == warehouse.MaxUnit && drup.MaxUnit != drup.MinUnit {
5855
 		if drup.MinUnit == warehouse.MaxUnit && drup.MaxUnit != drup.MinUnit {
5856
+			//fmt.Println("金1")
5839
 			warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber*drup.MinNumber
5857
 			warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber*drup.MinNumber
5840
 		}
5858
 		}
5859
+
5841
 		if drup.MaxUnit == warehouse.MaxUnit && drup.MaxUnit != drup.MinUnit {
5860
 		if drup.MaxUnit == warehouse.MaxUnit && drup.MaxUnit != drup.MinUnit {
5861
+			//fmt.Println("金2")
5842
 			warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber
5862
 			warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber
5843
 		}
5863
 		}
5844
 		if drup.MaxUnit == warehouse.MaxUnit && drup.MaxUnit == drup.MinUnit {
5864
 		if drup.MaxUnit == warehouse.MaxUnit && drup.MaxUnit == drup.MinUnit {
5865
+			//fmt.Println("金3")
5845
 			warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber
5866
 			warehouse.StockMaxNumber = warehouse.StockMaxNumber - maxNumber
5846
 		}
5867
 		}
5847
 
5868
 
5854
 
5875
 
5855
 		warehouse.Mtime = time.Now().Unix()
5876
 		warehouse.Mtime = time.Now().Unix()
5856
 
5877
 
5878
+		//fmt.Println("stockmin", warehouse.StockMinNumber)
5879
+		//fmt.Println("minnubmerr", minNumber)
5857
 		if warehouse.StockMinNumber < minNumber {
5880
 		if warehouse.StockMinNumber < minNumber {
5881
+			//fmt.Println("金4")
5858
 			warehouse.StockMaxNumber = warehouse.StockMaxNumber - 1
5882
 			warehouse.StockMaxNumber = warehouse.StockMaxNumber - 1
5859
 			if warehouse.MaxUnit != warehouse.MinUnit {
5883
 			if warehouse.MaxUnit != warehouse.MinUnit {
5860
 				warehouse.StockMinNumber = warehouse.StockMinNumber + drup.MinNumber - minNumber
5884
 				warehouse.StockMinNumber = warehouse.StockMinNumber + drup.MinNumber - minNumber
5861
 			}
5885
 			}
5862
-
5886
+			if minNumber == 2 && warehouse.MaxUnit == warehouse.MinUnit && warehouse.StockMinNumber == 0 {
5887
+				warehouse.StockMaxNumber = warehouse.StockMaxNumber - 1
5888
+			}
5863
 		} else {
5889
 		} else {
5864
-			//fmt.Println("maxNumber23323323332322323w9", maxNumber)
5865
-			//fmt.Println("maxNumber23323323332322323w9", minNumber)
5890
+			//fmt.Println("金5")
5866
 			if minNumber > 0 {
5891
 			if minNumber > 0 {
5867
-				if minNumber == 1 && maxNumber == 1 && drup.MaxUnit != drup.MinUnit {
5868
-					warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
5869
-				} else {
5870
-					if (warehouse.StockMinNumber - minNumber) >= 0 {
5871
-						warehouse.StockMinNumber = warehouse.StockMinNumber - minNumber
5872
-					}
5873
-
5892
+				if (warehouse.StockMinNumber - minNumber) >= 0 {
5893
+					warehouse.StockMinNumber = warehouse.StockMinNumber - minNumber
5874
 				}
5894
 				}
5895
+
5875
 			}
5896
 			}
5876
 
5897
 
5877
-			if minNumber == 0 && maxNumber != 1 {
5898
+			if minNumber == 0 && maxNumber != 1 && warehouse.StockMaxNumber <= 0 {
5899
+				//fmt.Println("6")
5878
 				if warehouse.StockMinNumber > 0 {
5900
 				if warehouse.StockMinNumber > 0 {
5879
-					if (warehouse.StockMinNumber - deliver_number) >= 0 {
5901
+					if warehouse.StockMinNumber-deliver_number >= 0 {
5880
 						warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
5902
 						warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
5881
 					}
5903
 					}
5904
+
5882
 				}
5905
 				}
5906
+
5883
 			}
5907
 			}
5908
+
5884
 		}
5909
 		}
5885
 
5910
 
5886
-		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
5911
+		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit && warehouse.MaxUnit != warehouse.MinUnit {
5887
 			if (warehouse.StockMinNumber - deliver_number) >= 0 {
5912
 			if (warehouse.StockMinNumber - deliver_number) >= 0 {
5913
+				//fmt.Println("金7")
5888
 				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
5914
 				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
5889
 			}
5915
 			}
5890
 
5916
 
5946
 			StockCount:              advice.StockCount,
5972
 			StockCount:              advice.StockCount,
5947
 			WarehousingDetailId:     warehouse.ID,
5973
 			WarehousingDetailId:     warehouse.ID,
5948
 			OverCount:               over_count,
5974
 			OverCount:               over_count,
5949
-			RetailPrice:             retail_price, //手动出库出库价格
5975
+			RetailPrice:             drug_price, //手动出库出库价格
5950
 			WarehousingId:           warehouse.ID,
5976
 			WarehousingId:           warehouse.ID,
5951
 			SystemTime:              advice.SysRecordTime,
5977
 			SystemTime:              advice.SysRecordTime,
5952
 		}
5978
 		}
5964
 	} else {
5990
 	} else {
5965
 		stock_number_int := strconv.FormatInt(stock_number, 10)
5991
 		stock_number_int := strconv.FormatInt(stock_number, 10)
5966
 		stock_number_int_count, _ := strconv.ParseFloat(stock_number_int, 64)
5992
 		stock_number_int_count, _ := strconv.ParseFloat(stock_number_int, 64)
5967
-		retail_price = stock_number_int_count * advice.Price
5993
+		drug_price = stock_number_int_count * advice.Price
5968
 		//扣减库存
5994
 		//扣减库存
5969
 		warehouse.StockMaxNumber = 0
5995
 		warehouse.StockMaxNumber = 0
5970
 		warehouse.StockMinNumber = 0
5996
 		warehouse.StockMinNumber = 0
6014
 			LastPrice:               warehouse.Price,
6040
 			LastPrice:               warehouse.Price,
6015
 			StockCount:              advice.StockCount,
6041
 			StockCount:              advice.StockCount,
6016
 			OverCount:               over_count,
6042
 			OverCount:               over_count,
6017
-			RetailPrice:             retail_price, //手动出库出库价格
6043
+			RetailPrice:             drug_price, //手动出库出库价格
6018
 			WarehousingId:           warehouse.ID,
6044
 			WarehousingId:           warehouse.ID,
6019
 			WarehousingDetailId:     warehouse.ID,
6045
 			WarehousingDetailId:     warehouse.ID,
6020
 			SystemTime:              advice.SysRecordTime,
6046
 			SystemTime:              advice.SysRecordTime,
6029
 
6055
 
6030
 		advice.CountUnit = drup.MinUnit
6056
 		advice.CountUnit = drup.MinUnit
6031
 
6057
 
6032
-		AutoDrugDeliverInfoFourtyOne(orgID, prescribingNumber_two_temp, warehouseout, drup, advice)
6058
+		AutoDrugDeliverInfoFourtyOne(orgID, prescribingNumber_two_temp, warehouseout, drup, advice, unit)
6033
 	}
6059
 	}
6034
 
6060
 
6035
 	return
6061
 	return