refactor(wms): 重构分配订单详情查询接口

- 合并了 queryPageList 和 queryList 方法的查询逻辑
- 优化了查询条件的构建方式,提高了代码可读性和维护性
- 移除了未使用的导入和冗余代码,简化了代码结构
master
zangch@mesnac.com 3 months ago
parent d332c0455a
commit 862806ea0a

@ -1,8 +1,5 @@
package org.dromara.wms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@ -11,7 +8,6 @@ import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.wms.domain.BaseMaterialInfo;
import org.dromara.wms.domain.WmsAllocateOrderDetail;
import org.dromara.wms.domain.bo.WmsAllocateOrderDetailBo;
@ -58,7 +54,7 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai
@Override
public TableDataInfo<WmsAllocateOrderDetailVo> queryPageList(WmsAllocateOrderDetailBo bo, PageQuery pageQuery) {
// LambdaQueryWrapper<WmsAllocateOrderDetail> lqw = buildQueryWrapper(bo);
MPJLambdaWrapper<WmsAllocateOrderDetail> lqw = buildJoinQueryWrapper(bo);
MPJLambdaWrapper<WmsAllocateOrderDetail> lqw = buildQueryWrapper(bo);
Page<WmsAllocateOrderDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@ -71,34 +67,27 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai
*/
@Override
public List<WmsAllocateOrderDetailVo> queryList(WmsAllocateOrderDetailBo bo) {
MPJLambdaWrapper<WmsAllocateOrderDetail> lqw = buildJoinQueryWrapper(bo);
MPJLambdaWrapper<WmsAllocateOrderDetail> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<WmsAllocateOrderDetail> buildQueryWrapper(WmsAllocateOrderDetailBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<WmsAllocateOrderDetail> lqw = JoinWrappers.lambda(WmsAllocateOrderDetail.class);
lqw.eq(bo.getAoDId() != null, WmsAllocateOrderDetail::getAoDId, bo.getAoDId());
lqw.eq(StringUtils.isNotBlank(bo.getAllocateCode()), WmsAllocateOrderDetail::getAllocateCode, bo.getAllocateCode());
lqw.eq(bo.getMaterialId() != null, WmsAllocateOrderDetail::getMaterialId, bo.getMaterialId());
lqw.eq(bo.getAllocateOrderQty() != null, WmsAllocateOrderDetail::getAllocateOrderQty, bo.getAllocateOrderQty());
lqw.eq(StringUtils.isNotBlank(bo.getErpSynchronousStatus()), WmsAllocateOrderDetail::getErpSynchronousStatus, bo.getErpSynchronousStatus());
lqw.eq(bo.getErpSynchronousQty() != null, WmsAllocateOrderDetail::getErpSynchronousQty, bo.getErpSynchronousQty());
return lqw;
}
private MPJLambdaWrapper<WmsAllocateOrderDetail> buildJoinQueryWrapper(WmsAllocateOrderDetailBo bo) {
private MPJLambdaWrapper<WmsAllocateOrderDetail> buildQueryWrapper(WmsAllocateOrderDetailBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<WmsAllocateOrderDetail> lqw = JoinWrappers.lambda(WmsAllocateOrderDetail.class)
.selectAll(WmsAllocateOrderDetail.class)
.select(BaseMaterialInfo::getMaterialCode,BaseMaterialInfo::getMaterialName)
.leftJoin(BaseMaterialInfo.class,BaseMaterialInfo::getMaterialId,WmsAllocateOrderDetail::getMaterialId);
lqw.eq(bo.getAoDId() != null, WmsAllocateOrderDetail::getAoDId, bo.getAoDId());
lqw.eq(StringUtils.isNotBlank(bo.getAllocateCode()), WmsAllocateOrderDetail::getAllocateCode, bo.getAllocateCode());
lqw.eq(bo.getMaterialId() != null, WmsAllocateOrderDetail::getMaterialId, bo.getMaterialId());
lqw.eq(bo.getAllocateOrderQty() != null, WmsAllocateOrderDetail::getAllocateOrderQty, bo.getAllocateOrderQty());
lqw.eq(StringUtils.isNotBlank(bo.getErpSynchronousStatus()), WmsAllocateOrderDetail::getErpSynchronousStatus, bo.getErpSynchronousStatus());
lqw.eq(bo.getErpSynchronousQty() != null, WmsAllocateOrderDetail::getErpSynchronousQty, bo.getErpSynchronousQty()).orderByDesc(WmsAllocateOrderDetail::getCreateTime);
// 关联查询
.select(BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialName)
.leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsAllocateOrderDetail::getMaterialId)
.eq(bo.getAoDId() != null, WmsAllocateOrderDetail::getAoDId, bo.getAoDId())
.eq(StringUtils.isNotBlank(bo.getAllocateCode()), WmsAllocateOrderDetail::getAllocateCode, bo.getAllocateCode())
.eq(bo.getMaterialId() != null, WmsAllocateOrderDetail::getMaterialId, bo.getMaterialId())
.eq(bo.getAllocateOrderQty() != null, WmsAllocateOrderDetail::getAllocateOrderQty, bo.getAllocateOrderQty())
.eq(StringUtils.isNotBlank(bo.getErpSynchronousStatus()), WmsAllocateOrderDetail::getErpSynchronousStatus, bo.getErpSynchronousStatus())
.eq(bo.getErpSynchronousQty() != null, WmsAllocateOrderDetail::getErpSynchronousQty, bo.getErpSynchronousQty())
.orderByDesc(WmsAllocateOrderDetail::getCreateTime);
return lqw;
}
@ -109,14 +98,14 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
@Transactional( rollbackFor = Exception.class )
public Boolean insertByBo(List<WmsAllocateOrderDetailBo> bo) {
int i = 0;
for (WmsAllocateOrderDetailBo detailBo : bo) {
WmsAllocateOrderDetail add = MapstructUtils.convert(detailBo, WmsAllocateOrderDetail.class);
/* add.setCreateBy(LoginHelper.getUsername());
add.setTenantId(LoginHelper.getTenantId());*/
i = baseMapper.insert(add);
i = baseMapper.insert(add);
}
// int i = baseMapper.insertDetails(list);
return i > 0;
@ -132,14 +121,13 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai
public Boolean updateByBo(WmsAllocateOrderDetailBo bo) {
WmsAllocateOrderDetail update = MapstructUtils.convert(bo, WmsAllocateOrderDetail.class);
validEntityBeforeSave(update);
update.setUpdateBy(LoginHelper.getUsername());
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(WmsAllocateOrderDetail entity) {
private void validEntityBeforeSave(WmsAllocateOrderDetail entity){
//TODO 做一些数据校验,如唯一约束
}
@ -152,7 +140,7 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;

Loading…
Cancel
Save