diff --git a/klp-wms/src/main/java/com/klp/controller/WmsApprovalController.java b/klp-wms/src/main/java/com/klp/controller/WmsApprovalController.java new file mode 100644 index 00000000..463d50b6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsApprovalController.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.WmsApprovalVo; +import com.klp.domain.bo.WmsApprovalBo; +import com.klp.service.IWmsApprovalService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 通用审批(支持请假/外出等申请的审批) + * + * @author klp + * @date 2026-01-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/wms/approval") +public class WmsApprovalController extends BaseController { + + private final IWmsApprovalService iWmsApprovalService; + + /** + * 查询通用审批(支持请假/外出等申请的审批)列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsApprovalBo bo, PageQuery pageQuery) { + return iWmsApprovalService.queryPageList(bo, pageQuery); + } + + /** + * 导出通用审批(支持请假/外出等申请的审批)列表 + */ + @Log(title = "通用审批(支持请假/外出等申请的审批)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsApprovalBo bo, HttpServletResponse response) { + List list = iWmsApprovalService.queryList(bo); + ExcelUtil.exportExcel(list, "通用审批(支持请假/外出等申请的审批)", WmsApprovalVo.class, response); + } + + /** + * 获取通用审批(支持请假/外出等申请的审批)详细信息 + * + * @param approvalId 主键 + */ + @GetMapping("/{approvalId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long approvalId) { + return R.ok(iWmsApprovalService.queryById(approvalId)); + } + + /** + * 新增通用审批(支持请假/外出等申请的审批) + */ + @Log(title = "通用审批(支持请假/外出等申请的审批)", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsApprovalBo bo) { + return toAjax(iWmsApprovalService.insertByBo(bo)); + } + + /** + * 修改通用审批(支持请假/外出等申请的审批) + */ + @Log(title = "通用审批(支持请假/外出等申请的审批)", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsApprovalBo bo) { + return toAjax(iWmsApprovalService.updateByBo(bo)); + } + + /** + * 删除通用审批(支持请假/外出等申请的审批) + * + * @param approvalIds 主键串 + */ + @Log(title = "通用审批(支持请假/外出等申请的审批)", businessType = BusinessType.DELETE) + @DeleteMapping("/{approvalIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] approvalIds) { + return toAjax(iWmsApprovalService.deleteWithValidByIds(Arrays.asList(approvalIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsOutRequestController.java b/klp-wms/src/main/java/com/klp/controller/WmsOutRequestController.java new file mode 100644 index 00000000..7db2adb3 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsOutRequestController.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.WmsOutRequestVo; +import com.klp.domain.bo.WmsOutRequestBo; +import com.klp.service.IWmsOutRequestService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 员工外出申请 + * + * @author klp + * @date 2026-01-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/wms/outRequest") +public class WmsOutRequestController extends BaseController { + + private final IWmsOutRequestService iWmsOutRequestService; + + /** + * 查询员工外出申请列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsOutRequestBo bo, PageQuery pageQuery) { + return iWmsOutRequestService.queryPageList(bo, pageQuery); + } + + /** + * 导出员工外出申请列表 + */ + @Log(title = "员工外出申请", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsOutRequestBo bo, HttpServletResponse response) { + List list = iWmsOutRequestService.queryList(bo); + ExcelUtil.exportExcel(list, "员工外出申请", WmsOutRequestVo.class, response); + } + + /** + * 获取员工外出申请详细信息 + * + * @param outId 主键 + */ + @GetMapping("/{outId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long outId) { + return R.ok(iWmsOutRequestService.queryById(outId)); + } + + /** + * 新增员工外出申请 + */ + @Log(title = "员工外出申请", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsOutRequestBo bo) { + return toAjax(iWmsOutRequestService.insertByBo(bo)); + } + + /** + * 修改员工外出申请 + */ + @Log(title = "员工外出申请", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsOutRequestBo bo) { + return toAjax(iWmsOutRequestService.updateByBo(bo)); + } + + /** + * 删除员工外出申请 + * + * @param outIds 主键串 + */ + @Log(title = "员工外出申请", businessType = BusinessType.DELETE) + @DeleteMapping("/{outIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] outIds) { + return toAjax(iWmsOutRequestService.deleteWithValidByIds(Arrays.asList(outIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsApproval.java b/klp-wms/src/main/java/com/klp/domain/WmsApproval.java new file mode 100644 index 00000000..58534403 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsApproval.java @@ -0,0 +1,63 @@ +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_approval + * + * @author klp + * @date 2026-01-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_approval") +public class WmsApproval extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 审批记录主键ID + */ + @TableId(value = "approval_id") + private Long approvalId; + /** + * 申请类型(leave=请假,out=外出) + */ + private String applyType; + /** + * 关联的申请ID(请假ID/外出ID) + */ + private Long applyId; + /** + * 审批人姓名 + */ + private String approverName; + /** + * 审批状态(待审批/已同意/已驳回/已撤销) + */ + private String approvalStatus; + /** + * 审批意见 + */ + private String approvalOpinion; + /** + * 审批时间 + */ + private Date approvalTime; + /** + * 逻辑删除标识:0=正常,1=已删 + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsOutRequest.java b/klp-wms/src/main/java/com/klp/domain/WmsOutRequest.java new file mode 100644 index 00000000..aa9b7903 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsOutRequest.java @@ -0,0 +1,76 @@ +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_out_request + * + * @author klp + * @date 2026-01-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_out_request") +public class WmsOutRequest extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @TableId(value = "out_id") + private Long outId; + /** + * 外出类型(办公/办事/访客/其他) + */ + private String outType; + /** + * 外出人姓名 + */ + private String applicantName; + /** + * 外出人部门名称 + */ + private String applicantDeptName; + /** + * 外出开始时间 + */ + private Date startTime; + /** + * 外出结束时间 + */ + private Date endTime; + /** + * 外出时长(小时) + */ + private BigDecimal outHours; + /** + * 外出地点 + */ + private String outPlace; + /** + * 外出原因 + */ + private String outReason; + /** + * 附件(相关证明等) + */ + private String attachmentUrls; + /** + * 逻辑删除标识:0=正常,1=已删 + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsApprovalBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsApprovalBo.java new file mode 100644 index 00000000..52f59a26 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsApprovalBo.java @@ -0,0 +1,63 @@ +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_approval + * + * @author klp + * @date 2026-01-20 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsApprovalBo extends BaseEntity { + + /** + * 审批记录主键ID + */ + private Long approvalId; + + /** + * 申请类型(leave=请假,out=外出) + */ + private String applyType; + + /** + * 关联的申请ID(请假ID/外出ID) + */ + private Long applyId; + + /** + * 审批人姓名 + */ + private String approverName; + + /** + * 审批状态(待审批/已同意/已驳回/已撤销) + */ + private String approvalStatus; + + /** + * 审批意见 + */ + private String approvalOpinion; + + /** + * 审批时间 + */ + private Date approvalTime; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsOutRequestBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsOutRequestBo.java new file mode 100644 index 00000000..8fb54389 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsOutRequestBo.java @@ -0,0 +1,79 @@ +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_out_request + * + * @author klp + * @date 2026-01-20 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsOutRequestBo extends BaseEntity { + + /** + * 主键ID + */ + private Long outId; + + /** + * 外出类型(办公/办事/访客/其他) + */ + private String outType; + + /** + * 外出人姓名 + */ + private String applicantName; + + /** + * 外出人部门名称 + */ + private String applicantDeptName; + + /** + * 外出开始时间 + */ + private Date startTime; + + /** + * 外出结束时间 + */ + private Date endTime; + + /** + * 外出时长(小时) + */ + private BigDecimal outHours; + + /** + * 外出地点 + */ + private String outPlace; + + /** + * 外出原因 + */ + private String outReason; + + /** + * 附件(相关证明等) + */ + private String attachmentUrls; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsApprovalVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsApprovalVo.java new file mode 100644 index 00000000..bf8c4b74 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsApprovalVo.java @@ -0,0 +1,76 @@ +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_approval + * + * @author klp + * @date 2026-01-20 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsApprovalVo { + + private static final long serialVersionUID = 1L; + + /** + * 审批记录主键ID + */ + @ExcelProperty(value = "审批记录主键ID") + private Long approvalId; + + /** + * 申请类型(leave=请假,out=外出) + */ + @ExcelProperty(value = "申请类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "l=eave=请假,out=外出") + private String applyType; + + /** + * 关联的申请ID(请假ID/外出ID) + */ + @ExcelProperty(value = "关联的申请ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "请=假ID/外出ID") + private Long applyId; + + /** + * 审批人姓名 + */ + @ExcelProperty(value = "审批人姓名") + private String approverName; + + /** + * 审批状态(待审批/已同意/已驳回/已撤销) + */ + @ExcelProperty(value = "审批状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "待=审批/已同意/已驳回/已撤销") + private String approvalStatus; + + /** + * 审批意见 + */ + @ExcelProperty(value = "审批意见") + private String approvalOpinion; + + /** + * 审批时间 + */ + @ExcelProperty(value = "审批时间") + private Date approvalTime; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsOutRequestVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsOutRequestVo.java new file mode 100644 index 00000000..7e9897c2 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsOutRequestVo.java @@ -0,0 +1,95 @@ +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_out_request + * + * @author klp + * @date 2026-01-20 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsOutRequestVo { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long outId; + + /** + * 外出类型(办公/办事/访客/其他) + */ + @ExcelProperty(value = "外出类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "办=公/办事/访客/其他") + private String outType; + + /** + * 外出人姓名 + */ + @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 BigDecimal outHours; + + /** + * 外出地点 + */ + @ExcelProperty(value = "外出地点") + private String outPlace; + + /** + * 外出原因 + */ + @ExcelProperty(value = "外出原因") + private String outReason; + + /** + * 附件(相关证明等) + */ + @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/mapper/WmsApprovalMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsApprovalMapper.java new file mode 100644 index 00000000..21889d5f --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsApprovalMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsApproval; +import com.klp.domain.vo.WmsApprovalVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 通用审批(支持请假/外出等申请的审批)Mapper接口 + * + * @author klp + * @date 2026-01-20 + */ +public interface WmsApprovalMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsOutRequestMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsOutRequestMapper.java new file mode 100644 index 00000000..96c2e5f1 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsOutRequestMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsOutRequest; +import com.klp.domain.vo.WmsOutRequestVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 员工外出申请Mapper接口 + * + * @author klp + * @date 2026-01-20 + */ +public interface WmsOutRequestMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsApprovalService.java b/klp-wms/src/main/java/com/klp/service/IWmsApprovalService.java new file mode 100644 index 00000000..25ea18c6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsApprovalService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsApproval; +import com.klp.domain.vo.WmsApprovalVo; +import com.klp.domain.bo.WmsApprovalBo; +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-20 + */ +public interface IWmsApprovalService { + + /** + * 查询通用审批(支持请假/外出等申请的审批) + */ + WmsApprovalVo queryById(Long approvalId); + + /** + * 查询通用审批(支持请假/外出等申请的审批)列表 + */ + TableDataInfo queryPageList(WmsApprovalBo bo, PageQuery pageQuery); + + /** + * 查询通用审批(支持请假/外出等申请的审批)列表 + */ + List queryList(WmsApprovalBo bo); + + /** + * 新增通用审批(支持请假/外出等申请的审批) + */ + Boolean insertByBo(WmsApprovalBo bo); + + /** + * 修改通用审批(支持请假/外出等申请的审批) + */ + Boolean updateByBo(WmsApprovalBo bo); + + /** + * 校验并批量删除通用审批(支持请假/外出等申请的审批)信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsOutRequestService.java b/klp-wms/src/main/java/com/klp/service/IWmsOutRequestService.java new file mode 100644 index 00000000..49fd6992 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsOutRequestService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsOutRequest; +import com.klp.domain.vo.WmsOutRequestVo; +import com.klp.domain.bo.WmsOutRequestBo; +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-20 + */ +public interface IWmsOutRequestService { + + /** + * 查询员工外出申请 + */ + WmsOutRequestVo queryById(Long outId); + + /** + * 查询员工外出申请列表 + */ + TableDataInfo queryPageList(WmsOutRequestBo bo, PageQuery pageQuery); + + /** + * 查询员工外出申请列表 + */ + List queryList(WmsOutRequestBo bo); + + /** + * 新增员工外出申请 + */ + Boolean insertByBo(WmsOutRequestBo bo); + + /** + * 修改员工外出申请 + */ + Boolean updateByBo(WmsOutRequestBo bo); + + /** + * 校验并批量删除员工外出申请信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsApprovalServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsApprovalServiceImpl.java new file mode 100644 index 00000000..9d09d2eb --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsApprovalServiceImpl.java @@ -0,0 +1,114 @@ +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.WmsApprovalBo; +import com.klp.domain.vo.WmsApprovalVo; +import com.klp.domain.WmsApproval; +import com.klp.mapper.WmsApprovalMapper; +import com.klp.service.IWmsApprovalService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 通用审批(支持请假/外出等申请的审批)Service业务层处理 + * + * @author klp + * @date 2026-01-20 + */ +@RequiredArgsConstructor +@Service +public class WmsApprovalServiceImpl implements IWmsApprovalService { + + private final WmsApprovalMapper baseMapper; + + /** + * 查询通用审批(支持请假/外出等申请的审批) + */ + @Override + public WmsApprovalVo queryById(Long approvalId){ + return baseMapper.selectVoById(approvalId); + } + + /** + * 查询通用审批(支持请假/外出等申请的审批)列表 + */ + @Override + public TableDataInfo queryPageList(WmsApprovalBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询通用审批(支持请假/外出等申请的审批)列表 + */ + @Override + public List queryList(WmsApprovalBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsApprovalBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getApplyType()), WmsApproval::getApplyType, bo.getApplyType()); + lqw.eq(bo.getApplyId() != null, WmsApproval::getApplyId, bo.getApplyId()); + lqw.like(StringUtils.isNotBlank(bo.getApproverName()), WmsApproval::getApproverName, bo.getApproverName()); + lqw.eq(StringUtils.isNotBlank(bo.getApprovalStatus()), WmsApproval::getApprovalStatus, bo.getApprovalStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getApprovalOpinion()), WmsApproval::getApprovalOpinion, bo.getApprovalOpinion()); + lqw.eq(bo.getApprovalTime() != null, WmsApproval::getApprovalTime, bo.getApprovalTime()); + return lqw; + } + + /** + * 新增通用审批(支持请假/外出等申请的审批) + */ + @Override + public Boolean insertByBo(WmsApprovalBo bo) { + WmsApproval add = BeanUtil.toBean(bo, WmsApproval.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setApprovalId(add.getApprovalId()); + } + return flag; + } + + /** + * 修改通用审批(支持请假/外出等申请的审批) + */ + @Override + public Boolean updateByBo(WmsApprovalBo bo) { + WmsApproval update = BeanUtil.toBean(bo, WmsApproval.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsApproval 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/WmsOutRequestServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsOutRequestServiceImpl.java new file mode 100644 index 00000000..2bef0763 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsOutRequestServiceImpl.java @@ -0,0 +1,117 @@ +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.WmsOutRequestBo; +import com.klp.domain.vo.WmsOutRequestVo; +import com.klp.domain.WmsOutRequest; +import com.klp.mapper.WmsOutRequestMapper; +import com.klp.service.IWmsOutRequestService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 员工外出申请Service业务层处理 + * + * @author klp + * @date 2026-01-20 + */ +@RequiredArgsConstructor +@Service +public class WmsOutRequestServiceImpl implements IWmsOutRequestService { + + private final WmsOutRequestMapper baseMapper; + + /** + * 查询员工外出申请 + */ + @Override + public WmsOutRequestVo queryById(Long outId){ + return baseMapper.selectVoById(outId); + } + + /** + * 查询员工外出申请列表 + */ + @Override + public TableDataInfo queryPageList(WmsOutRequestBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询员工外出申请列表 + */ + @Override + public List queryList(WmsOutRequestBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsOutRequestBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getOutType()), WmsOutRequest::getOutType, bo.getOutType()); + lqw.like(StringUtils.isNotBlank(bo.getApplicantName()), WmsOutRequest::getApplicantName, bo.getApplicantName()); + lqw.like(StringUtils.isNotBlank(bo.getApplicantDeptName()), WmsOutRequest::getApplicantDeptName, bo.getApplicantDeptName()); + lqw.eq(bo.getStartTime() != null, WmsOutRequest::getStartTime, bo.getStartTime()); + lqw.eq(bo.getEndTime() != null, WmsOutRequest::getEndTime, bo.getEndTime()); + lqw.eq(bo.getOutHours() != null, WmsOutRequest::getOutHours, bo.getOutHours()); + lqw.eq(StringUtils.isNotBlank(bo.getOutPlace()), WmsOutRequest::getOutPlace, bo.getOutPlace()); + lqw.eq(StringUtils.isNotBlank(bo.getOutReason()), WmsOutRequest::getOutReason, bo.getOutReason()); + lqw.eq(StringUtils.isNotBlank(bo.getAttachmentUrls()), WmsOutRequest::getAttachmentUrls, bo.getAttachmentUrls()); + return lqw; + } + + /** + * 新增员工外出申请 + */ + @Override + public Boolean insertByBo(WmsOutRequestBo bo) { + WmsOutRequest add = BeanUtil.toBean(bo, WmsOutRequest.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setOutId(add.getOutId()); + } + return flag; + } + + /** + * 修改员工外出申请 + */ + @Override + public Boolean updateByBo(WmsOutRequestBo bo) { + WmsOutRequest update = BeanUtil.toBean(bo, WmsOutRequest.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsOutRequest 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/WmsApprovalMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsApprovalMapper.xml new file mode 100644 index 00000000..49ae471a --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsApprovalMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsOutRequestMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsOutRequestMapper.xml new file mode 100644 index 00000000..b94fc285 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsOutRequestMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + +