feat(wms): 物料信息关联物料大类名称

- 在 BaseMaterialInfo 模型中添加 materialCategoryName 字段
- 修改 BaseMaterialInfoServiceImpl 中的查询方法,实现物料大类名称的关联查询
- 更新 BaseMaterialInfoVo 中添加 materialCategoryName 字段用于展示
master
zangch@mesnac.com 2 weeks ago
parent 1670de4eaf
commit 12a148d010

@ -265,5 +265,10 @@ public class BaseMaterialInfo extends TenantEntity {
*/ */
private String remark; private String remark;
/**
*
*/
@TableField(exist = false)
private String materialCategoryName;//join
} }

@ -1,18 +1,16 @@
package org.dromara.wms.domain.vo; package org.dromara.wms.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.wms.domain.BaseMaterialInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.wms.domain.BaseMaterialInfo;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -369,5 +367,9 @@ public class BaseMaterialInfoVo implements Serializable {
@ExcelProperty(value = "更新时间") @ExcelProperty(value = "更新时间")
private Date updateTime; private Date updateTime;
/**
*
*/
private String materialCategoryName;//join
} }

@ -1,24 +1,27 @@
package org.dromara.wms.service.impl; package org.dromara.wms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.common.mybatis.core.page.TableDataInfo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.dromara.wms.domain.BaseMaterialCategory;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.wms.domain.BaseMaterialInfo; import org.dromara.wms.domain.BaseMaterialInfo;
import org.dromara.wms.domain.bo.BaseMaterialInfoBo; import org.dromara.wms.domain.bo.BaseMaterialInfoBo;
import org.dromara.wms.domain.vo.BaseMaterialInfoVo; import org.dromara.wms.domain.vo.BaseMaterialInfoVo;
import org.dromara.wms.mapper.BaseMaterialInfoMapper; import org.dromara.wms.mapper.BaseMaterialInfoMapper;
import org.dromara.wms.service.IBaseMaterialInfoService; import org.dromara.wms.service.IBaseMaterialInfoService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Collection;
/** /**
* Service * Service
@ -32,6 +35,7 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService {
private final BaseMaterialInfoMapper baseMapper; private final BaseMaterialInfoMapper baseMapper;
/** /**
* *
* *
@ -52,7 +56,7 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService {
*/ */
@Override @Override
public TableDataInfo<BaseMaterialInfoVo> queryPageList(BaseMaterialInfoBo bo, PageQuery pageQuery) { public TableDataInfo<BaseMaterialInfoVo> queryPageList(BaseMaterialInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<BaseMaterialInfo> lqw = buildQueryWrapper(bo); MPJLambdaWrapper<BaseMaterialInfo> lqw = buildQueryWrapper(bo);
Page<BaseMaterialInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<BaseMaterialInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -65,61 +69,82 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService {
*/ */
@Override @Override
public List<BaseMaterialInfoVo> queryList(BaseMaterialInfoBo bo) { public List<BaseMaterialInfoVo> queryList(BaseMaterialInfoBo bo) {
LambdaQueryWrapper<BaseMaterialInfo> lqw = buildQueryWrapper(bo); MPJLambdaWrapper<BaseMaterialInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
private LambdaQueryWrapper<BaseMaterialInfo> buildQueryWrapper(BaseMaterialInfoBo bo) { private MPJLambdaWrapper<BaseMaterialInfo> buildQueryWrapper(BaseMaterialInfoBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BaseMaterialInfo> lqw = Wrappers.lambdaQuery(); MPJLambdaWrapper<BaseMaterialInfo> lqw = JoinWrappers.lambda(BaseMaterialInfo.class)
lqw.eq(bo.getMaterialId() != null, BaseMaterialInfo::getMaterialId, bo.getMaterialId()); .selectAll(BaseMaterialInfo.class)
lqw.eq(StringUtils.isNotBlank(bo.getErpId()), BaseMaterialInfo::getErpId, bo.getErpId());
lqw.eq(StringUtils.isNotBlank(bo.getMaterialCode()), BaseMaterialInfo::getMaterialCode, bo.getMaterialCode()); // // 关联查询工厂信息
lqw.eq(StringUtils.isNotBlank(bo.getOldMaterialCode()), BaseMaterialInfo::getOldMaterialCode, bo.getOldMaterialCode()); // .select(ProdBaseFactoryInfo::getFactoryName)
lqw.like(StringUtils.isNotBlank(bo.getMaterialName()), BaseMaterialInfo::getMaterialName, bo.getMaterialName()); // .leftJoin(ProdBaseFactoryInfo.class, ProdBaseFactoryInfo::getFactoryId, BaseMaterialInfo::getFactoryId)
lqw.eq(bo.getMaterialTypeId() != null, BaseMaterialInfo::getMaterialTypeId, bo.getMaterialTypeId()); //
lqw.eq(StringUtils.isNotBlank(bo.getMaterialCategoryId()), BaseMaterialInfo::getMaterialCategoryId, bo.getMaterialCategoryId()); // //关联查询物料类型名称
lqw.eq(StringUtils.isNotBlank(bo.getMaterialSubclass()), BaseMaterialInfo::getMaterialSubclass, bo.getMaterialSubclass()); // .select(BaseMaterialType::getMatrialTypeName)
lqw.eq(StringUtils.isNotBlank(bo.getBatchFlag()), BaseMaterialInfo::getBatchFlag, bo.getBatchFlag()); // //注意"e":BaseMaterialType实体类中为matrialTypeIdBaseMaterialInfo实体类中为materialTypeId
lqw.eq(bo.getBatchAmount() != null, BaseMaterialInfo::getBatchAmount, bo.getBatchAmount()); // .leftJoin(BaseMaterialType.class, BaseMaterialType::getMatrialTypeId, BaseMaterialInfo::getMaterialTypeId)
lqw.eq(bo.getMaterialUnitId() != null, BaseMaterialInfo::getMaterialUnitId, bo.getMaterialUnitId());
lqw.eq(StringUtils.isNotBlank(bo.getMaterialUnit()), BaseMaterialInfo::getMaterialUnit, bo.getMaterialUnit()); /* //关联计量单位信息
lqw.eq(StringUtils.isNotBlank(bo.getMaterialMatkl()), BaseMaterialInfo::getMaterialMatkl, bo.getMaterialMatkl()); .select(BaseMeasurementUnitInfo::getUnitName)
lqw.eq(StringUtils.isNotBlank(bo.getMaterialSpec()), BaseMaterialInfo::getMaterialSpec, bo.getMaterialSpec()); .leftJoin(BaseMeasurementUnitInfo.class, BaseMeasurementUnitInfo::getUnitId, BaseMaterialInfo::getMaterialUnitId)*/
lqw.eq(bo.getNetWeight() != null, BaseMaterialInfo::getNetWeight, bo.getNetWeight());
lqw.eq(bo.getGrossWeight() != null, BaseMaterialInfo::getGrossWeight, bo.getGrossWeight()); //关联物料大类信息(物料大类从字典改为了数据库表)
lqw.eq(StringUtils.isNotBlank(bo.getAlwaysFlag()), BaseMaterialInfo::getAlwaysFlag, bo.getAlwaysFlag()); .select(BaseMaterialCategory::getMaterialCategoryName)
lqw.eq(bo.getFactoryId() != null, BaseMaterialInfo::getFactoryId, bo.getFactoryId()); .leftJoin(BaseMaterialCategory.class, BaseMaterialCategory::getMaterialCategoryId, BaseMaterialInfo::getMaterialCategoryId)
lqw.eq(bo.getCreateOrgId() != null, BaseMaterialInfo::getCreateOrgId, bo.getCreateOrgId());
lqw.eq(bo.getUseOrgId() != null, BaseMaterialInfo::getUseOrgId, bo.getUseOrgId());
lqw.eq(bo.getProdLineId() != null, BaseMaterialInfo::getProdLineId, bo.getProdLineId()); .eq(bo.getMaterialId() != null, BaseMaterialInfo::getMaterialId, bo.getMaterialId())
lqw.eq(StringUtils.isNotBlank(bo.getActiveFlag()), BaseMaterialInfo::getActiveFlag, bo.getActiveFlag()); .eq(StringUtils.isNotBlank(bo.getErpId()), BaseMaterialInfo::getErpId, bo.getErpId())
lqw.eq(StringUtils.isNotBlank(bo.getDeletedFlag()), BaseMaterialInfo::getDeletedFlag, bo.getDeletedFlag()); .like(StringUtils.isNotBlank(bo.getMaterialCode()), BaseMaterialInfo::getMaterialCode, bo.getMaterialCode())
lqw.eq(bo.getPurchasePriceUnitId() != null, BaseMaterialInfo::getPurchasePriceUnitId, bo.getPurchasePriceUnitId()); .eq(StringUtils.isNotBlank(bo.getOldMaterialCode()), BaseMaterialInfo::getOldMaterialCode, bo.getOldMaterialCode())
lqw.between(params.get("beginApproveDate") != null && params.get("endApproveDate") != null, .like(StringUtils.isNotBlank(bo.getMaterialName()), BaseMaterialInfo::getMaterialName, bo.getMaterialName())
BaseMaterialInfo::getApproveDate ,params.get("beginApproveDate"), params.get("endApproveDate")); .eq(bo.getMaterialTypeId() != null, BaseMaterialInfo::getMaterialTypeId, bo.getMaterialTypeId())
lqw.eq(bo.getErpModifyDate() != null, BaseMaterialInfo::getErpModifyDate, bo.getErpModifyDate()); .eq(StringUtils.isNotBlank(bo.getMaterialCategoryId()), BaseMaterialInfo::getMaterialCategoryId, bo.getMaterialCategoryId())
lqw.eq(bo.getMaxStockAmount() != null, BaseMaterialInfo::getMaxStockAmount, bo.getMaxStockAmount()); .eq(StringUtils.isNotBlank(bo.getMaterialSubclass()), BaseMaterialInfo::getMaterialSubclass, bo.getMaterialSubclass())
lqw.eq(bo.getMinStockAmount() != null, BaseMaterialInfo::getMinStockAmount, bo.getMinStockAmount()); .eq(StringUtils.isNotBlank(bo.getBatchFlag()), BaseMaterialInfo::getBatchFlag, bo.getBatchFlag())
lqw.eq(bo.getSafeStockAmount() != null, BaseMaterialInfo::getSafeStockAmount, bo.getSafeStockAmount()); .eq(bo.getBatchAmount() != null, BaseMaterialInfo::getBatchAmount, bo.getBatchAmount())
lqw.eq(StringUtils.isNotBlank(bo.getApplyFlag()), BaseMaterialInfo::getApplyFlag, bo.getApplyFlag()); .eq(bo.getMaterialUnitId() != null, BaseMaterialInfo::getMaterialUnitId, bo.getMaterialUnitId())
lqw.eq(StringUtils.isNotBlank(bo.getMaterialClassfication()), BaseMaterialInfo::getMaterialClassfication, bo.getMaterialClassfication()); .eq(StringUtils.isNotBlank(bo.getMaterialUnit()), BaseMaterialInfo::getMaterialUnit, bo.getMaterialUnit())
lqw.eq(StringUtils.isNotBlank(bo.getAutoOutstockFlag()), BaseMaterialInfo::getAutoOutstockFlag, bo.getAutoOutstockFlag()); .eq(StringUtils.isNotBlank(bo.getMaterialMatkl()), BaseMaterialInfo::getMaterialMatkl, bo.getMaterialMatkl())
lqw.eq(StringUtils.isNotBlank(bo.getAccessoriesFlag()), BaseMaterialInfo::getAccessoriesFlag, bo.getAccessoriesFlag()); .eq(StringUtils.isNotBlank(bo.getMaterialSpec()), BaseMaterialInfo::getMaterialSpec, bo.getMaterialSpec())
lqw.eq(StringUtils.isNotBlank(bo.getLowValueConsumableFlag()), BaseMaterialInfo::getLowValueConsumableFlag, bo.getLowValueConsumableFlag()); .eq(bo.getNetWeight() != null, BaseMaterialInfo::getNetWeight, bo.getNetWeight())
lqw.eq(StringUtils.isNotBlank(bo.getBrand()), BaseMaterialInfo::getBrand, bo.getBrand()); .eq(bo.getGrossWeight() != null, BaseMaterialInfo::getGrossWeight, bo.getGrossWeight())
lqw.eq(StringUtils.isNotBlank(bo.getPlyrating()), BaseMaterialInfo::getPlyrating, bo.getPlyrating()); .eq(StringUtils.isNotBlank(bo.getAlwaysFlag()), BaseMaterialInfo::getAlwaysFlag, bo.getAlwaysFlag())
lqw.eq(StringUtils.isNotBlank(bo.getPattern()), BaseMaterialInfo::getPattern, bo.getPattern()); .eq(bo.getFactoryId() != null, BaseMaterialInfo::getFactoryId, bo.getFactoryId())
lqw.eq(StringUtils.isNotBlank(bo.getSpeedLevel()), BaseMaterialInfo::getSpeedLevel, bo.getSpeedLevel()); .eq(bo.getCreateOrgId() != null, BaseMaterialInfo::getCreateOrgId, bo.getCreateOrgId())
lqw.eq(StringUtils.isNotBlank(bo.getLoad()), BaseMaterialInfo::getLoad, bo.getLoad()); .eq(bo.getUseOrgId() != null, BaseMaterialInfo::getUseOrgId, bo.getUseOrgId())
lqw.eq(StringUtils.isNotBlank(bo.getTireMarkings()), BaseMaterialInfo::getTireMarkings, bo.getTireMarkings()); .eq(bo.getProdLineId() != null, BaseMaterialInfo::getProdLineId, bo.getProdLineId())
lqw.eq(bo.getMinParkingTime() != null, BaseMaterialInfo::getMinParkingTime, bo.getMinParkingTime()); .eq(StringUtils.isNotBlank(bo.getActiveFlag()), BaseMaterialInfo::getActiveFlag, bo.getActiveFlag())
lqw.eq(bo.getMaxParkingTime() != null, BaseMaterialInfo::getMaxParkingTime, bo.getMaxParkingTime()); .eq(StringUtils.isNotBlank(bo.getDeletedFlag()), BaseMaterialInfo::getDeletedFlag, bo.getDeletedFlag())
lqw.eq(bo.getStandardWeight() != null, BaseMaterialInfo::getStandardWeight, bo.getStandardWeight()); .eq(bo.getPurchasePriceUnitId() != null, BaseMaterialInfo::getPurchasePriceUnitId, bo.getPurchasePriceUnitId())
lqw.eq(bo.getWeightUpperLimit() != null, BaseMaterialInfo::getWeightUpperLimit, bo.getWeightUpperLimit()); .between(params.get("beginApproveDate") != null && params.get("endApproveDate") != null,
lqw.eq(bo.getWeightLowerLimit() != null, BaseMaterialInfo::getWeightLowerLimit, bo.getWeightLowerLimit()); BaseMaterialInfo::getApproveDate ,params.get("beginApproveDate"), params.get("endApproveDate"))
lqw.eq(StringUtils.isNotBlank(bo.getInnerTubeFlag()), BaseMaterialInfo::getInnerTubeFlag, bo.getInnerTubeFlag()); .eq(bo.getErpModifyDate() != null, BaseMaterialInfo::getErpModifyDate, bo.getErpModifyDate())
lqw.eq(StringUtils.isNotBlank(bo.getSaleType()), BaseMaterialInfo::getSaleType, bo.getSaleType()); .eq(bo.getMaxStockAmount() != null, BaseMaterialInfo::getMaxStockAmount, bo.getMaxStockAmount())
.eq(bo.getMinStockAmount() != null, BaseMaterialInfo::getMinStockAmount, bo.getMinStockAmount())
.eq(bo.getSafeStockAmount() != null, BaseMaterialInfo::getSafeStockAmount, bo.getSafeStockAmount())
.eq(StringUtils.isNotBlank(bo.getApplyFlag()), BaseMaterialInfo::getApplyFlag, bo.getApplyFlag())
.eq(StringUtils.isNotBlank(bo.getMaterialClassfication()), BaseMaterialInfo::getMaterialClassfication, bo.getMaterialClassfication())
.eq(StringUtils.isNotBlank(bo.getAutoOutstockFlag()), BaseMaterialInfo::getAutoOutstockFlag, bo.getAutoOutstockFlag())
.eq(StringUtils.isNotBlank(bo.getAccessoriesFlag()), BaseMaterialInfo::getAccessoriesFlag, bo.getAccessoriesFlag())
.eq(StringUtils.isNotBlank(bo.getLowValueConsumableFlag()), BaseMaterialInfo::getLowValueConsumableFlag, bo.getLowValueConsumableFlag())
.eq(StringUtils.isNotBlank(bo.getBrand()), BaseMaterialInfo::getBrand, bo.getBrand())
.eq(StringUtils.isNotBlank(bo.getPlyrating()), BaseMaterialInfo::getPlyrating, bo.getPlyrating())
.eq(StringUtils.isNotBlank(bo.getPattern()), BaseMaterialInfo::getPattern, bo.getPattern())
.eq(StringUtils.isNotBlank(bo.getSpeedLevel()), BaseMaterialInfo::getSpeedLevel, bo.getSpeedLevel())
.eq(StringUtils.isNotBlank(bo.getLoad()), BaseMaterialInfo::getLoad, bo.getLoad())
.eq(StringUtils.isNotBlank(bo.getTireMarkings()), BaseMaterialInfo::getTireMarkings, bo.getTireMarkings())
.eq(bo.getMinParkingTime() != null, BaseMaterialInfo::getMinParkingTime, bo.getMinParkingTime())
.eq(bo.getMaxParkingTime() != null, BaseMaterialInfo::getMaxParkingTime, bo.getMaxParkingTime())
.eq(bo.getStandardWeight() != null, BaseMaterialInfo::getStandardWeight, bo.getStandardWeight())
.eq(bo.getWeightUpperLimit() != null, BaseMaterialInfo::getWeightUpperLimit, bo.getWeightUpperLimit())
.eq(bo.getWeightLowerLimit() != null, BaseMaterialInfo::getWeightLowerLimit, bo.getWeightLowerLimit())
.eq(StringUtils.isNotBlank(bo.getInnerTubeFlag()), BaseMaterialInfo::getInnerTubeFlag, bo.getInnerTubeFlag())
.eq(StringUtils.isNotBlank(bo.getSaleType()), BaseMaterialInfo::getSaleType, bo.getSaleType())
.orderByDesc(BaseMaterialInfo::getCreateTime);
return lqw; return lqw;
} }
@ -133,7 +158,11 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService {
public Boolean insertByBo(BaseMaterialInfoBo bo) { public Boolean insertByBo(BaseMaterialInfoBo bo) {
BaseMaterialInfo add = MapstructUtils.convert(bo, BaseMaterialInfo.class); BaseMaterialInfo add = MapstructUtils.convert(bo, BaseMaterialInfo.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
return true; boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setMaterialId(add.getMaterialId());
}
return flag;
} }
/** /**
@ -146,7 +175,22 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService {
public Boolean updateByBo(BaseMaterialInfoBo bo) { public Boolean updateByBo(BaseMaterialInfoBo bo) {
BaseMaterialInfo update = MapstructUtils.convert(bo, BaseMaterialInfo.class); BaseMaterialInfo update = MapstructUtils.convert(bo, BaseMaterialInfo.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
return true;
//物料上的物料类型修改时 校验原类型是否关联的BOM
Long materialTypeId = bo.getMaterialTypeId();//修改后的物料类型id
//要修改的物料
Long materialId = bo.getMaterialId();
BaseMaterialInfoVo baseMaterialInfoVo = baseMapper.selectVoById(materialId);
//物料绑定的BOM
// MPJLambdaWrapper<ProdMaterialBom> bom = new MPJLambdaWrapper<>();
// bom.eq(ProdMaterialBom::getMaterialId, materialId);
// List<ProdMaterialBom> boms = prodMaterialBomMapper.selectList(bom);
// if ( !materialTypeId.equals(baseMaterialInfoVo.getMaterialTypeId())
// && !ObjectUtils.isEmpty(boms)) {
// throw new ServiceException("已绑定物料BOM请勿更改物料类型");
// }
return baseMapper.updateById(update) > 0;
} }
/** /**
@ -154,15 +198,34 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService {
*/ */
private void validEntityBeforeSave(BaseMaterialInfo entity){ private void validEntityBeforeSave(BaseMaterialInfo entity){
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
//编码校验
if (StringUtils.isNotBlank(entity.getMaterialCode())) {
BaseMaterialInfoBo query = new BaseMaterialInfoBo();
query.setMaterialCode(entity.getMaterialCode());
MPJLambdaWrapper<BaseMaterialInfo> lqw = buildQueryWrapper(query);
BaseMaterialInfo baseMaterialInfo = baseMapper.selectOne(lqw);
if (!ObjectUtils.isEmpty(baseMaterialInfo)
&& !baseMaterialInfo.getMaterialId().equals(entity.getMaterialId())) {
throw new ServiceException("编码已存在");
}
} }
@Override //名称校验
public List<BaseMaterialInfoVo> materialList(BaseMaterialInfo materialInfo) { if (StringUtils.isNotBlank(entity.getMaterialName())) {
LambdaQueryWrapper<BaseMaterialInfo> wrapper = new LambdaQueryWrapper<>(); BaseMaterialInfoBo query = new BaseMaterialInfoBo();
if (materialInfo.getMaterialCategoryId()!=null){ query.setMaterialName(entity.getMaterialName());
wrapper.eq(BaseMaterialInfo::getMaterialCategoryId,materialInfo.getMaterialCategoryId()); MPJLambdaWrapper<BaseMaterialInfo> lqw = JoinWrappers.lambda(BaseMaterialInfo.class)
.selectAll(BaseMaterialInfo.class)
//buildQueryWrapper中getMaterialName是like相似搜索
.eq(StringUtils.isNotBlank(query.getMaterialName()), BaseMaterialInfo::getMaterialName, query.getMaterialName());
BaseMaterialInfo baseMaterialInfo = baseMapper.selectOne(lqw);
if ( !ObjectUtils.isEmpty(baseMaterialInfo)
&& !baseMaterialInfo.getMaterialId().equals(entity.getMaterialId())) {
throw new ServiceException("名称已存在");
} }
return baseMapper.selectVoList(wrapper); }
} }
/** /**
@ -177,6 +240,16 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService {
if(isValid){ if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验,判断是否需要校验
} }
return true; return baseMapper.deleteByIds(ids) > 0;
}
@Override
public List<BaseMaterialInfoVo> materialList(BaseMaterialInfo materialInfo) {
LambdaQueryWrapper<BaseMaterialInfo> wrapper = new LambdaQueryWrapper<>();
if (materialInfo.getMaterialCategoryId()!=null){
wrapper.eq(BaseMaterialInfo::getMaterialCategoryId,materialInfo.getMaterialCategoryId());
}
return baseMapper.selectVoList(wrapper);
} }
} }

Loading…
Cancel
Save