package com.engine.salary.web; import com.engine.common.util.ServiceUtil; import com.engine.salary.entity.salaryformula.dto.ExpressFormulaDTO; import com.engine.salary.entity.salaryformula.param.SalaryFormulaFieldQueryParam; import com.engine.salary.entity.salaryformula.param.SalaryFormulaSaveParam; import com.engine.salary.entity.salaryformula.po.FormulaPO; import com.engine.salary.entity.salaryformula.po.FormulaVar; import com.engine.salary.util.ResponseResult; import com.engine.salary.wrapper.SalaryFormulaWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.util.List; import java.util.Map; public class SalaryFormulaController { private SalaryFormulaWrapper getSalaryFormulaWrapper(User user) { return (SalaryFormulaWrapper) ServiceUtil.getService(SalaryFormulaWrapper.class, user); } //变量项 @POST @Path("/search/group") @Produces(MediaType.APPLICATION_JSON) public String fieldGroupList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult, List>>().run(getSalaryFormulaWrapper(user)::fieldGroupList, param); } //变量字段列表 @POST @Path("/search/field") @Produces(MediaType.APPLICATION_JSON) public String fieldList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryFormulaFieldQueryParam param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalaryFormulaWrapper(user)::fieldList, param); } //获取公式详情 @GET @Path("/detail") @Produces(MediaType.APPLICATION_JSON) public String detail(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "formulaId") Long formulaId) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getSalaryFormulaWrapper(user)::detail, formulaId); } @POST @Path("/save") @Produces(MediaType.APPLICATION_JSON) public String save(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryFormulaSaveParam param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getSalaryFormulaWrapper(user)::save, param); } }