package doumeemes.api.ext;
|
|
import doumeemes.api.BaseController;
|
import doumeemes.core.annotation.excel.ExcelExporter;
|
import doumeemes.core.annotation.pr.PreventRepeat;
|
import doumeemes.core.model.ApiResponse;
|
import doumeemes.core.model.PageData;
|
import doumeemes.core.model.PageWrap;
|
import doumeemes.dao.business.model.SalaryParam;
|
import doumeemes.dao.business.vo.SalaryParamVO;
|
import doumeemes.dao.ext.dto.SalaryParamDTO;
|
import doumeemes.service.business.SalaryParamService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.Iterator;
|
import java.util.List;
|
|
/**
|
* @author 江蹄蹄
|
* @date 2023/08/11 15:29
|
*/
|
@Api(tags = "设置类-绩效工资配置表")
|
@RestController
|
@RequestMapping("/ext/salaryParam")
|
public class SalaryParamExtController extends BaseController {
|
|
@Autowired
|
private SalaryParamService salaryParamService;
|
|
@PreventRepeat
|
@ApiOperation("新建")
|
@PostMapping("/create")
|
// @RequiresPermissions("business:salaryparam:create")
|
public ApiResponse create(@RequestBody SalaryParam salaryParam) {
|
return ApiResponse.success(salaryParamService.create(salaryParam));
|
}
|
|
@ApiOperation("根据ID删除")
|
@GetMapping("/delete/{id}")
|
@RequiresPermissions("business:salaryparam:delete")
|
public ApiResponse deleteById(@PathVariable Integer id) {
|
salaryParamService.deleteById(id);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("批量删除")
|
@GetMapping("/delete/batch")
|
@RequiresPermissions("business:salaryparam:delete")
|
public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
|
String [] idArray = ids.split(",");
|
List<Integer> idList = new ArrayList<>();
|
for (String id : idArray) {
|
idList.add(Integer.valueOf(id));
|
}
|
salaryParamService.deleteByIdInBatch(idList);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("根据ID修改")
|
@PostMapping("/updateById")
|
@RequiresPermissions("business:salaryparam:update")
|
public ApiResponse updateById(@RequestBody SalaryParam salaryParam) {
|
salaryParamService.updateById(salaryParam);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("分页查询")
|
@PostMapping("/page")
|
@RequiresPermissions("business:salaryparam:query")
|
public ApiResponse<PageData<SalaryParamVO>> findPage (@RequestBody PageWrap<SalaryParamDTO> pageWrap) {
|
return ApiResponse.success(salaryParamService.findPage(pageWrap));
|
}
|
|
@ApiOperation("导出Excel")
|
@PostMapping("/exportExcel")
|
@RequiresPermissions("business:salaryparam:exportExcel")
|
public void exportExcel (@RequestBody PageWrap<SalaryParamDTO> pageWrap, HttpServletResponse response) {
|
ExcelExporter.build(SalaryParamVO.class).export(salaryParamService.findPage(pageWrap).getRecords(), "设置类-绩效工资配置表", response);
|
}
|
|
@ApiOperation("根据ID查询")
|
@GetMapping("/{id}")
|
@RequiresPermissions("business:salaryparam:query")
|
public ApiResponse findById(@PathVariable Integer id) {
|
return ApiResponse.success(salaryParamService.findById(id));
|
}
|
|
@ApiOperation(value = "批量导入计划", notes = "批量导入计划", httpMethod = "POST", position = 6)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "folder", value = "文件夹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
|
})
|
@PostMapping(value = "/importBatch", headers = "content-type=multipart/form-data")
|
@RequiresPermissions("business:salaryparam:create")
|
public ApiResponse importBatch(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
|
if (multipartResovler.isMultipart(request)) {
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
Iterator<String> it = multipartRequest.getFileNames();
|
while (it.hasNext()) {
|
MultipartFile file = multipartRequest.getFile((String) it.next());
|
salaryParamService.importPlans(file);
|
break;
|
}
|
}
|
return ApiResponse.success( null);
|
}
|
}
|