Browse Source

1.查询零担订单和库存品剩余数量逻辑优化

training
zhenghaoyu 2 years ago
parent
commit
fc73b980d4
  1. 8
      blade-service-api/logpm-distribution-api/pom.xml
  2. 7
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockListVO.java
  3. 16
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/PositionVO.java
  4. 5
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataListVO.java
  5. 2
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/UpdownStockVO.java
  6. 2
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/UpdownZeroOrderVO.java
  7. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.java
  8. 21
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.xml
  9. 6
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayTypeMapper.xml
  10. 5
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.java
  11. 29
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.xml
  12. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java
  13. 5
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java
  14. 10
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java
  15. 51
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java
  16. 11
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java
  17. 53
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

8
blade-service-api/logpm-distribution-api/pom.xml

@ -3,6 +3,14 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<dependencies>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>logpm-warehouse-api</artifactId>
<version>3.1.0.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
<parent> <parent>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<artifactId>blade-service-api</artifactId> <artifactId>blade-service-api</artifactId>

7
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockListVO.java

@ -17,11 +17,14 @@
package com.logpm.distribution.vo; package com.logpm.distribution.vo;
import com.logpm.distribution.entity.DistributionStockListEntity; import com.logpm.distribution.entity.DistributionStockListEntity;
import com.logpm.warehouse.vo.PositionVO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import org.springblade.core.tool.node.INode;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
/** /**
* 库存品管理 视图实体类 * 库存品管理 视图实体类
* *
@ -53,4 +56,6 @@ public class DistributionStockListVO extends DistributionStockListEntity {
@ApiModelProperty(value = "货位名称") @ApiModelProperty(value = "货位名称")
private String goodsAllocation; private String goodsAllocation;
private List<PositionVO> positionList = new ArrayList<>();
} }

16
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/PositionVO.java

@ -0,0 +1,16 @@
package com.logpm.warehouse.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class PositionVO implements Serializable {
private String areaName;//货区
private String shelfName;//货架
private String allocationName;//货位
private String trayCode;//托盘
private Integer num;//数量
}

5
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataListVO.java

@ -3,6 +3,8 @@ package com.logpm.warehouse.vo;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Data @Data
public class TrayTypeDataListVO implements Serializable { public class TrayTypeDataListVO implements Serializable {
@ -20,4 +22,7 @@ public class TrayTypeDataListVO implements Serializable {
private Integer orderTotalNum;//订单总件数 private Integer orderTotalNum;//订单总件数
private List<PositionVO> positionList = new ArrayList<>();
} }

2
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/UpdownStockVO.java

@ -16,6 +16,6 @@ public class UpdownStockVO implements Serializable {
private Integer totalNumber;//合同数量 private Integer totalNumber;//合同数量
private Integer residueNumber;//剩余数量 private Integer residueNumber;//剩余数量
private String incomingBatch;//批次号 private String incomingBatch;//批次号
private List<UpdownStockAllocationVO> list = new ArrayList<>(); private List<PositionVO> list = new ArrayList<>();
} }

2
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/UpdownZeroOrderVO.java

@ -13,6 +13,6 @@ public class UpdownZeroOrderVO implements Serializable {
private String orderCode;//订单号 private String orderCode;//订单号
private Integer totalNumber;//合同数量 private Integer totalNumber;//合同数量
private Integer residueNumber;//剩余数量 private Integer residueNumber;//剩余数量
private List<ZeroOrderAllocationVO> list = new ArrayList<>(); private List<PositionVO> list = new ArrayList<>();
} }

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.java

@ -49,4 +49,8 @@ public interface WarehouseTrayGoodsMapper extends BaseMapper<WarehouseTrayGoodsE
List<ParcelListVO> findAllPackageDetailByOrderCode(@Param("orderCode") String orderCode); List<ParcelListVO> findAllPackageDetailByOrderCode(@Param("orderCode") String orderCode);
List<WarehouseTrayGoodsEntity> findPackageByTrayTypeIdAndOrdeCode(@Param("orderCode") String orderCode, @Param("trayTypeId") Long trayTypeId); List<WarehouseTrayGoodsEntity> findPackageByTrayTypeIdAndOrdeCode(@Param("orderCode") String orderCode, @Param("trayTypeId") Long trayTypeId);
List<PositionVO> getTrayGoodsByZeroOrderIdNoAllocationId(@Param("orderId") Long orderId);
List<PositionVO> getTrayGoodsByStockNoAllocationId(@Param("marketId") Long marketId, @Param("materialCode") String materialCode, @Param("incomingBatch") String incomingBatch);
} }

21
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.xml

@ -232,4 +232,25 @@
and ldpl.order_code = #{orderCode} and ldpl.order_code = #{orderCode}
</select> </select>
<select id="getTrayGoodsByZeroOrderIdNoAllocationId" resultType="com.logpm.warehouse.vo.PositionVO">
select lwtg.tray_code trayCode,
lwtg.num num
from logpm_warehouse_tray_goods lwtg
left join logpm_warehouse_tary_allocation lwta on lwta.tray_id = lwtg.tray_id and lwta.is_deleted = 0
where lwtg.association_id = #{orderId}
and lwta.id is null
</select>
<select id="getTrayGoodsByStockNoAllocationId" resultType="com.logpm.warehouse.vo.PositionVO">
SELECT
lwtg.tray_code trayCode,
lwtg.num num
FROM logpm_warehouse_tray_goods lwtg
LEFT JOIN logpm_warehouse_tary_allocation lwta ON lwta.tray_id = lwtg.tray_id AND lwta.is_deleted = 0
WHERE lwtg.market_id = #{marketId}
and lwtg.association_code = #{materialCode}
and lwtg.incoming_batch = #{incomingBatch}
AND lwta.id IS NULL
</select>
</mapper> </mapper>

6
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayTypeMapper.xml

@ -60,16 +60,12 @@
<select id="getZeroOrderByWaybillCode" resultType="com.logpm.warehouse.vo.TrayTypeDataListVO"> <select id="getZeroOrderByWaybillCode" resultType="com.logpm.warehouse.vo.TrayTypeDataListVO">
select ldsa.id dataId, select ldsa.id dataId,
ldsa.order_code dataCode, ldsa.order_code dataCode,
ldsa.total_number - IFNULL(sum( lwtg.num ),0) orderTotalNum ldsa.total_number orderTotalNum
from logpm_distribution_stock_article ldsa from logpm_distribution_stock_article ldsa
left join logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldsa.id left join logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldsa.id
where ldsa.is_deleted = 0 where ldsa.is_deleted = 0
and ldsa.is_zero = 1 and ldsa.is_zero = 1
and ldsa.waybill_number = #{waybillCode} and ldsa.waybill_number = #{waybillCode}
group by ldsa.id,ldsa.order_code,
ldsa.total_number
having IFNULL(sum( lwtg.num ),0) &lt; ldsa.total_number
</select> </select>
<update id="updateTotalNumByTrayTypeId"> <update id="updateTotalNumByTrayTypeId">

5
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.java

@ -17,6 +17,7 @@
package com.logpm.warehouse.mapper; package com.logpm.warehouse.mapper;
import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity;
import com.logpm.warehouse.vo.PositionVO;
import com.logpm.warehouse.vo.UpShelfDataVO; import com.logpm.warehouse.vo.UpShelfDataVO;
import com.logpm.warehouse.vo.WarehouseUpdownGoodsVO; import com.logpm.warehouse.vo.WarehouseUpdownGoodsVO;
import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel; import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel;
@ -75,6 +76,10 @@ public interface WarehouseUpdownGoodsMapper extends BaseMapper<WarehouseUpdownGo
void deleteByIdsList(@Param("ids") List<Long> ids); void deleteByIdsList(@Param("ids") List<Long> ids);
List<PositionVO> getUpdownGoodsByZeroOrderId(@Param("orderId") Long orderId);
List<PositionVO> getUpdownGoodsByStock(@Param("marketId") Long marketId, @Param("materialCode") String materialCode, @Param("incomingBatch") String incomingBatch);
// /** // /**
// * 根据货位查询货物 // * 根据货位查询货物

29
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.xml

@ -198,4 +198,33 @@
</foreach> </foreach>
</delete> </delete>
<select id="getUpdownGoodsByZeroOrderId" resultType="com.logpm.warehouse.vo.PositionVO">
select lwug.area_title areaName,
lwug.shelf_title shelfName,
lwug.allocation_title allocationName,
lwt.pallet_code trayCode,
lwug.num num
from logpm_warehouse_updown_goods lwug on ldsa.id = lwug.association_id
left join logpm_warehouse_tary_allocation lwta on lwta.allocation_id = lwug.allocation_id and lwta.is_deleted = 0
left join logpm_warehouse_tray lwt on lwt.id = lwta.tray_id
where lwug.association_id = #{orderId}
and lwta.id is not null
</select>
<select id="getUpdownGoodsByStock" resultType="com.logpm.warehouse.vo.PositionVO">
SELECT
lwug.area_title areaName,
lwug.shelf_title shelfName,
lwug.allocation_title allocationName,
lwt.pallet_code trayCode,
lwug.num num
FROM logpm_warehouse_updown_goods lwug ON ldsa.id = lwug.association_id
LEFT JOIN logpm_warehouse_tary_allocation lwta ON lwta.allocation_id = lwug.allocation_id AND lwta.is_deleted = 0
LEFT JOIN logpm_warehouse_tray lwt ON lwt.id = lwta.tray_id
WHERE lwug.market_id = #{marketId}
and lwug.association_value = #{materialCode}
and lwug.incoming_batch = #{incomingBatch}
AND lwta.id IS NOT NULL
</select>
</mapper> </mapper>

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java

@ -78,4 +78,8 @@ public interface IWarehouseTrayGoodsService extends BaseService<WarehouseTrayGoo
List<WarehouseTrayGoodsEntity> findPackageByTrayTypeIdAndOrdeCode(String orderCode, Long trayTypeId); List<WarehouseTrayGoodsEntity> findPackageByTrayTypeIdAndOrdeCode(String orderCode, Long trayTypeId);
List<PositionVO> getTrayGoodsByZeroOrderIdNoAllocationId(Long orderId);
List<PositionVO> getTrayGoodsByStockNoAllocationId(Long marketId, String materialCode, String incomingBatch);
} }

5
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java

@ -22,6 +22,7 @@ import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity;
import com.logpm.warehouse.entity.WarehouseUpdownTypeEntity; import com.logpm.warehouse.entity.WarehouseUpdownTypeEntity;
import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel; import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel;
import com.logpm.warehouse.vo.PositionVO;
import com.logpm.warehouse.vo.UpShelfDataVO; import com.logpm.warehouse.vo.UpShelfDataVO;
import com.logpm.warehouse.vo.WarehouseUpdownGoodsVO; import com.logpm.warehouse.vo.WarehouseUpdownGoodsVO;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
@ -110,4 +111,8 @@ public interface IWarehouseUpdownGoodsService extends BaseService<WarehouseUpdow
void updeteNumByUpdownGoodsId(int num, Long updownGoodsId); void updeteNumByUpdownGoodsId(int num, Long updownGoodsId);
void deleteEntityList(List<WarehouseUpdownGoodsEntity> updownGoodsList); void deleteEntityList(List<WarehouseUpdownGoodsEntity> updownGoodsList);
List<PositionVO> getUpdownGoodsByZeroOrderId(Long orderId);
List<PositionVO> getUpdownGoodsByStock(Long marketId, String materialCode, String incomingBatch);
} }

10
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java

@ -249,6 +249,16 @@ public class WarehouseTrayGoodsServiceImpl extends BaseServiceImpl<WarehouseTray
return baseMapper.findPackageByTrayTypeIdAndOrdeCode(orderCode,trayTypeId); return baseMapper.findPackageByTrayTypeIdAndOrdeCode(orderCode,trayTypeId);
} }
@Override
public List<PositionVO> getTrayGoodsByZeroOrderIdNoAllocationId(Long orderId) {
return baseMapper.getTrayGoodsByZeroOrderIdNoAllocationId(orderId);
}
@Override
public List<PositionVO> getTrayGoodsByStockNoAllocationId(Long marketId, String materialCode, String incomingBatch) {
return baseMapper.getTrayGoodsByStockNoAllocationId(marketId,materialCode,incomingBatch);
}
@Override @Override
public Boolean deleteByMasterId(Long masterId) { public Boolean deleteByMasterId(Long masterId) {
int delete = baseMapper.delete(new QueryWrapper<WarehouseTrayGoodsEntity>().lambda() int delete = baseMapper.delete(new QueryWrapper<WarehouseTrayGoodsEntity>().lambda()

51
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java

@ -13,6 +13,7 @@ import com.logpm.distribution.entity.DistributionStockListEntity;
import com.logpm.distribution.feign.IDistributionParcelListClient; import com.logpm.distribution.feign.IDistributionParcelListClient;
import com.logpm.distribution.feign.IDistributionStockArticleClient; import com.logpm.distribution.feign.IDistributionStockArticleClient;
import com.logpm.distribution.feign.IDistributionStockListClient; import com.logpm.distribution.feign.IDistributionStockListClient;
import com.logpm.distribution.vo.DistributionStockListVO;
import com.logpm.warehouse.bean.Resp; import com.logpm.warehouse.bean.Resp;
import com.logpm.warehouse.dto.TrayTypeDTO; import com.logpm.warehouse.dto.TrayTypeDTO;
import com.logpm.warehouse.dto.ZeroOrderVO; import com.logpm.warehouse.dto.ZeroOrderVO;
@ -499,16 +500,23 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
@Override @Override
public List<TrayTypeDataListVO> getZeroOrderByWaybillCode(String waybillCode) { public List<TrayTypeDataListVO> getZeroOrderByWaybillCode(String waybillCode) {
// List<TrayTypeDataListVO> zeroOrderByWaybillCode = baseMapper.getZeroOrderByWaybillCode(waybillCode); List<TrayTypeDataListVO> zeroOrderByWaybillCode = baseMapper.getZeroOrderByWaybillCode(waybillCode);
// for (TrayTypeDataListVO trayTypeDataListVO:zeroOrderByWaybillCode){ for (TrayTypeDataListVO trayTypeDataListVO:zeroOrderByWaybillCode){
// Long orderId = trayTypeDataListVO.getDataId();
// String ordeCode = trayTypeDataListVO.getDataCode(); Integer orderTotalNum = trayTypeDataListVO.getOrderTotalNum();
// Long orderId = trayTypeDataListVO.getDataId(); //查询该零担的库位数据
// //计算零担订单可用数量 List<PositionVO> updownGoodsEntities = warehouseUpdownGoodsService.getUpdownGoodsByZeroOrderId(orderId);
// countZeroAvailableNum(orderId); List<PositionVO> trayGoodsEntities = warehouseTrayGoodsService.getTrayGoodsByZeroOrderIdNoAllocationId(orderId);
// updownGoodsEntities.addAll(trayGoodsEntities);
// } for (PositionVO positionVO:updownGoodsEntities){
return baseMapper.getZeroOrderByWaybillCode(waybillCode); Integer num = positionVO.getNum();
orderTotalNum = orderTotalNum - num;
}
trayTypeDataListVO.setOrderTotalNum(orderTotalNum);
trayTypeDataListVO.setPositionList(updownGoodsEntities);
}
return zeroOrderByWaybillCode;
} }
/** /**
@ -1485,7 +1493,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
@Override @Override
public R selectStockByMaterialCodeAndMarketId(Long marketId, String materialCode) { public R selectStockByMaterialCodeAndMarketId(Long marketId, String materialCode) {
List<DistributionStockListEntity> ls = new ArrayList<>(); List<DistributionStockListVO> ls = new ArrayList<>();
//根据商场id和物料编码查询对应的库存品 //根据商场id和物料编码查询对应的库存品
List<DistributionStockListEntity> stockListEntityList = distributionStockListClient.getListByMarketIdAndMaterialCode(marketId, materialCode); List<DistributionStockListEntity> stockListEntityList = distributionStockListClient.getListByMarketIdAndMaterialCode(marketId, materialCode);
if(Objects.isNull(stockListEntityList) || stockListEntityList.size() == 0){ if(Objects.isNull(stockListEntityList) || stockListEntityList.size() == 0){
@ -1493,19 +1501,20 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
return R.fail(403,"库存品不存在"); return R.fail(403,"库存品不存在");
} }
for(DistributionStockListEntity stockListEntity:stockListEntityList){ for(DistributionStockListEntity stockListEntity:stockListEntityList){
DistributionStockListVO distributionStockListVO = new DistributionStockListVO();
BeanUtil.copy(stockListEntity,distributionStockListVO);
Integer quantityStock = stockListEntity.getQuantityStock();//在数量 Integer quantityStock = stockListEntity.getQuantityStock();//在数量
String incomingBatch = stockListEntity.getIncomingBatch(); String incomingBatch = stockListEntity.getIncomingBatch();
QueryWrapper<WarehouseTrayGoodsEntity> queryWrapper = new QueryWrapper<>(); List<PositionVO> updownGoodsByStock = warehouseUpdownGoodsService.getUpdownGoodsByStock(marketId,materialCode,incomingBatch);
queryWrapper.eq("market_id",marketId) List<PositionVO> traynGoodsByStock = warehouseTrayGoodsService.getTrayGoodsByStockNoAllocationId(marketId,materialCode,incomingBatch);
.eq("association_value",materialCode) updownGoodsByStock.addAll(traynGoodsByStock);
.eq("incoming_batch",incomingBatch); for (PositionVO positionVO:updownGoodsByStock){
List<WarehouseTrayGoodsEntity> list = warehouseTrayGoodsService.list(queryWrapper); Integer num = positionVO.getNum();
Integer useNum = 0; quantityStock = quantityStock - num;
for (WarehouseTrayGoodsEntity trayGoodsEntity:list){
useNum = useNum +trayGoodsEntity.getNum();
} }
stockListEntity.setQuantityStock(quantityStock-useNum); distributionStockListVO.setQuantityStock(quantityStock);
ls.add(stockListEntity); distributionStockListVO.setPositionList(updownGoodsByStock);
ls.add(distributionStockListVO);
} }
return R.data(ls); return R.data(ls);
} }

11
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java

@ -26,6 +26,7 @@ import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel;
import com.logpm.warehouse.mapper.WarehouseUpdownGoodsMapper; import com.logpm.warehouse.mapper.WarehouseUpdownGoodsMapper;
import com.logpm.warehouse.service.IWarehouseUpdownGoodsLogService; import com.logpm.warehouse.service.IWarehouseUpdownGoodsLogService;
import com.logpm.warehouse.service.IWarehouseUpdownGoodsService; import com.logpm.warehouse.service.IWarehouseUpdownGoodsService;
import com.logpm.warehouse.vo.PositionVO;
import com.logpm.warehouse.vo.UpShelfDataVO; import com.logpm.warehouse.vo.UpShelfDataVO;
import com.logpm.warehouse.vo.WarehouseUpdownGoodsVO; import com.logpm.warehouse.vo.WarehouseUpdownGoodsVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -177,4 +178,14 @@ public class WarehouseUpdownGoodsServiceImpl extends BaseServiceImpl<WarehouseUp
baseMapper.deleteByIdsList(ids); baseMapper.deleteByIdsList(ids);
} }
@Override
public List<PositionVO> getUpdownGoodsByZeroOrderId(Long orderId) {
return baseMapper.getUpdownGoodsByZeroOrderId(orderId);
}
@Override
public List<PositionVO> getUpdownGoodsByStock(Long marketId, String materialCode, String incomingBatch) {
return baseMapper.getUpdownGoodsByStock(marketId,materialCode,incomingBatch);
}
} }

53
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

@ -1248,49 +1248,36 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
updownStockVO.setWaybillCode(""); updownStockVO.setWaybillCode("");
updownStockVO.setOrderCode(stockListEntity.getOrderCode()); updownStockVO.setOrderCode(stockListEntity.getOrderCode());
updownStockVO.setTotalNumber(stockListEntity.getQuantityStock()); updownStockVO.setTotalNumber(stockListEntity.getQuantityStock());
List<UpdownStockAllocationVO> ls = new ArrayList<>();
QueryWrapper<WarehouseUpdownGoodsEntity> queryWrapper = new QueryWrapper<>(); List<PositionVO> updownGoodsByStock = warehouseUpdownGoodsService.getUpdownGoodsByStock(marketId, cargoNumber, incomingBatch);
queryWrapper.eq("association_type", "4") List<PositionVO> trayGoodsByStock = warehouseTrayGoodsService.getTrayGoodsByStockNoAllocationId(marketId, cargoNumber, incomingBatch);
.eq("association_id", materialId) updownGoodsByStock.addAll(trayGoodsByStock);
.eq("incoming_batch",incomingBatch) for (PositionVO positionVO:updownGoodsByStock){
.eq("market_id",marketId); Integer num = positionVO.getNum();
List<WarehouseUpdownGoodsEntity> list = warehouseUpdownGoodsService.list(queryWrapper); quantityStock = quantityStock - num;
Integer useNum = 0; }
for (WarehouseUpdownGoodsEntity updownGoodsEntity:list){ updownStockVO.setResidueNumber(quantityStock);
Integer num = updownGoodsEntity.getNum(); updownStockVO.setList(updownGoodsByStock);
useNum = useNum +num;
UpdownStockAllocationVO updownStockAllocationVO = new UpdownStockAllocationVO();
updownStockAllocationVO.setAllocation(updownGoodsEntity.getPositionCode());
updownStockAllocationVO.setNum(num);
ls.add(updownStockAllocationVO);
}
updownStockVO.setResidueNumber(quantityStock-useNum);
updownStockVO.setList(ls);
return updownStockVO; return updownStockVO;
} }
private UpdownZeroOrderVO orderToUpdownZeroOrderVO(DistributionStockArticleEntity stockArticleEntity) { private UpdownZeroOrderVO orderToUpdownZeroOrderVO(DistributionStockArticleEntity stockArticleEntity) {
String orderCode = stockArticleEntity.getOrderCode(); String orderCode = stockArticleEntity.getOrderCode();
Long orderId = stockArticleEntity.getId();
Integer totalNumber = stockArticleEntity.getTotalNumber(); Integer totalNumber = stockArticleEntity.getTotalNumber();
UpdownZeroOrderVO updownZeroOrderVO = new UpdownZeroOrderVO(); UpdownZeroOrderVO updownZeroOrderVO = new UpdownZeroOrderVO();
updownZeroOrderVO.setWaybillCode(stockArticleEntity.getWaybillNumber()); updownZeroOrderVO.setWaybillCode(stockArticleEntity.getWaybillNumber());
updownZeroOrderVO.setOrderCode(orderCode); updownZeroOrderVO.setOrderCode(orderCode);
updownZeroOrderVO.setTotalNumber(totalNumber); updownZeroOrderVO.setTotalNumber(totalNumber);
List<ZeroOrderAllocationVO> ls = new ArrayList<>(); List<PositionVO> ls = new ArrayList<>();
QueryWrapper<WarehouseUpdownGoodsEntity> queryWrapper = new QueryWrapper<>(); List<PositionVO> updownGoodsEntities = warehouseUpdownGoodsService.getUpdownGoodsByZeroOrderId(orderId);
queryWrapper.eq("association_type", "1") List<PositionVO> trayGoodsEntities = warehouseTrayGoodsService.getTrayGoodsByZeroOrderIdNoAllocationId(orderId);
.eq("association_value", orderCode); updownGoodsEntities.addAll(trayGoodsEntities);
List<WarehouseUpdownGoodsEntity> list = warehouseUpdownGoodsService.list(queryWrapper); for (PositionVO positionVO:updownGoodsEntities){
Integer useNum = 0; Integer num = positionVO.getNum();
for (WarehouseUpdownGoodsEntity updownGoodsEntity:list){ totalNumber = totalNumber -num;
Integer num = updownGoodsEntity.getNum(); }
useNum = useNum +num; updownZeroOrderVO.setResidueNumber(totalNumber);
ZeroOrderAllocationVO zeroOrderAllocationVO = new ZeroOrderAllocationVO();
zeroOrderAllocationVO.setAllocation(updownGoodsEntity.getPositionCode());
zeroOrderAllocationVO.setNum(num);
ls.add(zeroOrderAllocationVO);
}
updownZeroOrderVO.setResidueNumber(totalNumber-useNum);
updownZeroOrderVO.setList(ls); updownZeroOrderVO.setList(ls);
return updownZeroOrderVO; return updownZeroOrderVO;
} }

Loading…
Cancel
Save