|
|
|
|
@ -4,10 +4,12 @@ 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.utils.DateUtils;
|
|
|
|
|
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.WmsBaseProduct;
|
|
|
|
|
import org.dromara.wms.domain.WmsInventoryDetails;
|
|
|
|
|
import org.dromara.wms.domain.WmsWarehouseInfo;
|
|
|
|
|
@ -71,7 +73,7 @@ public class WmsInventoryDetailsServiceImpl implements IWmsInventoryDetailsServi
|
|
|
|
|
.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) // 物料名称、编码、品牌
|
|
|
|
|
.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
|
|
|
|
|
@ -160,7 +162,6 @@ public class WmsInventoryDetailsServiceImpl implements IWmsInventoryDetailsServi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public WmsInventoryDetails queryInventory(WmsInventoryDetailsBo bo) {
|
|
|
|
|
MPJLambdaWrapper<WmsInventoryDetails> lqw = JoinWrappers.lambda(WmsInventoryDetails.class)
|
|
|
|
|
@ -174,4 +175,24 @@ public class WmsInventoryDetailsServiceImpl implements IWmsInventoryDetailsServi
|
|
|
|
|
|
|
|
|
|
return baseMapper.selectOne(lqw);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Double workUpdateInventory(Long inventoryDetailsId, Double disposalQty) {
|
|
|
|
|
|
|
|
|
|
WmsInventoryDetails inventory = baseMapper.selectById(inventoryDetailsId);
|
|
|
|
|
Double inventoryAmount = inventory.getInventoryAmount();
|
|
|
|
|
double lossQty = inventoryAmount - disposalQty;
|
|
|
|
|
if (lossQty < 0) {
|
|
|
|
|
throw new IllegalArgumentException("库存数量不足");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inventory.setInventoryAmount(lossQty);
|
|
|
|
|
if (lossQty == 0.0) {
|
|
|
|
|
inventory.setDelFlag("1");
|
|
|
|
|
}
|
|
|
|
|
inventory.setUpdateBy(LoginHelper.getUserId());
|
|
|
|
|
inventory.setUpdateTime(DateUtils.getNowDate());
|
|
|
|
|
baseMapper.updataDetailsByInventoryId(inventory);
|
|
|
|
|
return inventoryAmount;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|