package com.engine.salary.web; import com.engine.common.util.ServiceUtil; import com.engine.salary.entity.salarysob.dto.SalarySobRangeListDTO; import com.engine.salary.entity.salarysob.param.*; 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.SalarySobRangeWrapper; import com.engine.salary.wrapper.SalarySobWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; import org.apache.commons.collections4.CollectionUtils; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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.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 SalarySobRangeWrapper salarySobRangeWrapper; // private SalarySobItemWrapper salarySobItemWrapper; // private SalarySobAdjustRuleWrapper salarySobAdjustRuleWrapper; // private SalarySobCheckRuleWrapper salarySobCheckRuleWrapper; /**********************************薪资账套 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); Long salarySobId; 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*********************************/ // @PostMapping("/item/listSalaryItem") // @ApiOperation("薪资账套可选薪资项目") // @WeaPermission // public WeaResult> listSalaryItem(@RequestBody SalaryItemSearchParam queryParam) { // WeaTable weaTable = salarySobItemWrapper.listPage4SalaryItem(queryParam, TenantContext.getCurrentTenantKey()); // return WeaResult.success(weaTable); // } // // @GetMapping("/item/group/getForm") // @ApiOperation("薪资账套项目分组的详情") // @WeaPermission // public WeaResult getSalarySobItemGroupForm(@RequestParam(name = "id", required = false) Long id) { // WeaForm weaForm = salarySobItemWrapper.getGroupForm(id, TenantContext.getCurrentTenantKey()); // return WeaResult.success(weaForm); // } // // @GetMapping("/item/getForm") // @ApiOperation("薪资账套薪资项目详情") // @WeaPermission // public WeaResult getSalarySobItemForm(@RequestParam(name = "salarySobId") Long salarySobId) { // SalarySobItemAggregateDTO form = salarySobItemWrapper.getForm(salarySobId, TenantContext.getCurrentTenantKey()); // return WeaResult.success(form); // } // // @PostMapping("/item/save") // @ApiOperation("保存薪资账套薪资项目") // @WeaPermission // public WeaResult saveSalarySobItem(@RequestBody @Validated SalarySobItemSaveParam saveParam) { // salarySobItemWrapper.save(saveParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()); // return WeaResult.success(null); // } // // /**********************************薪资账套的薪资项目 end*********************************/ // // /**********************************调薪计薪规则 start*********************************/ // // @PostMapping("/adjustmentrule/list") // @ApiOperation("调薪计薪规则列表") // @WeaPermission // public WeaResult> listAdjustmentRule(@RequestBody @Validated SalarySobAdjustRuleQueryParam queryParam) { // List salarySobAdjustRuleListDTOS = salarySobAdjustRuleWrapper.list(queryParam, TenantContext.getCurrentTenantKey()); // return WeaResult.success(salarySobAdjustRuleListDTOS); // } // // @PostMapping("/adjustmentrule/save") // @ApiOperation("调薪计薪规则保存") // @WeaPermission // public WeaResult saveAdjustmentRule(@RequestBody @Validated SalarySobAdjustRuleSaveParam saveParam) { // salarySobAdjustRuleWrapper.save(saveParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()); // return WeaResult.success(null); // } // // @PostMapping("/adjustmentrule/listSalarySobItem") // @ApiOperation("调薪计薪规则列表") // @WeaPermission // public WeaResult> listSalarySobItem(@RequestBody @Validated SalarySobAdjustRuleItemQueryParam queryParam) { // List salaryItemBaseDTOS = salarySobAdjustRuleWrapper.list4SalarySobItem(queryParam, TenantContext.getCurrentTenantKey()); // return WeaResult.success(salaryItemBaseDTOS); // } // // /**********************************调薪计薪规则 end*********************************/ // // /**********************************校验规则 start*********************************/ // // @PostMapping("/checkrule/list") // @ApiOperation("薪资账套校验规则列表") // @WeaPermission // public WeaResult> listSalarySobCheckRule(@RequestBody SalarySobCheckRuleQueryParam queryParam) { // WeaTable weaTable = salarySobCheckRuleWrapper.listPage(queryParam, TenantContext.getCurrentTenantKey()); // return WeaResult.success(weaTable); // } // // @GetMapping("/checkrule/getForm") // @ApiOperation("薪资账套校验规则表单") // @WeaPermission // public WeaResult getSalarySobCheckRuleForm(@RequestParam(name = "id", required = false) Long id) { // WeaForm weaForm = salarySobCheckRuleWrapper.getForm(id, TenantContext.getCurrentTenantKey()); // return WeaResult.success(weaForm); // } // // @PostMapping("/checkrule/save") // @ApiOperation("保存薪资账套校验规则") // @WeaPermission // public WeaResult saveSalarySobCheckRule(@RequestBody @Validated SalarySobCheckRuleSaveParam saveParam) { // if (saveParam.getId() == null || saveParam.getId() <= 0) { // salarySobCheckRuleWrapper.save(saveParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()); // } else { // salarySobCheckRuleWrapper.update(saveParam, TenantContext.getCurrentTenantKey()); // } // return WeaResult.success(null); // } // // @PostMapping("/checkrule/formula/update") // @ApiOperation("编辑薪资账套校验规则公式") // @WeaPermission // public WeaResult updateSalarySobCheckRuleFormula(@RequestBody @Validated UpdateCheckRuleFormulaParam updateParam) { // salarySobCheckRuleWrapper.updateFormulaId(updateParam, TenantContext.getCurrentTenantKey()); // return WeaResult.success(null); // } // // @PostMapping("/checkrule/delete") // @ApiOperation("删除薪资账套校验规则") // @WeaPermission // public WeaResult deleteSalarySobCheckRule(@RequestBody Collection ids) { // if (CollectionUtils.isEmpty(ids)) { // return WeaResult.fail(SalaryI18nUtil.getI18nLabel(84026, "参数错误")); // } // salarySobCheckRuleWrapper.delete(ids, TenantContext.getCurrentTenantKey()); // return WeaResult.success(null); // } // // /**********************************校验规则 end*********************************/ }