Selaa lähdekoodia

新增注册编码

XMLWAN 2 vuotta sitten
vanhempi
commit
58b357f27a

+ 1 - 1
controllers/his_api_controller.go Näytä tiedosto

834
 	houseConfig, _ := service.GetAllStoreHouseConfig(adminInfo.CurrentOrgId)
834
 	houseConfig, _ := service.GetAllStoreHouseConfig(adminInfo.CurrentOrgId)
835
 	if adminInfo.CurrentOrgId == 9675 || adminInfo.CurrentOrgId == 9671 || adminInfo.CurrentOrgId == 10215 {
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
 		_, config := service.FindHisStockPriceRecordByOrgId(adminInfo.CurrentOrgId)
838
 		_, config := service.FindHisStockPriceRecordByOrgId(adminInfo.CurrentOrgId)
839
 		if config.ID > 0 && config.IsOpen == 1 {
839
 		if config.ID > 0 && config.IsOpen == 1 {
840
 			for _, item := range drugs {
840
 			for _, item := range drugs {

+ 68 - 43
controllers/stock_in_api_controller.go Näytä tiedosto

268
 				dealer := int64(items["dealer"].(float64))
268
 				dealer := int64(items["dealer"].(float64))
269
 
269
 
270
 				license_number, _ := items["license_number"].(string)
270
 				license_number, _ := items["license_number"].(string)
271
+
272
+				register_number, _ := items["register_number"].(string)
271
 				//入库单表格
273
 				//入库单表格
272
 				warehouseInfo := &models.WarehousingInfo{
274
 				warehouseInfo := &models.WarehousingInfo{
273
 					WarehousingOrder: warehousing.WarehousingOrder,
275
 					WarehousingOrder: warehousing.WarehousingOrder,
291
 					LicenseNumber:    license_number,
293
 					LicenseNumber:    license_number,
292
 					PackingPrice:     packing_price,
294
 					PackingPrice:     packing_price,
293
 					StorehouseId:     storehouse_id,
295
 					StorehouseId:     storehouse_id,
296
+					RegisterNumber:   register_number,
294
 				}
297
 				}
295
 				warehousingInfo = append(warehousingInfo, warehouseInfo)
298
 				warehousingInfo = append(warehousingInfo, warehouseInfo)
296
 
299
 
315
 					ConsumableType:      1,
318
 					ConsumableType:      1,
316
 					WarehousingDetailId: warehouseInfo.ID,
319
 					WarehousingDetailId: warehouseInfo.ID,
317
 					StorehouseId:        storehouse_id,
320
 					StorehouseId:        storehouse_id,
321
+					RegisterNumber:      register_number,
318
 				}
322
 				}
319
 				stockFlow = append(stockFlow, flow)
323
 				stockFlow = append(stockFlow, flow)
320
 			}
324
 			}
345
 			ConsumableType:      1,
349
 			ConsumableType:      1,
346
 			WarehousingDetailId: warehousinginfo.ID,
350
 			WarehousingDetailId: warehousinginfo.ID,
347
 			StorehouseId:        storehouse_id,
351
 			StorehouseId:        storehouse_id,
352
+			RegisterNumber:      item.RegisterNumber,
348
 		}
353
 		}
349
 		service.CreateStockFlowOne(flow)
354
 		service.CreateStockFlowOne(flow)
350
 	}
355
 	}
599
 				manufacturer := int64(items["manufacturer"].(float64))
604
 				manufacturer := int64(items["manufacturer"].(float64))
600
 				dealer := int64(items["dealer"].(float64))
605
 				dealer := int64(items["dealer"].(float64))
601
 				license_number, _ := items["license_number"].(string)
606
 				license_number, _ := items["license_number"].(string)
607
+				register_number, _ := items["register_number"].(string)
602
 				if items["id"] == nil || reflect.TypeOf(items["id"]).String() != "float64" {
608
 				if items["id"] == nil || reflect.TypeOf(items["id"]).String() != "float64" {
603
 					utils.ErrorLog("id")
609
 					utils.ErrorLog("id")
604
 					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
610
 					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
629
 						LicenseNumber:    license_number,
635
 						LicenseNumber:    license_number,
630
 						PackingPrice:     packing_price,
636
 						PackingPrice:     packing_price,
631
 						StorehouseId:     storehouse_id,
637
 						StorehouseId:     storehouse_id,
638
+						RegisterNumber:   register_number,
632
 					}
639
 					}
633
 					warehousingInfo = append(warehousingInfo, warehouseInfo)
640
 					warehousingInfo = append(warehousingInfo, warehouseInfo)
634
 
641
 
656
 						LicenseNumber:    license_number,
663
 						LicenseNumber:    license_number,
657
 						PackingPrice:     packing_price,
664
 						PackingPrice:     packing_price,
658
 						StorehouseId:     storehouse_id,
665
 						StorehouseId:     storehouse_id,
666
+						RegisterNumber:   register_number,
659
 					}
667
 					}
660
 					upDateWarehousingInfo = append(upDateWarehousingInfo, warehouseInfo)
668
 					upDateWarehousingInfo = append(upDateWarehousingInfo, warehouseInfo)
661
 
669
 
680
 						ConsumableType:      1,
688
 						ConsumableType:      1,
681
 						WarehousingDetailId: warehouseInfo.ID,
689
 						WarehousingDetailId: warehouseInfo.ID,
682
 						StorehouseId:        storehouse_id,
690
 						StorehouseId:        storehouse_id,
691
+						RegisterNumber:      register_number,
683
 					}
692
 					}
684
 
693
 
685
 					stockFlow = append(stockFlow, flow)
694
 					stockFlow = append(stockFlow, flow)
715
 				ConsumableType:      1,
724
 				ConsumableType:      1,
716
 				WarehousingDetailId: info.ID,
725
 				WarehousingDetailId: info.ID,
717
 				StorehouseId:        storehouse_id,
726
 				StorehouseId:        storehouse_id,
727
+				RegisterNumber:      info.RegisterNumber,
718
 			}
728
 			}
719
 			_, errcodescode := service.GetGoodStockFlowInfo(info.ID, info.GoodId)
729
 			_, errcodescode := service.GetGoodStockFlowInfo(info.ID, info.GoodId)
720
 
730
 
770
 					Remark:           item.Remark,
780
 					Remark:           item.Remark,
771
 					PackingPrice:     item.PackingPrice,
781
 					PackingPrice:     item.PackingPrice,
772
 					StorehouseId:     storehouse_id,
782
 					StorehouseId:     storehouse_id,
783
+					RegisterNumber:   item.RegisterNumber,
773
 				}
784
 				}
774
 
785
 
775
 				//改变库存
786
 				//改变库存
810
 					Remark:           item.Remark,
821
 					Remark:           item.Remark,
811
 					PackingPrice:     item.PackingPrice,
822
 					PackingPrice:     item.PackingPrice,
812
 					StorehouseId:     storehouse_id,
823
 					StorehouseId:     storehouse_id,
824
+					RegisterNumber:   item.RegisterNumber,
813
 				}
825
 				}
814
 
826
 
815
 				//改变库存
827
 				//改变库存
848
 					Remark:           item.Remark,
860
 					Remark:           item.Remark,
849
 					PackingPrice:     item.PackingPrice,
861
 					PackingPrice:     item.PackingPrice,
850
 					StorehouseId:     storehouse_id,
862
 					StorehouseId:     storehouse_id,
863
+					RegisterNumber:   item.RegisterNumber,
851
 				}
864
 				}
852
 				service.UpdateWarehouseInfoByGoodIdOne(goodinfo, item.ID)
865
 				service.UpdateWarehouseInfoByGoodIdOne(goodinfo, item.ID)
853
 				//查询该机构默认仓库
866
 				//查询该机构默认仓库
869
 	if len(stockFlow) > 0 {
882
 	if len(stockFlow) > 0 {
870
 		for _, item := range stockFlow {
883
 		for _, item := range stockFlow {
871
 			flow := models.VmStockFlow{
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
 			parseDateErr := service.UpdatedStockFlowByGoodIdOne(item.WarehousingId, item.GoodId, flow)
896
 			parseDateErr := service.UpdatedStockFlowByGoodIdOne(item.WarehousingId, item.GoodId, flow)
883
 			fmt.Println(parseDateErr)
897
 			fmt.Println(parseDateErr)
1442
 					productDate = theTime.Unix()
1456
 					productDate = theTime.Unix()
1443
 				}
1457
 				}
1444
 				license_number := items["license_number"].(string)
1458
 				license_number := items["license_number"].(string)
1459
+
1460
+				register_number := items["register_number"].(string)
1445
 				warehouseOutInfo := &models.WarehouseOutInfo{
1461
 				warehouseOutInfo := &models.WarehouseOutInfo{
1446
 					WarehouseOutOrderNumber: warehouseOut.WarehouseOutOrderNumber,
1462
 					WarehouseOutOrderNumber: warehouseOut.WarehouseOutOrderNumber,
1447
 					WarehouseOutId:          warehouseOut.ID,
1463
 					WarehouseOutId:          warehouseOut.ID,
1466
 					AdminUserId:             admin_user_id,
1482
 					AdminUserId:             admin_user_id,
1467
 					BuyPrice:                buy_price,
1483
 					BuyPrice:                buy_price,
1468
 					StockCount:              stock_count,
1484
 					StockCount:              stock_count,
1485
+					RegisterNumber:          register_number,
1469
 				}
1486
 				}
1470
 				warehousingOutInfo = append(warehousingOutInfo, warehouseOutInfo)
1487
 				warehousingOutInfo = append(warehousingOutInfo, warehouseOutInfo)
1471
 
1488
 
1780
 
1797
 
1781
 				license_number := items["license_number"].(string)
1798
 				license_number := items["license_number"].(string)
1782
 
1799
 
1800
+				register_number := items["register_number"].(string)
1801
+
1783
 				timeLayout := "2006-01-02"
1802
 				timeLayout := "2006-01-02"
1784
 				loc, _ := time.LoadLocation("Local")
1803
 				loc, _ := time.LoadLocation("Local")
1785
 				expiry_date := items["expiry_date"].(string)
1804
 				expiry_date := items["expiry_date"].(string)
1892
 						StorehouseId:            storehouse_id,
1911
 						StorehouseId:            storehouse_id,
1893
 						AdminUserId:             admin_user_id,
1912
 						AdminUserId:             admin_user_id,
1894
 						StockCount:              stock_count,
1913
 						StockCount:              stock_count,
1914
+						RegisterNumber:          register_number,
1895
 					}
1915
 					}
1896
 					upDateWarehouseOutInfos = append(upDateWarehouseOutInfos, warehouseOutInfo)
1916
 					upDateWarehouseOutInfos = append(upDateWarehouseOutInfos, warehouseOutInfo)
1897
 				}
1917
 				}
2032
 							StorehouseId:            item.StorehouseId,
2052
 							StorehouseId:            item.StorehouseId,
2033
 							AdminUserId:             item.AdminUserId,
2053
 							AdminUserId:             item.AdminUserId,
2034
 							StockCount:              item.StockCount,
2054
 							StockCount:              item.StockCount,
2055
+							RegisterNumber:          item.RegisterNumber,
2035
 						}
2056
 						}
2036
 
2057
 
2037
 						//查询是否存在
2058
 						//查询是否存在
2048
 							service.UpDateWarehouseOutInfo(item)
2069
 							service.UpDateWarehouseOutInfo(item)
2049
 							//更新流水
2070
 							//更新流水
2050
 							flow := models.VmStockFlow{
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
 							service.UpdateStockFlowByDetailId(flow, item.ID)
2085
 							service.UpdateStockFlowByDetailId(flow, item.ID)
2064
 
2086
 
2128
 						StorehouseId:            item.StorehouseId,
2150
 						StorehouseId:            item.StorehouseId,
2129
 						AdminUserId:             item.AdminUserId,
2151
 						AdminUserId:             item.AdminUserId,
2130
 						StockCount:              item.StockCount,
2152
 						StockCount:              item.StockCount,
2153
+						RegisterNumber:          item.RegisterNumber,
2131
 					}
2154
 					}
2132
 					//查询是否存在
2155
 					//查询是否存在
2133
 					_, errcode := service.GetWarehouseOutInfoIsExist(item.ID)
2156
 					_, errcode := service.GetWarehouseOutInfoIsExist(item.ID)
2142
 					} else if errcode == nil {
2165
 					} else if errcode == nil {
2143
 						service.UpDateWarehouseOutInfo(item)
2166
 						service.UpDateWarehouseOutInfo(item)
2144
 						flow := models.VmStockFlow{
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
 						service.UpdateStockFlowByDetailId(flow, item.ID)
2181
 						service.UpdateStockFlowByDetailId(flow, item.ID)
2158
 						goodInfo := models.GoodInfo{
2182
 						goodInfo := models.GoodInfo{
2177
 
2201
 
2178
 				errs = service.UpDateWarehouseOutInfo(item)
2202
 				errs = service.UpDateWarehouseOutInfo(item)
2179
 				flow := models.VmStockFlow{
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
 				service.UpdateStockFlowByDetailId(flow, item.ID)
2218
 				service.UpdateStockFlowByDetailId(flow, item.ID)
2194
 				goodInfo := models.GoodInfo{
2219
 				goodInfo := models.GoodInfo{

+ 4 - 0
models/stock_models.go Näytä tiedosto

142
 	SupplyWarehouseDetailInfo int64       `gorm:"column:supply_warehouse_detail_info" json:"supply_warehouse_detail_info" form:"supply_warehouse_detail_info"`
142
 	SupplyWarehouseDetailInfo int64       `gorm:"column:supply_warehouse_detail_info" json:"supply_warehouse_detail_info" form:"supply_warehouse_detail_info"`
143
 	StorehouseId              int64       `gorm:"column:storehouse_id" json:"storehouse_id" form:"storehouse_id"`
143
 	StorehouseId              int64       `gorm:"column:storehouse_id" json:"storehouse_id" form:"storehouse_id"`
144
 	SecondWarehouseInfoId     int64       `gorm:"column:second_warehouse_info_id" json:"second_warehouse_info_id" form:"second_warehouse_info_id"`
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
 func (WarehousingInfo) TableName() string {
148
 func (WarehousingInfo) TableName() string {
258
 	AdminUserId             int64        `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
259
 	AdminUserId             int64        `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
259
 	BuyPrice                float64      `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
260
 	BuyPrice                float64      `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
260
 	StockCount              string       `gorm:"column:stock_count" json:"stock_count" form:"stock_count"`
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
 func (WarehouseOutInfo) TableName() string {
265
 func (WarehouseOutInfo) TableName() string {
509
 	AdminUserId                 int64   `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
511
 	AdminUserId                 int64   `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
510
 	BuyPrice                    float64 `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
512
 	BuyPrice                    float64 `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
511
 	StockCount                  string  `gorm:"column:stock_count" json:"stock_count" form:"stock_count"`
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
 type WarehouseOutInfoTwo struct {
517
 type WarehouseOutInfoTwo struct {
623
 	AdminUserId               int64   `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
626
 	AdminUserId               int64   `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
624
 	BuyPrice                  float64 `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
627
 	BuyPrice                  float64 `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
625
 	StockCount                string  `gorm:"column:stock_count" json:"stock_count" form:"stock_count"`
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
 func (VmStockFlow) TableName() string {
632
 func (VmStockFlow) TableName() string {

+ 5 - 5
service/stock_service.go Näytä tiedosto

4127
 	if orgid > 0 {
4127
 	if orgid > 0 {
4128
 		db = db.Where("x.org_id = ?", orgid)
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
 	return out, err
4131
 	return out, err
4132
 }
4132
 }
4133
 
4133
 
4156
 		db = db.Where("x.org_id = ?", orgid)
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
 	return out, err
4160
 	return out, err
4161
 }
4161
 }
4162
 
4162
 
5997
 
5997
 
5998
 func UpdateWarehouseInfoByGoodIdOne(info models.WarehousingInfo, id int64) error {
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
 	return err
6001
 	return err
6002
 }
6002
 }
6003
 
6003
 
6009
 
6009
 
6010
 func UpdatedStockFlowByGoodIdOne(warehousing_id int64, good_id int64, flow models.VmStockFlow) error {
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
 	return err
6013
 	return err
6014
 }
6014
 }
6015
 
6015
 
6016
 func UpdateStockFlowByDetailId(flow models.VmStockFlow, wareoutdetailid int64) error {
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
 	return err
6018
 	return err
6019
 }
6019
 }
6020
 
6020
 

+ 59 - 15
service/warhouse_service.go Näytä tiedosto

262
 			}
262
 			}
263
 
263
 
264
 			if minNumber == 0 && maxNumber != 1 {
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
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
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
 			if warehouse.StockMinNumber == 0 {
277
 			if warehouse.StockMinNumber == 0 {
273
 				warehouse.StockMaxNumber = stock_max_number
278
 				warehouse.StockMaxNumber = stock_max_number
274
 			}
279
 			}
674
 			}
679
 			}
675
 
680
 
676
 			if minNumber == 0 && maxNumber != 1 {
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
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
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
 			if warehouse.StockMinNumber == 0 {
694
 			if warehouse.StockMinNumber == 0 {
685
 				warehouse.StockMaxNumber = stock_max_number
695
 				warehouse.StockMaxNumber = stock_max_number
686
 			}
696
 			}
1841
 			AdminUserId:             goods.AdminUserId,
1851
 			AdminUserId:             goods.AdminUserId,
1842
 			BuyPrice:                warehouse.Price,
1852
 			BuyPrice:                warehouse.Price,
1843
 			StockCount:              goods.StockCount,
1853
 			StockCount:              goods.StockCount,
1854
+			RegisterNumber:          goods.RegisterNumber,
1844
 		}
1855
 		}
1845
 		warehouseOutInfo.Count = goods.Count
1856
 		warehouseOutInfo.Count = goods.Count
1846
 		//添加出库单详情
1857
 		//添加出库单详情
1884
 			AdminUserId:             goods.AdminUserId,
1895
 			AdminUserId:             goods.AdminUserId,
1885
 			BuyPrice:                warehouse.Price,
1896
 			BuyPrice:                warehouse.Price,
1886
 			StockCount:              goods.StockCount,
1897
 			StockCount:              goods.StockCount,
1898
+			RegisterNumber:          goods.RegisterNumber,
1887
 		}
1899
 		}
1888
 
1900
 
1889
 		//创建出库流水
1901
 		//创建出库流水
1951
 			AdminUserId:             goods.AdminUserId,
1963
 			AdminUserId:             goods.AdminUserId,
1952
 			BuyPrice:                warehouse.Price,
1964
 			BuyPrice:                warehouse.Price,
1953
 			StockCount:              goods.StockCount,
1965
 			StockCount:              goods.StockCount,
1966
+			RegisterNumber:          goods.RegisterNumber,
1954
 		}
1967
 		}
1955
 		warehouseOutInfo.Count = stock_number
1968
 		warehouseOutInfo.Count = stock_number
1956
 
1969
 
2003
 			AdminUserId:             goods.AdminUserId,
2016
 			AdminUserId:             goods.AdminUserId,
2004
 			BuyPrice:                warehouse.Price,
2017
 			BuyPrice:                warehouse.Price,
2005
 			StockCount:              goods.StockCount,
2018
 			StockCount:              goods.StockCount,
2019
+			RegisterNumber:          goods.RegisterNumber,
2006
 		}
2020
 		}
2007
 
2021
 
2008
 		//创建出库明细
2022
 		//创建出库明细
2343
 			}
2357
 			}
2344
 
2358
 
2345
 			if minNumber == 0 && maxNumber != 1 {
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
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
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
 			if warehouse.StockMinNumber == 0 {
2371
 			if warehouse.StockMinNumber == 0 {
2354
 				warehouse.StockMaxNumber = stock_max_number
2372
 				warehouse.StockMaxNumber = stock_max_number
2355
 			}
2373
 			}
2694
 			}
2712
 			}
2695
 
2713
 
2696
 			if minNumber == 0 && maxNumber != 1 {
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
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
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
 			if warehouse.StockMinNumber == 0 {
2726
 			if warehouse.StockMinNumber == 0 {
2705
 				warehouse.StockMaxNumber = stock_max_number
2727
 				warehouse.StockMaxNumber = stock_max_number
2706
 			}
2728
 			}
4401
 		} else {
4423
 		} else {
4402
 			if minNumber > 0 {
4424
 			if minNumber > 0 {
4403
 				if minNumber == 1 && maxNumber == 1 && drup.MaxUnit != drup.MinUnit {
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
 				} else {
4430
 				} else {
4406
 					warehouse.StockMinNumber = warehouse.StockMinNumber - minNumber
4431
 					warehouse.StockMinNumber = warehouse.StockMinNumber - minNumber
4407
 				}
4432
 				}
4408
 			}
4433
 			}
4409
 
4434
 
4410
 			if minNumber == 0 && maxNumber != 1 {
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
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
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
 			if warehouse.StockMinNumber == 0 {
4449
 			if warehouse.StockMinNumber == 0 {
4419
 				warehouse.StockMaxNumber = stock_max_number
4450
 				warehouse.StockMaxNumber = stock_max_number
4420
 			}
4451
 			}
4706
 		} else {
4737
 		} else {
4707
 			if minNumber > 0 {
4738
 			if minNumber > 0 {
4708
 				if minNumber == 1 && maxNumber == 1 && drup.MaxUnit != drup.MinUnit {
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
 				} else {
4744
 				} else {
4711
 					warehouse.StockMinNumber = warehouse.StockMinNumber - minNumber
4745
 					warehouse.StockMinNumber = warehouse.StockMinNumber - minNumber
4712
 				}
4746
 				}
4713
 			}
4747
 			}
4714
 
4748
 
4715
 			if minNumber == 0 && maxNumber != 1 {
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
 		if maxNumber == 1 && minNumber == 0 && drup.MaxUnit != drup.MinUnit {
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
 			if warehouse.StockMinNumber == 0 {
4767
 			if warehouse.StockMinNumber == 0 {
4724
 				warehouse.StockMaxNumber = stock_max_number
4768
 				warehouse.StockMaxNumber = stock_max_number
4725
 			}
4769
 			}