Browse Source

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
pull/11/head
pref_mail@163.com 11 months ago
parent
commit
688b880865
  1. 50
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataFactoryCategoryEntity.java
  2. 4
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java
  3. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java
  4. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  5. 54
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  6. 105
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  7. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  8. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  9. 2
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mapper/OrderPackageMapper.xml
  10. 6
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomFactoryOrderListener.java
  11. 12
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/util/ZbomUtil.java
  12. 17
      blade-service/logpm-report/pom.xml
  13. 30
      blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java
  14. 85
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java

50
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataFactoryCategoryEntity.java

@ -0,0 +1,50 @@
package com.logpm.basicdata.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@Data
@TableName("logpm_basicdata_factory_category")
@ApiModel(value = "BasicdataFactoryCategory对象", description = "工厂物料映射表")
@EqualsAndHashCode(callSuper = true)
public class BasicdataFactoryCategoryEntity extends TenantEntity {
/**
* 预留1
*/
@ApiModelProperty(value = "预留1")
private String reserve1;
/**
* 预留2
*/
@ApiModelProperty(value = "预留2")
private String reserve2;
/**
* 预留3
*/
@ApiModelProperty(value = "预留3")
private String reserve3;
/**
* 预留4
*/
@ApiModelProperty(value = "预留4")
private String reserve4;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String reserve5;
private Long categoryId;
private String firsts;
private String seconds;
private String thirds;
private String brand;
}

4
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java

@ -192,7 +192,7 @@ public class BasicdataClientController extends BladeController {
@GetMapping("/listName")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "分页", notes = "传入basicdataClient")
public R<List<BasicdataClientEntity>> listName(String name) {
public R<List<BasicdataClientEntity>> listName(@RequestParam String name) {
List<BasicdataClientEntity> pages = basicdataClientService.listName(name);
return R.data(pages);
}
@ -203,7 +203,7 @@ public class BasicdataClientController extends BladeController {
@GetMapping("/listCode")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "分页", notes = "传入basicdataClient")
public R<List<BasicdataClientEntity>> listCode(String code) {
public R<List<BasicdataClientEntity>> listCode(@RequestParam String code) {
List<BasicdataClientEntity> pages = basicdataClientService.listCode(code);
return R.data(pages);
}

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

@ -534,7 +534,7 @@ public class DistributionDeliveryListController extends BladeController {
@PostMapping("/cancelDelivery")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "PC取消包件")
@ApiOperation(value = "PC取消配送任务")
public R cancelDelivery(@Valid @RequestBody DistrilbutionAppsignforDTO distrilbutionloadingscanDTO) {
R r = distributionDeliveryListService.cancelDelivery(distrilbutionloadingscanDTO.getDeliveryId());
// if (r.isSuccess()){

12
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml

@ -2031,8 +2031,16 @@
</select>
<select id="selectSignforByDeliveryId"
resultType="com.logpm.distribution.entity.DistributionSignforEntity">
SELECT * FROM logpm_distribution_signfor AS lds LEFT JOIN logpm_distribution_reservation AS ldr ON lds.reservation_id = ldr.id
WHERE lds.delivery_id = #{deliveryId} AND (ldr.reservation_num + ldr.reservation_stock_list_num) > 0
SELECT
lds.*
FROM
logpm_distribution_signfor AS lds
LEFT JOIN ( SELECT b.id,(b.reservation_num+b.reservation_stock_list_num) AS num FROM logpm_distribution_signfor AS a LEFT JOIN logpm_distribution_reservation AS b ON a.reservation_id = b.id GROUP BY a.reservation_id) AS t ON lds.reservation_id = t.id
WHERE
lds.delivery_id = #{deliveryId}
ANd t.num > 0
GROUP BY
lds.reservation_id
</select>
</mapper>

54
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -2773,6 +2773,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionReservationMapper.insert(reservationEntity);
//新增一个客户
v.forEach(s -> {
List<Long> packageLockIds = new ArrayList<>();
//预约单数据填充
if (Func.isNotEmpty(s.getMallName())) {
mallName.add(s.getMallName());
@ -2841,7 +2842,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
dp.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(dp);
distributionAsyncService.checkStockArticleReservationStatus(dp);
packageLockIds.add(dp.getId());
}
}
// stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
@ -2861,6 +2862,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionReservationPackageService.save(reservationPackageEntity);
p.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(p);
packageLockIds.add(p.getId());
//这里根据包件进行订单状态的改变
// distributionAsyncService.checkStockArticleReservationStatus(p);
});
@ -2888,6 +2890,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionParcelNumberService.updateById(p);
orderPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity());
distributionAsyncService.checkZeroStockArticleReservationStatus(Func.copy(p, DistributionParcelNumberEntity.class));
packageLockIds.add(p.getParcelListId());
}
});
} else {
@ -2908,6 +2912,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionParcelNumberService.updateById(l);
orderPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity());
distributionAsyncService.checkZeroStockArticleReservationStatus(Func.copy(l, DistributionParcelNumberEntity.class));
packageLockIds.add(l.getParcelListId());
});
} else {
log.error("###########################零担订单查询品类错误,订单ID:{}", s.getId());
@ -2926,6 +2932,18 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionReservationStockarticleService.save(reservationStockarticleEntity);
packageTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
orderTotal.getAndIncrement();
//添加缓存
if (!packageLockIds.isEmpty()){
List<Long> a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + s.getOrderCode());
if (Func.isNotEmpty(a)){
boolean flag = a.stream().anyMatch(f -> packageLockIds.contains(f));
if (flag){
throw new RuntimeException(s.getOrderCode()+"正在操作,请刷新后尝试");
}else {
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + s.getOrderCode(),packageLockIds,5*60L);
}
}
}
});
// -----------------------客户收货信息完善-------------------------
reservationEntity.setConsignee(String.join(",", consigneeName));
@ -2979,6 +2997,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationStockarticleMapper.selectList(Wrappers.<DistributionReservationStockarticleEntity>query().lambda().eq(DistributionReservationStockarticleEntity::getReservationId, reservationEntity.getId()).ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()));
Map<Long, List<DistributionReservationStockarticleEntity>> oldOrder = reservationStockarticleEntityList.stream().collect(Collectors.groupingBy(DistributionReservationStockarticleEntity::getStockArticleId));
v.forEach(s -> {
List<Long> packageLockIds = new ArrayList<>();
orderTotal.getAndIncrement();
//预约单数据填充
if (Func.isNotEmpty(s.getMallName())) {
@ -3040,6 +3059,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionReservationPackageService.save(reservationPackageEntity);
p.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(p);
packageLockIds.add(p.getId());
//这里根据包件进行订单状态的改变
// distributionAsyncService.checkStockArticleReservationStatus(p);
});
@ -3070,6 +3090,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
dp.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(dp);
distributionAsyncService.checkStockArticleReservationStatus(dp);
packageLockIds.add(dp.getId());
}
}
// stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
@ -3101,7 +3123,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionParcelNumberService.updateById(p);
orderPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity());
distributionAsyncService.checkZeroStockArticleReservationStatus(Func.copy(p, DistributionParcelNumberEntity.class));
packageLockIds.add(p.getParcelListId());
}
});
} else {
@ -3122,6 +3144,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionParcelNumberService.updateById(l);
orderPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity());
distributionAsyncService.checkZeroStockArticleReservationStatus(Func.copy(l, DistributionParcelNumberEntity.class));
packageLockIds.add(l.getParcelListId());
});
} else {
log.error("###########################零担订单查询品类错误,订单ID:{}", s.getId());
@ -3177,6 +3201,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
reservationPackageEntity.setParceListId(p.getId());
distributionReservationPackageService.save(reservationPackageEntity);
distributionAsyncService.checkStockArticleReservationStatus(p);
packageLockIds.add(p.getId());
} else {
//依然存在包件,
oldPackageList.remove(p.getId());
@ -3197,6 +3222,14 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId());
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue());
distributionParcelListService.updateById(parcelListEntity);
if (Func.isNotEmpty(bladeRedis.get("warehouseId:"+myCurrentWarehouse.getId()+"orderCode:"+parcelListEntity.getOrderCode()))){
List<Long> ids = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + parcelListEntity.getOrderCode());
int indexOf = ids.indexOf(parcelListEntity.getId());
if (indexOf>0){
ids.remove(indexOf);
bladeRedis.set("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + parcelListEntity.getOrderCode(),ids);
}
}
// distributionAsyncService.checkStockArticleReservationStatus(parcelListEntity);
});
} else {
@ -3282,6 +3315,17 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//预约订单上的包件数量维护
packageTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
}
if (!packageLockIds.isEmpty()){
List<Long> a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + s.getOrderCode());
if (Func.isNotEmpty(a)){
boolean flag = a.stream().anyMatch(f -> packageLockIds.contains(f));
if (flag){
throw new RuntimeException(s.getOrderCode()+"正在操作,请刷新后尝试");
}else {
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + s.getOrderCode(),packageLockIds,5*60L);
}
}
}
});
if (Func.isNotEmpty(oldOrder)) {
oldOrder.forEach((m, n) -> {
@ -3322,6 +3366,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(n.get(0).getStockArticleId());
distributionStockArticleService.maintenanceOrderInfo(stockArticleEntity.getOrderCode(), myCurrentWarehouse.getId());
bladeRedis.del("warehouseId:"+myCurrentWarehouse.getId()+"orderCode:"+stockArticleEntity.getOrderCode());
});
}
//重新维护预约信息
@ -5283,7 +5328,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
log.error("配送计划null:{}", deliveryListEntity);
return Resp.scanFail("操作失败", "服务器正忙...");
}
List<DistributionParcelListEntity> parcelListEntities = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()));
List<DistributionParcelListEntity> parcelListEntities = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())
.eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId())
);
if (Func.isNotEmpty(parcelListEntities) && parcelListEntities.size() == 1) {
DistributionParcelListEntity parcelListEntity = parcelListEntities.get(0);
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelListEntity.getOrderPackageLoadingStatus())) {

105
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

@ -1503,6 +1503,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
HashSet<String> storeName = new HashSet<>();
HashSet<String> receivingUnit = new HashSet<>();
newStockArticle.forEach((k, v) -> {
List<Long> packageLockIds = new ArrayList<>();
if (Func.isEmpty(oldStockArticle.get(k))) {
//这里发生了新增订单的操作
AtomicInteger packageNum = new AtomicInteger();
@ -1517,6 +1518,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
reservationPackageEntity.setPacketBarCode(p.getOrderPackageCode());
reservationPackageEntity.setParceListId(p.getId());
reservationPackageEntity.setReservationId(id);
packageLockIds.add(p.getId());
distributionReservationPackageService.save(reservationPackageEntity);
packageNum.getAndAdd(p.getQuantity());
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getId());
@ -1537,6 +1539,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionReservationPackageEntity distributionReservationPackageEntity = new DistributionReservationPackageEntity();
distributionReservationPackageEntity.setReservationId(id);
distributionReservationPackageEntity.setParceListId(dp.getId());
packageLockIds.add(dp.getId());
distributionReservationPackageEntity.setStockArticleId(distributionStockArticleDTO.getId());
distributionReservationPackageEntity.setPacketBarCode(dp.getOrderPackageCode());
//维护订单下包件信息
@ -1580,6 +1583,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionReservationZeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue());
distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zhengchang.getValue());
distributionReservationZeroPackageService.save(distributionReservationZeroPackageEntity);
packageLockIds.add(p.getParcelListId());
//统计数量
zeroPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity());
//维护零担订单品类对应数量的冻结数量
@ -1607,20 +1611,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getById(l.getId());
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + l.getReservationNum());
distributionParcelNumberService.updateById(parcelNumberEntity);
packageLockIds.add(l.getParcelListId());
});
}
// DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity();
//
// //首先这里需要进行
// reservationStockarticleEntity.setIsZero(IsOrNoConstant.yes.getValue());
// reservationStockarticleEntity.setReservationId(id);
// reservationStockarticleEntity.setStockArticleId(distributionStockArticleDTO.getId());
// reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zhengchang.getValue());
// reservationStockarticleEntity.setStockArticleCode(distributionStockArticleDTO.getOrderCode());
// reservationStockarticleEntity.setIsHaveData(distributionStockArticleDTO.getIsHaveData());
// reservationStockarticleEntity.setReservationNum(zeroPackageNum.get());
// distributionReservationStockarticleService.save(reservationStockarticleEntity);
// packTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
}
DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity();
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zengjia.getValue());
@ -1666,6 +1659,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
reservationPackageEntity.setPacketBarCode(distributionParcelListEntity.getOrderPackageCode());
reservationPackageEntity.setParceListId(distributionParcelListEntity.getId());
reservationPackageEntity.setReservationId(id);
packageLockIds.add(distributionParcelListEntity.getId());
distributionReservationPackageService.save(reservationPackageEntity);
packageNum.getAndAdd(distributionParcelListEntity.getQuantity());
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(distributionParcelListEntity.getId());
@ -1688,6 +1682,15 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId());
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue());
distributionParcelListService.updateById(parcelListEntity);
if (Func.isNotEmpty(bladeRedis.get("warehouseId:"+myCurrentWarehouse.getId()+"orderCode:"+parcelListEntity.getOrderCode()))){
List<Long> ids = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + parcelListEntity.getOrderCode());
int indexOf = ids.indexOf(parcelListEntity.getId());
if (indexOf>0){
ids.remove(indexOf);
bladeRedis.set("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + parcelListEntity.getOrderCode(),ids);
}
}
//移除缓存
});
reservationStockarticleEntity.setReservationNum(packageNum.get());
distributionReservationStockarticleService.updateById(reservationStockarticleEntity);
@ -1745,6 +1748,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
zeroPackageEntity.setParcelListId(p.getParcelListId());
zeroPackageEntity.setCategoryName(p.getFirsts());
zeroPackageEntity.setQuantity(p.getReservationNum());
packageLockIds.add(p.getParcelListId());
zeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zengjia.getValue());
zeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue());
zeroPackageEntity.setReservationId(id);
@ -1787,11 +1791,26 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// stockArticleEntity.setReservationStatus(status);
// distributionStockArticleService.updateById(stockArticleEntity);
}
//添加缓存
if (!packageLockIds.isEmpty()){
List<Long> a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + v.get(0).getOrderCode());
if (Func.isNotEmpty(a)){
boolean flag = a.stream().anyMatch(f -> packageLockIds.contains(f));
if (flag){
log.error("###############预约新增订单同时操作");
//当前操作包件存在于缓存中,此次操作无效
throw new RuntimeException(v.get(0).getOrderCode()+"正在操作,请刷新后尝试");
}else {
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + v.get(0).getOrderCode(),packageLockIds,5*60L);
}
}
}
});
if (Func.isNotEmpty(oldStockArticle)) {
oldStockArticle.forEach((i, j) -> {
//这里就是需要进行取消的订单信息
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(i);
DistributionReservationStockarticleEntity reservationStockarticleEntity = j.get(0);
if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) {
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
@ -1803,6 +1822,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getParceListId());
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue());
distributionParcelListService.updateById(parcelListEntity);
bladeRedis.del("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + stockArticleEntity.getOrderCode());
});
} else {
//订单零担移除
@ -1822,12 +1842,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
zp.setQuantity(0);
zp.setZeroPackageStatus(ReservationOrderStatusConstant.quxiao.getValue());
distributionReservationZeroPackageService.updateById(zp);
bladeRedis.del("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + stockArticleEntity.getOrderCode());
});
reservationStockarticleEntity.setReservationNum(0);
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
}
//需要修改订单的状态
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(i);
DistributionStockArticleDTO stockArticleDTO = Func.copy(stockArticleEntity, DistributionStockArticleDTO.class);
//维护订单信息
distributionStockArticleService.maintenanceOrderInfo(stockArticleDTO.getOrderCode(),myCurrentWarehouse.getId());
@ -2121,6 +2141,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
//运单客户收货单位
HashSet<String> consignee = new HashSet<>();
v.forEach(s -> {
List<Long> packageLockIds = new ArrayList<>();
DistributionStockArticleDTO stockArticleDTO = Func.copy(s, DistributionStockArticleDTO.class);
// WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillNo(s.getWaybillNumber());
// if (Func.isNotEmpty(warehouseWaybillEntity.getConsigneeMobile())){
@ -2197,6 +2218,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionReservationPackageService.save(reservationPackageEntity);
p.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(p);
packageLockIds.add(p.getId());
//这里根据包件进行订单状态的改变
// distributionAsyncService.checkStockArticleReservationStatus(p);
});
@ -2230,7 +2252,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
dp.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(dp);
distributionAsyncService.checkStockArticleReservationStatus(dp);
packageLockIds.add(dp.getId());
}
}
@ -2265,6 +2287,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionParcelNumberService.updateById(p);
reservationOrderNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity());
distributionAsyncService.checkZeroStockArticleReservationStatus(Func.copy(p, DistributionParcelNumberEntity.class));
packageLockIds.add(p.getParcelListId());
}
});
} else {
@ -2298,6 +2322,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionStockArticleService.maintenanceOrderInfo(s.getOrderCode(),s.getWarehouseId());
//维护包件状态
distributionParcelListService.maintenanceZeroPackageInfo(l.getParcelListId(),l.getWarehouseId());
packageLockIds.add(l.getParcelListId());
}
});
} else {
@ -2321,6 +2347,19 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
packageTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
orderTotal.getAndIncrement();
distributionAsyncService.changeOrderReservationStatus(stockArticleDTO);
//进行订单的缓存添加
if (!packageLockIds.isEmpty()){
List<Long> a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + s.getOrderCode());
if (Func.isNotEmpty(a)){
boolean flag = a.stream().anyMatch(f -> packageLockIds.contains(f));
if (flag){
log.info("###################商配存在同时操作订单,订单号:" + s.getOrderCode() + "###################");
throw new RuntimeException(s.getOrderCode()+"正在操作,请刷新后尝试");
}
}else {
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + s.getOrderCode(),packageLockIds,5*60L);
}
}
});
//维护备货任务
DistributionStockupInfoEntity stockupInfoEntity = new DistributionStockupInfoEntity();
@ -2613,6 +2652,11 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
@Override
@Transactional
public boolean cancelReservation(DistributionReservationDTO reservationDTO) {
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
log.error("cancelReservation未授权warehouseId>>>{}", myCurrentWarehouse.getId());
return false;
}
if (Func.isEmpty(reservationDTO)) {
log.error("参数异常allocationDTO>>>{}", reservationDTO);
return false;
@ -2686,7 +2730,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionReservationStockarticleService.updateById(rs);
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(rs.getStockArticleId());
distributionStockArticleService.maintenanceOrderInfo(stockArticleEntity.getOrderCode(),stockArticleEntity.getWarehouseId());
//清除缓存
bladeRedis.del("warehouseId:"+myCurrentWarehouse.getId()+"orderCode:"+stockArticleEntity.getOrderCode());
});
}
@ -3103,6 +3148,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
return R.fail("订单已预约!!!");
}
stockArticleList.forEach(s -> {
List<Long> packageLockIds = new ArrayList<>();
if (Func.isNotEmpty(s.getAllocation())) {
s.setAllocation(null);
}
@ -3158,8 +3204,11 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
log.error("#########################无可用包件,订单ID为‘;:{}", s.getId());
throw new RuntimeException(s.getOrderCode() + "无可用包件!!!");
}
List<Long> packageIds = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList());
packageLockIds.addAll(packageIds);
distributionParcelListEntities.forEach(dp -> {
if (!dp.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) {
if (!Func.equals(dp.getOrderPackageFreezeStatus(), OrderPackageFreezeStatusConstant.yidongjie.getValue()) && !Func.equals(dp.getOrderPackageReservationStatus(), OrderPackageReservationStatusConstant.yiyueyue.getValue())) {
DistributionReservationPackageEntity distributionReservationPackageEntity = new DistributionReservationPackageEntity();
distributionReservationPackageEntity.setReservationId(reservationId);
@ -3190,6 +3239,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
} else {
//维护选中的包件信息
List<Long> packageIds = packageList.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList());
packageLockIds.addAll(packageIds);
packageList.forEach(p -> {
if (!p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) {
if (!Func.equals(p.getOrderPackageFreezeStatus(), OrderPackageFreezeStatusConstant.yidongjie.getValue()) && !Func.equals(p.getOrderPackageReservationStatus(), OrderPackageReservationStatusConstant.yiyueyue.getValue())) {
@ -3273,6 +3324,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + distributionReservationZeroPackageEntity.getQuantity());
distributionParcelNumberService.updateById(parcelNumberEntity);
// distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
packageLockIds.add(p.getParcelListId());
}
});
} else {
@ -3299,6 +3351,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + distributionReservationZeroPackageEntity.getQuantity());
distributionParcelNumberService.updateById(parcelNumberEntity);
// distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
packageLockIds.add(l.getParcelListId());
}
});
}
@ -3322,13 +3375,26 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionReservationStockarticleService.save(distributionReservationStockarticleEntity);
packageTotal.getAndAdd(distributionReservationStockarticleEntity.getReservationNum());
// distributionAsyncService.changeOrderReservationStatus(stockArticleDTO);
distributionStockArticleService.maintenanceOrderInfo(s.getOrderCode(),s.getWarehouseId());
// WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo();
// String consigneeMobile = byWaybillNo.getConsigneeMobile();
if (!packageLockIds.isEmpty()){
//判断此类包件是否还存在于缓存中
List<Long> a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() +"orderCode:"+ s.getOrderCode());
if (Func.isNotEmpty(a)){
boolean b = a.stream().anyMatch(f -> packageLockIds.contains(f));
if (b){
log.error("###############预约新增订单同时操作");
//当前操作包件存在于缓存中,此次操作无效
throw new RuntimeException(s.getOrderCode()+"正在操作,请刷新后尝试");
}else {
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + s.getOrderCode(),packageLockIds,5*60L);
}
}else {
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId()+"orderCode:" + s.getOrderCode(),packageLockIds,5*60L);
}
}
});
}
//存在库存品构建预约库存品关联信息
@ -3697,6 +3763,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
log.error(method+"计划存在相同ID包件:{}",distributionCancelReservationPackageDTO.getPackageIds());
return R.fail("此包件异常,请联系管理员....");
}
bladeRedis.del("warehouseId:"+myCurrentWarehouse.getId()+"orderCode:"+cancelPackage.get(0).getOrderCode());
}
}
distributionStockArticleService.maintenanceOrderInfo(orderCodes,myCurrentWarehouse.getId());

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

@ -2598,7 +2598,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (Func.isEmpty(myCurrentWarehouse)) {
return R.fail(403, "未授权!!!");
}
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()));
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())
.eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId())
);
if (Func.isNotEmpty(parcelListEntityList) && parcelListEntityList.size() == 1) {
DistributionParcelListEntity parcelListEntity = parcelListEntityList.get(0);
if (parcelListEntity.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) {

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java

@ -1458,11 +1458,11 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
stockArticleEntity.setCompleteSet(1);
if (signNum == 0) {
if (handleNum == 0) {
stockArticleEntity.setOrderStatus("30");
stockArticleEntity.setOrderStatus("20");
} else if (0 < handleNum && handleNum < totalNumber) {
stockArticleEntity.setOrderStatus("30");
stockArticleEntity.setOrderStatus("20");
} else {
stockArticleEntity.setOrderStatus("30");
stockArticleEntity.setOrderStatus("20");
}
} else {
stockArticleEntity.setOrderStatus("70");
@ -1484,9 +1484,9 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
stockArticleEntity.setCompleteSet(2);
if (signNum == 0) {
if (handleNum == 0) {
stockArticleEntity.setOrderStatus("40");
stockArticleEntity.setOrderStatus("20");
} else if (0 < handleNum && handleNum < totalNumber) {
stockArticleEntity.setOrderStatus("30");
stockArticleEntity.setOrderStatus("20");
} else {
stockArticleEntity.setOrderStatus("20");
}

2
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mapper/OrderPackageMapper.xml

@ -47,7 +47,7 @@
from zb_order_package tt
where exists(
select 1 from (
<foreach collection="packageList" index="ind" item="item">
<foreach collection="packageCodeList" index="ind" item="item">
<if test="ind == 0">
select #{item} pid
</if>

6
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomFactoryOrderListener.java

@ -213,9 +213,9 @@ public class ZbomFactoryOrderListener {
advanceEntity.setStoreCode(orderPackageDTO.getCustomerCode());
advanceEntity.setStoreName(orderPackageDTO.getCustomerName());
advanceEntity.setServiceNum(orderPackageDTO.getRelationOrderCode());
advanceEntity.setConsigneePerson(orderPackageDTO.getReceiverName());
advanceEntity.setConsigneeMobile(orderPackageDTO.getReceiverMobile());
advanceEntity.setConsigneeAddress(orderPackageDTO.getReceiverAddress());
advanceEntity.setCustomerName(orderPackageDTO.getReceiverName());
advanceEntity.setCustomerPhone(orderPackageDTO.getReceiverMobile());
advanceEntity.setCustomerAddress(orderPackageDTO.getReceiverAddress());
// 封装包件
TrunklineAdvanceDetailEntity advanceDetailEntity = new TrunklineAdvanceDetailEntity();

12
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/util/ZbomUtil.java

@ -3,7 +3,9 @@ package com.logpm.factorydata.zbom.util;
import cn.hutool.core.map.MapUtil;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.logpm.factorydata.zbom.pros.ZbFactoryProperties;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.HttpConstants;
import org.springblade.common.utils.CommonUtil;
@ -18,19 +20,22 @@ import java.util.Map;
* @author zhaoqiaobo
* @create 2024-03-21 15:23
*/
@Slf4j
public class ZbomUtil {
/**
* 推送数据
*
* @param zbProperties 志邦配置信息
* @param body 请求提
* @param method 请求方法
* @param body 请求提
* @param method 请求方法
* @return 返回请求结果
* @throws Exception
*/
public static String pushZbomSystem(ZbFactoryProperties zbProperties, String body, String method) throws Exception {
// 构建请求url
String url = ZbomUtil.buildUrl(zbProperties, body, method);
log.info("推送志邦url:{}", url);
// 请求数据
HashMap<String, String> headers = MapUtil.of(HttpConstants.HTTP.HEADER_NAME.CONTENT_TYPE, HttpConstants.HTTP.HEADER_VALUE.JSON);
HttpResponse execute = HttpUtil.createPost(url).headerMap(headers, false).body(body).timeout(5 * 1000).execute();
@ -47,8 +52,11 @@ public class ZbomUtil {
params.put("sign_method", "md5");
params.put("timestamp", CommonUtil.dateToStringGeneral(new Date()));
params.put("v", "1.0");
log.info("推送志邦参数:{}", JSONUtil.toJsonStr(params));
String body = bodyParam.replaceAll("\\s+", "");
log.info("推送志邦请求体:{}", body);
String sign = QmSignUntil.signTopRequest(params, zbProperties.getSecretkey(), "md5", body);
log.info("推送志邦签名:{}", sign);
String url = getZbUrl(zbProperties.getUrl() + "/api/edi/ots/in?", params, sign);
return url;
}

17
blade-service/logpm-report/pom.xml

@ -33,8 +33,21 @@
<artifactId>logpm-basicdata-api</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>logpm-report-api</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-dict-api</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>logpm-factory-data-api</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
</dependencies>
<build>

30
blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java

@ -1,7 +1,12 @@
package com.logpm.report.controller;
import cn.hutool.core.util.EnumUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.factorydata.enums.BrandEnums;
import com.logpm.factorydata.enums.NodeEnums;
import com.logpm.factorydata.util.FactoryDataMessageSender;
import com.logpm.factorydata.vo.NodePushMsg;
import com.logpm.report.query.BillDetailsQuery;
import com.logpm.report.query.BillLoadingTasksQuery;
import com.logpm.report.service.IReportBillLoadingAsyncService;
@ -12,13 +17,19 @@ import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 自提报表前端控制器
*
* @Author zqb
* @Date 2024/3/14
**/
@ -30,6 +41,25 @@ public class ReportBillLoadingController {
private IReportBillLoadingAsyncService reportBillLoadingAsyncService;
private final FactoryDataMessageSender sender;
@PostMapping("/sendMessage")
@ApiOperation(value = "发送消息测试", notes = "发送消息测试")
public R<String> tasksPage(@RequestBody Map map) {
String node = (String) map.get("node");
NodeEnums nodeEnums = EnumUtil.fromString(NodeEnums.class, node);
NodePushMsg build = NodePushMsg.builder()
.node(nodeEnums)
.brand(BrandEnums.ZB)
.operatorTime(new Date())
.operator("test")
.address("test")
.content((List<Object>) map.get("content"))
.build();
sender.sendNodeDataByBrand(build);
return R.data("成功");
}
@GetMapping("/tasks")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "自提任务维度", notes = "自提任务维度")

85
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java

@ -61,46 +61,65 @@ public class InComingServiceImpl implements IInComingService {
String packageStatus = advanceDetailEntity.getPackageStatus();
Long advanceId = advanceDetailEntity.getAdvanceId();
if("1".equals(packageStatus)){
log.warn("############incomingPackage: 包件已入库 packageCode={} warehouseId={}",packageCode,warehouseId);
return Resp.scanFail(405,"包件已入库","包件已入库");
}
if(incomingType != 1){
log.warn("############incomingPackage: 包件已入库 packageCode={} warehouseId={}",packageCode,warehouseId);
return Resp.scanFail(405,"包件已入库","包件已入库");
}else{
if(!Objects.isNull(billladingId)){
//先判断该包件是否已经有提货记录了
TrunklineBillladingPackageEntity billladingPackageEntity = billladingPackageServicie.findBillladingPackage(packageCode);
if(Objects.isNull(billladingPackageEntity)){
billladingPackageServicie.saveEntity(packageCode,billladingId,warehouseId,incomingType);
}
}
if(StringUtil.isBlank(warehouseName)){
BasicdataWarehouseEntity warehouseEntity = warehouseClient.getEntityWarehouseId(warehouseId);
if(!Objects.isNull(warehouseEntity)){
warehouseName = warehouseEntity.getName();
//4.如果有托盘码
if(StringUtil.isNotBlank(trayCode) && StringUtil.isNotBlank(trayType)){
Map<String,Object> map = new HashMap<>();
map.put("trayType",trayType);
map.put("trayCode",trayCode);
map.put("warehouseId",warehouseId);
map.put("orderPackageCode",packageCode);
warehouseTrayTypeClient.orderScanOrderPackageCode(map);
}
}
}
//1.修改暂存单包件入库状态
advanceDetailService.updatePackageStatusById("1",advanceDetailId,warehouseId,warehouseName);
List<String> incomingWarehouseNames = advanceDetailService.findIncomingWarehouseName(advanceId);
advanceService.updateIncomingWarehouseName(String.join(",",incomingWarehouseNames),advanceId);
//2.判断包件和订单是否已经存入在库订单
boolean b = advanceService.saveOrderAndPackage(advanceDetailEntity, warehouseId);
if(b){
//3.根据是否有提货单id绑定提货单
if(!Objects.isNull(billladingId)){
//先判断该包件是否已经有提货记录了
TrunklineBillladingPackageEntity billladingPackageEntity = billladingPackageServicie.findBillladingPackage(packageCode);
if(Objects.isNull(billladingPackageEntity)){
billladingPackageServicie.saveEntity(packageCode,billladingId,warehouseId,incomingType);
}else{
if(StringUtil.isBlank(warehouseName)){
BasicdataWarehouseEntity warehouseEntity = warehouseClient.getEntityWarehouseId(warehouseId);
if(!Objects.isNull(warehouseEntity)){
warehouseName = warehouseEntity.getName();
}
}
//4.如果有托盘码
if(StringUtil.isNotBlank(trayCode) && StringUtil.isNotBlank(trayType)){
Map<String,Object> map = new HashMap<>();
map.put("trayType",trayType);
map.put("trayCode",trayCode);
map.put("warehouseId",warehouseId);
map.put("orderPackageCode",packageCode);
warehouseTrayTypeClient.orderScanOrderPackageCode(map);
//1.修改暂存单包件入库状态
advanceDetailService.updatePackageStatusById("1",advanceDetailId,warehouseId,warehouseName);
List<String> incomingWarehouseNames = advanceDetailService.findIncomingWarehouseName(advanceId);
advanceService.updateIncomingWarehouseName(String.join(",",incomingWarehouseNames),advanceId);
//2.判断包件和订单是否已经存入在库订单
boolean b = advanceService.saveOrderAndPackage(advanceDetailEntity, warehouseId);
if(b){
//3.根据是否有提货单id绑定提货单
if(!Objects.isNull(billladingId)){
//先判断该包件是否已经有提货记录了
TrunklineBillladingPackageEntity billladingPackageEntity = billladingPackageServicie.findBillladingPackage(packageCode);
if(Objects.isNull(billladingPackageEntity)){
billladingPackageServicie.saveEntity(packageCode,billladingId,warehouseId,incomingType);
}
}
//4.如果有托盘码
if(StringUtil.isNotBlank(trayCode) && StringUtil.isNotBlank(trayType)){
Map<String,Object> map = new HashMap<>();
map.put("trayType",trayType);
map.put("trayCode",trayCode);
map.put("warehouseId",warehouseId);
map.put("orderPackageCode",packageCode);
warehouseTrayTypeClient.orderScanOrderPackageCode(map);
}
}
}
}
return R.success("入库成功");
}

Loading…
Cancel
Save