Files
klp-oa/klp-wms/src/main/java/com/klp/service/impl/WmsProcessTaskServiceImpl.java
Joshi 970c550590 feat(WmsProcessTask): 添加工艺顺序字段并实现相关功能
- 在 WmsProcessTask 和 WmsProcessTaskBo 类中添加 sequence 字段
- 在 WmsProcessTaskMapper.xml 中添加 sequence 列的映射
- 在 WmsProcessTaskServiceImpl 中按 sequence 排序任务列表
- 在 WmsProcessTaskVo 中添加 sequence 字段并支持 Excel 导出
2025-08-14 15:07:59 +08:00

115 lines
3.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.WmsProcessTaskBo;
import com.klp.domain.vo.WmsProcessTaskVo;
import com.klp.domain.WmsProcessTask;
import com.klp.mapper.WmsProcessTaskMapper;
import com.klp.service.IWmsProcessTaskService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 工艺任务生产计划所需工艺任务Service业务层处理
*
* @author klp
* @date 2025-08-14
*/
@RequiredArgsConstructor
@Service
public class WmsProcessTaskServiceImpl implements IWmsProcessTaskService {
private final WmsProcessTaskMapper baseMapper;
/**
* 查询工艺任务(生产计划所需工艺任务)
*/
@Override
public WmsProcessTaskVo queryById(Long taskId){
return baseMapper.selectVoById(taskId);
}
/**
* 查询工艺任务(生产计划所需工艺任务)列表
*/
@Override
public TableDataInfo<WmsProcessTaskVo> queryPageList(WmsProcessTaskBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsProcessTask> lqw = buildQueryWrapper(bo);
Page<WmsProcessTaskVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询工艺任务(生产计划所需工艺任务)列表
*/
@Override
public List<WmsProcessTaskVo> queryList(WmsProcessTaskBo bo) {
LambdaQueryWrapper<WmsProcessTask> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsProcessTask> buildQueryWrapper(WmsProcessTaskBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsProcessTask> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getPlanId() != null, WmsProcessTask::getPlanId, bo.getPlanId());
lqw.eq(bo.getProcessId() != null, WmsProcessTask::getProcessId, bo.getProcessId());
lqw.eq(bo.getProductId() != null, WmsProcessTask::getProductId, bo.getProductId());
lqw.eq(bo.getTaskQuantity() != null, WmsProcessTask::getTaskQuantity, bo.getTaskQuantity());
lqw.eq(StringUtils.isNotBlank(bo.getTaskStatus()), WmsProcessTask::getTaskStatus, bo.getTaskStatus());
lqw.orderByAsc(WmsProcessTask::getSequence);
return lqw;
}
/**
* 新增工艺任务(生产计划所需工艺任务)
*/
@Override
public Boolean insertByBo(WmsProcessTaskBo bo) {
WmsProcessTask add = BeanUtil.toBean(bo, WmsProcessTask.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setTaskId(add.getTaskId());
}
return flag;
}
/**
* 修改工艺任务(生产计划所需工艺任务)
*/
@Override
public Boolean updateByBo(WmsProcessTaskBo bo) {
WmsProcessTask update = BeanUtil.toBean(bo, WmsProcessTask.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WmsProcessTask entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除工艺任务(生产计划所需工艺任务)
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}