feat(wms): 添加SAP物料信息关联查询功能

dev
Yangk 2 weeks ago
parent c37ad18da7
commit 8da8c3c363

@ -71,6 +71,11 @@ public class WmsBaseProduct extends TenantEntity {
*/ */
private String activeFlag; private String activeFlag;
/**
* SAPIDbase_material_info.material_id
*/
private Long materialId;
@TableField(exist = false) @TableField(exist = false)
/** /**
* *
@ -80,9 +85,8 @@ public class WmsBaseProduct extends TenantEntity {
@TableField(exist = false) @TableField(exist = false)
private String createByName; private String createByName;
@TableField(exist = false) @TableField(exist = false)
private String deptName;//部门名称 private String deptName;// 部门名称
@TableField(exist = false) @TableField(exist = false)
private String updateByName; private String updateByName;
} }

@ -69,4 +69,14 @@ public class WmsBaseProductBo extends BaseEntity {
private String activeFlag; private String activeFlag;
private String externalBrand; private String externalBrand;
/**
* SAPIDbase_material_info.material_id
*/
private Long materialId;
/**
* SAP
*/
private String materialModel;
} }

@ -12,8 +12,6 @@ import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** /**
* wms_base_product * wms_base_product
* *
@ -127,5 +125,20 @@ public class WmsBaseProductVo implements Serializable {
private String createByName; private String createByName;
private String updateByName; private String updateByName;
private String deptName;//部门名称 private String deptName;// 部门名称
/**
* SAPID
*/
private Long materialId;
/**
* SAP
*/
private String materialName;
/**
* SAP
*/
private String materialModel;
} }

@ -10,6 +10,7 @@ import org.dromara.common.mybatis.annotation.DataColumn;
import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.common.mybatis.annotation.DataPermission;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.wms.domain.BaseMaterialInfo;
import org.dromara.wms.domain.BaseUnitInfo; import org.dromara.wms.domain.BaseUnitInfo;
import org.dromara.wms.domain.SysDept; import org.dromara.wms.domain.SysDept;
import org.dromara.wms.domain.SysUser; import org.dromara.wms.domain.SysUser;
@ -43,7 +44,16 @@ public class WmsBaseProductServiceImpl implements IWmsBaseProductService {
*/ */
@Override @Override
public WmsBaseProductVo queryById(Long productId) { public WmsBaseProductVo queryById(Long productId) {
return baseMapper.selectVoById(productId); // 使用 JOIN 查询获取 SAP 物料信息
MPJLambdaWrapper<WmsBaseProduct> lqw = JoinWrappers.lambda(WmsBaseProduct.class)
.selectAll(WmsBaseProduct.class)
.leftJoin(BaseUnitInfo.class, BaseUnitInfo::getUnitId, WmsBaseProduct::getUnitId)
.select(BaseUnitInfo::getUnitName)
.leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsBaseProduct::getMaterialId)
.selectAs(BaseMaterialInfo::getMaterialName, WmsBaseProductVo::getMaterialName)
.selectAs(BaseMaterialInfo::getMaterialModel, WmsBaseProductVo::getMaterialModel)
.eq(WmsBaseProduct::getProductId, productId);
return baseMapper.selectJoinOne(WmsBaseProductVo.class, lqw);
} }
/** /**
@ -53,11 +63,11 @@ public class WmsBaseProductServiceImpl implements IWmsBaseProductService {
* @param pageQuery * @param pageQuery
* @return * @return
*/ */
@DataPermission({@DataColumn(key = "deptName", value = "t.create_dept")}) @DataPermission({ @DataColumn(key = "deptName", value = "t.create_dept") })
@Override @Override
public TableDataInfo<WmsBaseProductVo> queryPageList(WmsBaseProductBo bo, PageQuery pageQuery) { public TableDataInfo<WmsBaseProductVo> queryPageList(WmsBaseProductBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<WmsBaseProduct> lqw = buildQueryWrapper(bo); MPJLambdaWrapper<WmsBaseProduct> lqw = buildQueryWrapper(bo);
Page<WmsBaseProductVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<WmsBaseProductVo> result = baseMapper.selectJoinPage(pageQuery.build(), WmsBaseProductVo.class, lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -70,7 +80,7 @@ public class WmsBaseProductServiceImpl implements IWmsBaseProductService {
@Override @Override
public List<WmsBaseProductVo> queryList(WmsBaseProductBo bo) { public List<WmsBaseProductVo> queryList(WmsBaseProductBo bo) {
MPJLambdaWrapper<WmsBaseProduct> lqw = buildQueryWrapper(bo); MPJLambdaWrapper<WmsBaseProduct> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw); return baseMapper.selectJoinList(WmsBaseProductVo.class, lqw);
} }
private MPJLambdaWrapper<WmsBaseProduct> buildQueryWrapper(WmsBaseProductBo bo) { private MPJLambdaWrapper<WmsBaseProduct> buildQueryWrapper(WmsBaseProductBo bo) {
@ -80,9 +90,10 @@ public class WmsBaseProductServiceImpl implements IWmsBaseProductService {
.select(BaseUnitInfo::getUnitName) .select(BaseUnitInfo::getUnitName)
.eq(StringUtils.isNotBlank(bo.getProductCode()), WmsBaseProduct::getProductCode, bo.getProductCode()) .eq(StringUtils.isNotBlank(bo.getProductCode()), WmsBaseProduct::getProductCode, bo.getProductCode())
.like(StringUtils.isNotBlank(bo.getProductName()), WmsBaseProduct::getProductName, bo.getProductName()) .like(StringUtils.isNotBlank(bo.getProductName()), WmsBaseProduct::getProductName, bo.getProductName())
.like(StringUtils.isNotBlank(bo.getExternalBrand()), WmsBaseProduct::getExternalBrand, bo.getExternalBrand()) .like(StringUtils.isNotBlank(bo.getExternalBrand()), WmsBaseProduct::getExternalBrand,
bo.getExternalBrand())
.eq(StringUtils.isNotBlank(bo.getActiveFlag()), WmsBaseProduct::getActiveFlag, bo.getActiveFlag()) .eq(StringUtils.isNotBlank(bo.getActiveFlag()), WmsBaseProduct::getActiveFlag, bo.getActiveFlag())
.eq(bo.getCreateDept() !=null, WmsBaseProduct::getCreateDept, bo.getCreateDept()) .eq(bo.getCreateDept() != null, WmsBaseProduct::getCreateDept, bo.getCreateDept())
// 创建人 // 创建人
.leftJoin(SysUser.class, SysUser::getUserId, WmsBaseProduct::getCreateBy) .leftJoin(SysUser.class, SysUser::getUserId, WmsBaseProduct::getCreateBy)
.selectAs(SysUser::getNickName, WmsBaseProduct::getCreateByName) .selectAs(SysUser::getNickName, WmsBaseProduct::getCreateByName)
@ -91,8 +102,14 @@ public class WmsBaseProductServiceImpl implements IWmsBaseProductService {
.selectAs(SysUser::getNickName, WmsBaseProduct::getUpdateByName) .selectAs(SysUser::getNickName, WmsBaseProduct::getUpdateByName)
// 部门 // 部门
.leftJoin(SysDept.class, SysDept::getDeptId, WmsBaseProduct::getCreateDept) .leftJoin(SysDept.class, SysDept::getDeptId, WmsBaseProduct::getCreateDept)
.selectAs(SysDept::getDeptName, WmsBaseProduct::getDeptName); .selectAs(SysDept::getDeptName, WmsBaseProduct::getDeptName)
// SAP物料信息
.leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsBaseProduct::getMaterialId)
.selectAs(BaseMaterialInfo::getMaterialName, WmsBaseProductVo::getMaterialName)
.selectAs(BaseMaterialInfo::getMaterialModel, WmsBaseProductVo::getMaterialModel)
// SAP物料型号搜索条件
.like(StringUtils.isNotBlank(bo.getMaterialModel()), BaseMaterialInfo::getMaterialModel,
bo.getMaterialModel());
} }
@ -127,7 +144,6 @@ public class WmsBaseProductServiceImpl implements IWmsBaseProductService {
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
} }
/** /**
* *
* *

Loading…
Cancel
Save