Browse Source

Merge branch 'pre-production'

master
pref_mail@163.com 1 year ago
parent
commit
85f911f575
  1. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java
  2. 4
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java
  3. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java
  4. 4
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListInfoClient.java
  5. 1
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java
  6. 3
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java
  7. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionParcelNumberDTO.java
  8. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java
  9. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java
  10. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java
  11. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListInfoClient.java
  12. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java
  13. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml
  14. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  15. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.java
  16. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.xml
  17. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java
  18. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml
  19. 53
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  20. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationZeroPackageService.java
  21. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListInfoService.java
  22. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java
  23. 89
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  24. 272
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  25. 29
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationStockarticleServiceImpl.java
  26. 53
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java
  27. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  28. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListInfoServiceImpl.java
  29. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java
  30. 14
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  31. 53
      blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java
  32. 40
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java
  33. 3
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java
  34. 143
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java
  35. 5
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java
  36. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.java
  37. 21
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.xml
  38. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java
  39. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java
  40. 26
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java
  41. 10
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java
  42. 17
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java
  43. 3
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

3
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java

@ -143,4 +143,7 @@ public interface IDistributionParcelListClient {
@GetMapping(API_PREFIX+"/findEntityListByOrderCodeAndStatus") @GetMapping(API_PREFIX+"/findEntityListByOrderCodeAndStatus")
List<DistributionParcelListEntity> findEntityListByOrderCodeAndStatus(@RequestParam String orderCode, @RequestParam Long warehouseId, @RequestParam String packageStatus); List<DistributionParcelListEntity> findEntityListByOrderCodeAndStatus(@RequestParam String orderCode, @RequestParam Long warehouseId, @RequestParam String packageStatus);
@GetMapping(API_PREFIX+"/getListByOrderPackageCode")
List<DistributionParcelListEntity> getListByOrderPackageCode(@RequestParam String orderPackageCode);
} }

4
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java

@ -139,4 +139,8 @@ public interface IDistributionStockArticleClient {
@GetMapping(API_PREFIX + "/submitHandleNumAndTotalNumberByOrderId") @GetMapping(API_PREFIX + "/submitHandleNumAndTotalNumberByOrderId")
void submitHandleNumAndTotalNumberByOrderId(@RequestParam Integer subNum, @RequestParam Long articleId); void submitHandleNumAndTotalNumberByOrderId(@RequestParam Integer subNum, @RequestParam Long articleId);
@GetMapping(API_PREFIX + "/findListByOrderCode")
List<DistributionStockArticleEntity> findListByOrderCode(@RequestParam String orderCode);
} }

3
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java

@ -130,4 +130,7 @@ public interface IDistributionStockListClient {
@GetMapping(API_PREFIX+"/updeteSourceTypeById") @GetMapping(API_PREFIX+"/updeteSourceTypeById")
void updeteSourceTypeById(@RequestParam String sourceType, @RequestParam Long stockListId); void updeteSourceTypeById(@RequestParam String sourceType, @RequestParam Long stockListId);
@GetMapping(API_PREFIX+"/getListByMarketIdAndSku")
List<DistributionStockListEntity> getListByMarketIdAndSku(@RequestParam Long mallId, @RequestParam String sku, @RequestParam Long warehouseId);
} }

4
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListInfoClient.java

@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/** /**
* 库存品明细 Feign接口类 * 库存品明细 Feign接口类
* *
@ -57,4 +59,6 @@ public interface IDistributionStockListInfoClient {
@PostMapping(ADDSTOCKLISTINFOENTITY) @PostMapping(ADDSTOCKLISTINFOENTITY)
boolean addStockListInfoEntity(@RequestBody DistributionStockListInfoEntity distributionStockListInfo); boolean addStockListInfoEntity(@RequestBody DistributionStockListInfoEntity distributionStockListInfo);
@GetMapping(API_PREFIX + "/getAllOrderPackageCodes")
List<String> getAllOrderPackageCodes(@RequestParam String incomingBatch, @RequestParam String sku, @RequestParam Long mallId, @RequestParam Long warehouseId);
} }

1
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java

@ -66,6 +66,7 @@ public class DistributionStockupVO extends DistributionStockupEntity {
private String deliveryAddress; private String deliveryAddress;
private String deliveryPhone; private String deliveryPhone;
private String mallName; private String mallName;
private Long mallId;
private String stockArticleId; private String stockArticleId;
private String orderCode; //订单自编号 private String orderCode; //订单自编号
private String descriptionGoods; private String descriptionGoods;

3
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java

@ -75,4 +75,7 @@ public interface IWarehouseUpdownTypeClient {
R findAllGoodsByAllocationId(@RequestParam Long allocationId, @RequestParam Long warehouseId); R findAllGoodsByAllocationId(@RequestParam Long allocationId, @RequestParam Long warehouseId);
@GetMapping(TOP + "/findZeroAllocation") @GetMapping(TOP + "/findZeroAllocation")
List<JSONObject> findZeroAllocation(@RequestParam String orderCode, @RequestParam Long warehouseId); List<JSONObject> findZeroAllocation(@RequestParam String orderCode, @RequestParam Long warehouseId);
@GetMapping(API_PREFIX+"/findStockListAllocations")
String findStockListAllocations(@RequestParam Long warehouseId, @RequestParam Long mallId, @RequestParam String sku);
} }

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionParcelNumberDTO.java

@ -36,6 +36,11 @@ public class DistributionParcelNumberDTO extends DistributionParcelNumberEntity
*/ */
private Integer number; private Integer number;
/**
* 在库数量
*/
private Long reservationId;
/** /**
* 装车数量 * 装车数量
*/ */
@ -51,4 +56,9 @@ public class DistributionParcelNumberDTO extends DistributionParcelNumberEntity
*/ */
private Integer reservationNum; private Integer reservationNum;
/**
* 计划数量
*/
private String orderCode;
} }

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java

@ -299,4 +299,12 @@ public class DistributionParcelListClient implements IDistributionParcelListClie
public List<DistributionParcelListEntity> findEntityListByOrderCodeAndStatus(String orderCode, Long warehouseId, String packageStatus) { public List<DistributionParcelListEntity> findEntityListByOrderCodeAndStatus(String orderCode, Long warehouseId, String packageStatus) {
return distributionParcelListService.findEntityListByOrderCodeAndStatus(orderCode,warehouseId,packageStatus); return distributionParcelListService.findEntityListByOrderCodeAndStatus(orderCode,warehouseId,packageStatus);
} }
@Override
public List<DistributionParcelListEntity> getListByOrderPackageCode(String orderPackageCode) {
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_package_code",orderPackageCode);
return distributionParcelListService.list(queryWrapper);
}
} }

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java

@ -283,4 +283,12 @@ public class DistributionStockArticleClient implements IDistributionStockArticle
distributionStockArticleService.submitHandleNumAndTotalNumberByOrderId(subNum,articleId); distributionStockArticleService.submitHandleNumAndTotalNumberByOrderId(subNum,articleId);
} }
@Override
public List<DistributionStockArticleEntity> findListByOrderCode(String orderCode) {
QueryWrapper<DistributionStockArticleEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_code",orderCode);
return distributionStockArticleService.list(queryWrapper);
}
} }

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java

@ -199,4 +199,9 @@ public class DistributionStockListClient implements IDistributionStockListClient
public void updeteSourceTypeById(String sourceType, Long stockListId) { public void updeteSourceTypeById(String sourceType, Long stockListId) {
distributionStockListService.updeteSourceTypeById(sourceType,stockListId); distributionStockListService.updeteSourceTypeById(sourceType,stockListId);
} }
@Override
public List<DistributionStockListEntity> getListByMarketIdAndSku(Long mallId, String sku, Long warehouseId) {
return distributionStockListService.getListByMarketIdAndSku(mallId,sku,warehouseId);
}
} }

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListInfoClient.java

@ -16,6 +16,7 @@
*/ */
package com.logpm.distribution.feign; package com.logpm.distribution.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.entity.DistributionStockListInfoEntity; import com.logpm.distribution.entity.DistributionStockListInfoEntity;
import com.logpm.distribution.service.IDistributionStockListInfoService; import com.logpm.distribution.service.IDistributionStockListInfoService;
@ -28,6 +29,8 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
/** /**
* 库存品明细 Feign实现类 * 库存品明细 Feign实现类
* *
@ -57,4 +60,9 @@ public class DistributionStockListInfoClient implements IDistributionStockListIn
return distributionStockListInfoService.save(distributionStockListInfo); return distributionStockListInfoService.save(distributionStockListInfo);
} }
@Override
public List<String> getAllOrderPackageCodes(String incomingBatch, String sku, Long mallId, Long warehouseId) {
return distributionStockListInfoService.getAllOrderPackageCodes(incomingBatch,sku,mallId,warehouseId);
}
} }

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java

@ -177,4 +177,13 @@ public interface DistributionLoadscanMapper extends BaseMapper<DistributionLoads
* @return * @return
*/ */
Integer selectLoadingNumByDeliveryId(@Param("deliveryId")Long deliveryId); Integer selectLoadingNumByDeliveryId(@Param("deliveryId")Long deliveryId);
/**
* 判断零担订单是否完成签收
* @param reservationId
* @param parcelListId
* @param reservationNum
* @return
*/
boolean judgmentZeroPackageIsSign(@Param("reservationId") Long reservationId,@Param("packageId") Long packageId,@Param("num") Integer reservationNum);
} }

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml

@ -286,4 +286,14 @@
+ +
(IF((SELECT sum(loaded_nub) FROM logpm_distribution_loadscaninvn WHERE delivery_id = #{deliveryId} AND scan_state != 1 AND signfor_state = 2)is null,0,(SELECT sum(loaded_nub) FROM logpm_distribution_loadscaninvn WHERE delivery_id = #{deliveryId} AND scan_state != 1 ))) (IF((SELECT sum(loaded_nub) FROM logpm_distribution_loadscaninvn WHERE delivery_id = #{deliveryId} AND scan_state != 1 AND signfor_state = 2)is null,0,(SELECT sum(loaded_nub) FROM logpm_distribution_loadscaninvn WHERE delivery_id = #{deliveryId} AND scan_state != 1 )))
</select> </select>
<select id="judgmentZeroPackageIsSign" resultType="java.lang.Boolean">
SELECT
IF
( received_quantity = #{num}, 1, 0 )
FROM
logpm_distribution_loadscan AS ldl
WHERE
reservation_id = #{reservationId} AND package_id = #{packageId}
</select>
</mapper> </mapper>

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -862,7 +862,7 @@
logpm_distribution_reservation_package AS ldrs logpm_distribution_reservation_package AS ldrs
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldrs.parce_list_id = ldpl.id INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldrs.parce_list_id = ldpl.id
WHERE WHERE
ldrs.packet_bar_status IN ('1','3') and reservation_id = #{reservationId} ldrs.packet_bar_status IN ('1','3') and reservation_id = #{reservationId} AND ldpl.conditions = 1
</select> </select>
<select id="getReservationNumStockSelf" resultType="Integer"> <select id="getReservationNumStockSelf" resultType="Integer">
select SUM(lddd.quantity) select SUM(lddd.quantity)
@ -1197,8 +1197,11 @@
ldrzp.parcel_list_id AS parcelListId, ldrzp.parcel_list_id AS parcelListId,
ldrs.stock_article_id AS stockArticleId, ldrs.stock_article_id AS stockArticleId,
ldrzp.quantity AS reservationNum, ldrzp.quantity AS reservationNum,
ldrzp.reservation_id AS reservationId,
ldsa.order_code AS orderCode,
ldpn.quantity, ldpn.quantity,
ldpn.hand_quantity, ldpn.hand_quantity,
ldpl.stock_article_id AS stockArticleId,
ldpn.delivery_quantity, ldpn.delivery_quantity,
ldpn.signin_quantity, ldpn.signin_quantity,
ldpn.outbound_quantity, ldpn.outbound_quantity,
@ -1208,6 +1211,7 @@
LEFT JOIN logpm_distribution_reservation_zero_package AS ldrzp ON ldrs.stock_article_id = ldrzp.stock_article_id AND ldrzp.reservation_id = ldrs.reservation_id LEFT JOIN logpm_distribution_reservation_zero_package AS ldrzp ON ldrs.stock_article_id = ldrzp.stock_article_id AND ldrzp.reservation_id = ldrs.reservation_id
LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldrzp.parcel_list_id = ldpl.id LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldrzp.parcel_list_id = ldpl.id
LEFT JOIN logpm_distribution_parcel_number AS ldpn ON ldpl.id = ldpn.parcel_list_id LEFT JOIN logpm_distribution_parcel_number AS ldpn ON ldpl.id = ldpn.parcel_list_id
LEFT JOIN logpm_distribution_stock_article AS ldsa ON ldrs.stock_article_id = ldsa.id
WHERE WHERE
ldrzp.reservation_id=#{reservationId} and ldrs.stock_article_status in ('1','3') AND ldrzp.zero_package_status IN ( '1', '3' ) ldrzp.reservation_id=#{reservationId} and ldrs.stock_article_status in ('1','3') AND ldrzp.zero_package_status IN ( '1', '3' )
</select> </select>
@ -1711,7 +1715,7 @@
ldpl.id AS id, ldpl.id AS id,
ldrzp.quantity AS reservationNum, ldrzp.quantity AS reservationNum,
IF(ldl.loaded_nub is null,0,ldl.loaded_nub) AS loadingNum, IF(ldl.loaded_nub is null,0,ldl.loaded_nub) AS loadingNum,
IF(ldl.loaded_nub is null,0,ldl.loaded_nub) AS signingNum , IF(ldl.received_quantity is null,0,ldl.loaded_nub) AS signingNum ,
CASE IF(ldl.loaded_nub is null,0,ldl.loaded_nub) CASE IF(ldl.loaded_nub is null,0,ldl.loaded_nub)
WHEN 0 THEN '待装车' WHEN 0 THEN '待装车'
ELSE IF(ldl.loaded_nub = ldrzp.quantity,'已装车','部分装车') ELSE IF(ldl.loaded_nub = ldrzp.quantity,'已装车','部分装车')

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.java

@ -20,7 +20,6 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.entity.DistributionStockListInfoEntity; import com.logpm.distribution.entity.DistributionStockListInfoEntity;
import com.logpm.distribution.excel.DistributionStockListInfoExcel;
import com.logpm.distribution.vo.DistributionStockListInfoVO; import com.logpm.distribution.vo.DistributionStockListInfoVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -57,4 +56,5 @@ public interface DistributionStockListInfoMapper extends BaseMapper<Distribution
IPage<DistributionStockListInfoEntity> getStockListInfo(IPage<DistributionStockListInfoEntity> page,@Param("par") Map<String, Object> distributionStockListInfo); IPage<DistributionStockListInfoEntity> getStockListInfo(IPage<DistributionStockListInfoEntity> page,@Param("par") Map<String, Object> distributionStockListInfo);
List<String> getAllOrderPackageCodes(@Param("incomingBatch") String incomingBatch, @Param("sku") String sku, @Param("mallId") Long mallId, @Param("warehouseId") Long warehouseId);
} }

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.xml

@ -105,4 +105,14 @@
warehouse_id=#{par.warehouseId} warehouse_id=#{par.warehouseId}
AND is_deleted = 0 ) OR (stock_list_id =#{par.stockListId} AND is_deleted = 0) AND is_deleted = 0 ) OR (stock_list_id =#{par.stockListId} AND is_deleted = 0)
</select> </select>
<select id="getAllOrderPackageCodes" resultType="String">
SELECT package_code FROM logpm_distribution_stock_list_info
WHERE incoming_batch=#{incomingBatch}
AND market_id =#{mallId}
AND cargo_number=#{sku}
AND warehouse_id=#{warehouseId}
AND is_deleted = 0
</select>
</mapper> </mapper>

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java

@ -154,4 +154,6 @@ public interface DistributionStockListMapper extends BaseMapper<DistributionStoc
List<DistributionMerchantStockListVO> selectMerchantNotHaveDataStockListInfo(@Param("stockListId")Long id); List<DistributionMerchantStockListVO> selectMerchantNotHaveDataStockListInfo(@Param("stockListId")Long id);
IPage<DistributionStockListAllocationVO> listAllocationOrder(IPage<Object> page, @Param("param") DistributionStockListEntity distributionStockListEntity); IPage<DistributionStockListAllocationVO> listAllocationOrder(IPage<Object> page, @Param("param") DistributionStockListEntity distributionStockListEntity);
List<DistributionStockListEntity> getListByMarketIdAndSku(@Param("mallId")Long mallId, @Param("sku")String sku, @Param("warehouseId")Long warehouseId);
} }

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml

@ -592,4 +592,14 @@
UPDATE logpm_distribution_stock_list SET quantity_occupied = (quantity_occupied - #{num}) WHERE id = #{stockListId} UPDATE logpm_distribution_stock_list SET quantity_occupied = (quantity_occupied - #{num}) WHERE id = #{stockListId}
</update> </update>
<select id="getListByMarketIdAndSku" resultType="com.logpm.distribution.entity.DistributionStockListEntity">
select ldsl.*
from logpm_distribution_stock_list ldsl
where ldsl.is_deleted = 0
and ldsl.source_type = 1
and ldsl.cargo_number = #{sku}
and ldsl.market_id = #{mallId}
and ldsl.warehouse_id = #{warehouseId}
</select>
</mapper> </mapper>

53
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml

@ -866,7 +866,8 @@
from logpm_distribution_reservation_package ldrp from logpm_distribution_reservation_package ldrp
LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldrp.parce_list_id LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldrp.parce_list_id
where ldrp.reservation_id = ldsi.reservation_id where ldrp.reservation_id = ldsi.reservation_id
) goodsAllocation,ldr.stockup_status stockStatus, ) goodsAllocation,
ldr.stockup_status stockStatus,
ldr.reservation_num reservationNum, ldr.reservation_num reservationNum,
ldr.reservation_stock_list_num reservationStockListNum ldr.reservation_stock_list_num reservationStockListNum
from logpm_distribution_reservation ldr from logpm_distribution_reservation ldr
@ -910,33 +911,31 @@
</select> </select>
<select id="getInventoryOwn" resultType="com.logpm.distribution.vo.DistributionStockupVO"> <select id="getInventoryOwn" resultType="com.logpm.distribution.vo.DistributionStockupVO">
select DISTINCT ldsii.sku ,ldsii.order_code orderCode,ldsii.description_goods descriptionGoods,ldsii.cargo_unit select DISTINCT ldr.consignee consignee,
cargoUnit,ldsii.id stockListId,ldrsi.reservation_id reservationId, ldr.mall_name mallName,
ldrsi.reservation_num reservationNum,lds.stockup_area stockupArea, lds.stockup_status ldr.mall_id mallId,
stockupStatus,lds.stockup_date stockupDate,ldrsi.id stocklist, ldsii.cargo_number AS sku,
( ldsii.order_code orderCode,
select count(ds.id) ldsii.description_goods descriptionGoods,
from logpm_distribution_stock ds ldsii.cargo_unit cargoUnit,
WHERE ds.stock_list_id = ldsii.id and ds.reservation_id = ldsi.reservation_id ldsii.id stockListId,
) number, ldrsi.reservation_id reservationId,
( ldrsi.reservation_num reservationNum,
select GROUP_CONCAT(DISTINCT tray_code) lds.stockup_area stockupArea,
from logpm_warehouse_tray_goods lds.stockup_status stockupStatus,
WHERE association_id = ldsii.material_id and association_type = 4 and market_id =ldsii.market_id and lds.stockup_date stockupDate,
incoming_batch = ldsii.incoming_batch ldr.warehouse_id warehouseId,
) pallet, ldrsi.id stocklist,
( ( SELECT count( ds.id ) FROM logpm_distribution_stock ds WHERE ds.stock_list_id = ldsii.id AND ds.reservation_id = ldsi.reservation_id ) number,
select GROUP_CONCAT(DISTINCT position_code) ldrsi.stock_status stockStatus,
from logpm_warehouse_updown_goods ldrsi.start_time_stocking startTimeStocking,
where association_id = ldsii.material_id and association_type = 4 and market_id =ldsii.market_id and ldrsi.end_time_stocking endTimeStocking
incoming_batch = ldsii.incoming_batch
) goodsAllocation,ldrsi.stock_status stockStatus,ldrsi.start_time_stocking startTimeStocking,ldrsi.end_time_stocking endTimeStocking
from logpm_distribution_stockup_info ldsi from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_reservation_stocklist ldrsi on ldrsi.reservation_id = ldsi.reservation_id LEFT JOIN logpm_distribution_reservation ldr ON ldsi.reservation_id = ldr.id
LEFT JOIN logpm_distribution_stock_list ldsii on ldsii.id = ldrsi.stocklist_id LEFT JOIN logpm_distribution_reservation_stocklist ldrsi ON ldrsi.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldsi.reservation_id = ldrs.reservation_id LEFT JOIN logpm_distribution_stock_list ldsii ON ldsii.id = ldrsi.stocklist_id
LEFT JOIN logpm_distribution_stockup lds on lds.id = ldsi.stockup_id LEFT JOIN logpm_distribution_reservation_stockarticle ldrs ON ldsi.reservation_id = ldrs.reservation_id
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.id = ldsii.parcel_list_id LEFT JOIN logpm_distribution_stockup lds ON lds.id = ldsi.stockup_id
<where> <where>
ldsi.stockup_id =#{id} and ldrsi.reservation_num > 0 ldsi.stockup_id =#{id} and ldrsi.reservation_num > 0
</where> </where>

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationZeroPackageService.java

@ -17,6 +17,7 @@
package com.logpm.distribution.service; package com.logpm.distribution.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.logpm.distribution.entity.DistributionLoadscanEntity;
import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity; import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity;
import com.logpm.distribution.vo.DistributionReservationZeroPackageVO; import com.logpm.distribution.vo.DistributionReservationZeroPackageVO;
import com.logpm.distribution.excel.DistributionReservationZeroPackageExcel; import com.logpm.distribution.excel.DistributionReservationZeroPackageExcel;
@ -64,5 +65,10 @@ public interface IDistributionReservationZeroPackageService extends BaseService<
*/ */
List<DistributionReservationZeroPackageEntity> getZeroList(Long reservationId); List<DistributionReservationZeroPackageEntity> getZeroList(Long reservationId);
/**
* 零担订单进行全部数量回退
* @param reservationId
* @param collect
*/
void recoverZeroPackage(Long reservationId, List<Long> collect);
} }

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListInfoService.java

@ -16,7 +16,6 @@
*/ */
package com.logpm.distribution.service; package com.logpm.distribution.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.entity.DistributionStockListInfoEntity; import com.logpm.distribution.entity.DistributionStockListInfoEntity;
import com.logpm.distribution.excel.DistributionStockListInfoExcel; import com.logpm.distribution.excel.DistributionStockListInfoExcel;
@ -58,4 +57,7 @@ public interface IDistributionStockListInfoService extends BaseService<Distribut
* @return * @return
*/ */
IPage<DistributionStockListInfoEntity> getStockListInfo(Map<String, Object> distributionStockListInfo, IPage<DistributionStockListInfoEntity> page); IPage<DistributionStockListInfoEntity> getStockListInfo(Map<String, Object> distributionStockListInfo, IPage<DistributionStockListInfoEntity> page);
List<String> getAllOrderPackageCodes(String incomingBatch, String sku, Long mallId, Long warehouseId);
} }

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java

@ -203,6 +203,8 @@ public interface IDistributionStockListService extends BaseService<DistributionS
*/ */
OrderPackgeCodeDataVO showInvnetoryPackgeCode(Long id); OrderPackgeCodeDataVO showInvnetoryPackgeCode(Long id);
List<DistributionStockListEntity> getListByMarketIdAndSku(Long mallId, String sku, Long warehouseId);
// /** // /**
// * 查询库存品详情 // * 查询库存品详情

89
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.dto.DistributionLoadingNumDTO; import com.logpm.distribution.dto.DistributionLoadingNumDTO;
import com.logpm.distribution.dto.DistributionParcelNumberDTO;
import com.logpm.distribution.dto.DistributionStockArticleDTO; import com.logpm.distribution.dto.DistributionStockArticleDTO;
import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO; import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO;
import com.logpm.distribution.dto.app.StockupDTO; import com.logpm.distribution.dto.app.StockupDTO;
@ -1588,8 +1589,9 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
@Transactional @Transactional
@Async @Async
public void releaseSource(Long reservationId, Long warehouseId) { public void releaseSource(Long reservationId, Long warehouseId) {
String method = "##########################DistributionAsyncServiceImpl.releaseSource";
DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(reservationId); DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(reservationId);
StringBuilder builder = new StringBuilder();
if (reservationEntity.getReservationNum() > 0) { if (reservationEntity.getReservationNum() > 0) {
//存在订单 //存在订单
List<DistributionParcelListEntity> distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId); List<DistributionParcelListEntity> distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId);
@ -1598,7 +1600,6 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
.filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()) && !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) .filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()) && !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue()))
.map(DistributionParcelListEntity::getId) .map(DistributionParcelListEntity::getId)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (Func.isNotEmpty(packageIds)) { if (Func.isNotEmpty(packageIds)) {
//对包件进行批量的修改 //对包件进行批量的修改
//将这些包件恢复到初始状态 //将这些包件恢复到初始状态
@ -1609,45 +1610,69 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
.filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()) && !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) .filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()) && !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue()))
.map(DistributionParcelListEntity::getOrderCode) .map(DistributionParcelListEntity::getOrderCode)
.distinct().collect(Collectors.joining(",")); .distinct().collect(Collectors.joining(","));
distributionStockArticleService.maintenanceOrderInfo(orderCodes, warehouseId); log.info(method+"维护订制品订单:{}",orderCodes);
builder.append(orderCodes);
log.info(">>>>>> updatePackageDeliveryStatus,{}, {}", reservationId, packageIds); log.info(">>>>>> updatePackageDeliveryStatus,{}, {}", reservationId, packageIds);
//完成对该客户下此包件任务的取消 //完成对该客户下此包件任务的取消
int row = distributionReservationMapper.updatePackageDeliveryStatus(reservationId, packageIds); int row = distributionReservationMapper.updatePackageDeliveryStatus(reservationId, packageIds);
//TODO 欠缺零担的资源释放
//维护预约订单状态 //维护预约订单状态
distributionReservationStockarticleService.maintenanceReservationStockArticle(reservationId, warehouseId); }
} List<DistributionParcelNumberDTO> distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(reservationId);
if (Func.isNotEmpty(distributionParcelNumberDTOS)){
//存在库存品信息 //查询此预约单下未进行装车且签收的零担包件
if (reservationEntity.getReservationStockListNum() > 0) { List<Long> packageIds = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getParcelListId).collect(Collectors.toList());
//进行库存品的资源释放 List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda()
List<DisStockListDetailEntity> disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId); .eq(DistributionLoadscanEntity::getReservationId, reservationId)
if (Func.isNotEmpty(disStockListDetailEntities)) { .in(DistributionLoadscanEntity::getPackageId, packageIds)
//未签收并且未装车 .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
List<DisStockListDetailEntity> inventoryList = disStockListDetailEntities.stream().filter(inven -> inven.getStockLockingStatus().equals(InventoryLoadingStatusConstant.weizhuangche.getValue()) && inven.getStockLockingStatus().equals(InventorySigningStatusConstant.weiqianshou.getValue())).collect(Collectors.toList()); );
if (Func.isNotEmpty(inventoryList)) { if (Func.isNotEmpty(loadscanEntityList)){
Map<Long, List<DisStockListDetailEntity>> stockListMap = inventoryList.stream().collect(Collectors.groupingBy(DisStockListDetailEntity::getStockListId)); //查看是否存在需要进行回库的零担
stockListMap.forEach((k, v) -> { List<Long> collect = loadscanEntityList.stream().filter(f -> !packageIds.contains(f.getPackageId())).map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList());
//扣减对应批次库存品的冻结数量 if (Func.isNotEmpty(collect)){
distributionStockListMapper.decreaseStockListQuantityOccupied(k, v.size()); String orderCode = distributionParcelNumberDTOS.stream().filter(f -> collect.contains(f.getParcelListId())).map(DistributionParcelNumberDTO::getOrderCode).collect(Collectors.joining(","));
//维护对应的客户库存品的 log.info(method+"维护零担订单:{}",orderCode);
for (DisStockListDetailEntity disStockListDetailEntity : v) { builder.append(orderCode);
//取消对应的库存品包件信息 //这些单子就是需要进行状态回退的零担包件
disStockListDetailEntity.setStockPackageStatus(ReservationPackageStatusConstant.quxiao.getValue()); reservationZeroPackageService.recoverZeroPackage(reservationId,collect);
disStockListDetailService.updateById(disStockListDetailEntity);
}
});
} }
}else {
//计划数量全部回退
String orderCode = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getOrderCode).distinct().collect(Collectors.joining(","));
log.info(method+"维护零担订单:{}",orderCode);
builder.append(orderCode);
reservationZeroPackageService.recoverZeroPackage(reservationId,packageIds);
}
}
distributionStockArticleService.maintenanceOrderInfo(builder.toString(), warehouseId);
distributionReservationStockarticleService.maintenanceReservationStockArticle(reservationId, warehouseId);
}
//存在库存品信息
if (reservationEntity.getReservationStockListNum() > 0) {
//进行库存品的资源释放
List<DisStockListDetailEntity> disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId);
if (Func.isNotEmpty(disStockListDetailEntities)) {
//未签收并且未装车
List<DisStockListDetailEntity> inventoryList = disStockListDetailEntities.stream().filter(inven -> inven.getStockLockingStatus().equals(InventoryLoadingStatusConstant.weizhuangche.getValue()) && inven.getStockLockingStatus().equals(InventorySigningStatusConstant.weiqianshou.getValue())).collect(Collectors.toList());
if (Func.isNotEmpty(inventoryList)) {
Map<Long, List<DisStockListDetailEntity>> stockListMap = inventoryList.stream().collect(Collectors.groupingBy(DisStockListDetailEntity::getStockListId));
stockListMap.forEach((k, v) -> {
//扣减对应批次库存品的冻结数量
distributionStockListMapper.decreaseStockListQuantityOccupied(k, v.size());
//维护对应的客户库存品的
for (DisStockListDetailEntity disStockListDetailEntity : v) {
//取消对应的库存品包件信息
disStockListDetailEntity.setStockPackageStatus(ReservationPackageStatusConstant.quxiao.getValue());
disStockListDetailService.updateById(disStockListDetailEntity);
}
});
} }
//维护对应的库存品计划状态
distributionReservationStocklistService.maintenanceReservationStockList(reservationId);
} }
//维护对应的库存品计划状态
distributionReservationStocklistService.maintenanceReservationStockList(reservationId);
} }

272
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -42,7 +42,6 @@ import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient; import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient;
import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient; import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient;
import com.logpm.warehouse.feign.IWarehouseWaybillClient; import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.order.OrderStockupStatusConstant; import org.springblade.common.constant.order.OrderStockupStatusConstant;
@ -63,6 +62,7 @@ import org.springblade.system.cache.DictBizCache;
import org.springblade.system.feign.IUserClient; import org.springblade.system.feign.IUserClient;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -76,36 +76,45 @@ import java.util.stream.Collectors;
* @since 2023-06-13 * @since 2023-06-13
*/ */
@Service @Service
@AllArgsConstructor
@Slf4j @Slf4j
public class DistributionParcelListServiceImpl extends BaseServiceImpl<DistributionParcelListMapper, DistributionParcelListEntity> implements IDistributionParcelListService { public class DistributionParcelListServiceImpl extends BaseServiceImpl<DistributionParcelListMapper, DistributionParcelListEntity> implements IDistributionParcelListService {
private final IBasicdataWarehouseClient basicdataWarehouseClient; @Autowired
private IBasicdataWarehouseClient basicdataWarehouseClient;
private final IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient; @Autowired
private final IWarehouseTrayGoodsClient warehouseTrayGoodsClient; private IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient;
@Autowired
private final IDistributionParcelNumberService distributionParcelNumberService; private IWarehouseTrayGoodsClient warehouseTrayGoodsClient;
@Autowired
private final DistributionStockArticleMapper distributionStockArticleMapper; private IDistributionParcelNumberService distributionParcelNumberService;
private final IDistributionParcelDetailsService distributionParcelDetailsService; @Autowired
private DistributionStockArticleMapper distributionStockArticleMapper;
private final IBasicMaterialClient basicMaterialClient; @Autowired
private IDistributionParcelDetailsService distributionParcelDetailsService;
private final IDistributionStockListInfoService distributionStockListInfoService; @Autowired
private final IDistributionStockListService distributionStockListService; private IBasicMaterialClient basicMaterialClient;
@Autowired
private final IDistributionReservationZeroPackageService reservationZeroPackageService; private IDistributionStockListInfoService distributionStockListInfoService;
@Autowired
private final IDistrilbutionBillPackageService distrilbutionBillPackageService; private IDistributionStockListService distributionStockListService;
private final IBasicdataWarehouseClient warehouseClient;
@Autowired
private final RabbitTemplate rabbitTemplate; private IDistributionReservationZeroPackageService reservationZeroPackageService;
private final IWarehouseWaybillClient warehouseWaybillClient;
private final IBasicdataClientClient basicdataClientClient; @Autowired
private final IUserClient userClient; private IDistrilbutionBillPackageService distrilbutionBillPackageService;
@Autowired
private IBasicdataWarehouseClient warehouseClient;
@Autowired
private RabbitTemplate rabbitTemplate;
@Autowired
private IWarehouseWaybillClient warehouseWaybillClient;
@Autowired
private IBasicdataClientClient basicdataClientClient;
@Autowired
private IUserClient userClient;
// private final IDistributionStockArticleService distributionStockArticleService; // private final IDistributionStockArticleService distributionStockArticleService;
@Override @Override
@ -213,8 +222,7 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
// } // }
try {
try{
// QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>(); // QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("order_package_code",orderPackageCode) // queryWrapper.eq("order_package_code",orderPackageCode)
// .eq("warehouse_id",warehouseId) // .eq("warehouse_id",warehouseId)
@ -224,10 +232,10 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
// int i = baseMapper.updateById(parcelListEntity); // int i = baseMapper.updateById(parcelListEntity);
// 更新状态 // 更新状态
baseMapper.updateGroundingStatusByOrderPackageCode(orderPackageCode,groundingStatus,warehouseId); baseMapper.updateGroundingStatusByOrderPackageCode(orderPackageCode, groundingStatus, warehouseId);
}catch (Exception e){ } catch (Exception e) {
// 更新状态报错 // 更新状态报错
log.error(">>>>>> updateGroundingStatus 异常信息",e); log.error(">>>>>> updateGroundingStatus 异常信息", e);
} }
@ -455,58 +463,58 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
} }
if (!list1.isEmpty()) { if (!list1.isEmpty()) {
Set<Long> listString = new HashSet<>(); Set<Long> listString = new HashSet<>();
log.info("###############包件信息>>>>>>>>>>>>,{}",list1); log.info("###############包件信息>>>>>>>>>>>>,{}", list1);
Map<Long, List<DistributionParcelListEntity>> listMap = list1.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getMaterialId)); Map<Long, List<DistributionParcelListEntity>> listMap = list1.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getMaterialId));
log.info("###############包件信息listMap>>>>>>>>>>>>,{}",listMap); log.info("###############包件信息listMap>>>>>>>>>>>>,{}", listMap);
listMap.forEach((k, v) -> { listMap.forEach((k, v) -> {
int sum = v.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum(); int sum = v.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum();
List<Long> packageIds = new ArrayList<>(); List<Long> packageIds = new ArrayList<>();
v.stream().forEach(i -> { v.stream().forEach(i -> {
//查询有没有打托数据 //查询有没有打托数据
//查询包件有没有物料 //查询包件有没有物料
List<DistributionParcelDetailsEntity> list = distributionParcelDetailsService.list(Wrappers.<DistributionParcelDetailsEntity>query().lambda() List<DistributionParcelDetailsEntity> list = distributionParcelDetailsService.list(Wrappers.<DistributionParcelDetailsEntity>query().lambda()
.eq(DistributionParcelDetailsEntity::getParcelListId, i.getId()) .eq(DistributionParcelDetailsEntity::getParcelListId, i.getId())
); );
if (!list.isEmpty()) { if (!list.isEmpty()) {
//有 //有
list.stream().collect(Collectors.groupingBy(DistributionParcelDetailsEntity::getEncoded)) list.stream().collect(Collectors.groupingBy(DistributionParcelDetailsEntity::getEncoded))
.forEach((kk, vv) -> { .forEach((kk, vv) -> {
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
BeanUtil.copyProperties(vv.get(0), parcelListEntity); BeanUtil.copyProperties(vv.get(0), parcelListEntity);
parcelListEntity.setQuantity(sum); parcelListEntity.setQuantity(sum);
parcelListEntity.setMaterialName(vv.get(0).getName()); parcelListEntity.setMaterialName(vv.get(0).getName());
parcelListEntity.setMaterialCode(vv.get(0).getEncoded()); parcelListEntity.setMaterialCode(vv.get(0).getEncoded());
parcelListEntity.setMaterialUnit(vv.get(0).getUnit()); parcelListEntity.setMaterialUnit(vv.get(0).getUnit());
// 添加库存品信息 // 添加库存品信息
//查询在库订单信息 //查询在库订单信息
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId()); DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId());
if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) { if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) {
throw new ServiceException("订单的客户数据异常,无法转换!!"); throw new ServiceException("订单的客户数据异常,无法转换!!");
} }
addStockList(distributionStockArticleEntity, parcelListEntity, 1); addStockList(distributionStockArticleEntity, parcelListEntity, 1);
}); });
}
//修改状态
DistributionParcelListEntity parcelList = new DistributionParcelListEntity();
parcelList.setId(i.getId());
parcelList.setConditions(2);
baseMapper.updateById(parcelList);
listString.add(i.getStockArticleId());
//生成包件转库存品记录
packageIds.add(parcelList.getId());
});
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
BeanUtil.copyProperties(v.get(0), parcelListEntity);
parcelListEntity.setQuantity(sum);
// 添加库存品信息
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId());
if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) {
throw new ServiceException("订单的客户数据异常,无法转换!!");
} }
addStockListByPackage(distributionStockArticleEntity, packageIds, 1); //修改状态
DistributionParcelListEntity parcelList = new DistributionParcelListEntity();
parcelList.setId(i.getId());
parcelList.setConditions(2);
baseMapper.updateById(parcelList);
listString.add(i.getStockArticleId());
//生成包件转库存品记录
packageIds.add(parcelList.getId());
}); });
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
BeanUtil.copyProperties(v.get(0), parcelListEntity);
parcelListEntity.setQuantity(sum);
// 添加库存品信息
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId());
if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) {
throw new ServiceException("订单的客户数据异常,无法转换!!");
}
addStockListByPackage(distributionStockArticleEntity, packageIds, 1);
});
listString.forEach(oo -> { listString.forEach(oo -> {
DistributionStockArticleEntity stockArticleEntity1 = distributionStockArticleMapper.selectById(oo); DistributionStockArticleEntity stockArticleEntity1 = distributionStockArticleMapper.selectById(oo);
if (ObjectUtils.isNull(stockArticleEntity1)) { if (ObjectUtils.isNull(stockArticleEntity1)) {
@ -661,16 +669,16 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
} }
@Override @Override
public void updateTransferStatus(String orderCode, Long warehouseId,Integer isTransfer) { public void updateTransferStatus(String orderCode, Long warehouseId, Integer isTransfer) {
baseMapper.updateTransferStatus(orderCode,warehouseId,isTransfer); baseMapper.updateTransferStatus(orderCode, warehouseId, isTransfer);
} }
@Override @Override
public Set<String> updateEntityByOpenOrder(Long advanceId, Long warehouseId, Long waybillId) { public Set<String> updateEntityByOpenOrder(Long advanceId, Long warehouseId, Long waybillId) {
WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillId(waybillId); WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillId(waybillId);
if(Objects.isNull(waybillEntity)){ if (Objects.isNull(waybillEntity)) {
log.warn("############updateEntityByOpenOrder: 运单信息不存在 waybillId={}",waybillId); log.warn("############updateEntityByOpenOrder: 运单信息不存在 waybillId={}", waybillId);
throw new CustomerException(405,"运单信息不存在"); throw new CustomerException(405, "运单信息不存在");
} }
Long departureWarehouseId = waybillEntity.getDepartureWarehouseId(); Long departureWarehouseId = waybillEntity.getDepartureWarehouseId();
String departureWarehouseName = waybillEntity.getDepartureWarehouseName(); String departureWarehouseName = waybillEntity.getDepartureWarehouseName();
@ -679,21 +687,21 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
String waybillNo = waybillEntity.getWaybillNo(); String waybillNo = waybillEntity.getWaybillNo();
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>(); QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("advance_id",advanceId) queryWrapper.eq("advance_id", advanceId)
.eq("warehouse_id",warehouseId) .eq("warehouse_id", warehouseId)
.eq("is_deleted",0); .eq("is_deleted", 0);
List<DistributionParcelListEntity> listEntityList = baseMapper.selectList(queryWrapper); List<DistributionParcelListEntity> listEntityList = baseMapper.selectList(queryWrapper);
Set<String> orderCodes = new TreeSet<>(); Set<String> orderCodes = new TreeSet<>();
for (DistributionParcelListEntity parcelListEntity : listEntityList) { for (DistributionParcelListEntity parcelListEntity : listEntityList) {
parcelListEntity.setWaybillId(waybillId+""); parcelListEntity.setWaybillId(waybillId + "");
parcelListEntity.setWaybillNumber(waybillNo); parcelListEntity.setWaybillNumber(waybillNo);
parcelListEntity.setSendWarehouseId(departureWarehouseId); parcelListEntity.setSendWarehouseId(departureWarehouseId);
parcelListEntity.setSendWarehouseName(departureWarehouseName); parcelListEntity.setSendWarehouseName(departureWarehouseName);
parcelListEntity.setAcceptWarehouseId(destinationWarehouseId); parcelListEntity.setAcceptWarehouseId(destinationWarehouseId);
parcelListEntity.setAcceptWarehouseName(destinationWarehouseName); parcelListEntity.setAcceptWarehouseName(destinationWarehouseName);
if(departureWarehouseId.equals(destinationWarehouseId)){ if (departureWarehouseId.equals(destinationWarehouseId)) {
parcelListEntity.setIsTransfer(0); parcelListEntity.setIsTransfer(0);
}else{ } else {
parcelListEntity.setIsTransfer(1); parcelListEntity.setIsTransfer(1);
} }
orderCodes.add(parcelListEntity.getOrderCode()); orderCodes.add(parcelListEntity.getOrderCode());
@ -703,12 +711,12 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
for (String orderCode : orderCodes) { for (String orderCode : orderCodes) {
QueryWrapper<DistributionStockArticleEntity> stockArticleEntityQueryWrapper = new QueryWrapper<>(); QueryWrapper<DistributionStockArticleEntity> stockArticleEntityQueryWrapper = new QueryWrapper<>();
stockArticleEntityQueryWrapper.eq("order_code",orderCode) stockArticleEntityQueryWrapper.eq("order_code", orderCode)
.eq("warehouse_id",warehouseId) .eq("warehouse_id", warehouseId)
.eq("is_deleted",0); .eq("is_deleted", 0);
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleMapper.selectOne(stockArticleEntityQueryWrapper); DistributionStockArticleEntity stockArticleEntity = distributionStockArticleMapper.selectOne(stockArticleEntityQueryWrapper);
if(Objects.isNull(stockArticleEntity)){ if (Objects.isNull(stockArticleEntity)) {
log.error("############updateEntityByOpenOrder: 未找到订单信息 orderCode={}",orderCode); log.error("############updateEntityByOpenOrder: 未找到订单信息 orderCode={}", orderCode);
continue; continue;
} }
Long consigneeId = waybillEntity.getConsigneeId(); Long consigneeId = waybillEntity.getConsigneeId();
@ -726,7 +734,6 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
} }
/** /**
* @param distributionParcelList 包件信息 * @param distributionParcelList 包件信息
* @return * @return
@ -869,7 +876,7 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
listEntity.setQuantityStock(quantity + quantityStock); listEntity.setQuantityStock(quantity + quantityStock);
distributionStockListService.updateById(listEntity); distributionStockListService.updateById(listEntity);
} else { } else {
log.info("###########distributionStockListEntity>>>>>>>>,{}",distributionStockListEntity); log.info("###########distributionStockListEntity>>>>>>>>,{}", distributionStockListEntity);
distributionStockListService.save(distributionStockListEntity); distributionStockListService.save(distributionStockListEntity);
} }
// distributionStockListEntity.setTrayName(Optional.ofNullable(distributionParcelList.getPallet()).orElse(null)); //托盘 // distributionStockListEntity.setTrayName(Optional.ofNullable(distributionParcelList.getPallet()).orElse(null)); //托盘
@ -939,6 +946,7 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
} }
return distributionStockArticleEntity; return distributionStockArticleEntity;
} }
@Override @Override
public List<DistributionParcelListEntity> findByWaybillNumber(String waybillNumber) { public List<DistributionParcelListEntity> findByWaybillNumber(String waybillNumber) {
return baseMapper.findByWaybillNumber(waybillNumber); return baseMapper.findByWaybillNumber(waybillNumber);
@ -957,13 +965,13 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
public R searchNode(String packageCode) { public R searchNode(String packageCode) {
String method = "###############DistributionParcelListServiceImpl.searchNode,"; String method = "###############DistributionParcelListServiceImpl.searchNode,";
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){ if (Func.isEmpty(myCurrentWarehouse)) {
log.error(method+"未授权仓库"); log.error(method + "未授权仓库");
return R.fail(403,"未授权!!!"); return R.fail(403, "未授权!!!");
} }
DistributionParcelListEntity parcelListEntity = baseMapper.selectByOrderPackageCode(packageCode, myCurrentWarehouse.getId()); DistributionParcelListEntity parcelListEntity = baseMapper.selectByOrderPackageCode(packageCode, myCurrentWarehouse.getId());
if (Func.isEmpty(parcelListEntity)){ if (Func.isEmpty(parcelListEntity)) {
log.error(method+"查询包件失败packageCode:{}",packageCode); log.error(method + "查询包件失败packageCode:{}", packageCode);
return R.fail("无此包件信息,请核实输入内容"); return R.fail("无此包件信息,请核实输入内容");
} }
List<DistributionParcelListNodeVO> parcelListNodeVOS = new ArrayList<>(); List<DistributionParcelListNodeVO> parcelListNodeVOS = new ArrayList<>();
@ -984,50 +992,50 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
distributionParcelListNodeVO.setTranNumber(parcelListEntity.getTrainNumber()); distributionParcelListNodeVO.setTranNumber(parcelListEntity.getTrainNumber());
parcelListNodeVOS.add(distributionParcelListNodeVO); parcelListNodeVOS.add(distributionParcelListNodeVO);
//2、上下架 //2、上下架
List<DistributionParcelListNodeVO> allocationAndTrayPackage = baseMapper.selectPackageAllocationAndTray(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); List<DistributionParcelListNodeVO> allocationAndTrayPackage = baseMapper.selectPackageAllocationAndTray(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
if (Func.isNotEmpty(allocationAndTrayPackage)){ if (Func.isNotEmpty(allocationAndTrayPackage)) {
parcelListNodeVOS.addAll(allocationAndTrayPackage); parcelListNodeVOS.addAll(allocationAndTrayPackage);
} }
//3、计划配送 //3、计划配送
//查询计划配送件数 //查询计划配送件数
List<DistributionParcelListNodeVO> planDeliveryPackage =baseMapper.selectPackagePlanDelivery(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); List<DistributionParcelListNodeVO> planDeliveryPackage = baseMapper.selectPackagePlanDelivery(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
if (Func.isNotEmpty(planDeliveryPackage)){ if (Func.isNotEmpty(planDeliveryPackage)) {
parcelListNodeVOS.addAll(planDeliveryPackage); parcelListNodeVOS.addAll(planDeliveryPackage);
} }
//查询计划取消的包件 //查询计划取消的包件
List<DistributionParcelListNodeVO> cancelPlanDeliveryPackage = baseMapper.selectPackageCancelPlanDelivery(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); List<DistributionParcelListNodeVO> cancelPlanDeliveryPackage = baseMapper.selectPackageCancelPlanDelivery(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
if (Func.isNotEmpty(cancelPlanDeliveryPackage)){ if (Func.isNotEmpty(cancelPlanDeliveryPackage)) {
parcelListNodeVOS.addAll(cancelPlanDeliveryPackage); parcelListNodeVOS.addAll(cancelPlanDeliveryPackage);
} }
//查询备货 //查询备货
List<DistributionParcelListNodeVO> StockUpPackage = baseMapper.selectPackageStockUp(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); List<DistributionParcelListNodeVO> StockUpPackage = baseMapper.selectPackageStockUp(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
if (Func.isNotEmpty(StockUpPackage)){ if (Func.isNotEmpty(StockUpPackage)) {
parcelListNodeVOS.addAll(StockUpPackage); parcelListNodeVOS.addAll(StockUpPackage);
} }
//4、装车扫描 //4、装车扫描
List<DistributionParcelListNodeVO> loadingPackage =baseMapper.selectPackageLoading(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); List<DistributionParcelListNodeVO> loadingPackage = baseMapper.selectPackageLoading(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
if (Func.isNotEmpty(loadingPackage)){ if (Func.isNotEmpty(loadingPackage)) {
parcelListNodeVOS.addAll(loadingPackage); parcelListNodeVOS.addAll(loadingPackage);
} }
//查询取消装车 //查询取消装车
List<DistributionParcelListNodeVO> cancelLoadingPackage =baseMapper.selectPackageCancelLoading(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); List<DistributionParcelListNodeVO> cancelLoadingPackage = baseMapper.selectPackageCancelLoading(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
if (Func.isNotEmpty(cancelLoadingPackage)){ if (Func.isNotEmpty(cancelLoadingPackage)) {
parcelListNodeVOS.addAll(cancelLoadingPackage); parcelListNodeVOS.addAll(cancelLoadingPackage);
} }
//5、签收扫描 //5、签收扫描
DistributionParcelListNodeVO signingPackage =baseMapper.selectPackageCancelSigning(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); DistributionParcelListNodeVO signingPackage = baseMapper.selectPackageCancelSigning(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
if (Func.isNotEmpty(signingPackage)){ if (Func.isNotEmpty(signingPackage)) {
parcelListNodeVOS.add(signingPackage); parcelListNodeVOS.add(signingPackage);
} }
//查询异常审核记录 //查询异常审核记录
DistributionParcelListNodeVO examineAbnormalPackage =baseMapper.selectPackageExamineAbnormal(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); DistributionParcelListNodeVO examineAbnormalPackage = baseMapper.selectPackageExamineAbnormal(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
if (Func.isNotEmpty(examineAbnormalPackage)){ if (Func.isNotEmpty(examineAbnormalPackage)) {
parcelListNodeVOS.add(examineAbnormalPackage); parcelListNodeVOS.add(examineAbnormalPackage);
} }
List<DistributionParcelListNodeVO> listNodeVOS = null; List<DistributionParcelListNodeVO> listNodeVOS = null;
if (Func.isNotEmpty(parcelListNodeVOS)){ if (Func.isNotEmpty(parcelListNodeVOS)) {
parcelListNodeVOS.forEach(p->{ parcelListNodeVOS.forEach(p -> {
if (Func.isNotEmpty(p.getNodeControlsUserId()) && Func.isEmpty(p.getNodeControlsUserName())){ if (Func.isNotEmpty(p.getNodeControlsUserId()) && Func.isEmpty(p.getNodeControlsUserName())) {
p.setNodeControlsUserName(userClient.userInfoById(p.getNodeControlsUserId()).getData().getName()); p.setNodeControlsUserName(userClient.userInfoById(p.getNodeControlsUserId()).getData().getName());
} }
}); });
@ -1041,11 +1049,11 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
@Override @Override
public List<DistributionParcelListEntity> findEntityListByOrderCodeAndStatus(String orderCode, Long warehouseId, String packageStatus) { public List<DistributionParcelListEntity> findEntityListByOrderCodeAndStatus(String orderCode, Long warehouseId, String packageStatus) {
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>(); QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_code",orderCode) queryWrapper.eq("order_code", orderCode)
.eq("warehouse_id",warehouseId) .eq("warehouse_id", warehouseId)
.eq("order_package_status",packageStatus) .eq("order_package_status", packageStatus)
.eq("is_transfer",1) .eq("is_transfer", 1)
.eq("is_deleted",0); .eq("is_deleted", 0);
return baseMapper.selectList(queryWrapper); return baseMapper.selectList(queryWrapper);
} }
@ -1057,20 +1065,20 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
@Transactional @Transactional
public void maintenanceZeroPackageInfo(Long parcelListId, Long warehouseId) { public void maintenanceZeroPackageInfo(Long parcelListId, Long warehouseId) {
DistributionParcelListEntity parcelListEntity = this.getById(parcelListId); DistributionParcelListEntity parcelListEntity = this.getById(parcelListId);
if (Func.isNotEmpty(parcelListEntity)){ if (Func.isNotEmpty(parcelListEntity)) {
DistributionParcelNumberEntity distributionParcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda() DistributionParcelNumberEntity distributionParcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda()
.eq(DistributionParcelNumberEntity::getParcelListId, parcelListEntity.getId()) .eq(DistributionParcelNumberEntity::getParcelListId, parcelListEntity.getId())
); );
if ((distributionParcelNumberEntity.getDeliveryQuantity() + distributionParcelNumberEntity.getOutboundQuantity())== parcelListEntity.getQuantity()){ if ((distributionParcelNumberEntity.getDeliveryQuantity() + distributionParcelNumberEntity.getOutboundQuantity()) == parcelListEntity.getQuantity()) {
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue()); parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
} }
if (distributionParcelNumberEntity.getOutboundQuantity() == parcelListEntity.getQuantity()){ if (distributionParcelNumberEntity.getOutboundQuantity() == parcelListEntity.getQuantity()) {
parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue());
parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yichuku.getValue()); parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yichuku.getValue());
} }
if (distributionParcelNumberEntity.getSigninQuantity() == parcelListEntity.getQuantity()){ if (distributionParcelNumberEntity.getSigninQuantity() == parcelListEntity.getQuantity()) {
parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue()); parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue());
}else if (distributionParcelNumberEntity.getSigninQuantity() > 0){ } else if (distributionParcelNumberEntity.getSigninQuantity() > 0) {
parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.bufenqianshou.getValue()); parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.bufenqianshou.getValue());
} }
this.updateById(parcelListEntity); this.updateById(parcelListEntity);

29
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationStockarticleServiceImpl.java

@ -28,6 +28,7 @@ import com.logpm.distribution.excel.DistributionReservationStockarticleExcel;
import com.logpm.distribution.mapper.DistributionReservationMapper; import com.logpm.distribution.mapper.DistributionReservationMapper;
import com.logpm.distribution.mapper.DistributionReservationStockarticleMapper; import com.logpm.distribution.mapper.DistributionReservationStockarticleMapper;
import com.logpm.distribution.service.IDistributionReservationStockarticleService; import com.logpm.distribution.service.IDistributionReservationStockarticleService;
import com.logpm.distribution.vo.DistributionParcelNumberVO;
import com.logpm.distribution.vo.DistributionReservationStockarticleVO; import com.logpm.distribution.vo.DistributionReservationStockarticleVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.DictBizConstant;
@ -96,14 +97,26 @@ public class DistributionReservationStockarticleServiceImpl extends BaseServiceI
List<DistributionReservationStockarticleEntity> reservationOrderList = reservationStockarticleEntities.stream().filter(order -> order.getIsZero().equals(IsOrNoConstant.no.getValue())).collect(Collectors.toList()); List<DistributionReservationStockarticleEntity> reservationOrderList = reservationStockarticleEntities.stream().filter(order -> order.getIsZero().equals(IsOrNoConstant.no.getValue())).collect(Collectors.toList());
if (Func.isNotEmpty(reservationOrderList)){ if (Func.isNotEmpty(reservationOrderList)){
for (DistributionReservationStockarticleEntity reservationStockarticleEntity : reservationOrderList) { for (DistributionReservationStockarticleEntity reservationStockarticleEntity : reservationOrderList) {
List<DistributionParcelListEntity> distributionParcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(reservationId, reservationStockarticleEntity.getStockArticleId(),warehouseId); if (IsOrNoConstant.yes.getValue().equals(reservationStockarticleEntity.getIsZero())){
if (Func.isNotEmpty(distributionParcelListEntities)){ List<DistributionParcelListEntity> distributionParcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(reservationId, reservationStockarticleEntity.getStockArticleId(),warehouseId);
int sum = distributionParcelListEntities.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum(); if (Func.isNotEmpty(distributionParcelListEntities)){
if (sum == 0){ int sum = distributionParcelListEntities.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum();
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); if (sum == 0){
//标识任务取消 reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
reservationStockarticleEntity.setCancelStatus(1); //标识任务取消
this.updateById(reservationStockarticleEntity); reservationStockarticleEntity.setCancelStatus(1);
this.updateById(reservationStockarticleEntity);
}
}
}else {
List<DistributionParcelNumberVO> distributionParcelNumberVOS = distributionReservationMapper.selectReservationZeroOrderDetail(reservationStockarticleEntity.getStockArticleId(), reservationId);
if (Func.isNotEmpty(distributionParcelNumberVOS)){
int sum = distributionParcelNumberVOS.stream().mapToInt(DistributionParcelNumberVO::getReservationNum).sum();
if (0 == sum){
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
reservationStockarticleEntity.setCancelStatus(1);
this.updateById(reservationStockarticleEntity);
}
} }
} }
} }

53
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java

@ -16,17 +16,25 @@
*/ */
package com.logpm.distribution.service.impl; package com.logpm.distribution.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionParcelNumberEntity;
import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity; import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity;
import com.logpm.distribution.vo.DistributionReservationZeroPackageVO;
import com.logpm.distribution.excel.DistributionReservationZeroPackageExcel; import com.logpm.distribution.excel.DistributionReservationZeroPackageExcel;
import com.logpm.distribution.mapper.DistributionParcelListMapper;
import com.logpm.distribution.mapper.DistributionReservationZeroPackageMapper; import com.logpm.distribution.mapper.DistributionReservationZeroPackageMapper;
import com.logpm.distribution.service.IDistributionParcelListService;
import com.logpm.distribution.service.IDistributionParcelNumberService;
import com.logpm.distribution.service.IDistributionReservationZeroPackageService; import com.logpm.distribution.service.IDistributionReservationZeroPackageService;
import org.springframework.stereotype.Service; import com.logpm.distribution.vo.DistributionReservationZeroPackageVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.springblade.common.constant.reservation.ReservationPackageStatusConstant;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
/** /**
@ -38,6 +46,13 @@ import java.util.List;
@Service @Service
public class DistributionReservationZeroPackageServiceImpl extends BaseServiceImpl<DistributionReservationZeroPackageMapper, DistributionReservationZeroPackageEntity> implements IDistributionReservationZeroPackageService { public class DistributionReservationZeroPackageServiceImpl extends BaseServiceImpl<DistributionReservationZeroPackageMapper, DistributionReservationZeroPackageEntity> implements IDistributionReservationZeroPackageService {
@Autowired
private DistributionParcelListMapper distributionParcelListMapper;
@Autowired
private IDistributionParcelNumberService distributionParcelNumberService;
@Override @Override
public IPage<DistributionReservationZeroPackageVO> selectDistributionReservationZeroPackagePage(IPage<DistributionReservationZeroPackageVO> page, DistributionReservationZeroPackageVO distributionReservationZeroPackage) { public IPage<DistributionReservationZeroPackageVO> selectDistributionReservationZeroPackagePage(IPage<DistributionReservationZeroPackageVO> page, DistributionReservationZeroPackageVO distributionReservationZeroPackage) {
return page.setRecords(baseMapper.selectDistributionReservationZeroPackagePage(page, distributionReservationZeroPackage)); return page.setRecords(baseMapper.selectDistributionReservationZeroPackagePage(page, distributionReservationZeroPackage));
@ -81,4 +96,34 @@ public class DistributionReservationZeroPackageServiceImpl extends BaseServiceIm
.in(DistributionReservationZeroPackageEntity::getZeroPackageStatus, "1", "3")); .in(DistributionReservationZeroPackageEntity::getZeroPackageStatus, "1", "3"));
} }
/**
* @param reservationId
* @param collect
*/
@Override
public void recoverZeroPackage(Long reservationId, List<Long> collect) {
String method = "###################DistributionReservationZeroPackageServiceImpl.recoverZeroPackage";
List<DistributionReservationZeroPackageEntity> reservationZeroPackageEntities = this.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda()
.eq(DistributionReservationZeroPackageEntity::getReservationId, reservationId)
.in(DistributionReservationZeroPackageEntity::getReservationId, collect)
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
for (DistributionReservationZeroPackageEntity reservationZeroPackageEntity : reservationZeroPackageEntities) {
//查询包件信息以及详情信息
DistributionParcelListEntity parcelListEntity = distributionParcelListMapper.selectById(reservationZeroPackageEntity.getParcelListId());
DistributionParcelNumberEntity distributionParcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda().eq(DistributionParcelNumberEntity::getParcelListId, parcelListEntity.getId()));
//进行预约数量的扣减
int i = distributionParcelNumberEntity.getDeliveryQuantity() + distributionParcelNumberEntity.getQuantity();
distributionParcelNumberEntity.setDeliveryQuantity(i);
distributionParcelNumberService.updateById(distributionParcelNumberEntity);
reservationZeroPackageEntity.setQuantity(0);
reservationZeroPackageEntity.setZeroPackageStatus(ReservationPackageStatusConstant.quxiao.getValue());
this.updateById(reservationZeroPackageEntity);
}
}
} }

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

@ -900,8 +900,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
Long loadingId = null; Long loadingId = null;
List<DistributionDeliverySelfVO> deliverySelfInfo = distributionDeliverySelfMapper.getDeliverySelfInfo(deliveryListEntity.getId()); List<DistributionDeliverySelfVO> deliverySelfInfo = distributionDeliverySelfMapper.getDeliverySelfInfo(deliveryListEntity.getId());
//查询该车次负责司机 //查询该车次负责司机
for (DistributionReservationZeroPackageEntity reservationZeroPackageEntity : reservationZeroPackageEntities) { for (DistributionReservationZeroPackageEntity reservationZeroPackageEntity : reservationZeroPackageEntities) {
//查询订单 //查询订单
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(reservationZeroPackageEntity.getStockArticleId()); DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(reservationZeroPackageEntity.getStockArticleId());
@ -919,7 +917,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
int d = 0; int d = 0;
DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda() DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, reservationId) .eq(DistributionLoadscanEntity::getReservationId, reservationId)
.in(DistributionLoadscanEntity::getPackageId, list) .in(DistributionLoadscanEntity::getPackageId, reservationZeroPackageEntity.getParcelListId())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
); );
if (Func.isEmpty(loadscanEntity)) { if (Func.isEmpty(loadscanEntity)) {
@ -1487,15 +1485,22 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
private boolean judgmentSignIsHavePackage(Long reservationId) { private boolean judgmentSignIsHavePackage(Long reservationId) {
boolean flag = false; boolean flag = false;
List<DistributionParcelListEntity> distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId); List<DistributionParcelListEntity> distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId);
List<DistributionParcelNumberDTO> distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(reservationId);
//判断计划内的包件是否都进行签收了 //判断计划内的包件是否都进行签收了
if (Func.isNotEmpty(distributionParcelListEntities)) { if (Func.isNotEmpty(distributionParcelListEntities)) {
flag = distributionParcelListEntities.stream().allMatch(p -> p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); flag = distributionParcelListEntities.stream().allMatch(p -> p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue()));
} }
//查询库存品是否都已完成签收
List<DisStockListDetailEntity> disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId); List<DisStockListDetailEntity> disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId);
if (Func.isNotEmpty(disStockListDetailEntities)) { if (Func.isNotEmpty(disStockListDetailEntities)) {
flag = disStockListDetailEntities.stream().allMatch(p -> p.getStockSignfoStatus().equals(InventorySigningStatusConstant.yiqianshou.getValue())); flag = disStockListDetailEntities.stream().allMatch(p -> p.getStockSignfoStatus().equals(InventorySigningStatusConstant.yiqianshou.getValue()));
} }
if (Func.isNotEmpty(distributionParcelNumberDTOS)){
for (DistributionParcelNumberDTO distributionParcelNumberDTO : distributionParcelNumberDTOS) {
//查询是否签收是否和计划保持一致
flag = distributionLoadscanMapper.judgmentZeroPackageIsSign(distributionParcelNumberDTO.getReservationId(),distributionParcelNumberDTO.getParcelListId(),distributionParcelNumberDTO.getReservationNum());
}
}
return flag; return flag;
} }

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListInfoServiceImpl.java

@ -84,4 +84,9 @@ public class DistributionStockListInfoServiceImpl extends BaseServiceImpl<Distri
return baseMapper.getStockListInfo(page, distributionStockListInfo); return baseMapper.getStockListInfo(page, distributionStockListInfo);
} }
@Override
public List<String> getAllOrderPackageCodes(String incomingBatch, String sku, Long mallId, Long warehouseId) {
return baseMapper.getAllOrderPackageCodes(incomingBatch,sku,mallId,warehouseId);
}
} }

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

@ -828,6 +828,11 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
} }
@Override
public List<DistributionStockListEntity> getListByMarketIdAndSku(Long mallId, String sku, Long warehouseId) {
return baseMapper.getListByMarketIdAndSku(mallId,sku,warehouseId);
}
@Override @Override
public OrderPackgeCodeDataVO showInventorySourcePackageCode(String incomingBatch, Long packageIds) throws Exception { public OrderPackgeCodeDataVO showInventorySourcePackageCode(String incomingBatch, Long packageIds) throws Exception {
OrderPackgeCodeDataVO orderPackgeCodeDataVO = new OrderPackgeCodeDataVO(); OrderPackgeCodeDataVO orderPackgeCodeDataVO = new OrderPackgeCodeDataVO();

14
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -1620,7 +1620,19 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
boolean b = inventoryChe.stream().anyMatch(i -> i.getReservationStockListNum() > 0); boolean b = inventoryChe.stream().anyMatch(i -> i.getReservationStockListNum() > 0);
if (b) { if (b) {
//查询库存品 //查询库存品
return baseMapper.getInventoryOwn(page, id); IPage<DistributionStockupVO> inventoryOwn = baseMapper.getInventoryOwn(page, id);
List<DistributionStockupVO> records = inventoryOwn.getRecords();
for (DistributionStockupVO record : records) {
Long warehouseId = record.getWarehouseId();
Long mallId = record.getMallId();
String sku = record.getSku();
//查询库位信息
String allocations = warehouseUpdownTypeClient.findStockListAllocations(warehouseId,mallId,sku);
record.setGoodsAllocation(allocations);
}
inventoryOwn.setRecords(records);
return inventoryOwn;
} else { } else {
return l; return l;
} }

53
blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java

@ -9,9 +9,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.logpm.basic.entity.BasicMaterialEntity; import com.logpm.basic.entity.BasicMaterialEntity;
import com.logpm.basic.feign.IBasicMaterialClient; import com.logpm.basic.feign.IBasicMaterialClient;
import com.logpm.basicdata.entity.BasicdataCategoryEntity;
import com.logpm.basicdata.entity.BasicdataClientEntity; import com.logpm.basicdata.entity.BasicdataClientEntity;
import com.logpm.basicdata.entity.BasicdataStoreBusinessEntity; import com.logpm.basicdata.entity.BasicdataStoreBusinessEntity;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataCategoryClient;
import com.logpm.basicdata.feign.IBasicdataClientClient; import com.logpm.basicdata.feign.IBasicdataClientClient;
import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient; import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
@ -45,9 +47,11 @@ import com.logpm.trunkline.feign.ITrunklineAdvanceClient;
import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient; import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient;
import com.logpm.trunkline.feign.ITrunklineDetailProductClient; import com.logpm.trunkline.feign.ITrunklineDetailProductClient;
import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient; import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; import com.logpm.warehouse.feign.IWarehouseTrayTypeClient;
import com.logpm.warehouse.feign.IWarehouseWaybillClient; import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -85,6 +89,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
private final IOrderDetailClient orderDetailClient; private final IOrderDetailClient orderDetailClient;
private final IAdvanceClient advanceClient; private final IAdvanceClient advanceClient;
private final IWayBillClient wayBillClient; private final IWayBillClient wayBillClient;
private final IWaybillDesClient waybillDesClient;
private final IDistributionParcelListClient distributionParcelListClient; private final IDistributionParcelListClient distributionParcelListClient;
private final IDistributionStockArticleClient distributionStockArticleClient; private final IDistributionStockArticleClient distributionStockArticleClient;
@ -94,6 +99,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
private final IBasicdataWarehouseClient basicdataWarehouseClient; private final IBasicdataWarehouseClient basicdataWarehouseClient;
private final IWarehouseWaybillClient warehouseWaybillClient; private final IWarehouseWaybillClient warehouseWaybillClient;
private final IWarehouseWaybillDetailClient warehouseWaybillDetailClient;
private final IBasicMaterialClient basicMaterialClient; private final IBasicMaterialClient basicMaterialClient;
@ -108,6 +114,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
private final IDetailProductClient detailProductClient; private final IDetailProductClient detailProductClient;
private final ITrunklineDetailProductClient trunklineDetailProductClient; private final ITrunklineDetailProductClient trunklineDetailProductClient;
private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient; private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient;
private final IBasicdataCategoryClient categoryClient;
private final IOrderCountClient orderCountClient; private final IOrderCountClient orderCountClient;
private final BladeRedis redis; private final BladeRedis redis;
@ -351,7 +358,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
} }
@Transactional @Transactional(rollbackFor = Exception.class)
@Override @Override
public void handleDataToPlatform(String unitNo, String operationTime) { public void handleDataToPlatform(String unitNo, String operationTime) {
log.info("############handleDataToPlatform: 处理数据到platform unitNo={}", unitNo); log.info("############handleDataToPlatform: 处理数据到platform unitNo={}", unitNo);
@ -490,6 +497,10 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
} }
} }
String customerName = wayBillEntity.getTakeCompany();//客户名称 String customerName = wayBillEntity.getTakeCompany();//客户名称
//通过客户名称去查询客户的服务类型、 //通过客户名称去查询客户的服务类型、
@ -886,7 +897,45 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
warehouseWaybill.setIsDeleted(0); warehouseWaybill.setIsDeleted(0);
warehouseWaybill.setCreateTime(date); warehouseWaybill.setCreateTime(date);
warehouseWaybill.setUpdateTime(date); warehouseWaybill.setUpdateTime(date);
warehouseWaybillClient.addEnntity(warehouseWaybill); Long aLong = warehouseWaybillClient.addEnntity(warehouseWaybill);
if(aLong != 0){
List<WaybillDesEntity> desList = waybillDesClient.getDesList(waybillNo);
List<WarehouseWayBillDetail> warehouseWayBillDetails = new ArrayList<>();
for (WaybillDesEntity waybillDesEntity : desList) {
WarehouseWayBillDetail warehouseWayBillDetail = new WarehouseWayBillDetail();
warehouseWayBillDetail.setCreateUser(1714696768639311873L);
warehouseWayBillDetail.setUpdateUser(1714696768639311873L);
warehouseWayBillDetail.setCreateDept(1649331096241836033L);
warehouseWayBillDetail.setWaybillId(aLong);
warehouseWayBillDetail.setWaybillNo(waybillNo);
String goodsName = waybillDesEntity.getName();
BasicdataCategoryEntity categoryEntity = categoryClient.findByName(goodsName);
if(Objects.isNull(categoryEntity)){
categoryEntity = new BasicdataCategoryEntity();
categoryEntity.setName(goodsName);
categoryEntity.setType(1);
categoryEntity.setTenantId(TenantNum.HUITONGCODE);
categoryEntity.setCreateUser(1714696768639311873L);
categoryEntity.setUpdateUser(1714696768639311873L);
categoryEntity.setCreateDept(1649331096241836033L);
Long categoryId = categoryClient.addReturnId(categoryEntity);
warehouseWayBillDetail.setProductId(categoryId);
}else{
warehouseWayBillDetail.setProductId(categoryEntity.getId());
}
warehouseWayBillDetail.setProductName(goodsName);
warehouseWayBillDetail.setNum(waybillDesEntity.getNum());
warehouseWayBillDetail.setPrice(waybillDesEntity.getPrice());
warehouseWayBillDetail.setVolume(waybillDesEntity.getVolume());
warehouseWayBillDetail.setWeight(waybillDesEntity.getWeight());
warehouseWayBillDetail.setSubtotalFreight(waybillDesEntity.getTotalDesPrice());
warehouseWayBillDetail.setChargeType(waybillDesEntity.getPic());
warehouseWayBillDetails.add(warehouseWayBillDetail);
}
warehouseWaybillDetailClient.addList(warehouseWayBillDetails);
}
} else { } else {
warehouseWaybill.setStockCount(warehouseWaybill.getStockCount() + 1); warehouseWaybill.setStockCount(warehouseWaybill.getStockCount() + 1);
warehouseWaybill.setUpdateTime(new Date()); warehouseWaybill.setUpdateTime(new Date());

40
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java

@ -35,10 +35,7 @@ import org.springblade.common.utils.CommonUtil;
import org.springblade.core.tool.utils.StringUtil; import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/** /**
* 同步老系统订单信息到新系统 * 同步老系统订单信息到新系统
@ -639,5 +636,40 @@ public class SyncOrderInfoToPlatform {
return ReturnT.SUCCESS; return ReturnT.SUCCESS;
} }
@XxlJob("repairNoOpenOrderOrderInfo")
public ReturnT<String> repairNoOpenOrderOrderInfo(String param) {
log.info("############repairNoOpenOrderOrderInfo: 修复未开单订单信息 开始");
if(StringUtil.isBlank(param)){
log.warn("##############repairNoOpenOrderOrderInfo: 请输入需要修复的订单 ");
return ReturnT.FAIL;
}
List<String> orderCodes = new ArrayList<>();
if(param.contains(",")){
String[] split = param.split(",");
orderCodes = Arrays.asList(split);
}else{
orderCodes.add(param);
}
for (String orderCode : orderCodes) {
//查询新系统是否存在该订单
List<DistributionStockArticleEntity> stockArticleEntityList = distributionStockArticleClient.findListByOrderCode(orderCode);
if(stockArticleEntityList == null || stockArticleEntityList.size() == 0){
log.warn("#############repairNoOpenOrderOrderInfo: 未查询到新系统有订单信息");
continue;
}
syncOrderInfoService.repairNoOpenOrderOrderInfo(orderCode);
}
log.info("############repairNoOpenOrderOrderInfo: 修复未开单订单信息 完成");
return ReturnT.SUCCESS;
}
} }

3
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java

@ -16,4 +16,7 @@ public interface ISyncOrderInfoService {
void handleDataAndInventoryId(List<String> orderCodeList, Integer oldWarehouseId, Long newWarehouseId, Integer inventoryId); void handleDataAndInventoryId(List<String> orderCodeList, Integer oldWarehouseId, Long newWarehouseId, Integer inventoryId);
void syncUpdownData(Integer oldWarehouseId, Long newWarehouseId); void syncUpdownData(Integer oldWarehouseId, Long newWarehouseId);
void repairNoOpenOrderOrderInfo(String orderCode);
} }

143
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java

@ -87,6 +87,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
private final BladeRedis redis; private final BladeRedis redis;
private final IWarehouseMappingDataService warehouseMappingDataService; private final IWarehouseMappingDataService warehouseMappingDataService;
private final IBasicdataCategoryClient categoryClient;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
@ -199,6 +200,105 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
} }
}
@Override
public void repairNoOpenOrderOrderInfo(String orderCode) {
List<AdvanceEntity> advanceList = advanceClient.getAdvanceList(orderCode);
Set<String> waybillNos = new HashSet<>();
for (AdvanceEntity advanceEntity : advanceList) {
Integer advanceId = advanceEntity.getId();
String waybillNo = advanceEntity.getWaybillNo();
String dealerCode = advanceEntity.getDealerCode();
String dealerName = advanceEntity.getDealerName();
saveWaybillEntity(waybillNo);
WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo);
if(!Objects.isNull(warehouseWaybillEntity)){
Long departureWarehouseId = warehouseWaybillEntity.getDepartureWarehouseId();
String departureWarehouseName = warehouseWaybillEntity.getDepartureWarehouseName();
Long destinationWarehouseId = warehouseWaybillEntity.getDestinationWarehouseId();
String destinationWarehouseName = warehouseWaybillEntity.getDestinationWarehouseName();
Long waybillId = warehouseWaybillEntity.getId();
List<AdvanceDetailEntity> detailEntityList = advanceDetailClient.findListByAdvanceId(advanceId);
for (AdvanceDetailEntity advanceDetailEntity : detailEntityList) {
String orderPackageCode = advanceDetailEntity.getUnitNo();
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListClient.getListByOrderPackageCode(orderPackageCode);
for (DistributionParcelListEntity parcelListEntity : parcelListEntityList) {
Long warehouseId = parcelListEntity.getWarehouseId();
parcelListEntity.setWaybillId(waybillId+"");
parcelListEntity.setWaybillNumber(waybillNo);
parcelListEntity.setSendWarehouseId(departureWarehouseId);
parcelListEntity.setSendWarehouseName(departureWarehouseName);
parcelListEntity.setAcceptWarehouseId(destinationWarehouseId);
parcelListEntity.setAcceptWarehouseName(destinationWarehouseName);
parcelListEntity.setDealerCode(dealerCode);
parcelListEntity.setDealerName(dealerName);
if(warehouseId.equals(destinationWarehouseId)){
parcelListEntity.setIsTransfer(0);
}else{
parcelListEntity.setIsTransfer(1);
}
distributionParcelListClient.update(parcelListEntity);
}
}
}
waybillNos.add(waybillNo);
}
String waybillNumber = null;
String waybillNumberStr = null;
for (String waybillNo : waybillNos) {
if(StringUtil.isBlank(waybillNumber)){
waybillNumber = waybillNo;
}
if(StringUtil.isBlank(waybillNumberStr)){
waybillNumberStr = waybillNo;
}else{
waybillNumberStr = waybillNumberStr + "," + waybillNo;
}
}
if(StringUtil.isNotBlank(waybillNumber)){
WarehouseWaybillEntity newWaybill = warehouseWaybillClient.findByWaybillNo(waybillNumber);
String consignee = newWaybill.getConsignee();
String consigneeName = newWaybill.getConsigneeName();
String consigneeMobile = newWaybill.getConsigneeMobile();
String consigneeAddress = newWaybill.getConsigneeAddress();
BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee);
String consigneeCode = null;
Long consigneeId = null;
String peisongType = "1";//默认商配
if(!Objects.isNull(clientEntity)){
consigneeId = clientEntity.getId();
consigneeCode = clientEntity.getClientCode();
consignee = clientEntity.getClientName();
peisongType = getPeisongTypeByClientId(consigneeId);
}
List<DistributionStockArticleEntity> stockArticleEntityList = distributionStockArticleClient.findListByOrderCode(orderCode);
for (DistributionStockArticleEntity stockArticleEntity : stockArticleEntityList) {
stockArticleEntity.setWaybillNumber(waybillNumberStr);
stockArticleEntity.setConsigneeUnit(consignee);
stockArticleEntity.setTypeService(peisongType);
stockArticleEntity.setConsigneePerson(consigneeName);
stockArticleEntity.setConsigneeMobile(consigneeMobile);
stockArticleEntity.setConsigneeAddress(consigneeAddress);
stockArticleEntity.setMallId(consigneeId);
stockArticleEntity.setMallCode(consigneeCode);
stockArticleEntity.setMallName(consignee);
distributionStockArticleClient.saveOrUpdate(stockArticleEntity);
}
}
} }
@ -1677,6 +1777,10 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
String agent = wayBillEntity.getAgent(); String agent = wayBillEntity.getAgent();
warehouseWaybill = new WarehouseWaybillEntity(); warehouseWaybill = new WarehouseWaybillEntity();
warehouseWaybill.setTenantId(TenantNum.HUITONGCODE);
warehouseWaybill.setCreateUser(1714696768639311873L);
warehouseWaybill.setUpdateUser(1714696768639311873L);
warehouseWaybill.setCreateDept(1649331096241836033L);
warehouseWaybill.setWaybillNo(waybillNo); warehouseWaybill.setWaybillNo(waybillNo);
warehouseWaybill.setOrderNo(wayBillEntity.getOrderNo()); warehouseWaybill.setOrderNo(wayBillEntity.getOrderNo());
warehouseWaybill.setDestinationWarehouseName(warehouseName); warehouseWaybill.setDestinationWarehouseName(warehouseName);
@ -1766,7 +1870,44 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
warehouseWaybill.setIsDeleted(0); warehouseWaybill.setIsDeleted(0);
warehouseWaybill.setCreateTime(date); warehouseWaybill.setCreateTime(date);
warehouseWaybill.setUpdateTime(date); warehouseWaybill.setUpdateTime(date);
warehouseWaybillClient.addEnntity(warehouseWaybill); Long aLong = warehouseWaybillClient.addEnntity(warehouseWaybill);
if(aLong != 0){
List<WaybillDesEntity> desList = waybillDesClient.getDesList(waybillNo);
List<WarehouseWayBillDetail> warehouseWayBillDetails = new ArrayList<>();
for (WaybillDesEntity waybillDesEntity : desList) {
WarehouseWayBillDetail warehouseWayBillDetail = new WarehouseWayBillDetail();
warehouseWayBillDetail.setCreateUser(1714696768639311873L);
warehouseWayBillDetail.setUpdateUser(1714696768639311873L);
warehouseWayBillDetail.setCreateDept(1649331096241836033L);
warehouseWayBillDetail.setWaybillId(aLong);
warehouseWayBillDetail.setWaybillNo(waybillNo);
String goodsName = waybillDesEntity.getName();
BasicdataCategoryEntity categoryEntity = categoryClient.findByName(goodsName);
if(Objects.isNull(categoryEntity)){
categoryEntity = new BasicdataCategoryEntity();
categoryEntity.setName(goodsName);
categoryEntity.setType(1);
categoryEntity.setTenantId(TenantNum.HUITONGCODE);
categoryEntity.setCreateUser(1714696768639311873L);
categoryEntity.setUpdateUser(1714696768639311873L);
categoryEntity.setCreateDept(1649331096241836033L);
Long categoryId = categoryClient.addReturnId(categoryEntity);
warehouseWayBillDetail.setProductId(categoryId);
}else{
warehouseWayBillDetail.setProductId(categoryEntity.getId());
}
warehouseWayBillDetail.setProductName(goodsName);
warehouseWayBillDetail.setNum(waybillDesEntity.getNum());
warehouseWayBillDetail.setPrice(waybillDesEntity.getPrice());
warehouseWayBillDetail.setVolume(waybillDesEntity.getVolume());
warehouseWayBillDetail.setWeight(waybillDesEntity.getWeight());
warehouseWayBillDetail.setSubtotalFreight(waybillDesEntity.getTotalDesPrice());
warehouseWayBillDetail.setChargeType(waybillDesEntity.getPic());
warehouseWayBillDetails.add(warehouseWayBillDetail);
}
warehouseWaybillDetailClient.addList(warehouseWayBillDetails);
}
} else { } else {
// warehouseWaybill.setStockCount(warehouseWaybill.getStockCount() + 1); // warehouseWaybill.setStockCount(warehouseWaybill.getStockCount() + 1);
warehouseWaybill.setUpdateTime(new Date()); warehouseWaybill.setUpdateTime(new Date());

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

@ -136,6 +136,11 @@ public class WarehouseUpdownTypeClient implements IWarehouseUpdownTypeClient {
return warehouseUpdownTypeService.findZeroAllocation(orderCode,warehouseId); return warehouseUpdownTypeService.findZeroAllocation(orderCode,warehouseId);
} }
@Override
public String findStockListAllocations(Long warehouseId, Long mallId, String sku) {
return warehouseUpdownTypeService.findStockListAllocations(warehouseId,mallId,sku);
}
@Override @Override
public R downZeroOrder(List<JSONObject> zeroOrders) { public R downZeroOrder(List<JSONObject> zeroOrders) {

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

@ -126,6 +126,10 @@ public interface WarehouseUpdownGoodsMapper extends BaseMapper<WarehouseUpdownGo
List<String> orderUpshelfDetailByAllocationId(@Param("orderCode") String orderCode, @Param("allocationId") Long allocationId, @Param("warehouseId") Long warehouseId); List<String> orderUpshelfDetailByAllocationId(@Param("orderCode") String orderCode, @Param("allocationId") Long allocationId, @Param("warehouseId") Long warehouseId);
List<String> getAllocationsByOrderPackages(@Param("orderPackageOrders") List<String> orderPackageOrders, @Param("warehouseId") Long warehouseId);
List<String> getAllocationsByWarehouseIdAndMarketIdAndSku(@Param("mallId") Long mallId, @Param("sku") String sku, @Param("warehouseId") Long warehouseId);
// /** // /**
// * 根据货位查询货物 // * 根据货位查询货物

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

@ -484,5 +484,26 @@
and lwug.association_type = '3' and lwug.association_type = '3'
</select> </select>
<select id="getAllocationsByOrderPackages" resultType="String">
select lwga.qr_code
from logpm_warehouse_updown_goods lwug
left join logpm_warehouse_goods_allocation lwga on lwga.id = lwug.allocation_id
where lwug.warehouse_id = #{warehouseId}
<if test="orderPackageOrders != null and orderPackageOrders.size() > 0">
and association_value in
<foreach collection="orderPackageOrders" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
<select id="getAllocationsByWarehouseIdAndMarketIdAndSku" resultType="String">
select lwga.qr_code
from logpm_warehouse_updown_goods lwug
left join logpm_warehouse_goods_allocation lwga on lwga.id = lwug.allocation_id
where lwug.warehouse_id = #{warehouseId}
and lwug.association_value = #{sku}
and lwug.market_id = #{mallId}
</select>
</mapper> </mapper>

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

@ -150,4 +150,8 @@ public interface IWarehouseUpdownGoodsService extends BaseService<WarehouseUpdow
List<StockOrderListVO> findStockOrderDetailList(Long allocationId, Long warehouseId); List<StockOrderListVO> findStockOrderDetailList(Long allocationId, Long warehouseId);
List<String> orderUpshelfDetailByAllocationId(String orderCode, Long allocationId, Long warehouseId); List<String> orderUpshelfDetailByAllocationId(String orderCode, Long allocationId, Long warehouseId);
List<String> getAllocationsByOrderPackages(List<String> orderPackageOrders, Long warehouseId);
List<String> getAllocationsByWarehouseIdAndMarketIdAndSku(Long mallId, String sku, Long warehouseId);
} }

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java

@ -88,4 +88,6 @@ public interface IWarehouseUpdownTypeService extends BaseService<WarehouseUpdown
R findAllocationData(Long allocationId, Long warehouseId); R findAllocationData(Long allocationId, Long warehouseId);
List<String> orderUpshelfDetailByAllocationId(String orderCode, Long allocationId, Long warehouseId); List<String> orderUpshelfDetailByAllocationId(String orderCode, Long allocationId, Long warehouseId);
String findStockListAllocations(Long warehouseId, Long mallId, String sku);
} }

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

@ -3021,6 +3021,8 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
return R.data(trayTypeVO); return R.data(trayTypeVO);
} }
@Override @Override
public R findSyncOldTrayData(String trayCode, Long warehouseId) { public R findSyncOldTrayData(String trayCode, Long warehouseId) {
@ -3050,9 +3052,22 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
for (TrayScanDesEntity trayScanDesEntity : trayScanDesEntityList) { for (TrayScanDesEntity trayScanDesEntity : trayScanDesEntityList) {
String orderPackageCode = trayScanDesEntity.getUnitNo(); String orderPackageCode = trayScanDesEntity.getUnitNo();
trayScanId = trayScanDesEntity.getTrayScanId(); trayScanId = trayScanDesEntity.getTrayScanId();
String orderSelfNum = trayScanDesEntity.getOrderSelfNum();
//通过订单号查询暂存单
AdvanceEntity advanceEntity = advanceClient.getQueryDataOne(orderSelfNum);
if(Objects.isNull(advanceEntity)){
log.warn("#################findSyncOldTrayData: 未查询单订单信息 orderSelfNum={}",orderSelfNum);
throw new CustomerException(403,"未查询单订单信息");
}
Integer waybillStatus = advanceEntity.getWaybillStatus();
if(waybillStatus.equals(1)){
log.warn("#################findSyncOldTrayData: 老系统托盘有未开单数据 orderCode={}",orderSelfNum);
throw new CustomerException(403,"老系统托盘有未开单数据");
}
DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, warehouseId); DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, warehouseId);
if(Objects.isNull(parcelListEntity)){ if(Objects.isNull(parcelListEntity)){
set.add(trayScanDesEntity.getOrderSelfNum()); set.add(orderSelfNum);
} }
orderPackageList.add(orderPackageCode); orderPackageList.add(orderPackageCode);
} }
@ -3060,7 +3075,6 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
saveOrderInfo(orderCode,oldWarehouseId,warehouseId); saveOrderInfo(orderCode,oldWarehouseId,warehouseId);
} }
String newTrayType = "100"; String newTrayType = "100";
TrayScanEntity trayScanEntity = trayScanClient.getEntityByTrayScanId(trayScanId); TrayScanEntity trayScanEntity = trayScanClient.getEntityByTrayScanId(trayScanId);
if(!Objects.isNull(trayScanEntity)){ if(!Objects.isNull(trayScanEntity)){
@ -3182,6 +3196,14 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
throw new CustomerException(403,"未查询单订单信息"); throw new CustomerException(403,"未查询单订单信息");
} }
Integer advanceId = advanceEntity.getId(); Integer advanceId = advanceEntity.getId();
Integer waybillStatus = advanceEntity.getWaybillStatus();
String waybillNo = advanceEntity.getWaybillNo();
if(waybillStatus.equals(1)){
log.warn("#################saveOrderInfo: 订单还未开单 orderCode={}",orderCode);
throw new CustomerException(403,"订单还未开单");
}
//判断新系统是否有这条订单数据 //判断新系统是否有这条订单数据
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode,newWarehouseId); DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode,newWarehouseId);

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

@ -263,4 +263,14 @@ public class WarehouseUpdownGoodsServiceImpl extends BaseServiceImpl<WarehouseUp
return baseMapper.orderUpshelfDetailByAllocationId(orderCode,allocationId,warehouseId); return baseMapper.orderUpshelfDetailByAllocationId(orderCode,allocationId,warehouseId);
} }
@Override
public List<String> getAllocationsByOrderPackages(List<String> orderPackageOrders, Long warehouseId) {
return baseMapper.getAllocationsByOrderPackages(orderPackageOrders,warehouseId);
}
@Override
public List<String> getAllocationsByWarehouseIdAndMarketIdAndSku(Long mallId, String sku, Long warehouseId) {
return baseMapper.getAllocationsByWarehouseIdAndMarketIdAndSku(mallId,sku,warehouseId);
}
} }

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

@ -10,6 +10,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.feign.IDistributionStockListInfoClient;
import com.logpm.warehouse.bean.Resp; import com.logpm.warehouse.bean.Resp;
import com.logpm.warehouse.dto.*; import com.logpm.warehouse.dto.*;
import com.logpm.warehouse.entity.*; import com.logpm.warehouse.entity.*;
@ -51,6 +52,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
private final IWarehouseUpdownGoodsService warehouseUpdownGoodsService; private final IWarehouseUpdownGoodsService warehouseUpdownGoodsService;
private final IWarehouseUpdownGoodsLogService warehouseUpdownGoodsLogService; private final IWarehouseUpdownGoodsLogService warehouseUpdownGoodsLogService;
private final IBasicdataWarehouseClient warehouseClient; private final IBasicdataWarehouseClient warehouseClient;
private final IDistributionStockListInfoClient distributionStockListInfoClient;
@Override @Override
public boolean packageChangeStock(List<String> orderPackageCodes) { public boolean packageChangeStock(List<String> orderPackageCodes) {
@ -157,6 +159,21 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
return ls; return ls;
} }
@Override
public String findStockListAllocations(Long warehouseId, Long mallId, String sku) {
List<DistributionStockListEntity> stockListEntityList = distributionStockListClient.getListByMarketIdAndSku(mallId, sku, warehouseId);
Set<String> allocations = new HashSet<>();
for (DistributionStockListEntity stockListEntity : stockListEntityList) {
String incomingBatch = stockListEntity.getIncomingBatch();
List<String> orderPackageOrders = distributionStockListInfoClient.getAllOrderPackageCodes(incomingBatch,sku,mallId,warehouseId);
allocations.addAll(warehouseUpdownGoodsService.getAllocationsByOrderPackages(orderPackageOrders,warehouseId));
}
allocations.addAll(warehouseUpdownGoodsService.getAllocationsByWarehouseIdAndMarketIdAndSku(mallId,sku,warehouseId));
return String.join(",",allocations);
}
private void packageChangeStockByAllocaton(WarehouseUpdownGoodsEntity one) { private void packageChangeStockByAllocaton(WarehouseUpdownGoodsEntity one) {
//当前登录人选择的仓库 //当前登录人选择的仓库

3
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

@ -276,7 +276,8 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
entity.setWarehouseId(distributionStockArticleEntity.getWarehouseId()); entity.setWarehouseId(distributionStockArticleEntity.getWarehouseId());
entity.setWarehouse(distributionStockArticleEntity.getWarehouse()); entity.setWarehouse(distributionStockArticleEntity.getWarehouse());
entity.setQuantity(warehouseWayBillDetail.getNum()); entity.setQuantity(warehouseWayBillDetail.getNum());
entity.setConditions(1); // 零担的包件 默认类型为3
entity.setConditions(3);
entity.setStockArticleId(id); entity.setStockArticleId(id);
entity.setOrderCode(distributionStockArticleEntity.getOrderCode()); entity.setOrderCode(distributionStockArticleEntity.getOrderCode());
entity.setOrderPackageStatus("20"); entity.setOrderPackageStatus("20");

Loading…
Cancel
Save