|
|
|
@ -8,7 +8,7 @@ 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.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.WmsBaseProduct;
|
|
|
|
import org.dromara.wms.domain.WmsInventoryDetails;
|
|
|
|
import org.dromara.wms.domain.WmsInventoryDetails;
|
|
|
|
import org.dromara.wms.domain.WmsWarehouseInfo;
|
|
|
|
import org.dromara.wms.domain.WmsWarehouseInfo;
|
|
|
|
import org.dromara.wms.domain.bo.WmsInventoryDetailsBo;
|
|
|
|
import org.dromara.wms.domain.bo.WmsInventoryDetailsBo;
|
|
|
|
@ -19,7 +19,6 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.WeakHashMap;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 库存明细Service业务层处理
|
|
|
|
* 库存明细Service业务层处理
|
|
|
|
@ -58,6 +57,31 @@ public class WmsInventoryDetailsServiceImpl implements IWmsInventoryDetailsServi
|
|
|
|
return TableDataInfo.build(result);
|
|
|
|
return TableDataInfo.build(result);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public TableDataInfo<WmsInventoryDetailsVo> listCount(WmsInventoryDetailsBo bo, PageQuery pageQuery) {
|
|
|
|
|
|
|
|
MPJLambdaWrapper<WmsInventoryDetails> lqw = buildCountWrapper(bo);
|
|
|
|
|
|
|
|
Page<WmsInventoryDetailsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
|
|
|
|
|
|
return TableDataInfo.build(result);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private MPJLambdaWrapper<WmsInventoryDetails> buildCountWrapper(WmsInventoryDetailsBo bo) {
|
|
|
|
|
|
|
|
// Map<String, Object> params = bo.getParams();
|
|
|
|
|
|
|
|
MPJLambdaWrapper<WmsInventoryDetails> lqw = JoinWrappers.lambda(WmsInventoryDetails.class)
|
|
|
|
|
|
|
|
.selectAs("sum(inventory_amount) ", WmsInventoryDetails::getInventoryAmount)
|
|
|
|
|
|
|
|
.selectAs("sum(locked_amount)", WmsInventoryDetails::getLockedAmount)
|
|
|
|
|
|
|
|
.select(WmsInventoryDetails::getWarehouseId, WmsInventoryDetails::getMaterielId)
|
|
|
|
|
|
|
|
.leftJoin(WmsBaseProduct.class, WmsBaseProduct::getProductId, WmsInventoryDetails::getMaterielId) // 物料
|
|
|
|
|
|
|
|
.select(WmsBaseProduct::getProductName, WmsBaseProduct::getProductCode, WmsBaseProduct::getExternalBrand,WmsBaseProduct::getProductSpe) // 物料名称、编码、品牌
|
|
|
|
|
|
|
|
.leftJoin(WmsWarehouseInfo.class, WmsWarehouseInfo::getWarehouseId, WmsInventoryDetails::getWarehouseId) // 仓库
|
|
|
|
|
|
|
|
.select(WmsWarehouseInfo::getWarehouseName)
|
|
|
|
|
|
|
|
.eq(bo.getWarehouseId() != null, WmsInventoryDetails::getWarehouseId, bo.getWarehouseId()) // 仓库id
|
|
|
|
|
|
|
|
.like(StringUtils.isNotBlank(bo.getProductCode()), WmsBaseProduct::getProductCode, bo.getProductCode()) // 物料编码
|
|
|
|
|
|
|
|
.like(StringUtils.isNotBlank(bo.getProductName()), WmsBaseProduct::getProductName, bo.getProductName()) // 物料名称
|
|
|
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getExternalBrand()), WmsBaseProduct::getExternalBrand, bo.getExternalBrand()) // 品牌
|
|
|
|
|
|
|
|
.groupBy(WmsInventoryDetails::getMaterielId, WmsInventoryDetails::getWarehouseId);
|
|
|
|
|
|
|
|
return lqw;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 查询符合条件的库存明细列表
|
|
|
|
* 查询符合条件的库存明细列表
|
|
|
|
*
|
|
|
|
*
|
|
|
|
@ -70,14 +94,15 @@ public class WmsInventoryDetailsServiceImpl implements IWmsInventoryDetailsServi
|
|
|
|
return baseMapper.selectVoList(lqw);
|
|
|
|
return baseMapper.selectVoList(lqw);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private MPJLambdaWrapper<WmsInventoryDetails> buildQueryWrapper(WmsInventoryDetailsBo bo) {
|
|
|
|
private MPJLambdaWrapper<WmsInventoryDetails> buildQueryWrapper(WmsInventoryDetailsBo bo) {
|
|
|
|
// Map<String, Object> params = bo.getParams();
|
|
|
|
// Map<String, Object> params = bo.getParams();
|
|
|
|
MPJLambdaWrapper<WmsInventoryDetails> lqw = JoinWrappers.lambda(WmsInventoryDetails.class)
|
|
|
|
MPJLambdaWrapper<WmsInventoryDetails> lqw = JoinWrappers.lambda(WmsInventoryDetails.class)
|
|
|
|
.selectAll(WmsInventoryDetails.class)
|
|
|
|
.selectAll(WmsInventoryDetails.class)
|
|
|
|
.selectAs("inventory_amount - locked_amount", WmsInventoryDetailsVo::getUseAmount)
|
|
|
|
// .selectAs("inventory_amount - locked_amount", WmsInventoryDetailsVo::getUseAmount)
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getLocationCode()), WmsInventoryDetails::getLocationCode, bo.getLocationCode())
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getLocationCode()), WmsInventoryDetails::getLocationCode, bo.getLocationCode())
|
|
|
|
.eq(bo.getWarehouseId() != null, WmsInventoryDetails::getWarehouseId, bo.getWarehouseId())
|
|
|
|
.eq(bo.getWarehouseId() != null, WmsInventoryDetails::getWarehouseId, bo.getWarehouseId())
|
|
|
|
.like(bo.getMaterielId() != null, WmsInventoryDetails::getMaterielId, bo.getMaterielId())
|
|
|
|
.eq(bo.getMaterielId() != null, WmsInventoryDetails::getMaterielId, bo.getMaterielId())
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getBatchNumber()), WmsInventoryDetails::getBatchNumber, bo.getBatchNumber())
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getBatchNumber()), WmsInventoryDetails::getBatchNumber, bo.getBatchNumber())
|
|
|
|
.eq(bo.getInventoryAmount() != null, WmsInventoryDetails::getInventoryAmount, bo.getInventoryAmount())
|
|
|
|
.eq(bo.getInventoryAmount() != null, WmsInventoryDetails::getInventoryAmount, bo.getInventoryAmount())
|
|
|
|
.eq(bo.getLockedAmount() != null, WmsInventoryDetails::getLockedAmount, bo.getLockedAmount())
|
|
|
|
.eq(bo.getLockedAmount() != null, WmsInventoryDetails::getLockedAmount, bo.getLockedAmount())
|
|
|
|
@ -85,12 +110,11 @@ public class WmsInventoryDetailsServiceImpl implements IWmsInventoryDetailsServi
|
|
|
|
.leftJoin(WmsWarehouseInfo.class, WmsWarehouseInfo::getWarehouseId, WmsInventoryDetails::getWarehouseId)
|
|
|
|
.leftJoin(WmsWarehouseInfo.class, WmsWarehouseInfo::getWarehouseId, WmsInventoryDetails::getWarehouseId)
|
|
|
|
.select(WmsWarehouseInfo::getWarehouseName, WmsWarehouseInfo::getWarehouseCode)
|
|
|
|
.select(WmsWarehouseInfo::getWarehouseName, WmsWarehouseInfo::getWarehouseCode)
|
|
|
|
// 关联物料信息
|
|
|
|
// 关联物料信息
|
|
|
|
.leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsInventoryDetails::getMaterielId)
|
|
|
|
.leftJoin(WmsBaseProduct.class, WmsBaseProduct::getProductId, WmsInventoryDetails::getMaterielId)
|
|
|
|
.select(BaseMaterialInfo::getMaterialName, BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialBrand, BaseMaterialInfo::getMaterialModel)
|
|
|
|
.select(WmsBaseProduct::getProductCode, WmsBaseProduct::getProductName, WmsBaseProduct::getExternalBrand, WmsBaseProduct::getProductSpe)
|
|
|
|
|
|
|
|
.like(StringUtils.isNotBlank(bo.getProductCode()), WmsBaseProduct::getProductCode, bo.getProductCode())
|
|
|
|
|
|
|
|
.like(StringUtils.isNotBlank(bo.getProductName()), WmsBaseProduct::getProductName, bo.getProductName())
|
|
|
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getExternalBrand()), WmsBaseProduct::getExternalBrand, bo.getExternalBrand());
|
|
|
|
;
|
|
|
|
|
|
|
|
return lqw;
|
|
|
|
return lqw;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|