package com.engine.salary.web; import com.engine.common.util.ServiceUtil; import com.engine.salary.entity.salaryitem.param.SalaryItemSearchParam; import com.engine.salary.entity.salarysob.dto.*; import com.engine.salary.entity.salarysob.param.*; import com.engine.salary.entity.salarysob.po.SalarySobItemGroupPO; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.util.ResponseResult; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.page.PageInfo; import com.engine.salary.wrapper.*; import io.swagger.v3.oas.annotations.parameters.RequestBody; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.util.Collection; import java.util.List; import java.util.Map; /** * 薪资账套 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public class SalarySobController { private SalarySobWrapper getSalarySobWrapper(User user) { return ServiceUtil.getService(SalarySobWrapper.class, user); } private SalarySobRangeWrapper getSalarySobRangeWrapper(User user) { return ServiceUtil.getService(SalarySobRangeWrapper.class, user); } private SalarySobItemWrapper getSalarySobItemWrapper(User user) { return ServiceUtil.getService(SalarySobItemWrapper.class, user); } private SalarySobAdjustRuleWrapper getSalarySobAdjustRuleWrapper(User user) { return ServiceUtil.getService(SalarySobAdjustRuleWrapper.class, user); } private SalarySobCheckRuleWrapper getSalarySobCheckRuleWrapper(User user) { return ServiceUtil.getService(SalarySobCheckRuleWrapper.class, user); } /**********************************薪资账套 start*********************************/ /** * 薪资账套列表 */ @POST @Path("/list") @Produces(MediaType.APPLICATION_JSON) public String listSalarySob(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobListQueryParam queryParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobWrapper(user)::listPage, queryParam); } /** * 薪资账套基本信息表单 */ @POST @Path("/basic/getForm") @Produces(MediaType.APPLICATION_JSON) public String getSalarySobBasicForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Long id) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobWrapper(user)::getForm, id); } /** * 保存薪资账套基本信息 */ @POST @Path("/basic/save") @Produces(MediaType.APPLICATION_JSON) public String getSalarySobBasicForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobBasicSaveParam saveParam) { User user = HrmUserVarify.getUser(request, response); if (saveParam.getId() == null || saveParam.getId() <= 0) { return new ResponseResult>().run(getSalarySobWrapper(user)::save, saveParam); } else { return new ResponseResult>().run(getSalarySobWrapper(user)::update, saveParam); } } /** * 启用/禁用薪资账套 */ @POST @Path("/disable") @Produces(MediaType.APPLICATION_JSON) public String updateSalarySobDisable(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobDisableParam saveParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobWrapper(user)::updateDisable, saveParam); } /** * 删除薪资账套 */ @POST @Path("/delete") @Produces(MediaType.APPLICATION_JSON) public String deleteSalarySob(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { User user = HrmUserVarify.getUser(request, response); if (CollectionUtils.isEmpty(ids)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误")); } return new ResponseResult, Map>().run(getSalarySobWrapper(user)::delete, ids); } /** * 复制薪资账套 */ @POST @Path("/duplicate") @Produces(MediaType.APPLICATION_JSON) public String duplicate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobDuplicateParam duplicateParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobWrapper(user)::duplicate, duplicateParam); } /**********************************薪资账套 end*********************************/ /**********************************薪资账套的人员范围 start*********************************/ /** * 薪资账套人员范围(包含)列表 */ @POST @Path("/range/listInclude") @Produces(MediaType.APPLICATION_JSON) public String listPage4Include(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobRangeQueryParam queryParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobRangeWrapper(user)::listPage4Include, queryParam); } /** * 薪资账套人员范围(排除)列表 */ @POST @Path("/range/listExclude") @Produces(MediaType.APPLICATION_JSON) public String listPage4Exclude(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobRangeQueryParam queryParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobRangeWrapper(user)::listPage4Exclude, queryParam); } // // @GetMapping("/range/getForm") // @ApiOperation("薪资账套人员范围表单") // @WeaPermission // public WeaResult getSalarySobRangeForm() { // WeaForm weaForm = salarySobRangeWrapper.getForm(); // return WeaResult.success(weaForm); // } /** * 保存薪资账套人员范围 */ @POST @Path("/range/save") @Produces(MediaType.APPLICATION_JSON) public String saveSalarySobRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobRangeSaveParam saveParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getSalarySobRangeWrapper(user)::save, saveParam); } /** * 删除薪资账套人员范围 */ @POST @Path("/range/delete") @Produces(MediaType.APPLICATION_JSON) public String deleteSalarySobRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult, String>().run(getSalarySobRangeWrapper(user)::delete, ids); } /**********************************薪资账套的人员范围 end*********************************/ /**********************************薪资账套的薪资项目 start*********************************/ /** * 薪资账套可选薪资项目 */ @POST @Path("/item/listSalaryItem") @Produces(MediaType.APPLICATION_JSON) public String listSalaryItem(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryItemSearchParam queryParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobItemWrapper(user)::listPage4SalaryItem, queryParam); } /** * 薪资账套可选薪资项目分类 */ @GET @Path("/item/group/getForm") @Produces(MediaType.APPLICATION_JSON) public String getSalarySobItemGroupForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); String idStr = request.getParameter("id"); Long id = null; if (StringUtils.isNotBlank(idStr)) { id = Long.valueOf(idStr); } return new ResponseResult().run(getSalarySobItemWrapper(user)::getGroupForm, id); } /** * 薪资账套薪资项目详情 */ @GET @Path("/item/getForm") @Produces(MediaType.APPLICATION_JSON) public String getSalarySobItemForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); String salarySobIdStr = request.getParameter("salarySobId"); Long salarySobId = null; if (StringUtils.isNotBlank(salarySobIdStr)) { salarySobId = Long.valueOf(salarySobIdStr); } return new ResponseResult().run(getSalarySobItemWrapper(user)::getForm, salarySobId); } /** * 人员信息字段列表 */ @GET @Path("/empField/list") @Produces(MediaType.APPLICATION_JSON) public String empFieldList(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>>().run(getSalarySobItemWrapper(user)::empFieldList); } /** * 保存薪资账套薪资项目 */ @POST @Path("/item/save") @Produces(MediaType.APPLICATION_JSON) public String saveSalarySobItem(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobItemSaveParam saveParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobItemWrapper(user)::save, saveParam); } /**********************************薪资账套的薪资项目 end*********************************/ /**********************************调薪计薪规则 start*********************************/ /** * 调薪计薪规则列表 */ @POST @Path("/adjustmentrule/list") @Produces(MediaType.APPLICATION_JSON) public String listAdjustmentRule(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobAdjustRuleQueryParam queryParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobAdjustRuleWrapper(user)::list, queryParam); } /** * 调薪计薪规则保存 */ @POST @Path("/adjustmentrule/save") @Produces(MediaType.APPLICATION_JSON) public String saveAdjustmentRule(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobAdjustRuleSaveParam saveParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getSalarySobAdjustRuleWrapper(user)::save, saveParam); } /** * 调薪计薪规则可选的薪资项目列表 */ @POST @Path("/adjustmentrule/listSalarySobItem") @Produces(MediaType.APPLICATION_JSON) public String listSalarySobItem(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobAdjustRuleItemQueryParam queryParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getSalarySobAdjustRuleWrapper(user)::list4SalarySobItem, queryParam); } /**********************************调薪计薪规则 end*********************************/ /**********************************校验规则 start*********************************/ /** * 薪资账套校验规则列表 */ // @POST // @Path("/checkrule/list") // @Produces(MediaType.APPLICATION_JSON) // public String listSalarySobCheckRule(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobCheckRuleQueryParam queryParam) { // User user = HrmUserVarify.getUser(request, response); // return new ResponseResult>().run(getSalarySobCheckRuleWrapper(user)::listPage, queryParam); // } /** * 薪资账套校验规则表单 */ @GET @Path("/checkrule/getForm") @Produces(MediaType.APPLICATION_JSON) public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); String idStr = request.getParameter("id"); Long id = null; if (StringUtils.isNotBlank(idStr)) { id = Long.valueOf(idStr); } return new ResponseResult().run(getSalarySobCheckRuleWrapper(user)::getForm, id); } /** * 保存薪资账套校验规则 */ @POST @Path("/checkrule/save") @Produces(MediaType.APPLICATION_JSON) public String saveSalarySobCheckRule(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobCheckRuleSaveParam saveParam) { User user = HrmUserVarify.getUser(request, response); if (saveParam.getId() == null || saveParam.getId() <= 0) { return new ResponseResult().run(getSalarySobCheckRuleWrapper(user)::save, saveParam); } else { return new ResponseResult().run(getSalarySobCheckRuleWrapper(user)::update, saveParam); } } /** * 编辑薪资账套校验规则公式 */ @POST @Path("/checkrule/formula/update") @Produces(MediaType.APPLICATION_JSON) public String updateSalarySobCheckRuleFormula(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody UpdateCheckRuleFormulaParam updateParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getSalarySobCheckRuleWrapper(user)::updateFormulaId, updateParam); } /** * 删除薪资账套校验规则 */ @POST @Path("/checkrule/delete") @Produces(MediaType.APPLICATION_JSON) public String deleteSalarySobCheckRule(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { User user = HrmUserVarify.getUser(request, response); if (CollectionUtils.isEmpty(ids)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误")); } return new ResponseResult, String>().run(getSalarySobCheckRuleWrapper(user)::delete, ids); } /**********************************校验规则 end*********************************/ }