2022-03-28 16:36:40 +08:00
package com.engine.salary.web ;
2022-03-28 20:04:27 +08:00
import com.engine.common.util.ServiceUtil ;
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveDimissionSaveParam ;
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam ;
import com.engine.salary.util.ResponseResult ;
import com.engine.salary.wrapper.SalaryArchiveWrapper ;
import io.swagger.v3.oas.annotations.parameters.RequestBody ;
import org.apache.commons.lang3.StringUtils ;
2022-03-29 17:10:59 +08:00
import org.apache.poi.xssf.usermodel.XSSFWorkbook ;
import org.jetbrains.annotations.Nullable ;
2022-03-28 20:04:27 +08:00
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 ;
2022-03-29 17:10:59 +08:00
import javax.ws.rs.core.Response ;
import javax.ws.rs.core.StreamingOutput ;
import java.io.UnsupportedEncodingException ;
import java.net.URLEncoder ;
import java.util.Arrays ;
2022-03-28 20:04:27 +08:00
import java.util.List ;
import java.util.Map ;
2022-03-29 17:10:59 +08:00
import java.util.stream.Collectors ;
2022-03-28 20:04:27 +08:00
2022-03-28 16:36:40 +08:00
/ * *
* 薪资档案
* < p > Copyright : Copyright ( c ) 2022 < / p >
* < p > Company : 泛微软件 < / p >
*
* @author qiantao
* @version 1 . 0
* * /
public class SalaryArchiveController {
2022-03-28 20:04:27 +08:00
private SalaryArchiveWrapper getSalaryArchiveWrapper ( User user ) {
return ServiceUtil . getService ( SalaryArchiveWrapper . class , user ) ;
}
2022-03-28 16:36:40 +08:00
//
// @Autowired
// private SalaryArchiveWrapper salaryArchiveWrapper;
// @Autowired
// private SalaryArchiveItemWrapper salaryArchiveItemWrapper;
// private SalaryArchiveTaxAgentWrapper salaryArchiveTaxAgentWrapper;
2022-03-28 20:04:27 +08:00
2022-03-28 16:36:40 +08:00
// /******** 薪资档案主表 start ***********************************************************************************************/
// /**
// * 薪资档案列表的高级搜索
// *
// * @return
// */
// @GetMapping("/getSearchCondition")
// @ApiOperation("薪资档案列表的高级搜索")
// @WeaPermission
// public WeaResult<WeaSearchCondition> getSearchCondition() {
// return WeaResult.success(salaryArchiveWrapper.getSearchCondition(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
2022-03-28 20:04:27 +08:00
/ * *
* 薪资档案列表
*
* @param queryParam
* @return
* /
@POST
@Path ( " /list " )
@Produces ( MediaType . APPLICATION_JSON )
public String list ( @Context HttpServletRequest request , @Context HttpServletResponse response , @RequestBody SalaryArchiveQueryParam queryParam ) {
User user = HrmUserVarify . getUser ( request , response ) ;
return new ResponseResult < SalaryArchiveQueryParam , Map < String , Object > > ( ) . run ( getSalaryArchiveWrapper ( user ) : : list , queryParam ) ;
}
2022-03-28 16:36:40 +08:00
// /**
// * 导出薪资档案
// *
// * @param queryParam
// * @return
// */
// @PostMapping("/exportList")
// @ApiOperation("导出薪资档案")
// @WeaPermission
// public WeaResult<Map<String, Object>> exportList(@RequestBody SalaryArchiveQueryParam queryParam) throws Exception {
// return WeaResult.success(salaryArchiveWrapper.exportList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
2022-03-28 20:04:27 +08:00
/ * *
* 获取薪资档案详情表单
*
* @return
* /
@GET
@Path ( " /getForm " )
@Produces ( MediaType . APPLICATION_JSON )
public String getFrom ( @Context HttpServletRequest request , @Context HttpServletResponse response ) {
User user = HrmUserVarify . getUser ( request , response ) ;
String salaryArchiveIdStr = request . getParameter ( " salaryArchiveId " ) ;
Long salaryArchiveId = null ;
if ( StringUtils . isNotBlank ( salaryArchiveIdStr ) ) {
salaryArchiveId = Long . valueOf ( salaryArchiveIdStr ) ;
}
return new ResponseResult < Long , Map < String , Object > > ( ) . run ( getSalaryArchiveWrapper ( user ) : : getFrom , salaryArchiveId ) ;
}
/ * *
* 获取离职时段设置表单
*
* @return
* /
@GET
@Path ( " /getDimissionSetForm " )
@Produces ( MediaType . APPLICATION_JSON )
public String getDimissionSetForm ( @Context HttpServletRequest request , @Context HttpServletResponse response ) {
User user = HrmUserVarify . getUser ( request , response ) ;
return new ResponseResult < Long , Map < String , Object > > ( ) . run ( getSalaryArchiveWrapper ( user ) : : getDimissionSetForm ) ;
}
/ * *
* 保存离职时段设置
*
* @return
* /
@POST
@Path ( " /saveDimissionSet " )
@Produces ( MediaType . APPLICATION_JSON )
public String saveDimissionSet ( @Context HttpServletRequest request , @Context HttpServletResponse response , @RequestBody SalaryArchiveDimissionSaveParam saveParam ) {
User user = HrmUserVarify . getUser ( request , response ) ;
return new ResponseResult < SalaryArchiveDimissionSaveParam , String > ( ) . run ( getSalaryArchiveWrapper ( user ) : : saveDimissionSet , saveParam ) ;
}
/ * *
* 获取导入类型
*
* @return
* /
@GET
@Path ( " /getImportTypes " )
@Produces ( MediaType . APPLICATION_JSON )
public String getImportTypes ( @Context HttpServletRequest request , @Context HttpServletResponse response ) {
User user = HrmUserVarify . getUser ( request , response ) ;
return new ResponseResult < Long , List < Map < String , Object > > > ( ) . run ( getSalaryArchiveWrapper ( user ) : : getImportTypes ) ;
}
2022-03-29 17:10:59 +08:00
/ * *
* 下载导入模板
*
* @return
* /
@GET
@Path ( " /downloadTemplate " )
@Produces ( MediaType . APPLICATION_OCTET_STREAM )
public Response downloadTemplate ( @Context HttpServletRequest request , @Context HttpServletResponse response ) {
User user = HrmUserVarify . getUser ( request , response ) ;
SalaryArchiveQueryParam queryParam = buildParam ( request ) ;
XSSFWorkbook workbook = getSalaryArchiveWrapper ( user ) . downloadTemplate ( queryParam ) ;
String fileName = null ;
try {
fileName = URLEncoder . encode ( " 累计情况.xlsx " , " UTF-8 " ) ;
} catch ( UnsupportedEncodingException e ) {
e . printStackTrace ( ) ;
}
StreamingOutput output = outputStream - > {
workbook . write ( outputStream ) ;
outputStream . flush ( ) ;
} ;
response . setContentType ( " application/octet-stream " ) ;
return Response . ok ( output )
. header ( " Content-disposition " , " attachment;filename= " + fileName )
. header ( " Cache-Control " , " no-cache " ) . build ( ) ;
}
@Nullable
private SalaryArchiveQueryParam buildParam ( HttpServletRequest request ) {
SalaryArchiveQueryParam param = new SalaryArchiveQueryParam ( ) ;
String ids = request . getParameter ( " ids " ) ;
if ( StringUtils . isNotBlank ( ids ) ) {
param . setIds ( Arrays . stream ( ids . split ( " , " ) ) . map ( Long : : valueOf ) . collect ( Collectors . toList ( ) ) ) ;
}
String keyword = request . getParameter ( " username " ) ;
if ( StringUtils . isNotBlank ( keyword ) ) {
param . setUsername ( keyword ) ;
}
String taxAgentId = request . getParameter ( " taxAgentId " ) ;
if ( StringUtils . isNotBlank ( taxAgentId ) ) {
param . setTaxAgentId ( Long . valueOf ( taxAgentId ) ) ;
}
String departmentIds = request . getParameter ( " departmentIds " ) ;
if ( StringUtils . isNotBlank ( departmentIds ) ) {
param . setDepartmentIds ( Arrays . stream ( departmentIds . split ( " , " ) ) . map ( Long : : valueOf ) . collect ( Collectors . toList ( ) ) ) ;
}
String positionIds = request . getParameter ( " positionIds " ) ;
if ( StringUtils . isNotBlank ( positionIds ) ) {
param . setPositionIds ( Arrays . stream ( positionIds . split ( " , " ) ) . map ( Long : : valueOf ) . collect ( Collectors . toList ( ) ) ) ;
}
String userstatus = request . getParameter ( " userstatus " ) ;
if ( StringUtils . isNotBlank ( userstatus ) ) {
param . setUserstatus ( userstatus ) ;
}
String hiredate = request . getParameter ( " hiredate " ) ;
if ( StringUtils . isNotBlank ( hiredate ) ) {
param . setHiredate ( Arrays . asList ( hiredate . split ( " , " ) ) ) ;
}
String importType = request . getParameter ( " importType " ) ;
if ( StringUtils . isNotBlank ( importType ) ) {
param . setImportType ( importType ) ;
}
return param ;
}
2022-03-28 16:36:40 +08:00
// /**
// * 获取导入参数
// *
// * @return
// */
// @GetMapping("/getImportParams")
// @ApiOperation("获取导入参数")
// @WeaPermission
// public WeaResult<ExcelImportParam> getImportParams() {
// return WeaResult.success(salaryArchiveWrapper.getImportParams());
// }
// /******** 薪资档案主表 end ***********************************************************************************************/
//
// /******** 薪资项目调整 start ***********************************************************************************************/
// /**
// * 通过薪资档案id获取薪资项目调整表单
// *
// * @param salaryArchiveId
// * @return
// */
// @GetMapping("/getSalaryItemForm")
// @ApiOperation("获取薪资项目调整表单")
// @WeaPermission
// public WeaResult<SalaryArchiveItemFormDTO> getSalaryItemForm(@RequestParam Long salaryArchiveId) {
// return WeaResult.success(salaryArchiveItemWrapper.getSalaryItemForm(salaryArchiveId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 获取薪资项目调整前的值
// *
// * @param adjustBeforeParam
// * @return
// */
// @PostMapping("/getSalaryItemAdjustBeforeValue")
// @ApiOperation("获取薪资项目调整前的值")
// @WeaPermission
// public WeaResult<String> getSalaryItemAdjustBeforeValue(@RequestBody SalaryItemAdjustBeforeParam adjustBeforeParam) {
// return WeaResult.success(salaryArchiveItemWrapper.getSalaryItemAdjustBeforeValue(adjustBeforeParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 通过薪资档案的薪资项目id获取薪资项目调整表单
// *
// * @param salaryArchiveItemId
// * @return
// */
// @GetMapping("/getSalaryItemFormBySalaryArchiveItemId")
// @ApiOperation("获取薪资项目调整表单")
// @WeaPermission
// public WeaResult<SalaryArchiveItemFormDTO> getSalaryItemFormBySalaryArchiveItemId(@RequestParam(value = "salaryArchiveItemId") Long salaryArchiveItemId) {
// return WeaResult.success(salaryArchiveItemWrapper.getSalaryItemFormBySalaryArchiveItemId(salaryArchiveItemId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 保存薪资项目调整
// *
// * @param saveParam
// * @return
// */
// @PostMapping("/saveSalaryItem")
// @ApiOperation("保存薪资项目调整")
// @WeaPermission
// public WeaResult<String> saveSalaryItem(@RequestBody SalaryArchiveItemSaveParam saveParam) {
// return WeaResult.success(salaryArchiveItemWrapper.saveSalaryItem(saveParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 删除薪资项目调整
// *
// * @param salaryArchiveItemId
// * @return
// */
// @PostMapping("/deleteSalaryItem")
// @ApiOperation("删除薪资项目调整")
// @WeaPermission
// public WeaResult<String> deleteSalaryItem(@RequestParam(value = "salaryArchiveItemId") Long salaryArchiveItemId) {
// return WeaResult.success(salaryArchiveItemWrapper.deleteSalaryItem(salaryArchiveItemId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
// /******** 薪资项目调整 end ***********************************************************************************************/
//
// /******** 个税扣缴义务人调整 start ***********************************************************************************************/
// /**
// * 获取个税扣缴义务人调整表单
// *
// * @param salaryArchiveId
// * @return
// */
// @GetMapping("/getTaxAgentForm")
// @ApiOperation("获取个税扣缴义务人调整表单")
// @WeaPermission
// public WeaResult<SalaryArchiveTaxAgentFormDTO> getTaxAgentForm(@RequestParam(value = "salaryArchiveId") Long salaryArchiveId) {
// SalaryArchiveTaxAgentFormDTO form = salaryArchiveTaxAgentWrapper.getTaxAgentForm(salaryArchiveId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey());
// return WeaResult.success(form);
// }
//
// /**
// * 通过薪资档案的个税扣缴义务人id获取个税扣缴义务人调整表单
// *
// * @param salaryArchiveTaxAgentId
// * @return
// */
// @GetMapping("/getTaxAgentFormBySalaryArchiveTaxAgentId")
// @ApiOperation("获取薪资项目调整表单")
// @WeaPermission
// public WeaResult<SalaryArchiveTaxAgentFormDTO> getTaxAgentFormBySalaryArchiveTaxAgentId(@RequestParam Long salaryArchiveTaxAgentId) {
// SalaryArchiveTaxAgentFormDTO form = salaryArchiveTaxAgentWrapper.getTaxAgentFormBySalaryArchiveTaxAgentId(salaryArchiveTaxAgentId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey());
// return WeaResult.success(form);
// }
//
// /**
// * 保存个税扣缴义务人调整
// *
// * @param saveParam
// * @return
// */
// @PostMapping("/saveTaxAgent")
// @ApiOperation("保存个税扣缴义务人调整")
// @WeaPermission
// public WeaResult<String> saveTaxAgent(@RequestBody SalaryArchiveTaxAgentSaveParam saveParam) {
// return WeaResult.success(salaryArchiveTaxAgentWrapper.saveTaxAgent(saveParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 删除个税扣缴义务人调整
// *
// * @param salaryArchiveTaxAgentId
// * @return
// */
// @PostMapping("/deleteTaxAgent")
// @ApiOperation("删除个税扣缴义务人调整")
// @WeaPermission
// public WeaResult<String> deleteTaxAgent(@RequestParam(value = "salaryArchiveTaxAgentId") Long salaryArchiveTaxAgentId) {
// return WeaResult.success(salaryArchiveTaxAgentWrapper.deleteTaxAgent(salaryArchiveTaxAgentId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
// /******** 薪资项目调整 end ***********************************************************************************************/
//
// /******** 薪资项目调整记录 start ***********************************************************************************************/
// /**
// * 薪资项目调整记录列表的高级搜索
// *
// * @return
// */
// @GetMapping("/adjustRecord/getSalaryItemSearchCondition")
// @ApiOperation("薪资项目调整记录列表的高级搜索")
// @WeaPermission
// public WeaResult<WeaSearchCondition> getSalaryItemSearchCondition() {
// return WeaResult.success(salaryArchiveItemWrapper.getAdjustRecordSearchCondition(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 薪资项目调整记录列表
// *
// * @param queryParam
// * @return
// */
// @PostMapping("/adjustRecord/salaryItemList")
// @ApiOperation("薪资项目调整记录列表")
// @WeaPermission
// public WeaResult<WeaTable<SalaryItemAdjustRecordListDTO>> salaryItemList(@RequestBody SalaryItemAdjustRecordQueryParam queryParam) {
// return WeaResult.success(salaryArchiveItemWrapper.adjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 单个档案的薪资项目调整记录列表
// *
// * @param queryParam
// * @return
// */
// @PostMapping("/adjustRecord/singleSalaryItemList")
// @ApiOperation("单个档案的薪资项目调整记录列表")
// @WeaPermission
// public WeaResult<WeaTable<SingleSalaryItemAdjustRecordListDTO>> singleSalaryItemAdjustRecordList(@RequestBody SingleSalaryItemAdjustRecordQueryParam queryParam) {
// return WeaResult.success(salaryArchiveItemWrapper.singleSalaryItemAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 导出薪资项目调整记录列表
// *
// * @param queryParam
// * @return
// */
// @PostMapping("/adjustRecord/exportSalaryItemList")
// @ApiOperation("导出薪资项目调整记录列表")
// @WeaPermission
// public WeaResult<Map<String, Object>> exportSalaryItemList(@RequestBody SalaryItemAdjustRecordQueryParam queryParam) {
// return WeaResult.success(salaryArchiveItemWrapper.exportAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
// /******** 薪资项目调整记录 end ***********************************************************************************************/
//
// /******** 个税扣缴义务人调整记录 start ***********************************************************************************************/
// /**
// * 个税扣缴义务人调整记录列表的高级搜索
// *
// * @return
// */
// @GetMapping("/adjustRecord/getTaxAgentSearchCondition")
// @ApiOperation("个税扣缴义务人调整记录列表的高级搜索")
// @WeaPermission
// public WeaResult<WeaSearchCondition> getTaxAgentSearchCondition() {
// return WeaResult.success(salaryArchiveTaxAgentWrapper.getAdjustRecordSearchCondition(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 个税扣缴义务人调整记录列表
// *
// * @param queryParam
// * @return
// */
// @PostMapping("/adjustRecord/taxAgentList")
// @ApiOperation("个税扣缴义务人调整记录列表")
// @WeaPermission
// public WeaResult<WeaTable<TaxAgentAdjustRecordListDTO>> taxAgentList(@RequestBody TaxAgentAdjustRecordQueryParam queryParam) {
// return WeaResult.success(salaryArchiveTaxAgentWrapper.adjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 单个档案的个税扣缴义务人调整记录列表
// *
// * @param queryParam
// * @return
// */
// @PostMapping("/adjustRecord/singleTaxAgentList")
// @ApiOperation("单个档案的个税扣缴义务人调整记录列表")
// @WeaPermission
// public WeaResult<WeaTable<SingleTaxAgentAdjustRecordListDTO>> SingleTaxAgentAdjustRecordList(@RequestBody SingleTaxAgentAdjustRecordQueryParam queryParam) {
// return WeaResult.success(salaryArchiveTaxAgentWrapper.singleTaxAgentAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
//
// /**
// * 导出个税扣缴义务人调整记录列表
// *
// * @param queryParam
// * @return
// */
// @PostMapping("/adjustRecord/exportTaxAgentList")
// @ApiOperation("导出个税扣缴义务人调整记录列表")
// @WeaPermission
// public WeaResult<Map<String, Object>> exportTaxAgentList(@RequestBody TaxAgentAdjustRecordQueryParam queryParam) {
// return WeaResult.success(salaryArchiveTaxAgentWrapper.exportAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
// }
// /******** 个税扣缴义务人调整记录 end ***********************************************************************************************/
}