From 1bd58eb901da8ca32d15c121effa7e22cc89e1bd Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期四, 25 七月 2024 11:47:12 +0800 Subject: [PATCH] 添加功能,工资计算(根据历史工资excel给定的规则进行编写) --- controllers/salary_plan_controller.go | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 102 insertions(+), 0 deletions(-) diff --git a/controllers/salary_plan_controller.go b/controllers/salary_plan_controller.go index 0212979..461b326 100644 --- a/controllers/salary_plan_controller.go +++ b/controllers/salary_plan_controller.go @@ -233,3 +233,105 @@ } util.ResponseFormat(c, code.Success, dicts) } + +// GetPayrollProductionCarList +// +// @Tags 鍛樺伐钖祫/钖叕鏂规 +// @Summary 鑾峰彇杞﹀彴姣忓ぉ鐨勪骇閲忓垪琛� +// @Produce application/json +// @Param Authorization header string true "token" +// @Param object query request.PayrollProductionCar true "鏌ヨ鍙傛暟" +// @Success 200 {object} util.ResponseList{data=[]models.PayrollProductionCar} "鎴愬姛" +// @Router /api-jl/v1/salary/getPayrollProductionCarList [get] +func (slf SalaryPlanController) GetPayrollProductionCarList(c *gin.Context) { + var params request.PayrollProductionCar + if err := c.ShouldBindQuery(¶ms); err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + return + } + + carSearch := models.NewPayrollProductionCarSearch() + if len(params.Cycle) == 0 && len(params.Monthly) == 0 { + util.ResponseFormat(c, code.RequestParamError, "璇锋鏌ユ煡璇㈠懆鏈�,蹇呴』杈撳叆鎸夊ぉ鏌ヨ鎴栨寜鏈堟煡璇€�傛牸寮忥細Cycle锛坹yyy-MM-dd锛� 鎴� Monthly锛坹yyy-MM锛�") + return + } + carSearch.SetPage(params.Page, params.PageSize) + carSearch.SetWorkshopNumber(params.WorkshopNumber).SetGroupNumber(params.GroupNumber).SetCarNumber(params.CarNumber).SetMarketNumber(params.MarketNumber).SetSpec(params.Spec) + list, total, err := carSearch.Find() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") + return + } + + util.ResponseFormatList(c, code.Success, list, total) +} + +// GetPayrollProductionGroupList +// +// @Tags 鍛樺伐钖祫/钖叕鏂规 +// @Summary 鑾峰彇灏忕粍姣忓ぉ鐨勪骇閲忓垪琛� +// @Produce application/json +// @Param Authorization header string true "token" +// @Param object query request.PayrollProductionGroup true "鏌ヨ鍙傛暟" +// @Success 200 {object} util.ResponseList{data=[]models.PayrollProductionGroup} "鎴愬姛" +// @Router /api-jl/v1/salary/getPayrollProductionGroupList [get] +func (slf SalaryPlanController) GetPayrollProductionGroupList(c *gin.Context) { + var params request.PayrollProductionGroup + if err := c.ShouldBindQuery(¶ms); err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + return + } + //params = request.PayrollProductionGroup{ + // Cycle: c.Query("cycle"), + // Monthly: c.Query("monthly"), + // WorkshopNumber: c.Query("workshopNumber"), + //} + //params.GroupNumber, _ = strconv.Atoi(c.Query("groupNumber")) + //params.Page, _ = strconv.Atoi(c.Query("page")) + //params.PageSize, _ = strconv.Atoi(c.Query("pageSize")) + + if len(params.Cycle) == 0 && len(params.Monthly) == 0 { + util.ResponseFormat(c, code.RequestParamError, "璇锋鏌ユ煡璇㈠懆鏈�,蹇呴』杈撳叆鎸夊ぉ鏌ヨ鎴栨寜鏈堟煡璇€�傛牸寮忥細Cycle锛坹yyy-MM-dd锛� 鎴� Monthly锛坹yyy-MM锛�") + return + } + list, total, err := models.NewPayrollProductionGroupSearch().SetPage(params.Page, params.PageSize). + SetCycle(params.Cycle).SetMonthly(params.Monthly).SetWorkshopNumber(params.WorkshopNumber).SetGroupNumber(params.GroupNumber). + Find() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") + return + } + + util.ResponseFormatList(c, code.Success, list, total) +} + +// GetPayrollSalaryPlanList +// +// @Tags 鍛樺伐钖祫/钖叕鏂规 +// @Summary 鑾峰彇浜哄憳姣忔湀鐨勮柂璧勫垪琛� +// @Produce application/json +// @Param Authorization header string true "token" +// @Param object query request.PayrollSalaryPlan true "鏌ヨ鍙傛暟" +// @Success 200 {object} util.ResponseList{data=[]models.PayrollSalaryPlan} "鎴愬姛" +// @Router /api-jl/v1/salary/getPayrollSalaryPlanList [get] +func (slf SalaryPlanController) GetPayrollSalaryPlanList(c *gin.Context) { + var params request.PayrollSalaryPlan + if err := c.ShouldBindQuery(¶ms); err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + return + } + + if len(params.Cycle) == 0 { + util.ResponseFormat(c, code.RequestParamError, "璇锋鏌ユ煡璇㈠懆鏈熴�傛牸寮忥細Cycle锛坹yyy-MM-dd锛�") + return + } + list, total, err := models.NewPayrollSalaryPlanSearch().SetPage(params.Page, params.PageSize). + SetCycle(params.Cycle).SetWorkerID(params.WorkerID).SetKeyword(params.Keyword).SetWorkTypeID(uint(params.WorkTypeID)).SetWorkTypeCode(constvar.JobType(params.WorkTypeCode)). + Find() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") + return + } + + util.ResponseFormatList(c, code.Success, list, total) +} -- Gitblit v1.8.0