From 067650e77790adeb5222b7736649cb5b6b016162 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期日, 28 四月 2024 10:49:44 +0800 Subject: [PATCH] 时间范围和该工人以往添加记录重复性校验 --- controllers/worker_position_controller.go | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-) diff --git a/controllers/worker_position_controller.go b/controllers/worker_position_controller.go index 5512fc9..c66e5c3 100644 --- a/controllers/worker_position_controller.go +++ b/controllers/worker_position_controller.go @@ -8,7 +8,6 @@ "silkserver/extend/util" "silkserver/middleware" "silkserver/models" - "silkserver/utils" ) type WorkerPositionController struct { @@ -31,12 +30,10 @@ } //鏌ヨ鏄惁閲嶅 - old, err := models.NewWorkerPositionSearch().SetWorkerID(params.WorkerId).First() + _, err = models.NewWorkerPositionSearch().SetWorkerID(params.WorkerId).SetOverlappingDate(params.StartDate, params.EndDate).First() if err == nil { - if utils.IsOverlap(params.StartDate, params.EndDate, old.StartDate, old.EndDate) { - util.ResponseFormat(c, code.RequestParamError, "璇峰嬁閲嶅娣诲姞") - return - } + util.ResponseFormat(c, code.RequestParamError, "鏃堕棿鑼冨洿鍜岃宸ヤ汉浠ュ線娣诲姞璁板綍鏈夐噸澶嶏紝璇锋鏌�") + return } record := &models.WorkerPosition{ @@ -83,6 +80,15 @@ return } + //鏌ヨ鏄惁閲嶅 + old, err := models.NewWorkerPositionSearch().SetWorkerID(params.WorkerId).First() + if err == nil { + if old.ID != params.Id { + util.ResponseFormat(c, code.RequestParamError, "鏃堕棿鑼冨洿鍜岃宸ヤ汉浠ュ線娣诲姞璁板綍鏈夐噸澶嶏紝璇锋鏌�") + return + } + } + record := &models.WorkerPosition{ StartDate: params.StartDate, EndDate: params.EndDate, @@ -122,7 +128,7 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") return } - WorkerPositions, total, err := models.NewWorkerPositionSearch().SetPage(params.Page, params.PageSize).SetKeyword(params.Keyword).SetPreload().Find() + WorkerPositions, total, err := models.NewWorkerPositionSearch().SetPage(params.Page, params.PageSize).SetKeyword(params.Keyword).SetPreload().SetOrder("id desc").Find() if err != nil { util.ResponseFormat(c, code.RequestParamError, "鏌ヨ澶辫触") return -- Gitblit v1.8.0