package com.gkhy.exam.pay.controller; import com.gkhy.exam.pay.dto.rep.CategoryCount; import com.gkhy.exam.pay.dto.rep.NonCategoryCount; import com.gkhy.exam.pay.dto.req.CountReq; import com.gkhy.exam.pay.entity.CoalCategory; import com.gkhy.exam.pay.entity.CoalTicket; import com.gkhy.exam.pay.entity.NonCoalCategory; import com.gkhy.exam.pay.service.CoalCategoryService; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.stream.Collectors; @RestController @Api(tags = "煤矿工种类别管理") @RequestMapping("/pay/coalCategory") public class CoalCategoryController extends BaseController { @Autowired private CoalCategoryService coalCategoryService; /** * 查询煤矿工种类别列表 */ @GetMapping("/list") @ApiOperation(value = "查询煤矿工种类别列表") public TableDataInfo list(CoalCategory coalCategory) { startPage(); List list = coalCategoryService.selectCoalCategoryList(coalCategory); return getDataTable(list); } /** * 获取煤矿工种类别详细信息 */ @GetMapping(value = "/{id}") @ApiOperation(value = "获取煤矿工种类别详细信息", httpMethod = "GET") @ApiImplicitParam(name = "id", dataTypeClass = Long.class, value = "id", required = true) public AjaxResult getInfo(@PathVariable("id") Long id) { return success(coalCategoryService.selectCoalCategoryById(id)); } /** * 新增煤矿工种类别 */ @PostMapping("/insert") @ApiOperation(value = "新增煤矿工种类别") public AjaxResult add(@Validated @RequestBody CoalCategory coalCategory) { return toAjax(coalCategoryService.insertCoalCategory(coalCategory)); } /** * 修改煤矿工种类别 */ @PostMapping("/update") @ApiOperation(value = "修改煤矿工种类别") public AjaxResult edit(@RequestBody CoalCategory coalCategory) { return toAjax(coalCategoryService.updateCoalCategory(coalCategory)); } /** * 删除煤矿工种类别 */ @PostMapping("/delete") @ApiOperation(value = "删除煤矿工种类别") public AjaxResult remove(@RequestBody Long[] ids) { return toAjax(coalCategoryService.deleteCoalCategoryByIds(ids)); } /** * 开票信息保存 */ @PostMapping("/saveTicket") public AjaxResult save(@Validated @RequestBody CoalTicket coalTicket){ return toAjax(coalCategoryService.saveCoalTicket(coalTicket)); } /** * 开票信息修改 */ @PostMapping("/updateTicket") public AjaxResult updateTicket(@RequestBody CoalTicket coalTicket){ return toAjax(coalCategoryService.updateCoalTicket(coalTicket)); } /** * 开票信息查询 */ @PostMapping("/ticketList") public AjaxResult ticketList(){ return success(coalCategoryService.ticketList()); } /** * 工种缴费统计 */ @GetMapping("/count") @ApiOperation(value = "工种缴费统计") public TableDataInfo count(CountReq countReq){ List categoryCounts = coalCategoryService.countCategory(countReq); int pageNum = countReq.getPageNum(); // 当前页码 int pageSize = countReq.getPageSize(); // 每页大小 List pagedList = categoryCounts.stream() .skip((pageNum - 1) * pageSize) // 跳过前面的数据 .limit(pageSize) // 限制当前页的数据量 .collect(Collectors.toList()); // 封装分页结果 TableDataInfo dataTable = new TableDataInfo(); dataTable.setCode(HttpStatus.SUCCESS); dataTable.setMsg("查询成功"); dataTable.setRows(pagedList); // 当前页数据 dataTable.setTotal(categoryCounts.size()); // 总数据量 return dataTable; } }