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); } }