From d6aea9913510936bde157e22a1f7042a0eb33ac3 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期日, 28 四月 2024 10:36:50 +0800
Subject: [PATCH] 时间范围和该工人以往添加记录重复性校验

---
 controllers/worker_position_controller.go |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/controllers/worker_position_controller.go b/controllers/worker_position_controller.go
index 51015a3..5512fc9 100644
--- a/controllers/worker_position_controller.go
+++ b/controllers/worker_position_controller.go
@@ -3,12 +3,12 @@
 import (
 	"github.com/gin-gonic/gin"
 	"github.com/spf13/cast"
-	"gorm.io/gorm"
 	"silkserver/controllers/request"
 	"silkserver/extend/code"
 	"silkserver/extend/util"
 	"silkserver/middleware"
 	"silkserver/models"
+	"silkserver/utils"
 )
 
 type WorkerPositionController struct {
@@ -31,10 +31,12 @@
 	}
 
 	//鏌ヨ鏄惁閲嶅
-	_, err = models.NewWorkerPositionSearch().SetWorkerID(params.WorkerId).First()
-	if err != gorm.ErrRecordNotFound {
-		util.ResponseFormat(c, code.RequestParamError, "璇峰嬁閲嶅娣诲姞")
-		return
+	old, err := models.NewWorkerPositionSearch().SetWorkerID(params.WorkerId).First()
+	if err == nil {
+		if utils.IsOverlap(params.StartDate, params.EndDate, old.StartDate, old.EndDate) {
+			util.ResponseFormat(c, code.RequestParamError, "璇峰嬁閲嶅娣诲姞")
+			return
+		}
 	}
 
 	record := &models.WorkerPosition{

--
Gitblit v1.8.0