diff --git a/klp-wms/src/main/java/com/klp/controller/WmsPostController.java b/klp-wms/src/main/java/com/klp/controller/WmsPostController.java new file mode 100644 index 00000000..4b28ca7c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsPostController.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.WmsPostVo; +import com.klp.domain.bo.WmsPostBo; +import com.klp.service.IWmsPostService; + +/** + * 岗位 + * + * @author klp + * @date 2026-06-15 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/wms/post") +public class WmsPostController extends BaseController { + + private final IWmsPostService iWmsPostService; + + /** + * 查询岗位列表 + */ + @GetMapping("/list") + public R> list(WmsPostBo bo) { + List list = iWmsPostService.queryList(bo); + return R.ok(list); + } + + /** + * 导出岗位列表 + */ + @Log(title = "岗位", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsPostBo bo, HttpServletResponse response) { + List list = iWmsPostService.queryList(bo); + ExcelUtil.exportExcel(list, "岗位", WmsPostVo.class, response); + } + + /** + * 获取岗位详细信息 + * + * @param postId 主键 + */ + @GetMapping("/{postId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long postId) { + return R.ok(iWmsPostService.queryById(postId)); + } + + /** + * 新增岗位 + */ + @Log(title = "岗位", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsPostBo bo) { + return toAjax(iWmsPostService.insertByBo(bo)); + } + + /** + * 修改岗位 + */ + @Log(title = "岗位", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsPostBo bo) { + return toAjax(iWmsPostService.updateByBo(bo)); + } + + /** + * 删除岗位 + * + * @param postIds 主键串 + */ + @Log(title = "岗位", businessType = BusinessType.DELETE) + @DeleteMapping("/{postIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] postIds) { + return toAjax(iWmsPostService.deleteWithValidByIds(Arrays.asList(postIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsPostDutyController.java b/klp-wms/src/main/java/com/klp/controller/WmsPostDutyController.java new file mode 100644 index 00000000..86e8c091 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsPostDutyController.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.WmsPostDutyVo; +import com.klp.domain.bo.WmsPostDutyBo; +import com.klp.service.IWmsPostDutyService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 岗位职责 + * + * @author klp + * @date 2026-06-15 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/wms/postDuty") +public class WmsPostDutyController extends BaseController { + + private final IWmsPostDutyService iWmsPostDutyService; + + /** + * 查询岗位职责列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsPostDutyBo bo, PageQuery pageQuery) { + return iWmsPostDutyService.queryPageList(bo, pageQuery); + } + + /** + * 导出岗位职责列表 + */ + @Log(title = "岗位职责", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsPostDutyBo bo, HttpServletResponse response) { + List list = iWmsPostDutyService.queryList(bo); + ExcelUtil.exportExcel(list, "岗位职责", WmsPostDutyVo.class, response); + } + + /** + * 获取岗位职责详细信息 + * + * @param dutyId 主键 + */ + @GetMapping("/{dutyId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long dutyId) { + return R.ok(iWmsPostDutyService.queryById(dutyId)); + } + + /** + * 新增岗位职责 + */ + @Log(title = "岗位职责", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsPostDutyBo bo) { + return toAjax(iWmsPostDutyService.insertByBo(bo)); + } + + /** + * 修改岗位职责 + */ + @Log(title = "岗位职责", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsPostDutyBo bo) { + return toAjax(iWmsPostDutyService.updateByBo(bo)); + } + + /** + * 删除岗位职责 + * + * @param dutyIds 主键串 + */ + @Log(title = "岗位职责", businessType = BusinessType.DELETE) + @DeleteMapping("/{dutyIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] dutyIds) { + return toAjax(iWmsPostDutyService.deleteWithValidByIds(Arrays.asList(dutyIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsPost.java b/klp-wms/src/main/java/com/klp/domain/WmsPost.java new file mode 100644 index 00000000..0dfc8946 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsPost.java @@ -0,0 +1,61 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import com.klp.common.core.domain.TreeEntity; + +/** + * 岗位对象 wms_post + * + * @author klp + * @date 2026-06-15 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_post") +public class WmsPost extends TreeEntity { + + private static final long serialVersionUID=1L; + + /** + * + */ + @TableId(value = "post_id") + private Long postId; + /** + * 岗位名称 + */ + private String postName; + /** + * 岗位类型(PRODUCTION=生产岗,QUALITY=质检岗,MAINTENANCE=维修岗,TECHNICAL=技术岗,MANAGEMENT=管理岗) + */ + private String postType; + /** + * 岗位级别(JUNIOR=初级,MIDDLE=中级,SENIOR=高级,LEAD=班长,MANAGER=经理) + */ + private String postLevel; + /** + * 所属产线ID + */ + private Long lineId; + /** + * 状态(0停用 1启用) + */ + private Long status; + /** + * 显示顺序 + */ + private Long postSort; + /** + * 删除标记(0正常 1删除) + */ + @TableLogic + private Long delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsPostDuty.java b/klp-wms/src/main/java/com/klp/domain/WmsPostDuty.java new file mode 100644 index 00000000..1d4b67cc --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsPostDuty.java @@ -0,0 +1,57 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 岗位职责对象 wms_post_duty + * + * @author klp + * @date 2026-06-15 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_post_duty") +public class WmsPostDuty extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * + */ + @TableId(value = "duty_id") + private Long dutyId; + /** + * 岗位ID + */ + private Long postId; + /** + * 职责名称 + */ + private String dutyName; + /** + * 职责内容 + */ + private String dutyContent; + /** + * 职责类型(MAIN=主要职责,SECONDARY=次要职责,SAFETY=安全职责,QUALITY=质量职责) + */ + private String dutyType; + /** + * 排序 + */ + private Long sortOrder; + /** + * 删除标记(0正常 1删除) + */ + @TableLogic + private Long delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsPostBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsPostBo.java new file mode 100644 index 00000000..e37f72f7 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsPostBo.java @@ -0,0 +1,61 @@ +package com.klp.domain.bo; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import com.klp.common.core.domain.TreeEntity; + +/** + * 岗位业务对象 wms_post + * + * @author klp + * @date 2026-06-15 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsPostBo extends TreeEntity { + + /** + * + */ + private Long postId; + + /** + * 岗位名称 + */ + private String postName; + + /** + * 岗位类型(PRODUCTION=生产岗,QUALITY=质检岗,MAINTENANCE=维修岗,TECHNICAL=技术岗,MANAGEMENT=管理岗) + */ + private String postType; + + /** + * 岗位级别(JUNIOR=初级,MIDDLE=中级,SENIOR=高级,LEAD=班长,MANAGER=经理) + */ + private String postLevel; + + /** + * 所属产线ID + */ + private Long lineId; + + /** + * 状态(0停用 1启用) + */ + private Long status; + + /** + * 显示顺序 + */ + private Long postSort; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsPostDutyBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsPostDutyBo.java new file mode 100644 index 00000000..99e9b6da --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsPostDutyBo.java @@ -0,0 +1,56 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + + +/** + * 岗位职责业务对象 wms_post_duty + * + * @author klp + * @date 2026-06-15 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsPostDutyBo extends BaseEntity { + + /** + * + */ + private Long dutyId; + + /** + * 岗位ID + */ + private Long postId; + + /** + * 职责名称 + */ + private String dutyName; + + /** + * 职责内容 + */ + private String dutyContent; + + /** + * 职责类型(MAIN=主要职责,SECONDARY=次要职责,SAFETY=安全职责,QUALITY=质量职责) + */ + private String dutyType; + + /** + * 排序 + */ + private Long sortOrder; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsPostDutyVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsPostDutyVo.java new file mode 100644 index 00000000..1b17adf9 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsPostDutyVo.java @@ -0,0 +1,65 @@ +package com.klp.domain.vo; + +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_post_duty + * + * @author klp + * @date 2026-06-15 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsPostDutyVo { + + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long dutyId; + + /** + * 岗位ID + */ + @ExcelProperty(value = "岗位ID") + private Long postId; + + /** + * 职责名称 + */ + @ExcelProperty(value = "职责名称") + private String dutyName; + + /** + * 职责内容 + */ + @ExcelProperty(value = "职责内容") + private String dutyContent; + + /** + * 职责类型(MAIN=主要职责,SECONDARY=次要职责,SAFETY=安全职责,QUALITY=质量职责) + */ + @ExcelProperty(value = "职责类型(MAIN=主要职责,SECONDARY=次要职责,SAFETY=安全职责,QUALITY=质量职责)") + private String dutyType; + + /** + * 排序 + */ + @ExcelProperty(value = "排序") + private Long sortOrder; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsPostVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsPostVo.java new file mode 100644 index 00000000..11a207a6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsPostVo.java @@ -0,0 +1,78 @@ +package com.klp.domain.vo; + +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_post + * + * @author klp + * @date 2026-06-15 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsPostVo { + + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long postId; + + /** + * 父岗位ID(0=根节点) + */ + @ExcelProperty(value = "父岗位ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==根节点") + private Long parentId; + + /** + * 岗位名称 + */ + @ExcelProperty(value = "岗位名称") + private String postName; + + /** + * 岗位类型(PRODUCTION=生产岗,QUALITY=质检岗,MAINTENANCE=维修岗,TECHNICAL=技术岗,MANAGEMENT=管理岗) + */ + @ExcelProperty(value = "岗位类型(PRODUCTION=生产岗,QUALITY=质检岗,MAINTENANCE=维修岗,TECHNICAL=技术岗,MANAGEMENT=管理岗)") + private String postType; + + /** + * 岗位级别(JUNIOR=初级,MIDDLE=中级,SENIOR=高级,LEAD=班长,MANAGER=经理) + */ + @ExcelProperty(value = "岗位级别(JUNIOR=初级,MIDDLE=中级,SENIOR=高级,LEAD=班长,MANAGER=经理)") + private String postLevel; + + /** + * 所属产线ID + */ + @ExcelProperty(value = "所属产线ID") + private Long lineId; + + /** + * 状态(0停用 1启用) + */ + @ExcelProperty(value = "状态(0停用 1启用)") + private Long status; + + /** + * 显示顺序 + */ + @ExcelProperty(value = "显示顺序") + private Long postSort; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsPostDutyMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsPostDutyMapper.java new file mode 100644 index 00000000..b1f26444 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsPostDutyMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsPostDuty; +import com.klp.domain.vo.WmsPostDutyVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 岗位职责Mapper接口 + * + * @author klp + * @date 2026-06-15 + */ +public interface WmsPostDutyMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsPostMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsPostMapper.java new file mode 100644 index 00000000..30d82ed6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsPostMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsPost; +import com.klp.domain.vo.WmsPostVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 岗位Mapper接口 + * + * @author klp + * @date 2026-06-15 + */ +public interface WmsPostMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsPostDutyService.java b/klp-wms/src/main/java/com/klp/service/IWmsPostDutyService.java new file mode 100644 index 00000000..3463d2b2 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsPostDutyService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsPostDuty; +import com.klp.domain.vo.WmsPostDutyVo; +import com.klp.domain.bo.WmsPostDutyBo; +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-06-15 + */ +public interface IWmsPostDutyService { + + /** + * 查询岗位职责 + */ + WmsPostDutyVo queryById(Long dutyId); + + /** + * 查询岗位职责列表 + */ + TableDataInfo queryPageList(WmsPostDutyBo bo, PageQuery pageQuery); + + /** + * 查询岗位职责列表 + */ + List queryList(WmsPostDutyBo bo); + + /** + * 新增岗位职责 + */ + Boolean insertByBo(WmsPostDutyBo bo); + + /** + * 修改岗位职责 + */ + Boolean updateByBo(WmsPostDutyBo bo); + + /** + * 校验并批量删除岗位职责信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsPostService.java b/klp-wms/src/main/java/com/klp/service/IWmsPostService.java new file mode 100644 index 00000000..c2500d46 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsPostService.java @@ -0,0 +1,43 @@ +package com.klp.service; + +import com.klp.domain.WmsPost; +import com.klp.domain.vo.WmsPostVo; +import com.klp.domain.bo.WmsPostBo; + +import java.util.Collection; +import java.util.List; + +/** + * 岗位Service接口 + * + * @author klp + * @date 2026-06-15 + */ +public interface IWmsPostService { + + /** + * 查询岗位 + */ + WmsPostVo queryById(Long postId); + + + /** + * 查询岗位列表 + */ + List queryList(WmsPostBo bo); + + /** + * 新增岗位 + */ + Boolean insertByBo(WmsPostBo bo); + + /** + * 修改岗位 + */ + Boolean updateByBo(WmsPostBo bo); + + /** + * 校验并批量删除岗位信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsPostDutyServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsPostDutyServiceImpl.java new file mode 100644 index 00000000..504fc3d3 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsPostDutyServiceImpl.java @@ -0,0 +1,113 @@ +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.WmsPostDutyBo; +import com.klp.domain.vo.WmsPostDutyVo; +import com.klp.domain.WmsPostDuty; +import com.klp.mapper.WmsPostDutyMapper; +import com.klp.service.IWmsPostDutyService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 岗位职责Service业务层处理 + * + * @author klp + * @date 2026-06-15 + */ +@RequiredArgsConstructor +@Service +public class WmsPostDutyServiceImpl implements IWmsPostDutyService { + + private final WmsPostDutyMapper baseMapper; + + /** + * 查询岗位职责 + */ + @Override + public WmsPostDutyVo queryById(Long dutyId){ + return baseMapper.selectVoById(dutyId); + } + + /** + * 查询岗位职责列表 + */ + @Override + public TableDataInfo queryPageList(WmsPostDutyBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询岗位职责列表 + */ + @Override + public List queryList(WmsPostDutyBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsPostDutyBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getPostId() != null, WmsPostDuty::getPostId, bo.getPostId()); + lqw.like(StringUtils.isNotBlank(bo.getDutyName()), WmsPostDuty::getDutyName, bo.getDutyName()); + lqw.eq(StringUtils.isNotBlank(bo.getDutyContent()), WmsPostDuty::getDutyContent, bo.getDutyContent()); + lqw.eq(StringUtils.isNotBlank(bo.getDutyType()), WmsPostDuty::getDutyType, bo.getDutyType()); + lqw.eq(bo.getSortOrder() != null, WmsPostDuty::getSortOrder, bo.getSortOrder()); + return lqw; + } + + /** + * 新增岗位职责 + */ + @Override + public Boolean insertByBo(WmsPostDutyBo bo) { + WmsPostDuty add = BeanUtil.toBean(bo, WmsPostDuty.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDutyId(add.getDutyId()); + } + return flag; + } + + /** + * 修改岗位职责 + */ + @Override + public Boolean updateByBo(WmsPostDutyBo bo) { + WmsPostDuty update = BeanUtil.toBean(bo, WmsPostDuty.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsPostDuty 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/WmsPostServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsPostServiceImpl.java new file mode 100644 index 00000000..8acbb48c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsPostServiceImpl.java @@ -0,0 +1,103 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +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.WmsPostBo; +import com.klp.domain.vo.WmsPostVo; +import com.klp.domain.WmsPost; +import com.klp.mapper.WmsPostMapper; +import com.klp.service.IWmsPostService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 岗位Service业务层处理 + * + * @author klp + * @date 2026-06-15 + */ +@RequiredArgsConstructor +@Service +public class WmsPostServiceImpl implements IWmsPostService { + + private final WmsPostMapper baseMapper; + + /** + * 查询岗位 + */ + @Override + public WmsPostVo queryById(Long postId){ + return baseMapper.selectVoById(postId); + } + + + /** + * 查询岗位列表 + */ + @Override + public List queryList(WmsPostBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsPostBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getParentId() != null, WmsPost::getParentId, bo.getParentId()); + lqw.like(StringUtils.isNotBlank(bo.getPostName()), WmsPost::getPostName, bo.getPostName()); + lqw.eq(StringUtils.isNotBlank(bo.getPostType()), WmsPost::getPostType, bo.getPostType()); + lqw.eq(StringUtils.isNotBlank(bo.getPostLevel()), WmsPost::getPostLevel, bo.getPostLevel()); + lqw.eq(bo.getLineId() != null, WmsPost::getLineId, bo.getLineId()); + lqw.eq(bo.getStatus() != null, WmsPost::getStatus, bo.getStatus()); + lqw.eq(bo.getPostSort() != null, WmsPost::getPostSort, bo.getPostSort()); + return lqw; + } + + /** + * 新增岗位 + */ + @Override + public Boolean insertByBo(WmsPostBo bo) { + WmsPost add = BeanUtil.toBean(bo, WmsPost.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setPostId(add.getPostId()); + } + return flag; + } + + /** + * 修改岗位 + */ + @Override + public Boolean updateByBo(WmsPostBo bo) { + WmsPost update = BeanUtil.toBean(bo, WmsPost.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsPost 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/WmsPostDutyMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsPostDutyMapper.xml new file mode 100644 index 00000000..50a9635a --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsPostDutyMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsPostMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsPostMapper.xml new file mode 100644 index 00000000..b46f508c --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsPostMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + +