Browse Source

新增注册编码

XMLWAN 2 years ago
parent
commit
58b357f27a

+ 1 - 1
controllers/his_api_controller.go View File

@@ -834,7 +834,7 @@ func (c *HisApiController) GetHisPrescriptionConfig() {
834 834
 	houseConfig, _ := service.GetAllStoreHouseConfig(adminInfo.CurrentOrgId)
835 835
 	if adminInfo.CurrentOrgId == 9675 || adminInfo.CurrentOrgId == 9671 || adminInfo.CurrentOrgId == 10215 {
836 836
 		//获取所有基础药
837
-		drugs, _ := service.GetAllDrugLibListSeven(adminInfo.CurrentOrgId, houseConfig.DrugStorehouseOut)
837
+		drugs, _ := service.GetAllDrugLibListSix(adminInfo.CurrentOrgId, houseConfig.DrugStorehouseOut)
838 838
 		_, config := service.FindHisStockPriceRecordByOrgId(adminInfo.CurrentOrgId)
839 839
 		if config.ID > 0 && config.IsOpen == 1 {
840 840
 			for _, item := range drugs {

+ 68 - 43
controllers/stock_in_api_controller.go View File

@@ -268,6 +268,8 @@ func (c *StockManagerApiController) CreateWarehouse() {
268 268
 				dealer := int64(items["dealer"].(float64))
269 269
 
270 270
 				license_number, _ := items["license_number"].(string)
271
+
272
+				register_number, _ := items["register_number"].(string)
271 273
 				//入库单表格
272 274
 				warehouseInfo := &models.WarehousingInfo{
273 275
 					WarehousingOrder: warehousing.WarehousingOrder,
@@ -291,6 +293,7 @@ func (c *StockManagerApiController) CreateWarehouse() {
291 293
 					LicenseNumber:    license_number,
292 294
 					PackingPrice:     packing_price,
293 295
 					StorehouseId:     storehouse_id,
296
+					RegisterNumber:   register_number,
294 297
 				}
295 298
 				warehousingInfo = append(warehousingInfo, warehouseInfo)
296 299
 
@@ -315,6 +318,7 @@ func (c *StockManagerApiController) CreateWarehouse() {
315 318
 					ConsumableType:      1,
316 319
 					WarehousingDetailId: warehouseInfo.ID,
317 320
 					StorehouseId:        storehouse_id,
321
+					RegisterNumber:      register_number,
318 322
 				}
319 323
 				stockFlow = append(stockFlow, flow)
320 324
 			}
@@ -345,6 +349,7 @@ func (c *StockManagerApiController) CreateWarehouse() {
345 349
 			ConsumableType:      1,
346 350
 			WarehousingDetailId: warehousinginfo.ID,
347 351
 			StorehouseId:        storehouse_id,
352
+			RegisterNumber:      item.RegisterNumber,
348 353
 		}
349 354
 		service.CreateStockFlowOne(flow)
350 355
 	}
@@ -599,6 +604,7 @@ func (c *StockManagerApiController) EditWarehouse() {
599 604
 				manufacturer := int64(items["manufacturer"].(float64))
600 605
 				dealer := int64(items["dealer"].(float64))
601 606
 				license_number, _ := items["license_number"].(string)
607
+				register_number, _ := items["register_number"].(string)
602 608
 				if items["id"] == nil || reflect.TypeOf(items["id"]).String() != "float64" {
603 609
 					utils.ErrorLog("id")
604 610
 					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
@@ -629,6 +635,7 @@ func (c *StockManagerApiController) EditWarehouse() {
629 635
 						LicenseNumber:    license_number,
630 636
 						PackingPrice:     packing_price,
631 637
 						StorehouseId:     storehouse_id,
638
+						RegisterNumber:   register_number,
632 639
 					}
633 640
 					warehousingInfo = append(warehousingInfo, warehouseInfo)
634 641
 
@@ -656,6 +663,7 @@ func (c *StockManagerApiController) EditWarehouse() {
656 663
 						LicenseNumber:    license_number,
657 664
 						PackingPrice:     packing_price,
658 665
 						StorehouseId:     storehouse_id,
666
+						RegisterNumber:   register_number,
659 667
 					}
660 668
 					upDateWarehousingInfo = append(upDateWarehousingInfo, warehouseInfo)
661 669
 
@@ -680,6 +688,7 @@ func (c *StockManagerApiController) EditWarehouse() {
680 688
 						ConsumableType:      1,
681 689
 						WarehousingDetailId: warehouseInfo.ID,
682 690
 						StorehouseId:        storehouse_id,
691
+						RegisterNumber:      register_number,
683 692
 					}
684 693
 
685 694
 					stockFlow = append(stockFlow, flow)
@@ -715,6 +724,7 @@ func (c *StockManagerApiController) EditWarehouse() {
715 724
 				ConsumableType:      1,
716 725
 				WarehousingDetailId: info.ID,
717 726
 				StorehouseId:        storehouse_id,
727
+				RegisterNumber:      info.RegisterNumber,
718 728
 			}
719 729
 			_, errcodescode := service.GetGoodStockFlowInfo(info.ID, info.GoodId)
720 730
 
@@ -770,6 +780,7 @@ func (c *StockManagerApiController) EditWarehouse() {
770 780
 					Remark:           item.Remark,
771 781
 					PackingPrice:     item.PackingPrice,
772 782
 					StorehouseId:     storehouse_id,
783
+					RegisterNumber:   item.RegisterNumber,
773 784
 				}
774 785
 
775 786
 				//改变库存
@@ -810,6 +821,7 @@ func (c *StockManagerApiController) EditWarehouse() {
810 821
 					Remark:           item.Remark,
811 822
 					PackingPrice:     item.PackingPrice,
812 823
 					StorehouseId:     storehouse_id,
824
+					RegisterNumber:   item.RegisterNumber,
813 825
 				}
814 826
 
815 827
 				//改变库存
@@ -848,6 +860,7 @@ func (c *StockManagerApiController) EditWarehouse() {
848 860
 					Remark:           item.Remark,
849 861
 					PackingPrice:     item.PackingPrice,
850 862
 					StorehouseId:     storehouse_id,
863
+					RegisterNumber:   item.RegisterNumber,
851 864
 				}
852 865
 				service.UpdateWarehouseInfoByGoodIdOne(goodinfo, item.ID)
853 866
 				//查询该机构默认仓库
@@ -869,15 +882,16 @@ func (c *StockManagerApiController) EditWarehouse() {
869 882
 	if len(stockFlow) > 0 {
870 883
 		for _, item := range stockFlow {
871 884
 			flow := models.VmStockFlow{
872
-				Count:         item.Count,
873
-				Number:        item.Number,
874
-				ProductDate:   item.ProductDate,
875
-				ExpireDate:    item.ExpireDate,
876
-				Price:         item.Price,
877
-				Manufacturer:  item.Manufacturer,
878
-				Dealer:        item.Dealer,
879
-				LicenseNumber: item.LicenseNumber,
880
-				StorehouseId:  storehouse_id,
885
+				Count:          item.Count,
886
+				Number:         item.Number,
887
+				ProductDate:    item.ProductDate,
888
+				ExpireDate:     item.ExpireDate,
889
+				Price:          item.Price,
890
+				Manufacturer:   item.Manufacturer,
891
+				Dealer:         item.Dealer,
892
+				LicenseNumber:  item.LicenseNumber,
893
+				StorehouseId:   storehouse_id,
894
+				RegisterNumber: item.RegisterNumber,
881 895
 			}
882 896
 			parseDateErr := service.UpdatedStockFlowByGoodIdOne(item.WarehousingId, item.GoodId, flow)
883 897
 			fmt.Println(parseDateErr)
@@ -1442,6 +1456,8 @@ func (c *StockManagerApiController) CreateWarehouseOut() {
1442 1456
 					productDate = theTime.Unix()
1443 1457
 				}
1444 1458
 				license_number := items["license_number"].(string)
1459
+
1460
+				register_number := items["register_number"].(string)
1445 1461
 				warehouseOutInfo := &models.WarehouseOutInfo{
1446 1462
 					WarehouseOutOrderNumber: warehouseOut.WarehouseOutOrderNumber,
1447 1463
 					WarehouseOutId:          warehouseOut.ID,
@@ -1466,6 +1482,7 @@ func (c *StockManagerApiController) CreateWarehouseOut() {
1466 1482
 					AdminUserId:             admin_user_id,
1467 1483
 					BuyPrice:                buy_price,
1468 1484
 					StockCount:              stock_count,
1485
+					RegisterNumber:          register_number,
1469 1486
 				}
1470 1487
 				warehousingOutInfo = append(warehousingOutInfo, warehouseOutInfo)
1471 1488
 
@@ -1780,6 +1797,8 @@ func (c *StockManagerApiController) EditWarehouseOut() {
1780 1797
 
1781 1798
 				license_number := items["license_number"].(string)
1782 1799
 
1800
+				register_number := items["register_number"].(string)
1801
+
1783 1802
 				timeLayout := "2006-01-02"
1784 1803
 				loc, _ := time.LoadLocation("Local")
1785 1804
 				expiry_date := items["expiry_date"].(string)
@@ -1892,6 +1911,7 @@ func (c *StockManagerApiController) EditWarehouseOut() {
1892 1911
 						StorehouseId:            storehouse_id,
1893 1912
 						AdminUserId:             admin_user_id,
1894 1913
 						StockCount:              stock_count,
1914
+						RegisterNumber:          register_number,
1895 1915
 					}
1896 1916
 					upDateWarehouseOutInfos = append(upDateWarehouseOutInfos, warehouseOutInfo)
1897 1917
 				}
@@ -2032,6 +2052,7 @@ func (c *StockManagerApiController) EditWarehouseOut() {
2032 2052
 							StorehouseId:            item.StorehouseId,
2033 2053
 							AdminUserId:             item.AdminUserId,
2034 2054
 							StockCount:              item.StockCount,
2055
+							RegisterNumber:          item.RegisterNumber,
2035 2056
 						}
2036 2057
 
2037 2058
 						//查询是否存在
@@ -2048,17 +2069,18 @@ func (c *StockManagerApiController) EditWarehouseOut() {
2048 2069
 							service.UpDateWarehouseOutInfo(item)
2049 2070
 							//更新流水
2050 2071
 							flow := models.VmStockFlow{
2051
-								Number:        item.Number,
2052
-								LicenseNumber: item.LicenseNumber,
2053
-								Count:         item.Count,
2054
-								Manufacturer:  item.Manufacturer,
2055
-								Dealer:        item.Dealer,
2056
-								ProductDate:   item.ProductDate,
2057
-								ExpireDate:    item.ExpiryDate,
2058
-								Price:         item.Price,
2059
-								StorehouseId:  item.StorehouseId,
2060
-								AdminUserId:   item.AdminUserId,
2061
-								StockCount:    item.StockCount,
2072
+								Number:         item.Number,
2073
+								LicenseNumber:  item.LicenseNumber,
2074
+								Count:          item.Count,
2075
+								Manufacturer:   item.Manufacturer,
2076
+								Dealer:         item.Dealer,
2077
+								ProductDate:    item.ProductDate,
2078
+								ExpireDate:     item.ExpiryDate,
2079
+								Price:          item.Price,
2080
+								StorehouseId:   item.StorehouseId,
2081
+								AdminUserId:    item.AdminUserId,
2082
+								StockCount:     item.StockCount,
2083
+								RegisterNumber: item.RegisterNumber,
2062 2084
 							}
2063 2085
 							service.UpdateStockFlowByDetailId(flow, item.ID)
2064 2086
 
@@ -2128,6 +2150,7 @@ func (c *StockManagerApiController) EditWarehouseOut() {
2128 2150
 						StorehouseId:            item.StorehouseId,
2129 2151
 						AdminUserId:             item.AdminUserId,
2130 2152
 						StockCount:              item.StockCount,
2153
+						RegisterNumber:          item.RegisterNumber,
2131 2154
 					}
2132 2155
 					//查询是否存在
2133 2156
 					_, errcode := service.GetWarehouseOutInfoIsExist(item.ID)
@@ -2142,17 +2165,18 @@ func (c *StockManagerApiController) EditWarehouseOut() {
2142 2165
 					} else if errcode == nil {
2143 2166
 						service.UpDateWarehouseOutInfo(item)
2144 2167
 						flow := models.VmStockFlow{
2145
-							Number:        item.Number,
2146
-							LicenseNumber: item.LicenseNumber,
2147
-							Count:         item.Count,
2148
-							Manufacturer:  item.Manufacturer,
2149
-							Dealer:        item.Dealer,
2150
-							ProductDate:   item.ProductDate,
2151
-							ExpireDate:    item.ExpiryDate,
2152
-							Price:         item.Price,
2153
-							StorehouseId:  item.StorehouseId,
2154
-							AdminUserId:   item.AdminUserId,
2155
-							StockCount:    item.StockCount,
2168
+							Number:         item.Number,
2169
+							LicenseNumber:  item.LicenseNumber,
2170
+							Count:          item.Count,
2171
+							Manufacturer:   item.Manufacturer,
2172
+							Dealer:         item.Dealer,
2173
+							ProductDate:    item.ProductDate,
2174
+							ExpireDate:     item.ExpiryDate,
2175
+							Price:          item.Price,
2176
+							StorehouseId:   item.StorehouseId,
2177
+							AdminUserId:    item.AdminUserId,
2178
+							StockCount:     item.StockCount,
2179
+							RegisterNumber: item.RegisterNumber,
2156 2180
 						}
2157 2181
 						service.UpdateStockFlowByDetailId(flow, item.ID)
2158 2182
 						goodInfo := models.GoodInfo{
@@ -2177,18 +2201,19 @@ func (c *StockManagerApiController) EditWarehouseOut() {
2177 2201
 
2178 2202
 				errs = service.UpDateWarehouseOutInfo(item)
2179 2203
 				flow := models.VmStockFlow{
2180
-					Number:        item.Number,
2181
-					LicenseNumber: item.LicenseNumber,
2182
-					Count:         item.Count,
2183
-					Manufacturer:  item.Manufacturer,
2184
-					Dealer:        item.Dealer,
2185
-					ProductDate:   item.ProductDate,
2186
-					ExpireDate:    item.ExpiryDate,
2187
-					Price:         item.Price,
2188
-					StorehouseId:  item.StorehouseId,
2189
-					AdminUserId:   item.AdminUserId,
2190
-					BuyPrice:      item.BuyPrice,
2191
-					StockCount:    item.StockCount,
2204
+					Number:         item.Number,
2205
+					LicenseNumber:  item.LicenseNumber,
2206
+					Count:          item.Count,
2207
+					Manufacturer:   item.Manufacturer,
2208
+					Dealer:         item.Dealer,
2209
+					ProductDate:    item.ProductDate,
2210
+					ExpireDate:     item.ExpiryDate,
2211
+					Price:          item.Price,
2212
+					StorehouseId:   item.StorehouseId,
2213
+					AdminUserId:    item.AdminUserId,
2214
+					BuyPrice:       item.BuyPrice,
2215
+					StockCount:     item.StockCount,
2216
+					RegisterNumber: item.RegisterNumber,
2192 2217
 				}
2193 2218
 				service.UpdateStockFlowByDetailId(flow, item.ID)
2194 2219
 				goodInfo := models.GoodInfo{

+ 4 - 0
models/stock_models.go View File

@@ -142,6 +142,7 @@ type WarehousingInfo struct {
142 142
 	SupplyWarehouseDetailInfo int64       `gorm:"column:supply_warehouse_detail_info" json:"supply_warehouse_detail_info" form:"supply_warehouse_detail_info"`
143 143
 	StorehouseId              int64       `gorm:"column:storehouse_id" json:"storehouse_id" form:"storehouse_id"`
144 144
 	SecondWarehouseInfoId     int64       `gorm:"column:second_warehouse_info_id" json:"second_warehouse_info_id" form:"second_warehouse_info_id"`
145
+	RegisterNumber            string      `gorm:"column:register_number" json:"register_number" form:"register_number"`
145 146
 }
146 147
 
147 148
 func (WarehousingInfo) TableName() string {
@@ -258,6 +259,7 @@ type WarehouseOutInfo struct {
258 259
 	AdminUserId             int64        `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
259 260
 	BuyPrice                float64      `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
260 261
 	StockCount              string       `gorm:"column:stock_count" json:"stock_count" form:"stock_count"`
262
+	RegisterNumber          string       `gorm:"column:register_number" json:"register_number" form:"register_number"`
261 263
 }
262 264
 
263 265
 func (WarehouseOutInfo) TableName() string {
@@ -509,6 +511,7 @@ type WarehouseOutInfoOne struct {
509 511
 	AdminUserId                 int64   `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
510 512
 	BuyPrice                    float64 `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
511 513
 	StockCount                  string  `gorm:"column:stock_count" json:"stock_count" form:"stock_count"`
514
+	RegisterNumber              string  `gorm:"column:register_number" json:"register_number" form:"register_number"`
512 515
 }
513 516
 
514 517
 type WarehouseOutInfoTwo struct {
@@ -623,6 +626,7 @@ type VmStockFlow struct {
623 626
 	AdminUserId               int64   `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
624 627
 	BuyPrice                  float64 `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
625 628
 	StockCount                string  `gorm:"column:stock_count" json:"stock_count" form:"stock_count"`
629
+	RegisterNumber            string  `gorm:"column:register_number" json:"register_number" form:"register_number"`
626 630
 }
627 631
 
628 632
 func (VmStockFlow) TableName() string {

+ 5 - 5
service/stock_service.go View File

@@ -4127,7 +4127,7 @@ func GetOrderDetialByOrderId(id int64, orgid int64) (out []*models.WarehouseOutI
4127 4127
 	if orgid > 0 {
4128 4128
 		db = db.Where("x.org_id = ?", orgid)
4129 4129
 	}
4130
-	err = db.Select("x.id,x.warehouse_out_id,x.warehouse_info_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,x.is_sys,x.sys_record_time,x.number,x.remark,x.license_number,x.supply_cancel_out_id,x.supply_warehouse_id,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").Joins("left join xt_good_information as t on t.id=x.good_id").Group("x.good_id,x.warehouse_info_id").Order("x.ctime desc").Scan(&out).Error
4130
+	err = db.Select("x.id,x.warehouse_out_id,x.warehouse_info_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,x.is_sys,x.sys_record_time,x.number,x.remark,x.license_number,x.supply_cancel_out_id,x.supply_warehouse_id,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").Joins("left join xt_good_information as t on t.id=x.good_id").Group("x.good_id,x.warehouse_info_id").Order("x.ctime desc").Scan(&out).Error
4131 4131
 	return out, err
4132 4132
 }
4133 4133
 
@@ -4156,7 +4156,7 @@ func GetOrderDetialByOrderIdOne(id []string, orgid int64) (out []*models.Warehou
4156 4156
 		db = db.Where("x.org_id = ?", orgid)
4157 4157
 	}
4158 4158
 
4159
-	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,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
4159
+	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
4160 4160
 	return out, err
4161 4161
 }
4162 4162
 
@@ -5997,7 +5997,7 @@ func UpdateWarehouseInfoByGoodId(info models.WarehousingInfo, id int64) error {
5997 5997
 
5998 5998
 func UpdateWarehouseInfoByGoodIdOne(info models.WarehousingInfo, id int64) error {
5999 5999
 
6000
-	err := XTWriteDB().Model(&info).Where("id =? and status = 1", id).Updates(map[string]interface{}{"warehousing_count": info.WarehousingCount, "stock_count": info.StockCount, "price": info.Price, "number": info.Number, "product_date": info.ProductDate, "expiry_date": info.ExpiryDate, "license_number": info.LicenseNumber, "manufacturer": info.Manufacturer, "dealer": info.Dealer, "remark": info.Remark, "packing_price": info.PackingPrice, "storehouse_id": info.StorehouseId}).Error
6000
+	err := XTWriteDB().Model(&info).Where("id =? and status = 1", id).Updates(map[string]interface{}{"warehousing_count": info.WarehousingCount, "stock_count": info.StockCount, "price": info.Price, "number": info.Number, "product_date": info.ProductDate, "expiry_date": info.ExpiryDate, "license_number": info.LicenseNumber, "manufacturer": info.Manufacturer, "dealer": info.Dealer, "remark": info.Remark, "packing_price": info.PackingPrice, "storehouse_id": info.StorehouseId, "register_number": info.RegisterNumber}).Error
6001 6001
 	return err
6002 6002
 }
6003 6003
 
@@ -6009,12 +6009,12 @@ func UpdatedStockFlowByGoodId(warehousing_id int64, good_id int64, flow models.V
6009 6009
 
6010 6010
 func UpdatedStockFlowByGoodIdOne(warehousing_id int64, good_id int64, flow models.VmStockFlow) error {
6011 6011
 
6012
-	err := XTWriteDB().Model(&flow).Where("warehousing_id = ? and good_id = ? and status = 1", warehousing_id, good_id).Updates(map[string]interface{}{"count": flow.Count, "number": flow.Number, "product_date": flow.ProductDate, "expire_date": flow.ExpireDate, "Price": flow.Price, "manufacturer": flow.Manufacturer, "dealer": flow.Dealer, "license_number": flow.LicenseNumber, "storehouse_id": flow.StorehouseId}).Error
6012
+	err := XTWriteDB().Model(&flow).Where("warehousing_id = ? and good_id = ? and status = 1", warehousing_id, good_id).Updates(map[string]interface{}{"count": flow.Count, "number": flow.Number, "product_date": flow.ProductDate, "expire_date": flow.ExpireDate, "Price": flow.Price, "manufacturer": flow.Manufacturer, "dealer": flow.Dealer, "license_number": flow.LicenseNumber, "storehouse_id": flow.StorehouseId, "register_number": flow.RegisterNumber}).Error
6013 6013
 	return err
6014 6014
 }
6015 6015
 
6016 6016
 func UpdateStockFlowByDetailId(flow models.VmStockFlow, wareoutdetailid int64) error {
6017
-	err := XTWriteDB().Model(&flow).Where("warehouse_out_detail_id = ? and status = 1", wareoutdetailid).Updates(map[string]interface{}{"count": flow.Count, "number": flow.Number, "product_date": flow.ProductDate, "expire_date": flow.ExpireDate, "Price": flow.Price, "manufacturer": flow.Manufacturer, "dealer": flow.Dealer, "license_number": flow.LicenseNumber, "price": flow.Price, "storehouse_id": flow.StorehouseId, "admin_user_id": flow.AdminUserId, "stock_count": flow.StockCount}).Error
6017
+	err := XTWriteDB().Model(&flow).Where("warehouse_out_detail_id = ? and status = 1", wareoutdetailid).Updates(map[string]interface{}{"count": flow.Count, "number": flow.Number, "product_date": flow.ProductDate, "expire_date": flow.ExpireDate, "Price": flow.Price, "manufacturer": flow.Manufacturer, "dealer": flow.Dealer, "license_number": flow.LicenseNumber, "price": flow.Price, "storehouse_id": flow.StorehouseId, "admin_user_id": flow.AdminUserId, "stock_count": flow.StockCount, "register_number": flow.RegisterNumber}).Error
6018 6018
 	return err
6019 6019
 }
6020 6020
 

+ 59 - 15
service/warhouse_service.go View File

@@ -262,13 +262,18 @@ func DrugDeliverInfo(orgID int64, prescribingNumber float64, warehouseout *model
262 262
 			}
263 263
 
264 264
 			if minNumber == 0 && maxNumber != 1 {
265
-				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
265
+				if (warehouse.StockMinNumber - deliver_number) > 0 {
266
+					warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
267
+				}
268
+
266 269
 			}
267 270
 
268 271
 		}
269 272
 
270 273
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
271
-			warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
274
+			if (warehouse.StockMinNumber - deliver_number) > 0 {
275
+				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
276
+			}
272 277
 			if warehouse.StockMinNumber == 0 {
273 278
 				warehouse.StockMaxNumber = stock_max_number
274 279
 			}
@@ -674,13 +679,18 @@ func HisDrugDeliverInfo(orgID int64, prescribingNumber float64, warehouseout *mo
674 679
 			}
675 680
 
676 681
 			if minNumber == 0 && maxNumber != 1 {
677
-				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
682
+				if (warehouse.StockMinNumber - deliver_number) > 0 {
683
+					warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
684
+				}
685
+
678 686
 			}
679 687
 		}
680 688
 
681 689
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
690
+			if (warehouse.StockMinNumber - deliver_number) > 0 {
691
+				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
692
+			}
682 693
 
683
-			warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
684 694
 			if warehouse.StockMinNumber == 0 {
685 695
 				warehouse.StockMaxNumber = stock_max_number
686 696
 			}
@@ -1841,6 +1851,7 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
1841 1851
 			AdminUserId:             goods.AdminUserId,
1842 1852
 			BuyPrice:                warehouse.Price,
1843 1853
 			StockCount:              goods.StockCount,
1854
+			RegisterNumber:          goods.RegisterNumber,
1844 1855
 		}
1845 1856
 		warehouseOutInfo.Count = goods.Count
1846 1857
 		//添加出库单详情
@@ -1884,6 +1895,7 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
1884 1895
 			AdminUserId:             goods.AdminUserId,
1885 1896
 			BuyPrice:                warehouse.Price,
1886 1897
 			StockCount:              goods.StockCount,
1898
+			RegisterNumber:          goods.RegisterNumber,
1887 1899
 		}
1888 1900
 
1889 1901
 		//创建出库流水
@@ -1951,6 +1963,7 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
1951 1963
 			AdminUserId:             goods.AdminUserId,
1952 1964
 			BuyPrice:                warehouse.Price,
1953 1965
 			StockCount:              goods.StockCount,
1966
+			RegisterNumber:          goods.RegisterNumber,
1954 1967
 		}
1955 1968
 		warehouseOutInfo.Count = stock_number
1956 1969
 
@@ -2003,6 +2016,7 @@ func ConsumablesDeliveryOne(orgID int64, record_time int64, goods *models.Wareho
2003 2016
 			AdminUserId:             goods.AdminUserId,
2004 2017
 			BuyPrice:                warehouse.Price,
2005 2018
 			StockCount:              goods.StockCount,
2019
+			RegisterNumber:          goods.RegisterNumber,
2006 2020
 		}
2007 2021
 
2008 2022
 		//创建出库明细
@@ -2343,13 +2357,17 @@ func NewDrugDeliverInfo(orgID int64, prescribingNumber float64, warehouseout *mo
2343 2357
 			}
2344 2358
 
2345 2359
 			if minNumber == 0 && maxNumber != 1 {
2346
-				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
2360
+				if (warehouse.StockMinNumber - deliver_number) > 0 {
2361
+					warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
2362
+				}
2347 2363
 			}
2348 2364
 		}
2349 2365
 
2350 2366
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
2367
+			if (warehouse.StockMinNumber - deliver_number) > 0 {
2368
+				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
2369
+			}
2351 2370
 
2352
-			warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
2353 2371
 			if warehouse.StockMinNumber == 0 {
2354 2372
 				warehouse.StockMaxNumber = stock_max_number
2355 2373
 			}
@@ -2694,13 +2712,17 @@ func NewHisDrugDeliverInfo(orgID int64, prescribingNumber float64, warehouseout
2694 2712
 			}
2695 2713
 
2696 2714
 			if minNumber == 0 && maxNumber != 1 {
2697
-				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
2715
+				if (warehouse.StockMinNumber - deliver_number) > 0 {
2716
+					warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
2717
+				}
2718
+
2698 2719
 			}
2699 2720
 		}
2700 2721
 
2701 2722
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
2702
-
2703
-			warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
2723
+			if (warehouse.StockMinNumber - deliver_number) > 0 {
2724
+				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
2725
+			}
2704 2726
 			if warehouse.StockMinNumber == 0 {
2705 2727
 				warehouse.StockMaxNumber = stock_max_number
2706 2728
 			}
@@ -4401,20 +4423,29 @@ func AutoDrugDeliverInfoTwenty(orgID int64, prescribingNumber int64, warehouseou
4401 4423
 		} else {
4402 4424
 			if minNumber > 0 {
4403 4425
 				if minNumber == 1 && maxNumber == 1 && drup.MaxUnit != drup.MinUnit {
4404
-					warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4426
+					if (warehouse.StockMinNumber - deliver_number) > 0 {
4427
+						warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4428
+					}
4429
+
4405 4430
 				} else {
4406 4431
 					warehouse.StockMinNumber = warehouse.StockMinNumber - minNumber
4407 4432
 				}
4408 4433
 			}
4409 4434
 
4410 4435
 			if minNumber == 0 && maxNumber != 1 {
4411
-				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4436
+				if (warehouse.StockMinNumber - deliver_number) > 0 {
4437
+					warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4438
+				}
4439
+
4412 4440
 			}
4413 4441
 
4414 4442
 		}
4415 4443
 
4416 4444
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
4417
-			warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4445
+			if (warehouse.StockMinNumber - deliver_number) > 0 {
4446
+				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4447
+			}
4448
+
4418 4449
 			if warehouse.StockMinNumber == 0 {
4419 4450
 				warehouse.StockMaxNumber = stock_max_number
4420 4451
 			}
@@ -4706,20 +4737,33 @@ func AutoDrugDeliverInfoTwentyOne(orgID int64, prescribingNumber int64, warehous
4706 4737
 		} else {
4707 4738
 			if minNumber > 0 {
4708 4739
 				if minNumber == 1 && maxNumber == 1 && drup.MaxUnit != drup.MinUnit {
4709
-					warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4740
+					if (warehouse.StockMinNumber - deliver_number) > 0 {
4741
+						warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4742
+					}
4743
+
4710 4744
 				} else {
4711 4745
 					warehouse.StockMinNumber = warehouse.StockMinNumber - minNumber
4712 4746
 				}
4713 4747
 			}
4714 4748
 
4715 4749
 			if minNumber == 0 && maxNumber != 1 {
4716
-				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4750
+				if (warehouse.StockMinNumber - deliver_number) > 0 {
4751
+					warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4752
+				}
4753
+
4717 4754
 			}
4718 4755
 
4719 4756
 		}
4720 4757
 
4758
+		fmt.Println("maxNumber2332323233223", maxNumber)
4759
+		fmt.Println("minNumber", minNumber)
4760
+		fmt.Println("warehouse.StockMinNumber2332322323", warehouse.StockMinNumber)
4761
+		fmt.Println("deliver_number233232323233223332", deliver_number)
4762
+
4721 4763
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
4722
-			warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4764
+			if (warehouse.StockMinNumber - deliver_number) > 0 {
4765
+				warehouse.StockMinNumber = warehouse.StockMinNumber - deliver_number
4766
+			}
4723 4767
 			if warehouse.StockMinNumber == 0 {
4724 4768
 				warehouse.StockMaxNumber = stock_max_number
4725 4769
 			}