李林
2023-10-07 658d4927d468c47208fd012d9128b09249c07eff
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
package com.chinaztt.mes.basic.controller;
 
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaztt.mes.basic.entity.Shift;
import com.chinaztt.mes.basic.service.ShiftService;
import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
import com.chinaztt.ztt.common.core.util.R;
import com.chinaztt.ztt.common.log.annotation.SysLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import javax.validation.constraints.NotBlank;
import java.util.Date;
 
/**
 * 班次
 *
 * @author cxf
 * @date 2020-12-01 09:58:37
 */
@RestController
@AllArgsConstructor
@RequestMapping("/shift")
@Api(value = "shift", tags = "班次管理")
public class ShiftController {
 
    private final ShiftService shiftService;
 
    /**
     * 查询班次list
     *
     * @return
     */
    @ApiOperation(value = "查询班次list", notes = "查询班次list")
    @GetMapping("/list")
    public R getShiftList() {
        return R.ok(shiftService.list(QueryWrapperUtil.gen(new Shift()).orderByAsc("id")));
    }
 
    /**
     * 分页查询
     *
     * @param page  分页对象
     * @param shift 班次
     * @return
     */
    @ApiOperation(value = "分页查询", notes = "分页查询")
    @GetMapping("/page")
    @PreAuthorize("@pms.hasPermission('basic_shift_view')")
    public R getShiftPage(Page page, Shift shift) {
        return R.ok(shiftService.page(page, QueryWrapperUtil.gen(shift)));
    }
 
 
    /**
     * 通过id查询班次
     *
     * @param id id
     * @return R
     */
    @ApiOperation(value = "通过id查询", notes = "通过id查询")
    @GetMapping("/{id}")
    @PreAuthorize("@pms.hasPermission('basic_shift_view')")
    public R getById(@PathVariable("id") Long id) {
        return R.ok(shiftService.getById(id));
    }
 
    /**
     * 新增班次
     *
     * @param shift 班次
     * @return R
     */
    @ApiOperation(value = "新增班次", notes = "新增班次")
    @SysLog("新增班次")
    @PostMapping
    @PreAuthorize("@pms.hasPermission('basic_shift_add')")
    public R save(@RequestBody Shift shift) {
        return R.ok(shiftService.save(shift));
    }
 
    /**
     * 修改班次
     *
     * @param shift 班次
     * @return R
     */
    @ApiOperation(value = "修改班次", notes = "修改班次")
    @SysLog("修改班次")
    @PutMapping
    @PreAuthorize("@pms.hasPermission('basic_shift_edit')")
    public R updateById(@RequestBody Shift shift) {
        return R.ok(shiftService.updateById(shift));
    }
 
    /**
     * 通过id删除班次
     *
     * @param id id
     * @return R
     */
    @ApiOperation(value = "通过id删除班次", notes = "通过id删除班次")
    @SysLog("通过id删除班次")
    @DeleteMapping("/{id}")
    @PreAuthorize("@pms.hasPermission('basic_shift_del')")
    public R removeById(@PathVariable Long id) {
        return R.ok(shiftService.removeById(id));
    }
 
    /**
     * 判断当前时间是否在班次时间内
     * @param startTime 班次开始时间
     * @param endTime 班次结束时间
     * @return
     */
    @Validated
    @ApiOperation(value = "判断当前时间是否在班次时间内")
    @GetMapping("/checkTime")
    public R checkTime(@NotBlank String startTime, @NotBlank String endTime) {
        Date date = new Date();
        if (DateUtil.parse(startTime).before(date) && DateUtil.parse(endTime).after(date)) {
            return R.ok(true);
        }
        return R.ok(false);
    }
}