huminmin
6 小时以前 ea1e515180e0c3e85cfc88bcd41a3882c34ce538
src/main/java/com/ruoyi/staff/controller/StaffSalaryMainController.java
@@ -4,12 +4,14 @@
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.staff.dto.CalculateSalaryDto;
import com.ruoyi.staff.dto.StaffSalaryCalculateDto;
import com.ruoyi.staff.pojo.StaffSalaryMain;
import com.ruoyi.staff.service.StaffSalaryMainService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -23,28 +25,34 @@
 * @author 芯导软件(江苏)有限公司
 * @since 2026-03-06 01:22:05
 */
@Api(tags = "员工工资主表")
@Tag(name = "员工工资主表")
@RestController
@RequestMapping("/staffSalaryMain")
@AllArgsConstructor
public class StaffSalaryMainController {
    @Autowired
    private StaffSalaryMainService staffSalaryMainService;
    @GetMapping("/listPage")
    @ApiOperation("员工工资主表分页查询")
    @Operation(summary = "员工工资主表分页查询")
    public AjaxResult listPage(Page page, StaffSalaryMain staffSalaryMain) {
        return staffSalaryMainService.listPage(page, staffSalaryMain);
    }
    @ApiOperation("通过部门ids获取用户信息计算每个员工的工资")
    @Operation(summary = "通过部门ids获取用户信息计算每个员工的工资")
    @PostMapping("/calculateSalary")
    public AjaxResult calculateSalary(@RequestBody List<Long> ids) {
        return staffSalaryMainService.calculateSalary(ids);
    public AjaxResult calculateSalary(@RequestBody CalculateSalaryDto calculateSalaryDto) {
        return staffSalaryMainService.calculateSalary(calculateSalaryDto);
    }
    @Operation(summary = "通过员工id重算单个员工工资")
    @PostMapping("/calculateByEmployeeId")
    public AjaxResult calculateByEmployeeId(@RequestBody StaffSalaryCalculateDto calculateSalaryCalculateDto) {
        return staffSalaryMainService.calculateSalaryByEmployee(calculateSalaryCalculateDto);
    }
    @PostMapping("/add")
    @ApiOperation("新建工资表")
    @Operation(summary = "新建工资表")
    @Log(title = "新建工资表", businessType = BusinessType.INSERT)
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult add(@RequestBody StaffSalaryMain staffSalaryMain) {
@@ -52,7 +60,7 @@
    }
    @PostMapping("/update")
    @ApiOperation("修改工资表")
    @Operation(summary = "修改工资表")
    @Log(title = "修改工资表", businessType = BusinessType.UPDATE)
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult updateStaffSalaryMain(@RequestBody StaffSalaryMain staffSalaryMain) {
@@ -60,13 +68,23 @@
    }
    @DeleteMapping("/delete")
    @ApiOperation("删除工资表")
    @Operation(summary = "删除工资表")
    @Log(title = "删除工资表", businessType = BusinessType.DELETE)
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult delete(@RequestBody List<Long> ids) {
        return staffSalaryMainService.delete(ids);
    }
    @PostMapping("/export")
    @Operation(summary = "导出员工薪资明细")
    public void export(HttpServletResponse response, String salaryMonth) {
        staffSalaryMainService.exportSalaryDetail(response, salaryMonth);
    }
    @GetMapping("/availableDepts")
    @Operation(summary = "获取可选部门(排除已发放工资表的部门)")
    public AjaxResult getAvailableDepts(String salaryMonth) {
        return staffSalaryMainService.getAvailableDepts(salaryMonth);
    }
}