Browse Source

供应商编号重复问题

mainqaq 3 years ago
parent
commit
28ecd5649a
2 changed files with 19 additions and 7 deletions
  1. 2 2
      controllers/supply_order_api_contorller.go
  2. 17 5
      service/supply_service.go

+ 2 - 2
controllers/supply_order_api_contorller.go View File

@@ -256,7 +256,7 @@ func (this *SupplyOrderApiController) UpdateSupply() {
256 256
 	}
257 257
 	if supplierCode != supply.SupplierCode {
258 258
 		//判断供应商编号是否有重复的
259
-		codebool, _ := service.FindSupplierCode(supplierCode)
259
+		codebool, _ := service.FindSupplierCode(supplierCode, supplierid)
260 260
 		if codebool {
261 261
 			this.ServeFailJsonSend(enums.ErrorCodeParamWrong, "供应商编号重复")
262 262
 			return
@@ -503,7 +503,7 @@ func (this *SupplyOrderApiController) SaveSupply() {
503 503
 		return
504 504
 	}
505 505
 	//判断供应商编号是否有重复的
506
-	codebool, _ := service.FindSupplierCode(supplierCode)
506
+	codebool, _ := service.FindSupplierCodes(supplierCode)
507 507
 	if codebool {
508 508
 		this.ServeFailJsonSend(enums.ErrorCodeParamWrong, "供应商编号重复")
509 509
 		return

+ 17 - 5
service/supply_service.go View File

@@ -265,14 +265,26 @@ func FindSupplierName(supplierName string) (sbool bool, err error) {
265 265
 	return sbool, err
266 266
 }
267 267
 
268
-//查询供应商的编号是否有重复
269
-func FindSupplierCode(supplierCode string) (codebool bool, err error) {
268
+//查询供应商的编号是否有重复(用于修改)
269
+func FindSupplierCode(supplierCode string, supplierid int64) (codebool bool, err error) {
270 270
 	var total int
271
-	err = XTReadDB().Model(&models.SpSupplierName{}).Where("supplier_name = ? and status = 1", supplierCode).Count(&total).Error
272
-	if total != 0 {
273
-		codebool = false
271
+	err = XTReadDB().Model(&models.SpSupplierName{}).Where("supplier_code = ? and id != ? and status = 1", supplierCode, supplierid).Count(&total).Error
272
+	if total > 0 {
273
+		codebool = true
274 274
 	} else {
275
+		codebool = false
276
+	}
277
+	return codebool, err
278
+}
279
+
280
+//查询供应商的编号是否有重复(用于新增)
281
+func FindSupplierCodes(supplierCode string) (codebool bool, err error) {
282
+	var total int
283
+	err = XTReadDB().Model(&models.SpSupplierName{}).Where("supplier_code = ? and status = 1", supplierCode).Count(&total).Error
284
+	if total > 0 {
275 285
 		codebool = true
286
+	} else {
287
+		codebool = false
276 288
 	}
277 289
 	return codebool, err
278 290
 }