feat(wms): 添加应收货物计划管理功能

- 创建应收货物计划实体类 WmsReceivePlan
- 定义应收货物计划服务接口 IWmsReceivePlanService
- 实现应收货物计划服务业务逻辑 WmsReceivePlanServiceImpl
- 创建应收货物计划控制器 WmsReceivePlanController
- 设计应收货物计划数据传输对象 WmsReceivePlanBo 和视图对象 WmsReceivePlanVo
- 配置应收货物计划数据访问映射 WmsReceivePlanMapper
- 添加应收货物计划数据库映射文件
- 实现应收货物计划的增删改查功能
- 集成分页查询和导出功能
This commit is contained in:
2026-05-10 13:52:43 +08:00
parent 61facc6186
commit 20d214abb0
8 changed files with 730 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
package com.klp.service;
import com.klp.domain.WmsReceivePlan;
import com.klp.domain.vo.WmsReceivePlanVo;
import com.klp.domain.bo.WmsReceivePlanBo;
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-05-10
*/
public interface IWmsReceivePlanService {
/**
* 查询应收货物计划
*/
WmsReceivePlanVo queryById(Long receiveId);
/**
* 查询应收货物计划列表
*/
TableDataInfo<WmsReceivePlanVo> queryPageList(WmsReceivePlanBo bo, PageQuery pageQuery);
/**
* 查询应收货物计划列表
*/
List<WmsReceivePlanVo> queryList(WmsReceivePlanBo bo);
/**
* 新增应收货物计划
*/
Long insertByBo(WmsReceivePlanBo bo);
/**
* 修改应收货物计划
*/
Boolean updateByBo(WmsReceivePlanBo bo);
/**
* 校验并批量删除应收货物计划信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,127 @@
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.WmsReceivePlanBo;
import com.klp.domain.vo.WmsReceivePlanVo;
import com.klp.domain.WmsReceivePlan;
import com.klp.mapper.WmsReceivePlanMapper;
import com.klp.service.IWmsReceivePlanService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 应收货物计划Service业务层处理
*
* @author klp
* @date 2026-05-10
*/
@RequiredArgsConstructor
@Service
public class WmsReceivePlanServiceImpl implements IWmsReceivePlanService {
private final WmsReceivePlanMapper baseMapper;
/**
* 查询应收货物计划
*/
@Override
public WmsReceivePlanVo queryById(Long receiveId){
return baseMapper.selectVoById(receiveId);
}
/**
* 查询应收货物计划列表
*/
@Override
public TableDataInfo<WmsReceivePlanVo> queryPageList(WmsReceivePlanBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsReceivePlan> lqw = buildQueryWrapper(bo);
Page<WmsReceivePlanVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询应收货物计划列表
*/
@Override
public List<WmsReceivePlanVo> queryList(WmsReceivePlanBo bo) {
LambdaQueryWrapper<WmsReceivePlan> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsReceivePlan> buildQueryWrapper(WmsReceivePlanBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsReceivePlan> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getPlanId() != null, WmsReceivePlan::getPlanId, bo.getPlanId());
lqw.eq(StringUtils.isNotBlank(bo.getWarehouseArea()), WmsReceivePlan::getWarehouseArea, bo.getWarehouseArea());
lqw.eq(StringUtils.isNotBlank(bo.getLotNo()), WmsReceivePlan::getLotNo, bo.getLotNo());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierLotNo()), WmsReceivePlan::getSupplierLotNo, bo.getSupplierLotNo());
lqw.eq(StringUtils.isNotBlank(bo.getProductLotNo()), WmsReceivePlan::getProductLotNo, bo.getProductLotNo());
lqw.eq(bo.getProductionDate() != null, WmsReceivePlan::getProductionDate, bo.getProductionDate());
lqw.eq(bo.getWeight() != null, WmsReceivePlan::getWeight, bo.getWeight());
lqw.eq(StringUtils.isNotBlank(bo.getReceiveStatus()), WmsReceivePlan::getReceiveStatus, bo.getReceiveStatus());
lqw.like(StringUtils.isNotBlank(bo.getGoodsName()), WmsReceivePlan::getGoodsName, bo.getGoodsName());
lqw.eq(StringUtils.isNotBlank(bo.getSpec()), WmsReceivePlan::getSpec, bo.getSpec());
lqw.eq(bo.getLength() != null, WmsReceivePlan::getLength, bo.getLength());
lqw.eq(StringUtils.isNotBlank(bo.getMaterialType()), WmsReceivePlan::getMaterialType, bo.getMaterialType());
lqw.eq(StringUtils.isNotBlank(bo.getManufacturer()), WmsReceivePlan::getManufacturer, bo.getManufacturer());
lqw.eq(StringUtils.isNotBlank(bo.getSurfaceTreatment()), WmsReceivePlan::getSurfaceTreatment, bo.getSurfaceTreatment());
lqw.eq(StringUtils.isNotBlank(bo.getZincCoating()), WmsReceivePlan::getZincCoating, bo.getZincCoating());
lqw.eq(StringUtils.isNotBlank(bo.getTeamGroup()), WmsReceivePlan::getTeamGroup, bo.getTeamGroup());
lqw.eq(StringUtils.isNotBlank(bo.getTemperRolling()), WmsReceivePlan::getTemperRolling, bo.getTemperRolling());
lqw.eq(StringUtils.isNotBlank(bo.getCoatingType()), WmsReceivePlan::getCoatingType, bo.getCoatingType());
lqw.eq(StringUtils.isNotBlank(bo.getGoodsType()), WmsReceivePlan::getGoodsType, bo.getGoodsType());
return lqw;
}
/**
* 新增应收货物计划
*/
@Override
public Long insertByBo(WmsReceivePlanBo bo) {
WmsReceivePlan add = BeanUtil.toBean(bo, WmsReceivePlan.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setReceiveId(add.getReceiveId());
}
return add.getReceiveId();
}
/**
* 修改应收货物计划
*/
@Override
public Boolean updateByBo(WmsReceivePlanBo bo) {
WmsReceivePlan update = BeanUtil.toBean(bo, WmsReceivePlan.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WmsReceivePlan entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除应收货物计划
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}