From e8fc900a02ba33079452bc37df0da262ee4f7ca1 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 17 Jan 2026 10:08:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E5=91=98?= =?UTF-8?q?=E5=B7=A5=E8=AF=B7=E5=81=87=E7=94=B3=E8=AF=B7=E5=92=8C=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E6=8A=A5=E9=A4=90=E4=B8=BB=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 创建员工请假申请相关实体类、业务对象、视图对象和映射文件 - 实现员工请假申请的增删改查和分页查询功能 - 创建部门报餐主相关实体类、业务对象、视图对象和映射文件 - 实现部门报餐主的增删改查和分页查询功能 - 添加相应的控制器和服务层实现 - 集成Excel导出功能 - 添加数据校验和业务逻辑处理 --- .../controller/WmsLeaveRequestController.java | 99 +++++++++++++++ .../controller/WmsMealReportController.java | 99 +++++++++++++++ .../java/com/klp/domain/WmsLeaveRequest.java | 80 ++++++++++++ .../java/com/klp/domain/WmsMealReport.java | 71 +++++++++++ .../com/klp/domain/bo/WmsLeaveRequestBo.java | 84 +++++++++++++ .../com/klp/domain/bo/WmsMealReportBo.java | 73 +++++++++++ .../com/klp/domain/vo/WmsLeaveRequestVo.java | 101 +++++++++++++++ .../com/klp/domain/vo/WmsMealReportVo.java | 85 +++++++++++++ .../com/klp/mapper/WmsLeaveRequestMapper.java | 15 +++ .../com/klp/mapper/WmsMealReportMapper.java | 15 +++ .../klp/service/IWmsLeaveRequestService.java | 49 ++++++++ .../klp/service/IWmsMealReportService.java | 49 ++++++++ .../impl/WmsLeaveRequestServiceImpl.java | 118 ++++++++++++++++++ .../impl/WmsMealReportServiceImpl.java | 116 +++++++++++++++++ .../mapper/klp/WmsLeaveRequestMapper.xml | 28 +++++ .../mapper/klp/WmsMealReportMapper.xml | 26 ++++ 16 files changed, 1108 insertions(+) create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsLeaveRequestController.java create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsMealReportController.java create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsLeaveRequest.java create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsMealReport.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsLeaveRequestBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsMealReportBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsLeaveRequestVo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsMealReportVo.java create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsLeaveRequestMapper.java create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsMealReportMapper.java create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsLeaveRequestService.java create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsMealReportService.java create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsLeaveRequestServiceImpl.java create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsMealReportServiceImpl.java create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsLeaveRequestMapper.xml create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsMealReportMapper.xml diff --git a/klp-wms/src/main/java/com/klp/controller/WmsLeaveRequestController.java b/klp-wms/src/main/java/com/klp/controller/WmsLeaveRequestController.java new file mode 100644 index 00000000..2b221441 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsLeaveRequestController.java @@ -0,0 +1,99 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.domain.vo.WmsLeaveRequestVo; +import com.klp.domain.bo.WmsLeaveRequestBo; +import com.klp.service.IWmsLeaveRequestService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 员工请假申请 + * + * @author klp + * @date 2026-01-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/wms/leaveRequest") +public class WmsLeaveRequestController extends BaseController { + + private final IWmsLeaveRequestService iWmsLeaveRequestService; + + /** + * 查询员工请假申请列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsLeaveRequestBo bo, PageQuery pageQuery) { + return iWmsLeaveRequestService.queryPageList(bo, pageQuery); + } + + /** + * 导出员工请假申请列表 + */ + @Log(title = "员工请假申请", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsLeaveRequestBo bo, HttpServletResponse response) { + List list = iWmsLeaveRequestService.queryList(bo); + ExcelUtil.exportExcel(list, "员工请假申请", WmsLeaveRequestVo.class, response); + } + + /** + * 获取员工请假申请详细信息 + * + * @param leaveId 主键 + */ + @GetMapping("/{leaveId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long leaveId) { + return R.ok(iWmsLeaveRequestService.queryById(leaveId)); + } + + /** + * 新增员工请假申请 + */ + @Log(title = "员工请假申请", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsLeaveRequestBo bo) { + return toAjax(iWmsLeaveRequestService.insertByBo(bo)); + } + + /** + * 修改员工请假申请 + */ + @Log(title = "员工请假申请", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsLeaveRequestBo bo) { + return toAjax(iWmsLeaveRequestService.updateByBo(bo)); + } + + /** + * 删除员工请假申请 + * + * @param leaveIds 主键串 + */ + @Log(title = "员工请假申请", businessType = BusinessType.DELETE) + @DeleteMapping("/{leaveIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] leaveIds) { + return toAjax(iWmsLeaveRequestService.deleteWithValidByIds(Arrays.asList(leaveIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsMealReportController.java b/klp-wms/src/main/java/com/klp/controller/WmsMealReportController.java new file mode 100644 index 00000000..05c567a4 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsMealReportController.java @@ -0,0 +1,99 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.domain.vo.WmsMealReportVo; +import com.klp.domain.bo.WmsMealReportBo; +import com.klp.service.IWmsMealReportService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 部门报餐主 + * + * @author klp + * @date 2026-01-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/wms/mealReport") +public class WmsMealReportController extends BaseController { + + private final IWmsMealReportService iWmsMealReportService; + + /** + * 查询部门报餐主列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsMealReportBo bo, PageQuery pageQuery) { + return iWmsMealReportService.queryPageList(bo, pageQuery); + } + + /** + * 导出部门报餐主列表 + */ + @Log(title = "部门报餐主", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsMealReportBo bo, HttpServletResponse response) { + List list = iWmsMealReportService.queryList(bo); + ExcelUtil.exportExcel(list, "部门报餐主", WmsMealReportVo.class, response); + } + + /** + * 获取部门报餐主详细信息 + * + * @param reportId 主键 + */ + @GetMapping("/{reportId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long reportId) { + return R.ok(iWmsMealReportService.queryById(reportId)); + } + + /** + * 新增部门报餐主 + */ + @Log(title = "部门报餐主", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsMealReportBo bo) { + return toAjax(iWmsMealReportService.insertByBo(bo)); + } + + /** + * 修改部门报餐主 + */ + @Log(title = "部门报餐主", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsMealReportBo bo) { + return toAjax(iWmsMealReportService.updateByBo(bo)); + } + + /** + * 删除部门报餐主 + * + * @param reportIds 主键串 + */ + @Log(title = "部门报餐主", businessType = BusinessType.DELETE) + @DeleteMapping("/{reportIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] reportIds) { + return toAjax(iWmsMealReportService.deleteWithValidByIds(Arrays.asList(reportIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsLeaveRequest.java b/klp-wms/src/main/java/com/klp/domain/WmsLeaveRequest.java new file mode 100644 index 00000000..20e22bcc --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsLeaveRequest.java @@ -0,0 +1,80 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 员工请假申请对象 wms_leave_request + * + * @author klp + * @date 2026-01-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_leave_request") +public class WmsLeaveRequest extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @TableId(value = "leave_id") + private Long leaveId; + /** + * 请假标题 + */ + private String leaveTitle; + /** + * 请假类型(年假/事假/病假/调休/外出/出差等) + */ + private String leaveType; + /** + * 请假人姓名 + */ + private String applicantName; + /** + * 请假人部门名称 + */ + private String applicantDeptName; + /** + * 请假开始时间 + */ + private Date startTime; + /** + * 请假结束时间 + */ + private Date endTime; + /** + * 请假班次(早班/中班/晚班/夜班/全天等) + */ + private String leaveShift; + /** + * 请假天数 + */ + private BigDecimal leaveDays; + /** + * 请假原因 + */ + private String leaveReason; + /** + * 附件(病假证明等) + */ + private String attachmentUrls; + /** + * 逻辑删除标识:0=正常,1=已删 + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsMealReport.java b/klp-wms/src/main/java/com/klp/domain/WmsMealReport.java new file mode 100644 index 00000000..f76a05f0 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsMealReport.java @@ -0,0 +1,71 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 部门报餐主对象 wms_meal_report + * + * @author klp + * @date 2026-01-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_meal_report") +public class WmsMealReport extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @TableId(value = "report_id") + private Long reportId; + /** + * 用餐日期 + */ + private Date reportDate; + /** + * 餐别:1早餐 2午餐 3晚餐 4夜宵 + */ + private Long mealType; + /** + * 部门名称 + */ + private String deptName; + /** + * 用餐总人数 + */ + private Long totalPeople; + /** + * 堂食人数 + */ + private Long dineInPeople; + /** + * 打包人数 + */ + private Long takeoutPeople; + /** + * 报餐人姓名 + */ + private String reportUserName; + /** + * 状态:1已提交 2已修改 3已作废 + */ + private Long status; + /** + * 逻辑删除标识:0=正常,1=已删 + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsLeaveRequestBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsLeaveRequestBo.java new file mode 100644 index 00000000..a9b4411f --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsLeaveRequestBo.java @@ -0,0 +1,84 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 员工请假申请业务对象 wms_leave_request + * + * @author klp + * @date 2026-01-17 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsLeaveRequestBo extends BaseEntity { + + /** + * 主键ID + */ + private Long leaveId; + + /** + * 请假标题 + */ + private String leaveTitle; + + /** + * 请假类型(年假/事假/病假/调休/外出/出差等) + */ + private String leaveType; + + /** + * 请假人姓名 + */ + private String applicantName; + + /** + * 请假人部门名称 + */ + private String applicantDeptName; + + /** + * 请假开始时间 + */ + private Date startTime; + + /** + * 请假结束时间 + */ + private Date endTime; + + /** + * 请假班次(早班/中班/晚班/夜班/全天等) + */ + private String leaveShift; + + /** + * 请假天数 + */ + private BigDecimal leaveDays; + + /** + * 请假原因 + */ + private String leaveReason; + + /** + * 附件(病假证明等) + */ + private String attachmentUrls; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMealReportBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMealReportBo.java new file mode 100644 index 00000000..1fa8b447 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMealReportBo.java @@ -0,0 +1,73 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 部门报餐主业务对象 wms_meal_report + * + * @author klp + * @date 2026-01-17 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsMealReportBo extends BaseEntity { + + /** + * 主键ID + */ + private Long reportId; + + /** + * 用餐日期 + */ + private Date reportDate; + + /** + * 餐别:1早餐 2午餐 3晚餐 4夜宵 + */ + private Long mealType; + + /** + * 部门名称 + */ + private String deptName; + + /** + * 用餐总人数 + */ + private Long totalPeople; + + /** + * 堂食人数 + */ + private Long dineInPeople; + + /** + * 打包人数 + */ + private Long takeoutPeople; + + /** + * 报餐人姓名 + */ + private String reportUserName; + + /** + * 状态:1已提交 2已修改 3已作废 + */ + private Long status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsLeaveRequestVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsLeaveRequestVo.java new file mode 100644 index 00000000..3a3e3aa7 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsLeaveRequestVo.java @@ -0,0 +1,101 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 员工请假申请视图对象 wms_leave_request + * + * @author klp + * @date 2026-01-17 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsLeaveRequestVo { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long leaveId; + + /** + * 请假标题 + */ + @ExcelProperty(value = "请假标题") + private String leaveTitle; + + /** + * 请假类型(年假/事假/病假/调休/外出/出差等) + */ + @ExcelProperty(value = "请假类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "年=假/事假/病假/调休/外出/出差等") + private String leaveType; + + /** + * 请假人姓名 + */ + @ExcelProperty(value = "请假人姓名") + private String applicantName; + + /** + * 请假人部门名称 + */ + @ExcelProperty(value = "请假人部门名称") + private String applicantDeptName; + + /** + * 请假开始时间 + */ + @ExcelProperty(value = "请假开始时间") + private Date startTime; + + /** + * 请假结束时间 + */ + @ExcelProperty(value = "请假结束时间") + private Date endTime; + + /** + * 请假班次(早班/中班/晚班/夜班/全天等) + */ + @ExcelProperty(value = "请假班次", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "早=班/中班/晚班/夜班/全天等") + private String leaveShift; + + /** + * 请假天数 + */ + @ExcelProperty(value = "请假天数") + private BigDecimal leaveDays; + + /** + * 请假原因 + */ + @ExcelProperty(value = "请假原因") + private String leaveReason; + + /** + * 附件(病假证明等) + */ + @ExcelProperty(value = "附件", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "病=假证明等") + private String attachmentUrls; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMealReportVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMealReportVo.java new file mode 100644 index 00000000..668c4c15 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMealReportVo.java @@ -0,0 +1,85 @@ +package com.klp.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 部门报餐主视图对象 wms_meal_report + * + * @author klp + * @date 2026-01-17 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsMealReportVo { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long reportId; + + /** + * 用餐日期 + */ + @ExcelProperty(value = "用餐日期") + private Date reportDate; + + /** + * 餐别:1早餐 2午餐 3晚餐 4夜宵 + */ + @ExcelProperty(value = "餐别:1早餐 2午餐 3晚餐 4夜宵") + private Long mealType; + + /** + * 部门名称 + */ + @ExcelProperty(value = "部门名称") + private String deptName; + + /** + * 用餐总人数 + */ + @ExcelProperty(value = "用餐总人数") + private Long totalPeople; + + /** + * 堂食人数 + */ + @ExcelProperty(value = "堂食人数") + private Long dineInPeople; + + /** + * 打包人数 + */ + @ExcelProperty(value = "打包人数") + private Long takeoutPeople; + + /** + * 报餐人姓名 + */ + @ExcelProperty(value = "报餐人姓名") + private String reportUserName; + + /** + * 状态:1已提交 2已修改 3已作废 + */ + @ExcelProperty(value = "状态:1已提交 2已修改 3已作废") + private Long status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsLeaveRequestMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsLeaveRequestMapper.java new file mode 100644 index 00000000..0973284c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsLeaveRequestMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsLeaveRequest; +import com.klp.domain.vo.WmsLeaveRequestVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 员工请假申请Mapper接口 + * + * @author klp + * @date 2026-01-17 + */ +public interface WmsLeaveRequestMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsMealReportMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsMealReportMapper.java new file mode 100644 index 00000000..e0d1799e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsMealReportMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsMealReport; +import com.klp.domain.vo.WmsMealReportVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 部门报餐主Mapper接口 + * + * @author klp + * @date 2026-01-17 + */ +public interface WmsMealReportMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsLeaveRequestService.java b/klp-wms/src/main/java/com/klp/service/IWmsLeaveRequestService.java new file mode 100644 index 00000000..2d7a766e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsLeaveRequestService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsLeaveRequest; +import com.klp.domain.vo.WmsLeaveRequestVo; +import com.klp.domain.bo.WmsLeaveRequestBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 员工请假申请Service接口 + * + * @author klp + * @date 2026-01-17 + */ +public interface IWmsLeaveRequestService { + + /** + * 查询员工请假申请 + */ + WmsLeaveRequestVo queryById(Long leaveId); + + /** + * 查询员工请假申请列表 + */ + TableDataInfo queryPageList(WmsLeaveRequestBo bo, PageQuery pageQuery); + + /** + * 查询员工请假申请列表 + */ + List queryList(WmsLeaveRequestBo bo); + + /** + * 新增员工请假申请 + */ + Boolean insertByBo(WmsLeaveRequestBo bo); + + /** + * 修改员工请假申请 + */ + Boolean updateByBo(WmsLeaveRequestBo bo); + + /** + * 校验并批量删除员工请假申请信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsMealReportService.java b/klp-wms/src/main/java/com/klp/service/IWmsMealReportService.java new file mode 100644 index 00000000..a34d3228 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsMealReportService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsMealReport; +import com.klp.domain.vo.WmsMealReportVo; +import com.klp.domain.bo.WmsMealReportBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 部门报餐主Service接口 + * + * @author klp + * @date 2026-01-17 + */ +public interface IWmsMealReportService { + + /** + * 查询部门报餐主 + */ + WmsMealReportVo queryById(Long reportId); + + /** + * 查询部门报餐主列表 + */ + TableDataInfo queryPageList(WmsMealReportBo bo, PageQuery pageQuery); + + /** + * 查询部门报餐主列表 + */ + List queryList(WmsMealReportBo bo); + + /** + * 新增部门报餐主 + */ + Boolean insertByBo(WmsMealReportBo bo); + + /** + * 修改部门报餐主 + */ + Boolean updateByBo(WmsMealReportBo bo); + + /** + * 校验并批量删除部门报餐主信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsLeaveRequestServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsLeaveRequestServiceImpl.java new file mode 100644 index 00000000..4e2e8979 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsLeaveRequestServiceImpl.java @@ -0,0 +1,118 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsLeaveRequestBo; +import com.klp.domain.vo.WmsLeaveRequestVo; +import com.klp.domain.WmsLeaveRequest; +import com.klp.mapper.WmsLeaveRequestMapper; +import com.klp.service.IWmsLeaveRequestService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 员工请假申请Service业务层处理 + * + * @author klp + * @date 2026-01-17 + */ +@RequiredArgsConstructor +@Service +public class WmsLeaveRequestServiceImpl implements IWmsLeaveRequestService { + + private final WmsLeaveRequestMapper baseMapper; + + /** + * 查询员工请假申请 + */ + @Override + public WmsLeaveRequestVo queryById(Long leaveId){ + return baseMapper.selectVoById(leaveId); + } + + /** + * 查询员工请假申请列表 + */ + @Override + public TableDataInfo queryPageList(WmsLeaveRequestBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询员工请假申请列表 + */ + @Override + public List queryList(WmsLeaveRequestBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsLeaveRequestBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getLeaveTitle()), WmsLeaveRequest::getLeaveTitle, bo.getLeaveTitle()); + lqw.eq(StringUtils.isNotBlank(bo.getLeaveType()), WmsLeaveRequest::getLeaveType, bo.getLeaveType()); + lqw.like(StringUtils.isNotBlank(bo.getApplicantName()), WmsLeaveRequest::getApplicantName, bo.getApplicantName()); + lqw.like(StringUtils.isNotBlank(bo.getApplicantDeptName()), WmsLeaveRequest::getApplicantDeptName, bo.getApplicantDeptName()); + lqw.eq(bo.getStartTime() != null, WmsLeaveRequest::getStartTime, bo.getStartTime()); + lqw.eq(bo.getEndTime() != null, WmsLeaveRequest::getEndTime, bo.getEndTime()); + lqw.eq(StringUtils.isNotBlank(bo.getLeaveShift()), WmsLeaveRequest::getLeaveShift, bo.getLeaveShift()); + lqw.eq(bo.getLeaveDays() != null, WmsLeaveRequest::getLeaveDays, bo.getLeaveDays()); + lqw.eq(StringUtils.isNotBlank(bo.getLeaveReason()), WmsLeaveRequest::getLeaveReason, bo.getLeaveReason()); + lqw.eq(StringUtils.isNotBlank(bo.getAttachmentUrls()), WmsLeaveRequest::getAttachmentUrls, bo.getAttachmentUrls()); + return lqw; + } + + /** + * 新增员工请假申请 + */ + @Override + public Boolean insertByBo(WmsLeaveRequestBo bo) { + WmsLeaveRequest add = BeanUtil.toBean(bo, WmsLeaveRequest.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setLeaveId(add.getLeaveId()); + } + return flag; + } + + /** + * 修改员工请假申请 + */ + @Override + public Boolean updateByBo(WmsLeaveRequestBo bo) { + WmsLeaveRequest update = BeanUtil.toBean(bo, WmsLeaveRequest.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsLeaveRequest entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除员工请假申请 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMealReportServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMealReportServiceImpl.java new file mode 100644 index 00000000..b1ecf1d0 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMealReportServiceImpl.java @@ -0,0 +1,116 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsMealReportBo; +import com.klp.domain.vo.WmsMealReportVo; +import com.klp.domain.WmsMealReport; +import com.klp.mapper.WmsMealReportMapper; +import com.klp.service.IWmsMealReportService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 部门报餐主Service业务层处理 + * + * @author klp + * @date 2026-01-17 + */ +@RequiredArgsConstructor +@Service +public class WmsMealReportServiceImpl implements IWmsMealReportService { + + private final WmsMealReportMapper baseMapper; + + /** + * 查询部门报餐主 + */ + @Override + public WmsMealReportVo queryById(Long reportId){ + return baseMapper.selectVoById(reportId); + } + + /** + * 查询部门报餐主列表 + */ + @Override + public TableDataInfo queryPageList(WmsMealReportBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询部门报餐主列表 + */ + @Override + public List queryList(WmsMealReportBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsMealReportBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getReportDate() != null, WmsMealReport::getReportDate, bo.getReportDate()); + lqw.eq(bo.getMealType() != null, WmsMealReport::getMealType, bo.getMealType()); + lqw.like(StringUtils.isNotBlank(bo.getDeptName()), WmsMealReport::getDeptName, bo.getDeptName()); + lqw.eq(bo.getTotalPeople() != null, WmsMealReport::getTotalPeople, bo.getTotalPeople()); + lqw.eq(bo.getDineInPeople() != null, WmsMealReport::getDineInPeople, bo.getDineInPeople()); + lqw.eq(bo.getTakeoutPeople() != null, WmsMealReport::getTakeoutPeople, bo.getTakeoutPeople()); + lqw.like(StringUtils.isNotBlank(bo.getReportUserName()), WmsMealReport::getReportUserName, bo.getReportUserName()); + lqw.eq(bo.getStatus() != null, WmsMealReport::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增部门报餐主 + */ + @Override + public Boolean insertByBo(WmsMealReportBo bo) { + WmsMealReport add = BeanUtil.toBean(bo, WmsMealReport.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setReportId(add.getReportId()); + } + return flag; + } + + /** + * 修改部门报餐主 + */ + @Override + public Boolean updateByBo(WmsMealReportBo bo) { + WmsMealReport update = BeanUtil.toBean(bo, WmsMealReport.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsMealReport entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除部门报餐主 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/resources/mapper/klp/WmsLeaveRequestMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsLeaveRequestMapper.xml new file mode 100644 index 00000000..c53294e5 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsLeaveRequestMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMealReportMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMealReportMapper.xml new file mode 100644 index 00000000..515f6209 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsMealReportMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + +