Compare commits
3 Commits
1cb816b934
...
08fa6ef1be
| Author | SHA1 | Date |
|---|---|---|
|
|
08fa6ef1be | 3 days ago |
|
|
35b9c1429a | 3 days ago |
|
|
bc149dd049 | 3 days ago |
@ -0,0 +1,105 @@
|
|||||||
|
package cn.iocoder.yudao.module.mes.controller.admin.calholiday;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import javax.validation.*;
|
||||||
|
import javax.servlet.http.*;
|
||||||
|
import java.util.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||||
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.mes.controller.admin.calholiday.vo.*;
|
||||||
|
import cn.iocoder.yudao.module.mes.dal.dataobject.calholiday.CalHolidayDO;
|
||||||
|
import cn.iocoder.yudao.module.mes.service.calholiday.CalHolidayService;
|
||||||
|
|
||||||
|
@Tag(name = "管理后台 - 节假日设置")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/mes/cal-holiday")
|
||||||
|
@Validated
|
||||||
|
public class CalHolidayController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CalHolidayService calHolidayService;
|
||||||
|
|
||||||
|
@PostMapping("/create")
|
||||||
|
@Operation(summary = "创建节假日设置")
|
||||||
|
@PreAuthorize("@ss.hasPermission('mes:cal-holiday:create')")
|
||||||
|
public CommonResult<Long> createCalHoliday(@Valid @RequestBody CalHolidaySaveReqVO createReqVO) {
|
||||||
|
return success(calHolidayService.createCalHoliday(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/update")
|
||||||
|
@Operation(summary = "更新节假日设置")
|
||||||
|
@PreAuthorize("@ss.hasPermission('mes:cal-holiday:update')")
|
||||||
|
public CommonResult<Boolean> updateCalHoliday(@Valid @RequestBody CalHolidaySaveReqVO updateReqVO) {
|
||||||
|
calHolidayService.updateCalHoliday(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/delete")
|
||||||
|
@Operation(summary = "删除节假日设置")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true)
|
||||||
|
@PreAuthorize("@ss.hasPermission('mes:cal-holiday:delete')")
|
||||||
|
public CommonResult<Boolean> deleteCalHoliday(@RequestParam("id") Long id) {
|
||||||
|
calHolidayService.deleteCalHoliday(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/get")
|
||||||
|
@Operation(summary = "获得节假日设置")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
|
@PreAuthorize("@ss.hasPermission('mes:cal-holiday:query')")
|
||||||
|
public CommonResult<CalHolidayRespVO> getCalHoliday(@RequestParam("id") Long id) {
|
||||||
|
CalHolidayDO calHoliday = calHolidayService.getCalHoliday(id);
|
||||||
|
return success(BeanUtils.toBean(calHoliday, CalHolidayRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/page")
|
||||||
|
@Operation(summary = "获得节假日设置分页")
|
||||||
|
@PreAuthorize("@ss.hasPermission('mes:cal-holiday:query')")
|
||||||
|
public CommonResult<PageResult<CalHolidayRespVO>> getCalHolidayPage(@Valid CalHolidayPageReqVO pageReqVO) {
|
||||||
|
PageResult<CalHolidayDO> pageResult = calHolidayService.getCalHolidayPage(pageReqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, CalHolidayRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/export-excel")
|
||||||
|
@Operation(summary = "导出节假日设置 Excel")
|
||||||
|
@PreAuthorize("@ss.hasPermission('mes:cal-holiday:export')")
|
||||||
|
@ApiAccessLog(operateType = EXPORT)
|
||||||
|
public void exportCalHolidayExcel(@Valid CalHolidayPageReqVO pageReqVO,
|
||||||
|
HttpServletResponse response) throws IOException {
|
||||||
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||||
|
List<CalHolidayDO> list = calHolidayService.getCalHolidayPage(pageReqVO).getList();
|
||||||
|
// 导出 Excel
|
||||||
|
ExcelUtils.write(response, "节假日设置.xls", "数据", CalHolidayRespVO.class,
|
||||||
|
BeanUtils.toBean(list, CalHolidayRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@DeleteMapping("/deleteByDay")
|
||||||
|
@Operation(summary = "根据日期删除节假日设置")
|
||||||
|
@Parameter(name = "theDay", description = "日期", required = true)
|
||||||
|
@PreAuthorize("@ss.hasPermission('mes:cal-holiday:delete')")
|
||||||
|
public CommonResult<Boolean> deleteByDay(@RequestParam("theDay") String theDay) {
|
||||||
|
calHolidayService.deleteByDay(theDay);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
package cn.iocoder.yudao.module.mes.controller.admin.calholiday.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 节假日设置分页 Request VO")
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
public class CalHolidayPageReqVO extends PageParam {
|
||||||
|
|
||||||
|
@Schema(description = "日期")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date theDay;
|
||||||
|
|
||||||
|
@Schema(description = "日期类型", example = "2")
|
||||||
|
private String holidayType;
|
||||||
|
|
||||||
|
@Schema(description = "开始时间")
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
private LocalDateTime[] startTime;
|
||||||
|
|
||||||
|
@Schema(description = "结束时间")
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
private LocalDateTime[] endTime;
|
||||||
|
|
||||||
|
@Schema(description = "备注", example = "你说的对")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段1")
|
||||||
|
private String attr1;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段2")
|
||||||
|
private String attr2;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段3")
|
||||||
|
private Integer attr3;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段4")
|
||||||
|
private Integer attr4;
|
||||||
|
|
||||||
|
@Schema(description = "创建者")
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
@Schema(description = "创建时间")
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
private LocalDateTime[] createTime;
|
||||||
|
|
||||||
|
@Schema(description = "更新者")
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,73 @@
|
|||||||
|
package cn.iocoder.yudao.module.mes.controller.admin.calholiday.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import com.alibaba.excel.annotation.*;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 节假日设置 Response VO")
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class CalHolidayRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "14339")
|
||||||
|
@ExcelProperty("流水号")
|
||||||
|
private Long holidayId;
|
||||||
|
|
||||||
|
@Schema(description = "日期")
|
||||||
|
@ExcelProperty("日期")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date theDay;
|
||||||
|
|
||||||
|
@Schema(description = "日期类型", example = "2")
|
||||||
|
@ExcelProperty("日期类型")
|
||||||
|
private String holidayType;
|
||||||
|
|
||||||
|
@Schema(description = "开始时间")
|
||||||
|
@ExcelProperty("开始时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
@Schema(description = "结束时间")
|
||||||
|
@ExcelProperty("结束时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
@Schema(description = "备注", example = "你说的对")
|
||||||
|
@ExcelProperty("备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段1")
|
||||||
|
@ExcelProperty("预留字段1")
|
||||||
|
private String attr1;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段2")
|
||||||
|
@ExcelProperty("预留字段2")
|
||||||
|
private String attr2;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段3")
|
||||||
|
@ExcelProperty("预留字段3")
|
||||||
|
private Integer attr3;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段4")
|
||||||
|
@ExcelProperty("预留字段4")
|
||||||
|
private Integer attr4;
|
||||||
|
|
||||||
|
@Schema(description = "创建者")
|
||||||
|
@ExcelProperty("创建者")
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
@Schema(description = "创建时间")
|
||||||
|
@ExcelProperty("创建时间")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@Schema(description = "更新者")
|
||||||
|
@ExcelProperty("更新者")
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
package cn.iocoder.yudao.module.mes.controller.admin.calholiday.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 节假日设置新增/修改 Request VO")
|
||||||
|
@Data
|
||||||
|
public class CalHolidaySaveReqVO {
|
||||||
|
|
||||||
|
@Schema(description = "流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "14339")
|
||||||
|
private Long holidayId;
|
||||||
|
|
||||||
|
@Schema(description = "日期")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date theDay;
|
||||||
|
|
||||||
|
@Schema(description = "日期类型", example = "2")
|
||||||
|
private String holidayType;
|
||||||
|
|
||||||
|
@Schema(description = "开始时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
@Schema(description = "结束时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
@Schema(description = "备注", example = "你说的对")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段1")
|
||||||
|
private String attr1;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段2")
|
||||||
|
private String attr2;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段3")
|
||||||
|
private Integer attr3;
|
||||||
|
|
||||||
|
@Schema(description = "预留字段4")
|
||||||
|
private Integer attr4;
|
||||||
|
|
||||||
|
@Schema(description = "创建者")
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
@Schema(description = "更新者")
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,86 @@
|
|||||||
|
package cn.iocoder.yudao.module.mes.dal.dataobject.calholiday;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 节假日设置 DO
|
||||||
|
*
|
||||||
|
* @author 必硕智能
|
||||||
|
*/
|
||||||
|
@TableName("mes_cal_holiday")
|
||||||
|
@KeySequence("mes_cal_holiday_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class CalHolidayDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流水号
|
||||||
|
*/
|
||||||
|
@TableId
|
||||||
|
private Long holidayId;
|
||||||
|
/**
|
||||||
|
* 日期
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date theDay;
|
||||||
|
/**
|
||||||
|
* 日期类型
|
||||||
|
*/
|
||||||
|
private String holidayType;
|
||||||
|
/**
|
||||||
|
* 开始时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date startTime;
|
||||||
|
/**
|
||||||
|
* 结束时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date endTime;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
/**
|
||||||
|
* 预留字段1
|
||||||
|
*/
|
||||||
|
private String attr1;
|
||||||
|
/**
|
||||||
|
* 预留字段2
|
||||||
|
*/
|
||||||
|
private String attr2;
|
||||||
|
/**
|
||||||
|
* 预留字段3
|
||||||
|
*/
|
||||||
|
private Integer attr3;
|
||||||
|
/**
|
||||||
|
* 预留字段4
|
||||||
|
*/
|
||||||
|
private Integer attr4;
|
||||||
|
/**
|
||||||
|
* 创建者
|
||||||
|
*/
|
||||||
|
private String createBy;
|
||||||
|
/**
|
||||||
|
* 更新者
|
||||||
|
*/
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
package cn.iocoder.yudao.module.mes.dal.mysql.calholiday;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import cn.iocoder.yudao.module.mes.dal.dataobject.calholiday.CalHolidayDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import cn.iocoder.yudao.module.mes.controller.admin.calholiday.vo.*;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.time.LocalTime;
|
||||||
|
/**
|
||||||
|
* 节假日设置 Mapper
|
||||||
|
*
|
||||||
|
* @author 必硕智能
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface CalHolidayMapper extends BaseMapperX<CalHolidayDO> {
|
||||||
|
|
||||||
|
default PageResult<CalHolidayDO> selectPage(CalHolidayPageReqVO reqVO) {
|
||||||
|
// 将 Date 转换为 LocalDate
|
||||||
|
LocalDate localCenterDate = reqVO.getTheDay().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||||
|
// 计算前一个月和后一个月的日期
|
||||||
|
LocalDate startDate = localCenterDate.minusMonths(1);
|
||||||
|
LocalDate endDate = localCenterDate.plusMonths(1);
|
||||||
|
return selectPage(reqVO, new LambdaQueryWrapperX<CalHolidayDO>()
|
||||||
|
.eqIfPresent(CalHolidayDO::getHolidayType, reqVO.getHolidayType())
|
||||||
|
.betweenIfPresent(CalHolidayDO::getStartTime, reqVO.getStartTime())
|
||||||
|
.betweenIfPresent(CalHolidayDO::getEndTime, reqVO.getEndTime())
|
||||||
|
.eqIfPresent(CalHolidayDO::getRemark, reqVO.getRemark())
|
||||||
|
.eqIfPresent(CalHolidayDO::getAttr1, reqVO.getAttr1())
|
||||||
|
.eqIfPresent(CalHolidayDO::getAttr2, reqVO.getAttr2())
|
||||||
|
.eqIfPresent(CalHolidayDO::getAttr3, reqVO.getAttr3())
|
||||||
|
.eqIfPresent(CalHolidayDO::getAttr4, reqVO.getAttr4())
|
||||||
|
.eqIfPresent(CalHolidayDO::getCreateBy, reqVO.getCreateBy())
|
||||||
|
.betweenIfPresent(CalHolidayDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
.eqIfPresent(CalHolidayDO::getUpdateBy, reqVO.getUpdateBy())
|
||||||
|
.between(CalHolidayDO::getTheDay,
|
||||||
|
startDate.atStartOfDay(),
|
||||||
|
endDate.atTime(LocalTime.MAX))
|
||||||
|
.orderByDesc(CalHolidayDO::getHolidayId));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package cn.iocoder.yudao.module.mes.service.calholiday;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import javax.validation.*;
|
||||||
|
import cn.iocoder.yudao.module.mes.controller.admin.calholiday.vo.*;
|
||||||
|
import cn.iocoder.yudao.module.mes.dal.dataobject.calholiday.CalHolidayDO;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 节假日设置 Service 接口
|
||||||
|
*
|
||||||
|
* @author 必硕智能
|
||||||
|
*/
|
||||||
|
public interface CalHolidayService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建节假日设置
|
||||||
|
*
|
||||||
|
* @param createReqVO 创建信息
|
||||||
|
* @return 编号
|
||||||
|
*/
|
||||||
|
Long createCalHoliday(@Valid CalHolidaySaveReqVO createReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新节假日设置
|
||||||
|
*
|
||||||
|
* @param updateReqVO 更新信息
|
||||||
|
*/
|
||||||
|
void updateCalHoliday(@Valid CalHolidaySaveReqVO updateReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除节假日设置
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
*/
|
||||||
|
void deleteCalHoliday(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得节假日设置
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 节假日设置
|
||||||
|
*/
|
||||||
|
CalHolidayDO getCalHoliday(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得节假日设置分页
|
||||||
|
*
|
||||||
|
* @param pageReqVO 分页查询
|
||||||
|
* @return 节假日设置分页
|
||||||
|
*/
|
||||||
|
PageResult<CalHolidayDO> getCalHolidayPage(CalHolidayPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
void deleteByDay(String theDay);
|
||||||
|
}
|
||||||
@ -0,0 +1,97 @@
|
|||||||
|
package cn.iocoder.yudao.module.mes.service.calholiday;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.springframework.util.Assert;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.*;
|
||||||
|
import cn.iocoder.yudao.module.mes.controller.admin.calholiday.vo.*;
|
||||||
|
import cn.iocoder.yudao.module.mes.dal.dataobject.calholiday.CalHolidayDO;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.mes.dal.mysql.calholiday.CalHolidayMapper;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 节假日设置 Service 实现类
|
||||||
|
*
|
||||||
|
* @author 必硕智能
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class CalHolidayServiceImpl implements CalHolidayService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CalHolidayMapper calHolidayMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long createCalHoliday(CalHolidaySaveReqVO createReqVO) {
|
||||||
|
// 校验存在
|
||||||
|
LambdaQueryWrapperX<CalHolidayDO> wrapper = new LambdaQueryWrapperX<>();
|
||||||
|
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String format = outputFormat.format(createReqVO.getTheDay());
|
||||||
|
wrapper.apply("DATE(the_day) = DATE({0})", format);
|
||||||
|
CalHolidayDO calHolidayDO = calHolidayMapper.selectOne(wrapper);
|
||||||
|
if(calHolidayDO!=null) throw exception(CAL_HOLIDAY_EXISTS);
|
||||||
|
// 插入
|
||||||
|
CalHolidayDO calHoliday = BeanUtils.toBean(createReqVO, CalHolidayDO.class);
|
||||||
|
calHolidayMapper.insert(calHoliday);
|
||||||
|
// 返回
|
||||||
|
return calHoliday.getHolidayId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateCalHoliday(CalHolidaySaveReqVO updateReqVO) {
|
||||||
|
// 校验存在
|
||||||
|
validateCalHolidayExists(updateReqVO.getHolidayId());
|
||||||
|
// 更新
|
||||||
|
CalHolidayDO updateObj = BeanUtils.toBean(updateReqVO, CalHolidayDO.class);
|
||||||
|
calHolidayMapper.updateById(updateObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteCalHoliday(Long id) {
|
||||||
|
// 校验存在
|
||||||
|
validateCalHolidayExists(id);
|
||||||
|
// 删除
|
||||||
|
calHolidayMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateCalHolidayExists(Long id) {
|
||||||
|
if (calHolidayMapper.selectById(id) == null) {
|
||||||
|
throw exception(CAL_HOLIDAY_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CalHolidayDO getCalHoliday(Long id) {
|
||||||
|
return calHolidayMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<CalHolidayDO> getCalHolidayPage(CalHolidayPageReqVO pageReqVO) {
|
||||||
|
Assert.notNull(pageReqVO.getTheDay(), "中心日期不能为空");
|
||||||
|
return calHolidayMapper.selectPage(pageReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteByDay(String theDay) {
|
||||||
|
// 校验存在
|
||||||
|
LambdaQueryWrapperX<CalHolidayDO> wrapper = new LambdaQueryWrapperX<>();
|
||||||
|
wrapper.apply("DATE(the_day) = DATE({0})", theDay);;
|
||||||
|
CalHolidayDO calHolidayDO = calHolidayMapper.selectOne(wrapper);
|
||||||
|
if(calHolidayDO==null) throw exception(CAL_HOLIDAY_EXISTS);
|
||||||
|
//删除
|
||||||
|
if(calHolidayDO!=null) calHolidayMapper.deleteById(calHolidayDO.getHolidayId());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue