AttendanceController.java
5.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package com.ruoyi.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.global.Result;
import com.ruoyi.domain.RuleAttendanceMain;
import com.ruoyi.pojo.dto.SchedulingDto;
import com.ruoyi.pojo.dto.SchedulingSettingDto;
import com.ruoyi.pojo.vo.*;
import com.ruoyi.service.AttendanceService;
import io.swagger.annotations.Api;
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;
/**
* 考勤表controller
*
* @author 20412
*/
@RestController
@RequestMapping("/attendance")
@Api(tags = "考勤管理")
public class AttendanceController extends BaseController {
@Autowired
private AttendanceService attendanceService;
/**
* 获取指定人员信息
*/
@ApiOperation("获取人员信息")
@GetMapping("/peoples")
public Result<?> getPeopleInfo(@RequestParam(value = "id", required = false) Long id) {
return Result.OK(attendanceService.getDriverInfo(id));
}
/**
* 获取排班
*/
@ApiOperation("获取排班")
@GetMapping("/scheduling/list")
public TableDataInfo getSchedulingList(@ModelAttribute SchedulingRequestVo vo) {
List<SchedulingResponseVo> list = attendanceService.getSchedulingList(vo);
return getDataTable(list);
}
/**
* 根据班次获取模板
*/
@ApiOperation("根据班次获取模板")
@GetMapping("/template/{id}")
public Result<?> getTemplate(@PathVariable("id") Long id) {
return Result.OK(attendanceService.getTemplate(id));
}
/**
* 新增排班设置
*/
@ApiOperation("排班设置")
@PostMapping("/saveSchedulingSetting")
@Log(title = "新增排班设置", businessType = BusinessType.INSERT)
public Result<?> saveSchedulingSetting(@RequestBody @Validated SchedulingSettingDto dto) {
attendanceService.saveSchedulingSetting(dto);
return Result.OK("新增成功");
}
/**
* 修改排班设置
*/
@ApiOperation("排班设置")
@PutMapping("/updateSchedulingSetting")
@Log(title = "修改排班设置", businessType = BusinessType.UPDATE)
public Result<?> updateSchedulingSetting(@RequestBody @Validated SchedulingDto dto) {
attendanceService.updateSchedulingSetting(dto);
return Result.OK("新增成功");
}
/**
* 删除排班设置
*/
@ApiOperation("排班设置")
@DeleteMapping("/deleteSchedulingSetting/{settingId}")
@Log(title = "删除排班设置", businessType = BusinessType.DELETE)
public Result<?> deleteSchedulingSetting(@PathVariable("settingId") Integer settingId) {
attendanceService.deleteSchedulingSetting(settingId);
return Result.OK("删除成功");
}
/**
* 获取考情表
*/
@ApiOperation("获取考情表")
@GetMapping("/list/attendance")
public TableDataInfo getAttendance(@ModelAttribute RuleAttendanceMainRequestVo vo) {
List<RuleAttendanceMain> list = attendanceService.queryAttendanceMain(vo);
return getDataTable(list);
}
@ApiOperation("修改考情表")
@PutMapping("/update/attendance")
@Log(title = "修改考情表", businessType = BusinessType.UPDATE)
public Result<?> updateAttendance(@RequestBody @Validated UpdateAttendanceVo vo) {
try {
attendanceService.updateAttendance(vo);
return Result.OK("排班修改成功");
} catch (Exception e) {
throw new RuntimeException("排班修改失败,请联系管理员" + e.getMessage());
}
}
@ApiOperation("删除考勤表")
@PostMapping("/delete/attendance")
@Log(title = "删除考勤表", businessType = BusinessType.DELETE)
public Result<?> deleteAttendance(@RequestBody DeleteAttendanceVo vo) {
try {
attendanceService.deleteAttendance(vo);
return Result.OK("删除排班成功");
} catch (Exception e) {
throw new RuntimeException("删除排班失败,请联系管理员" + e.getMessage());
}
}
@ApiOperation("获取一个月的排班table")
@GetMapping("/list/people")
public TableDataInfo getTableMonth(@ModelAttribute PeopleRequestVo vo){
return attendanceService.getTableMonth(vo);
}
@ApiOperation("用户顶班")
@PutMapping("/update/people/attendance")
@Log(title = "用户顶班", businessType = BusinessType.UPDATE)
public Result<?> updateSchedulingByUser( @RequestBody @Validated UpdatePeopleAttendanceRequestVo vo){
attendanceService.updateSchedulingByUser(vo);
return Result.OK("顶班成功");
}
@ApiOperation("获取当日休息的用户")
@GetMapping("/getToday/freeUser")
public Result<?> getTodayFreeUser(@RequestParam("date") String date){
return Result.OK(attendanceService.getTodayFreeUser(date));
}
}