weaver-hrm-salary/src/com/engine/salary/web/SalarySobController.java

305 lines
13 KiB
Java

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;
/**
* 薪资账套
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @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<SalarySobListQueryParam, Map<String, Object>>().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<Long, Map<String, Object>>().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<SalarySobBasicSaveParam, Map<String, Object>>().run(getSalarySobWrapper(user)::save, saveParam);
} else {
return new ResponseResult<SalarySobBasicSaveParam, Map<String, Object>>().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<SalarySobDisableParam, Map<String, Object>>().run(getSalarySobWrapper(user)::updateDisable, saveParam);
}
/**
* 删除薪资账套
*/
@POST
@Path("/delete")
@Produces(MediaType.APPLICATION_JSON)
public String deleteSalarySob(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection<Long> ids) {
User user = HrmUserVarify.getUser(request, response);
if (CollectionUtils.isEmpty(ids)) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误"));
}
return new ResponseResult<Collection<Long>, Map<String, Object>>().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<SalarySobDuplicateParam, Map<String, Object>>().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<SalarySobRangeQueryParam, PageInfo<SalarySobRangeListDTO>>().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<SalarySobRangeQueryParam, PageInfo<SalarySobRangeListDTO>>().run(getSalarySobRangeWrapper(user)::listPage4Exclude, queryParam);
}
//
// @GetMapping("/range/getForm")
// @ApiOperation("薪资账套人员范围表单")
// @WeaPermission
// public WeaResult<WeaForm> 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<SalarySobRangeSaveParam, String>().run(getSalarySobRangeWrapper(user)::save, saveParam);
}
/**
* 删除薪资账套人员范围
*/
@POST
@Path("/range/delete")
@Produces(MediaType.APPLICATION_JSON)
public String deleteSalarySobRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection<Long> ids) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Collection<Long>, String>().run(getSalarySobRangeWrapper(user)::delete, ids);
}
/**********************************薪资账套的人员范围 end*********************************/
/**********************************薪资账套的薪资项目 start*********************************/
// @PostMapping("/item/listSalaryItem")
// @ApiOperation("薪资账套可选薪资项目")
// @WeaPermission
// public WeaResult<WeaTable<SalaryItemListDTO>> listSalaryItem(@RequestBody SalaryItemSearchParam queryParam) {
// WeaTable<SalaryItemListDTO> weaTable = salarySobItemWrapper.listPage4SalaryItem(queryParam, TenantContext.getCurrentTenantKey());
// return WeaResult.success(weaTable);
// }
//
// @GetMapping("/item/group/getForm")
// @ApiOperation("薪资账套项目分组的详情")
// @WeaPermission
// public WeaResult<WeaForm> 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<SalarySobItemAggregateDTO> getSalarySobItemForm(@RequestParam(name = "salarySobId") Long salarySobId) {
// SalarySobItemAggregateDTO form = salarySobItemWrapper.getForm(salarySobId, TenantContext.getCurrentTenantKey());
// return WeaResult.success(form);
// }
//
// @PostMapping("/item/save")
// @ApiOperation("保存薪资账套薪资项目")
// @WeaPermission
// public WeaResult<Object> 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<List<SalarySobAdjustRuleListDTO>> listAdjustmentRule(@RequestBody @Validated SalarySobAdjustRuleQueryParam queryParam) {
// List<SalarySobAdjustRuleListDTO> salarySobAdjustRuleListDTOS = salarySobAdjustRuleWrapper.list(queryParam, TenantContext.getCurrentTenantKey());
// return WeaResult.success(salarySobAdjustRuleListDTOS);
// }
//
// @PostMapping("/adjustmentrule/save")
// @ApiOperation("调薪计薪规则保存")
// @WeaPermission
// public WeaResult<Object> saveAdjustmentRule(@RequestBody @Validated SalarySobAdjustRuleSaveParam saveParam) {
// salarySobAdjustRuleWrapper.save(saveParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey());
// return WeaResult.success(null);
// }
//
// @PostMapping("/adjustmentrule/listSalarySobItem")
// @ApiOperation("调薪计薪规则列表")
// @WeaPermission
// public WeaResult<List<SalaryItemBaseDTO>> listSalarySobItem(@RequestBody @Validated SalarySobAdjustRuleItemQueryParam queryParam) {
// List<SalaryItemBaseDTO> salaryItemBaseDTOS = salarySobAdjustRuleWrapper.list4SalarySobItem(queryParam, TenantContext.getCurrentTenantKey());
// return WeaResult.success(salaryItemBaseDTOS);
// }
//
// /**********************************调薪计薪规则 end*********************************/
//
// /**********************************校验规则 start*********************************/
//
// @PostMapping("/checkrule/list")
// @ApiOperation("薪资账套校验规则列表")
// @WeaPermission
// public WeaResult<WeaTable<SalarySobCheckRuleListDTO>> listSalarySobCheckRule(@RequestBody SalarySobCheckRuleQueryParam queryParam) {
// WeaTable<SalarySobCheckRuleListDTO> weaTable = salarySobCheckRuleWrapper.listPage(queryParam, TenantContext.getCurrentTenantKey());
// return WeaResult.success(weaTable);
// }
//
// @GetMapping("/checkrule/getForm")
// @ApiOperation("薪资账套校验规则表单")
// @WeaPermission
// public WeaResult<WeaForm> 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<Object> 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<Object> updateSalarySobCheckRuleFormula(@RequestBody @Validated UpdateCheckRuleFormulaParam updateParam) {
// salarySobCheckRuleWrapper.updateFormulaId(updateParam, TenantContext.getCurrentTenantKey());
// return WeaResult.success(null);
// }
//
// @PostMapping("/checkrule/delete")
// @ApiOperation("删除薪资账套校验规则")
// @WeaPermission
// public WeaResult<Object> deleteSalarySobCheckRule(@RequestBody Collection<Long> ids) {
// if (CollectionUtils.isEmpty(ids)) {
// return WeaResult.fail(SalaryI18nUtil.getI18nLabel(84026, "参数错误"));
// }
// salarySobCheckRuleWrapper.delete(ids, TenantContext.getCurrentTenantKey());
// return WeaResult.success(null);
// }
//
// /**********************************校验规则 end*********************************/
}