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

dev
Yangk 6 days ago
parent c37ad18da7
commit 8da8c3c363

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

@ -69,4 +69,14 @@ public class WmsBaseProductBo extends BaseEntity {
private String activeFlag;
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.util.Date;
/**
* wms_base_product
*
@ -120,12 +118,27 @@ public class WmsBaseProductVo implements Serializable {
*/
@ExcelProperty(value = "更新时间")
private Date updateTime;
/**
/**
*
*/
private String unitName;
private String createByName;
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.core.page.PageQuery;
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.SysDept;
import org.dromara.wms.domain.SysUser;
@ -43,7 +44,16 @@ public class WmsBaseProductServiceImpl implements IWmsBaseProductService {
*/
@Override
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
* @return
*/
@DataPermission({@DataColumn(key = "deptName", value = "t.create_dept")})
@DataPermission({ @DataColumn(key = "deptName", value = "t.create_dept") })
@Override
public TableDataInfo<WmsBaseProductVo> queryPageList(WmsBaseProductBo bo, PageQuery pageQuery) {
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);
}
@ -67,32 +77,39 @@ public class WmsBaseProductServiceImpl implements IWmsBaseProductService {
* @param bo
* @return
*/
@Override
@Override
public List<WmsBaseProductVo> queryList(WmsBaseProductBo bo) {
MPJLambdaWrapper<WmsBaseProduct> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
return baseMapper.selectJoinList(WmsBaseProductVo.class, lqw);
}
private MPJLambdaWrapper<WmsBaseProduct> buildQueryWrapper(WmsBaseProductBo bo) {
return JoinWrappers.lambda(WmsBaseProduct.class)
.selectAll(WmsBaseProduct.class)
.leftJoin(BaseUnitInfo.class, BaseUnitInfo::getUnitId, WmsBaseProduct::getUnitId)
.select(BaseUnitInfo::getUnitName)
.eq(StringUtils.isNotBlank(bo.getProductCode()), WmsBaseProduct::getProductCode, bo.getProductCode())
.like(StringUtils.isNotBlank(bo.getProductName()), WmsBaseProduct::getProductName, bo.getProductName())
.like(StringUtils.isNotBlank(bo.getExternalBrand()), WmsBaseProduct::getExternalBrand, bo.getExternalBrand())
.eq(StringUtils.isNotBlank(bo.getActiveFlag()), WmsBaseProduct::getActiveFlag, bo.getActiveFlag())
.eq(bo.getCreateDept() !=null, WmsBaseProduct::getCreateDept, bo.getCreateDept())
// 创建人
.leftJoin(SysUser.class, SysUser::getUserId, WmsBaseProduct::getCreateBy)
.selectAs(SysUser::getNickName, WmsBaseProduct::getCreateByName)
// 更新人
.leftJoin(SysUser.class, SysUser::getUserId, WmsBaseProduct::getUpdateBy)
.selectAs(SysUser::getNickName, WmsBaseProduct::getUpdateByName)
// 部门
.leftJoin(SysDept.class, SysDept::getDeptId, WmsBaseProduct::getCreateDept)
.selectAs(SysDept::getDeptName, WmsBaseProduct::getDeptName);
.selectAll(WmsBaseProduct.class)
.leftJoin(BaseUnitInfo.class, BaseUnitInfo::getUnitId, WmsBaseProduct::getUnitId)
.select(BaseUnitInfo::getUnitName)
.eq(StringUtils.isNotBlank(bo.getProductCode()), WmsBaseProduct::getProductCode, bo.getProductCode())
.like(StringUtils.isNotBlank(bo.getProductName()), WmsBaseProduct::getProductName, bo.getProductName())
.like(StringUtils.isNotBlank(bo.getExternalBrand()), WmsBaseProduct::getExternalBrand,
bo.getExternalBrand())
.eq(StringUtils.isNotBlank(bo.getActiveFlag()), WmsBaseProduct::getActiveFlag, bo.getActiveFlag())
.eq(bo.getCreateDept() != null, WmsBaseProduct::getCreateDept, bo.getCreateDept())
// 创建人
.leftJoin(SysUser.class, SysUser::getUserId, WmsBaseProduct::getCreateBy)
.selectAs(SysUser::getNickName, WmsBaseProduct::getCreateByName)
// 更新人
.leftJoin(SysUser.class, SysUser::getUserId, WmsBaseProduct::getUpdateBy)
.selectAs(SysUser::getNickName, WmsBaseProduct::getUpdateByName)
// 部门
.leftJoin(SysDept.class, SysDept::getDeptId, WmsBaseProduct::getCreateDept)
.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;
}
/**
*
*

Loading…
Cancel
Save