Files
klp-oa/klp-wms/src/main/java/com/klp/service/impl/WmsInspectionApplicationServiceImpl.java
Joshi f0a74c1e1c feat(wms): 添加检化验申请单功能模块
- 创建检化验申请单实体类 WmsInspectionApplication
- 定义检化验申请单服务接口 IWmsInspectionApplicationService
- 实现检化验申请单服务业务逻辑 WmsInspectionApplicationServiceImpl
- 添加检化验申请单控制器 WmsInspectionApplicationController
- 创建检化验申请单数据访问层 WmsInspectionApplicationMapper
- 设计检化验申请单业务对象 WmsInspectionApplicationBo 和视图对象 WmsInspectionApplicationVo
- 配置检化验申请单 MyBatis 映射文件
- 实现检化验申请单的增删改查功能
- 添加检化验申请单列表查询和导出功能
2026-07-08 10:25:41 +08:00

133 lines
6.3 KiB
Java

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.WmsInspectionApplicationBo;
import com.klp.domain.vo.WmsInspectionApplicationVo;
import com.klp.domain.WmsInspectionApplication;
import com.klp.mapper.WmsInspectionApplicationMapper;
import com.klp.service.IWmsInspectionApplicationService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 检化验申请单Service业务层处理
*
* @author klp
* @date 2026-07-08
*/
@RequiredArgsConstructor
@Service
public class WmsInspectionApplicationServiceImpl implements IWmsInspectionApplicationService {
private final WmsInspectionApplicationMapper baseMapper;
/**
* 查询检化验申请单
*/
@Override
public WmsInspectionApplicationVo queryById(Long applicationId){
return baseMapper.selectVoById(applicationId);
}
/**
* 查询检化验申请单列表
*/
@Override
public TableDataInfo<WmsInspectionApplicationVo> queryPageList(WmsInspectionApplicationBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsInspectionApplication> lqw = buildQueryWrapper(bo);
Page<WmsInspectionApplicationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询检化验申请单列表
*/
@Override
public List<WmsInspectionApplicationVo> queryList(WmsInspectionApplicationBo bo) {
LambdaQueryWrapper<WmsInspectionApplication> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsInspectionApplication> buildQueryWrapper(WmsInspectionApplicationBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsInspectionApplication> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getApplicationNo()), WmsInspectionApplication::getApplicationNo, bo.getApplicationNo());
lqw.eq(StringUtils.isNotBlank(bo.getApplicationTitle()), WmsInspectionApplication::getApplicationTitle, bo.getApplicationTitle());
lqw.eq(StringUtils.isNotBlank(bo.getProductionLine()), WmsInspectionApplication::getProductionLine, bo.getProductionLine());
lqw.eq(StringUtils.isNotBlank(bo.getExperimentType()), WmsInspectionApplication::getExperimentType, bo.getExperimentType());
lqw.like(StringUtils.isNotBlank(bo.getSampleName()), WmsInspectionApplication::getSampleName, bo.getSampleName());
lqw.eq(StringUtils.isNotBlank(bo.getSampleBatchNo()), WmsInspectionApplication::getSampleBatchNo, bo.getSampleBatchNo());
lqw.eq(StringUtils.isNotBlank(bo.getSampleSource()), WmsInspectionApplication::getSampleSource, bo.getSampleSource());
lqw.eq(bo.getSampleQuantity() != null, WmsInspectionApplication::getSampleQuantity, bo.getSampleQuantity());
lqw.eq(StringUtils.isNotBlank(bo.getTestPurpose()), WmsInspectionApplication::getTestPurpose, bo.getTestPurpose());
lqw.eq(bo.getRequiredDate() != null, WmsInspectionApplication::getRequiredDate, bo.getRequiredDate());
lqw.eq(bo.getFlowStatus() != null, WmsInspectionApplication::getFlowStatus, bo.getFlowStatus());
lqw.eq(bo.getSubmitTime() != null, WmsInspectionApplication::getSubmitTime, bo.getSubmitTime());
lqw.eq(StringUtils.isNotBlank(bo.getApproveBy()), WmsInspectionApplication::getApproveBy, bo.getApproveBy());
lqw.eq(bo.getApproveTime() != null, WmsInspectionApplication::getApproveTime, bo.getApproveTime());
lqw.eq(StringUtils.isNotBlank(bo.getApproveOpinion()), WmsInspectionApplication::getApproveOpinion, bo.getApproveOpinion());
lqw.eq(StringUtils.isNotBlank(bo.getRejectReason()), WmsInspectionApplication::getRejectReason, bo.getRejectReason());
lqw.eq(bo.getMainId() != null, WmsInspectionApplication::getMainId, bo.getMainId());
lqw.eq(StringUtils.isNotBlank(bo.getDetailIds()), WmsInspectionApplication::getDetailIds, bo.getDetailIds());
lqw.eq(StringUtils.isNotBlank(bo.getExperimentOperator()), WmsInspectionApplication::getExperimentOperator, bo.getExperimentOperator());
lqw.eq(bo.getExperimentStartTime() != null, WmsInspectionApplication::getExperimentStartTime, bo.getExperimentStartTime());
lqw.eq(bo.getExperimentEndTime() != null, WmsInspectionApplication::getExperimentEndTime, bo.getExperimentEndTime());
lqw.eq(StringUtils.isNotBlank(bo.getResultSummary()), WmsInspectionApplication::getResultSummary, bo.getResultSummary());
lqw.eq(StringUtils.isNotBlank(bo.getResultFiller()), WmsInspectionApplication::getResultFiller, bo.getResultFiller());
lqw.eq(bo.getResultFillTime() != null, WmsInspectionApplication::getResultFillTime, bo.getResultFillTime());
return lqw;
}
/**
* 新增检化验申请单
*/
@Override
public Boolean insertByBo(WmsInspectionApplicationBo bo) {
WmsInspectionApplication add = BeanUtil.toBean(bo, WmsInspectionApplication.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setApplicationId(add.getApplicationId());
}
return flag;
}
/**
* 修改检化验申请单
*/
@Override
public Boolean updateByBo(WmsInspectionApplicationBo bo) {
WmsInspectionApplication update = BeanUtil.toBean(bo, WmsInspectionApplication.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WmsInspectionApplication entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除检化验申请单
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}