|
|
|
@ -45,6 +45,7 @@ import org.springblade.common.constant.order.OrderReservationStatusConstant;
|
|
|
|
|
import org.springblade.common.constant.order.OrderStatusConstant; |
|
|
|
|
import org.springblade.common.constant.stockup.StockAssignStatusConstant; |
|
|
|
|
import org.springblade.common.constant.stockup.StockupStatusConstant; |
|
|
|
|
import org.springblade.common.constant.stockup.StockupTypeConstant; |
|
|
|
|
import org.springblade.core.log.exception.ServiceException; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.secure.BladeUser; |
|
|
|
@ -76,7 +77,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
private final IDistributionDeliveryDetailsService distributionDeliveryDetailsService; |
|
|
|
|
|
|
|
|
|
private final DistributionReservationServiceImpl distributionReservationService; |
|
|
|
|
private final IDistributionReservationService distributionReservationService; |
|
|
|
|
|
|
|
|
|
private final IDistributionPrintService distributionPrintService; |
|
|
|
|
|
|
|
|
@ -90,9 +91,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
private final IDistributionStockupScanService distributionStockupScanService; |
|
|
|
|
|
|
|
|
|
private final IDistributionStockListService distributionStockListService; |
|
|
|
|
private final IDistributionAsyncService distributionAsyncService; |
|
|
|
|
private final IDistributionStockService distributionStockService; |
|
|
|
|
private final IDistributionStockListService distributionStockListService; |
|
|
|
|
private final IDistributionAsyncService distributionAsyncService; |
|
|
|
|
private final IDistributionStockService distributionStockService; |
|
|
|
|
private final IDistributionStockupService distributionStockupService; |
|
|
|
|
private final IDistributionStockupInfoService distributionStockupInfoService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -120,13 +123,13 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
this.updateById(distrilbutionBillLading); |
|
|
|
|
//修改图片
|
|
|
|
|
List<DistributionPrintEntity> printEntityList = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda().eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLading.getId())); |
|
|
|
|
if(printEntityList.size() > 0){ |
|
|
|
|
if(distrilbutionBillLading.getMark()){ |
|
|
|
|
if (printEntityList.size() > 0) { |
|
|
|
|
if (distrilbutionBillLading.getMark()) { |
|
|
|
|
//要删除
|
|
|
|
|
List<Long> collect = printEntityList.stream().map(DistributionPrintEntity::getId).collect(Collectors.toList()); |
|
|
|
|
distributionPrintService.deleteLogic(collect); |
|
|
|
|
//操作图片
|
|
|
|
|
if(distrilbutionBillLading.getPrintList().size() > 0){ |
|
|
|
|
if (distrilbutionBillLading.getPrintList().size() > 0) { |
|
|
|
|
addPrint(distrilbutionBillLading); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -135,7 +138,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
List<DistributionDeliveryChargeEntity> list = distributionDeliveryChargeService.list(Wrappers.<DistributionDeliveryChargeEntity>query().lambda() |
|
|
|
|
.eq(DistributionDeliveryChargeEntity::getBillLading, distrilbutionBillLading.getId()) |
|
|
|
|
); |
|
|
|
|
if(list.size() > 0){ |
|
|
|
|
if (list.size() > 0) { |
|
|
|
|
list.forEach(i -> { |
|
|
|
|
String s = distrilbutionBillLading.getFei().get(i.getCost()); |
|
|
|
|
if (StringUtils.isNotBlank(s)) { |
|
|
|
@ -152,9 +155,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
//修改订单数据
|
|
|
|
|
if(distrilbutionBillLading.getStockArticleList().size() > 0){ |
|
|
|
|
if (distrilbutionBillLading.getStockArticleList().size() > 0) { |
|
|
|
|
boolean order = getOrder(distrilbutionBillLading.getStockArticleList(), distrilbutionBillLading.getId()); |
|
|
|
|
if(!order){ |
|
|
|
|
if (!order) { |
|
|
|
|
throw new ServiceException("修改失败!!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -180,7 +183,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
if (b) { |
|
|
|
|
//有
|
|
|
|
|
Iterator<DistributionStockListDTO> iterator = distrilbutionBillLading.getStockDTOList().iterator(); |
|
|
|
|
while (iterator.hasNext()){ |
|
|
|
|
while (iterator.hasNext()) { |
|
|
|
|
DistributionStockListDTO next = iterator.next(); |
|
|
|
|
if (i.getStockListId().equals(next.getId())) { |
|
|
|
|
DistributionDeliveryDetailsEntity deliveryDetails = new DistributionDeliveryDetailsEntity(); |
|
|
|
@ -191,10 +194,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
Integer quantity = i.getQuantity();//原来的数量
|
|
|
|
|
Integer num = 0; |
|
|
|
|
|
|
|
|
|
if(inventoryQuantity > quantity){ |
|
|
|
|
if (inventoryQuantity > quantity) { |
|
|
|
|
num = inventoryQuantity - quantity; //多 添加了数量
|
|
|
|
|
//修改库存占用数量
|
|
|
|
|
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),num,1); |
|
|
|
|
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), num, 1); |
|
|
|
|
//kk备货
|
|
|
|
|
if (i.getConditions().equals("2")) { |
|
|
|
|
//xiugai
|
|
|
|
@ -203,7 +206,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
d.setConditions("1"); |
|
|
|
|
distributionDeliveryDetailsService.updateById(d); |
|
|
|
|
} |
|
|
|
|
}else if(inventoryQuantity < quantity){ |
|
|
|
|
} else if (inventoryQuantity < quantity) { |
|
|
|
|
num = quantity - inventoryQuantity; //少 减少了数量
|
|
|
|
|
/*if(list1.size() < 1){ |
|
|
|
|
|
|
|
|
@ -211,18 +214,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//有备货
|
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
if(i.getConditions().equals("2")){ |
|
|
|
|
if (i.getConditions().equals("2")) { |
|
|
|
|
//todo 已完成
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
//todo 未完成
|
|
|
|
|
int size = list1.size(); //扫描的数量
|
|
|
|
|
int i1 = quantity - size; //未扫的数量
|
|
|
|
|
if(i1 > num){ |
|
|
|
|
if (i1 > num) { |
|
|
|
|
//可以减少
|
|
|
|
|
//修改库存占用数量
|
|
|
|
|
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),num,2); |
|
|
|
|
}else{ |
|
|
|
|
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), num, 2); |
|
|
|
|
} else { |
|
|
|
|
//todo 未扫小于减少
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -236,9 +239,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
if(list1.size() < 1){ |
|
|
|
|
if (list1.size() < 1) { |
|
|
|
|
//取消库存占用数量
|
|
|
|
|
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),i.getQuantity(),2); |
|
|
|
|
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), i.getQuantity(), 2); |
|
|
|
|
} |
|
|
|
|
//没有 删除
|
|
|
|
|
ids.add(i.getId()); |
|
|
|
@ -246,8 +249,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
//删除没有的库存品
|
|
|
|
|
if(ids.size() > 0){ |
|
|
|
|
ids.forEach( a ->{ |
|
|
|
|
if (ids.size() > 0) { |
|
|
|
|
ids.forEach(a -> { |
|
|
|
|
DistributionDeliveryDetailsEntity deliveryDetails = new DistributionDeliveryDetailsEntity(); |
|
|
|
|
deliveryDetails.setId(a); |
|
|
|
|
deliveryDetails.setInventoryStatus("3"); |
|
|
|
@ -258,14 +261,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
//新增
|
|
|
|
|
distrilbutionBillLading.setAssignStatus(StockAssignStatusConstant.weizhipai.getValue()); |
|
|
|
|
distrilbutionBillLading.setStockupStatus(StockupStatusConstant.weibeihuo.getValue()); |
|
|
|
|
distrilbutionBillLading.setConsignee("1"); |
|
|
|
|
distrilbutionBillLading.setStockupCode(distributionReservationService.bianMa()); |
|
|
|
|
this.save(distrilbutionBillLading); |
|
|
|
|
this.saveDistrilbutionBillLading(distrilbutionBillLading); |
|
|
|
|
|
|
|
|
|
//修改订单状态
|
|
|
|
|
if(StringUtils.isNotBlank(distrilbutionBillLading.getStockArticleId())){ |
|
|
|
|
if (StringUtils.isNotBlank(distrilbutionBillLading.getStockArticleId())) { |
|
|
|
|
String[] split = distrilbutionBillLading.getStockArticleId().split(","); |
|
|
|
|
for (String s : split) { |
|
|
|
|
DistributionStockArticleEntity distributionStockArticle = new DistributionStockArticleEntity(); |
|
|
|
@ -284,14 +285,15 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//操作图片
|
|
|
|
|
if(distrilbutionBillLading.getPrintList().size() > 0){ |
|
|
|
|
if (distrilbutionBillLading.getPrintList().size() > 0) { |
|
|
|
|
addPrint(distrilbutionBillLading); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//添加库存品信息
|
|
|
|
|
if(distrilbutionBillLading.getStockDTOList().size() > 0){ |
|
|
|
|
if (distrilbutionBillLading.getStockDTOList().size() > 0) { |
|
|
|
|
//没有
|
|
|
|
|
List<DistributionDeliveryDetailsEntity> detailsEntities = new ArrayList<>(); |
|
|
|
|
Boolean finalLas = las; |
|
|
|
@ -301,20 +303,20 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
details.setStockListId(i.getId()); |
|
|
|
|
details.setQuantity(i.getInventoryQuantity()); |
|
|
|
|
details.setConditions("1"); |
|
|
|
|
if(finalLas){ |
|
|
|
|
if (finalLas) { |
|
|
|
|
details.setInventoryStatus("2"); |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
details.setInventoryStatus("1"); |
|
|
|
|
} |
|
|
|
|
detailsEntities.add(details); |
|
|
|
|
//修改库存数量
|
|
|
|
|
distributionAsyncService.getInventoryNumUpdate(i.getId(),i.getInventoryQuantity(),1); |
|
|
|
|
distributionAsyncService.getInventoryNumUpdate(i.getId(), i.getInventoryQuantity(), 1); |
|
|
|
|
}); |
|
|
|
|
distributionDeliveryDetailsService.saveBatch(detailsEntities); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//添加费用
|
|
|
|
|
if(distrilbutionBillLading.getFei().size() > 0){ |
|
|
|
|
if (distrilbutionBillLading.getFei().size() > 0) { |
|
|
|
|
List<DistributionDeliveryChargeEntity> listEntity = new ArrayList<>(); |
|
|
|
|
distrilbutionBillLading.getFei().forEach((k, v) -> { |
|
|
|
|
DistributionDeliveryChargeEntity distributionDeliveryCharge = new DistributionDeliveryChargeEntity(); |
|
|
|
@ -331,11 +333,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 修改操作订单数据 |
|
|
|
|
* |
|
|
|
|
* @param orderList |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public boolean getOrder(List<DistributionStockArticleEntity> orderList,Long id){ |
|
|
|
|
public boolean getOrder(List<DistributionStockArticleEntity> orderList, Long id) { |
|
|
|
|
//查询已有的数据
|
|
|
|
|
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda() |
|
|
|
|
.eq(DistrilbutionBillStockEntity::getBillLadingId, id) |
|
|
|
@ -343,18 +346,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
.or(wp -> wp.eq(DistrilbutionBillStockEntity::getBillLadingId, id).eq(DistrilbutionBillStockEntity::getOrderStatus, "2")) |
|
|
|
|
); |
|
|
|
|
List<DistrilbutionBillStockEntity> deList = new ArrayList<>(); |
|
|
|
|
list.forEach( i ->{ |
|
|
|
|
list.forEach(i -> { |
|
|
|
|
boolean b = orderList.stream().anyMatch(o -> o.getId().equals(i.getStockArticleId())); |
|
|
|
|
if(b){ |
|
|
|
|
if (b) { |
|
|
|
|
//存在
|
|
|
|
|
Iterator<DistributionStockArticleEntity> iterator = orderList.iterator(); |
|
|
|
|
while (iterator.hasNext()){ |
|
|
|
|
while (iterator.hasNext()) { |
|
|
|
|
DistributionStockArticleEntity next = iterator.next(); |
|
|
|
|
if(next.getId().equals( i.getStockArticleId())){ |
|
|
|
|
if (next.getId().equals(i.getStockArticleId())) { |
|
|
|
|
iterator.remove(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
//不存在
|
|
|
|
|
DistrilbutionBillStockEntity stockEntity = new DistrilbutionBillStockVO(); |
|
|
|
|
stockEntity.setId(i.getId()); |
|
|
|
@ -366,12 +369,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
//删除提货订单状态
|
|
|
|
|
deList.forEach( i ->{ |
|
|
|
|
deList.forEach(i -> { |
|
|
|
|
//查询数据是否已备货
|
|
|
|
|
if(!i.getConditions().equals("2")){ |
|
|
|
|
if (!i.getConditions().equals("2")) { |
|
|
|
|
//未
|
|
|
|
|
List<DistributionStockEntity> list1 = distributionStockService.list(Wrappers.<DistributionStockEntity>query().lambda().eq(DistributionStockEntity::getStockArticle, i.getStockArticleId())); |
|
|
|
|
if(list1.size() == 0){ |
|
|
|
|
if (list1.size() == 0) { |
|
|
|
|
//取消
|
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity(); |
|
|
|
|
stockArticleEntity.setId(i.getStockArticleId()); |
|
|
|
@ -384,7 +387,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
}); |
|
|
|
|
List<DistrilbutionBillStockEntity> list1 = new ArrayList<>(); |
|
|
|
|
//添加订单关联
|
|
|
|
|
orderList.forEach( i ->{ |
|
|
|
|
orderList.forEach(i -> { |
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity(); |
|
|
|
|
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue()); |
|
|
|
|
stockArticleEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue()); |
|
|
|
@ -402,26 +405,28 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
distrilbutionBillStockService.saveBatch(list1); |
|
|
|
|
//查询当前备货任务
|
|
|
|
|
DistrilbutionBillLadingEntity billLading = baseMapper.selectById(id); |
|
|
|
|
if(billLading.getConditions().equals("5")){ |
|
|
|
|
if (billLading.getConditions().equals("5")) { |
|
|
|
|
//修改
|
|
|
|
|
billLading.setConsignee("4"); |
|
|
|
|
baseMapper.updateById(billLading); |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistrilbutionBillLadingVO> pageList(IPage<Object> page, Map<String, Object> distrilbutionBillLading) { |
|
|
|
|
DistrilbutionBillLadingDTO distrilbutionBillLadingDTO = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingDTO.class); |
|
|
|
|
IPage<DistrilbutionBillLadingVO> distrilbutionBillLadingVOIPage = baseMapper.pageList(page, distrilbutionBillLadingDTO); |
|
|
|
|
List<DistrilbutionBillLadingVO> records =distrilbutionBillLadingVOIPage.getRecords(); |
|
|
|
|
List<DistrilbutionBillLadingVO> records = distrilbutionBillLadingVOIPage.getRecords(); |
|
|
|
|
|
|
|
|
|
records.forEach( i -> { |
|
|
|
|
records.forEach(i -> { |
|
|
|
|
List<DistributionDeliveryChargeEntity> list = distributionDeliveryChargeService.list(Wrappers.<DistributionDeliveryChargeEntity>query().lambda() |
|
|
|
|
.eq(DistributionDeliveryChargeEntity::getBillLading, i.getId()) |
|
|
|
|
); |
|
|
|
|
list.forEach( ii ->{ |
|
|
|
|
ii.setCostName(DictBizCache.getValue(DictBizConstant.DELIVERY_COST,ii.getCost())); |
|
|
|
|
list.forEach(ii -> { |
|
|
|
|
ii.setCostName(DictBizCache.getValue(DictBizConstant.DELIVERY_COST, ii.getCost())); |
|
|
|
|
}); |
|
|
|
|
i.setList(list); |
|
|
|
|
}); |
|
|
|
@ -433,7 +438,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
/** |
|
|
|
|
* 添加提货图片 |
|
|
|
|
*/ |
|
|
|
|
public Boolean addPrint(DistrilbutionBillLadingDTO distrilbutionBillLadingDTO){ |
|
|
|
|
public Boolean addPrint(DistrilbutionBillLadingDTO distrilbutionBillLadingDTO) { |
|
|
|
|
// List<DistributionPrintEntity> list = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda()
|
|
|
|
|
// .eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLadingDTO.getId())
|
|
|
|
|
// );
|
|
|
|
@ -463,7 +468,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
public IPage<DistrilbutionBillLadingAppVO> pageListApp(IPage<Object> page, BillLadingAppDTO billLadingAppDTO) { |
|
|
|
|
IPage<DistrilbutionBillLadingAppVO> pageList = baseMapper.pageListApp(page, billLadingAppDTO); |
|
|
|
|
List<DistrilbutionBillLadingAppVO> records = pageList.getRecords(); |
|
|
|
|
for (DistrilbutionBillLadingAppVO vo : records){ |
|
|
|
|
for (DistrilbutionBillLadingAppVO vo : records) { |
|
|
|
|
//有可能存在多个订单所以需要拆分
|
|
|
|
|
String stockArticleId = vo.getStockArticleId(); |
|
|
|
|
|
|
|
|
@ -471,33 +476,33 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
Integer planNum = 0; |
|
|
|
|
Integer signedNum = 0; |
|
|
|
|
String[] split = stockArticleId.split(","); |
|
|
|
|
for (String s:split){ |
|
|
|
|
if(StringUtil.isBlank(s)){ |
|
|
|
|
for (String s : split) { |
|
|
|
|
if (StringUtil.isBlank(s)) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
orderNum++; |
|
|
|
|
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>(); |
|
|
|
|
queryWrapper.eq("stock_article_id",Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted",0); |
|
|
|
|
queryWrapper.eq("stock_article_id", Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted", 0); |
|
|
|
|
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper); |
|
|
|
|
int pn = list.size(); |
|
|
|
|
planNum = planNum + pn; |
|
|
|
|
//通过订单id查询扫描表中有多少数据
|
|
|
|
|
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>(); |
|
|
|
|
qw.eq("stock_article_id",Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted",0); |
|
|
|
|
qw.eq("stock_article_id", Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted", 0); |
|
|
|
|
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw); |
|
|
|
|
int sn = ls.size(); |
|
|
|
|
signedNum = signedNum +sn; |
|
|
|
|
signedNum = signedNum + sn; |
|
|
|
|
} |
|
|
|
|
//查询库存品的件数量
|
|
|
|
|
DistributionDeliveryDetailsVO list = distributionDeliveryDetailsService.oneListNum(vo.getBillLadingId()); |
|
|
|
|
if(ObjectUtils.isNotNull(list)){ |
|
|
|
|
if (ObjectUtils.isNotNull(list)) { |
|
|
|
|
|
|
|
|
|
planNum += list.getWholeNum(); |
|
|
|
|
signedNum += list.getEsauNum(); |
|
|
|
|
vo.setInventoryNum(list.getWholeNum()); |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
vo.setInventoryNum(0); |
|
|
|
|
} |
|
|
|
|
vo.setOrderNum(orderNum); |
|
|
|
@ -510,9 +515,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public DistrilbutionAppBillLadingOrderMainVO selectOrderList(Long billLadingId, Integer orderStatus,String orderSelfNumbering) { |
|
|
|
|
public DistrilbutionAppBillLadingOrderMainVO selectOrderList(Long billLadingId, Integer orderStatus, String orderSelfNumbering) { |
|
|
|
|
DistrilbutionBillLadingAppVO main = baseMapper.selectDataByBillLadingId(billLadingId); |
|
|
|
|
if(Objects.isNull(main)){ |
|
|
|
|
if (Objects.isNull(main)) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -526,8 +531,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
String[] split = stockArticleId.split(","); |
|
|
|
|
|
|
|
|
|
List<DistrilbutionAppBillLadingOrderVO> l = new ArrayList<>(); |
|
|
|
|
for (String s:split){ |
|
|
|
|
if(StringUtil.isBlank(s)){ |
|
|
|
|
for (String s : split) { |
|
|
|
|
if (StringUtil.isBlank(s)) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
DistrilbutionAppBillLadingOrderVO vo = new DistrilbutionAppBillLadingOrderVO(); |
|
|
|
@ -536,10 +541,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
orderNum++; |
|
|
|
|
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>(); |
|
|
|
|
queryWrapper.eq("stock_article_id",Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted",0); |
|
|
|
|
if(!StringUtil.isBlank(orderSelfNumbering)){ |
|
|
|
|
queryWrapper.ne("order_self_numbering",orderSelfNumbering); |
|
|
|
|
queryWrapper.eq("stock_article_id", Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted", 0); |
|
|
|
|
if (!StringUtil.isBlank(orderSelfNumbering)) { |
|
|
|
|
queryWrapper.ne("order_self_numbering", orderSelfNumbering); |
|
|
|
|
} |
|
|
|
|
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper); |
|
|
|
|
vo.setOrderSelfNumbering(list.get(0).getOrderCode()); |
|
|
|
@ -548,38 +553,38 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
planNum = planNum + pn; |
|
|
|
|
//通过订单id查询扫描表中有多少数据
|
|
|
|
|
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>(); |
|
|
|
|
qw.eq("stock_article_id",Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted",0); |
|
|
|
|
qw.eq("stock_article_id", Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted", 0); |
|
|
|
|
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw); |
|
|
|
|
int sn = ls.size(); |
|
|
|
|
vo.setSignedNum(sn); |
|
|
|
|
signedNum = signedNum +sn; |
|
|
|
|
signedNum = signedNum + sn; |
|
|
|
|
|
|
|
|
|
if(pn == sn){ |
|
|
|
|
if (pn == sn) { |
|
|
|
|
conpleteNum++; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(pn == sn){ |
|
|
|
|
if (pn == sn) { |
|
|
|
|
vo.setOrderStatusStr("齐套"); |
|
|
|
|
}else if(sn<pn && sn > 0){ |
|
|
|
|
} else if (sn < pn && sn > 0) { |
|
|
|
|
vo.setOrderStatusStr("部分扫"); |
|
|
|
|
}else if(sn == 0){ |
|
|
|
|
} else if (sn == 0) { |
|
|
|
|
vo.setOrderStatusStr("未扫"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//0 全部 1 齐套 2部分扫 3未扫
|
|
|
|
|
if(orderStatus == 0){ |
|
|
|
|
if (orderStatus == 0) { |
|
|
|
|
l.add(vo); |
|
|
|
|
}else if(orderStatus == 1){ |
|
|
|
|
if(pn == sn){ |
|
|
|
|
} else if (orderStatus == 1) { |
|
|
|
|
if (pn == sn) { |
|
|
|
|
l.add(vo); |
|
|
|
|
} |
|
|
|
|
}else if(orderStatus == 2){ |
|
|
|
|
if(sn<pn && sn > 0){ |
|
|
|
|
} else if (orderStatus == 2) { |
|
|
|
|
if (sn < pn && sn > 0) { |
|
|
|
|
l.add(vo); |
|
|
|
|
} |
|
|
|
|
}else if(orderStatus == 3){ |
|
|
|
|
if(sn == 0){ |
|
|
|
|
} else if (orderStatus == 3) { |
|
|
|
|
if (sn == 0) { |
|
|
|
|
l.add(vo); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -592,7 +597,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
List<DistributionDeliveryDetailsEntity> list1 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda() |
|
|
|
|
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, billLadingId) |
|
|
|
|
); |
|
|
|
|
if(list1.size() > 0){ |
|
|
|
|
if (list1.size() > 0) { |
|
|
|
|
long count = list1.stream().filter(i -> i.getConditions().equals("2")).count(); |
|
|
|
|
signedNum += (int) count; |
|
|
|
|
} |
|
|
|
@ -601,11 +606,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId) |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getMaterialType, "1") |
|
|
|
|
); |
|
|
|
|
if(list2.size() > 0){ |
|
|
|
|
if (list2.size() > 0) { |
|
|
|
|
signedNum += list2.size(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
planNum += list.stream().mapToInt( DistributionDeliveryDetailsEntity::getQuantity ).sum(); |
|
|
|
|
planNum += list.stream().mapToInt(DistributionDeliveryDetailsEntity::getQuantity).sum(); |
|
|
|
|
DistrilbutionAppBillLadingOrderMainVO mainVO = new DistrilbutionAppBillLadingOrderMainVO(); |
|
|
|
|
mainVO.setOrderNum(orderNum); |
|
|
|
|
mainVO.setPlanNum(planNum); |
|
|
|
@ -617,9 +622,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public DistrilbutionBillLadingAppVO selectDetailList(Long billLadingId, Integer scanStatus,String orderSelfNumbering) { |
|
|
|
|
public DistrilbutionBillLadingAppVO selectDetailList(Long billLadingId, Integer scanStatus, String orderSelfNumbering) { |
|
|
|
|
DistrilbutionBillLadingAppVO main = baseMapper.selectDataByBillLadingId(billLadingId); |
|
|
|
|
if(Objects.isNull(main)){ |
|
|
|
|
if (Objects.isNull(main)) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -632,24 +637,24 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
Integer signedNum = 0; |
|
|
|
|
String[] split = stockArticleId.split(","); |
|
|
|
|
|
|
|
|
|
for (String s:split){ |
|
|
|
|
if(StringUtil.isBlank(s)){ |
|
|
|
|
for (String s : split) { |
|
|
|
|
if (StringUtil.isBlank(s)) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//查询所有的包件列表并且附带状态
|
|
|
|
|
List<DistrilbutionAppBillLadingDetailVO> details = baseMapper.selectDetailList(Long.parseLong(s),scanStatus,orderSelfNumbering); |
|
|
|
|
for (DistrilbutionAppBillLadingDetailVO detailVO : details){ |
|
|
|
|
List<DistrilbutionAppBillLadingDetailVO> details = baseMapper.selectDetailList(Long.parseLong(s), scanStatus, orderSelfNumbering); |
|
|
|
|
for (DistrilbutionAppBillLadingDetailVO detailVO : details) { |
|
|
|
|
Integer ss = detailVO.getScanStatus(); |
|
|
|
|
Integer errorStatus = detailVO.getErrorStatus(); |
|
|
|
|
if(ss == 1){ |
|
|
|
|
if (ss == 1) { |
|
|
|
|
detailVO.setScanStatusStr("未扫描"); |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
detailVO.setScanStatusStr("已扫描"); |
|
|
|
|
} |
|
|
|
|
if(errorStatus == 0){ |
|
|
|
|
if (errorStatus == 0) { |
|
|
|
|
detailVO.setErrorStatusStr("无异常"); |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
detailVO.setErrorStatusStr("有异常"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -657,20 +662,20 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
orderNum++; |
|
|
|
|
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>(); |
|
|
|
|
queryWrapper.eq("stock_article_id",Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted",0); |
|
|
|
|
queryWrapper.eq("stock_article_id", Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted", 0); |
|
|
|
|
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper); |
|
|
|
|
int pn = list.size(); |
|
|
|
|
planNum = planNum + pn; |
|
|
|
|
//通过订单id查询扫描表中有多少数据
|
|
|
|
|
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>(); |
|
|
|
|
qw.eq("stock_article_id",Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted",0); |
|
|
|
|
qw.eq("stock_article_id", Long.parseLong(s)) |
|
|
|
|
.eq("is_deleted", 0); |
|
|
|
|
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw); |
|
|
|
|
int sn = ls.size(); |
|
|
|
|
signedNum = signedNum +sn; |
|
|
|
|
signedNum = signedNum + sn; |
|
|
|
|
|
|
|
|
|
if(pn == sn){ |
|
|
|
|
if (pn == sn) { |
|
|
|
|
conpleteNum++; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -686,23 +691,24 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 修改提货数据 |
|
|
|
|
* |
|
|
|
|
* @param distrilbutionBillLading |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public Boolean saveAssign(DistrilbutionBillLadingEntity distrilbutionBillLading) { |
|
|
|
|
if(StringUtils.isNotBlank(distrilbutionBillLading.getIds())){ |
|
|
|
|
if (StringUtils.isNotBlank(distrilbutionBillLading.getIds())) { |
|
|
|
|
String[] split = distrilbutionBillLading.getIds().split(","); |
|
|
|
|
for (String s : split) { |
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
DistrilbutionBillLadingEntity distributionStockupEntity =new DistrilbutionBillLadingEntity(); |
|
|
|
|
BeanUtils.copyProperties(distrilbutionBillLading,distributionStockupEntity); |
|
|
|
|
DistrilbutionBillLadingEntity distributionStockupEntity = new DistrilbutionBillLadingEntity(); |
|
|
|
|
BeanUtils.copyProperties(distrilbutionBillLading, distributionStockupEntity); |
|
|
|
|
distributionStockupEntity.setId(Long.parseLong(s)); |
|
|
|
|
distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.yizhipai.getValue()); |
|
|
|
|
distributionStockupEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue()); |
|
|
|
|
distributionStockupEntity.setAssignTime(new Date()); |
|
|
|
|
distributionStockupEntity.setStockupUser(user.getUserName()); |
|
|
|
|
distributionStockupEntity.setStockupUserId(user.getUserId()); |
|
|
|
|
// distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.yizhipai.getValue());
|
|
|
|
|
// distributionStockupEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue());
|
|
|
|
|
// distributionStockupEntity.setAssignTime(new Date());
|
|
|
|
|
// distributionStockupEntity.setStockupUser(user.getUserName());
|
|
|
|
|
// distributionStockupEntity.setStockupUserId(user.getUserId());
|
|
|
|
|
baseMapper.updateById(distributionStockupEntity); |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
@ -712,6 +718,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 提货基本信息 |
|
|
|
|
* |
|
|
|
|
* @param id |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -722,6 +729,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 提货内查询包件 |
|
|
|
|
* |
|
|
|
|
* @param page |
|
|
|
|
* @param id |
|
|
|
|
* @return |
|
|
|
@ -729,18 +737,19 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistrilbutionBillLadingOwnVO> detailReservationOwn(IPage<Object> page, long id) { |
|
|
|
|
IPage<DistrilbutionBillLadingOwnVO> distrilbutionBillLadingOwnVOIPage = baseMapper.detailReservationOwn(page, id); |
|
|
|
|
distrilbutionBillLadingOwnVOIPage.getRecords().forEach( i ->{ |
|
|
|
|
distrilbutionBillLadingOwnVOIPage.getRecords().forEach(i -> { |
|
|
|
|
List<DistributionStockupScanEntity> list = distributionStockupScanService.list(Wrappers.<DistributionStockupScanEntity>query().lambda() |
|
|
|
|
.eq(DistributionStockupScanEntity::getPackageType, '1') |
|
|
|
|
.eq(DistributionStockupScanEntity::getParcelListId, i.getId()) |
|
|
|
|
); |
|
|
|
|
i.setStockUp(list.size() > 0 ? "已备货": "未备货"); |
|
|
|
|
i.setStockUp(list.size() > 0 ? "已备货" : "未备货"); |
|
|
|
|
}); |
|
|
|
|
return distrilbutionBillLadingOwnVOIPage; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 提货库存品 |
|
|
|
|
* |
|
|
|
|
* @param page |
|
|
|
|
* @param id |
|
|
|
|
* @return |
|
|
|
@ -749,28 +758,28 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
public IPage<DistrilbutionBillLadingOwnVO> getInventoryOwn(IPage<Object> page, long id) { |
|
|
|
|
IPage<DistrilbutionBillLadingOwnVO> l = new Page<>(); |
|
|
|
|
IPage<DistrilbutionBillLadingOwnVO> inventoryOwn = baseMapper.getInventoryOwn(page, id); |
|
|
|
|
if(inventoryOwn.getRecords().size()> 0){ |
|
|
|
|
if (inventoryOwn.getRecords().size() > 0) { |
|
|
|
|
//查询库存品
|
|
|
|
|
inventoryOwn.getRecords().forEach( i ->{ |
|
|
|
|
inventoryOwn.getRecords().forEach(i -> { |
|
|
|
|
//是否备货
|
|
|
|
|
List<DistributionStockupScanEntity> list = distributionStockupScanService.list(Wrappers.<DistributionStockupScanEntity>query().lambda() |
|
|
|
|
.eq(DistributionStockupScanEntity::getPackageType, "2") |
|
|
|
|
.eq(DistributionStockupScanEntity::getStockListId, i.getId()) |
|
|
|
|
); |
|
|
|
|
String s = ""; |
|
|
|
|
if(list.size() > 0 && i.getQuantity() > list.size()){ |
|
|
|
|
if (list.size() > 0 && i.getQuantity() > list.size()) { |
|
|
|
|
s = "备货中"; |
|
|
|
|
}else if(list.size() > 0 && i.getQuantity() == list.size()){ |
|
|
|
|
} else if (list.size() > 0 && i.getQuantity() == list.size()) { |
|
|
|
|
s = "备货完成"; |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
s = "未备货"; |
|
|
|
|
} |
|
|
|
|
i.setStockUp(s); |
|
|
|
|
i.setNumber(list.size() > 0 ? list.size() : 0); |
|
|
|
|
}); |
|
|
|
|
return inventoryOwn; |
|
|
|
|
}else{ |
|
|
|
|
return l; |
|
|
|
|
} else { |
|
|
|
|
return l; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -778,6 +787,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 查询订单 |
|
|
|
|
* |
|
|
|
|
* @param page |
|
|
|
|
* @param id |
|
|
|
|
* @return |
|
|
|
@ -790,6 +800,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 根据id查询提货的全部数据 |
|
|
|
|
* |
|
|
|
|
* @param distrilbutionBillLadingEntity |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -806,12 +817,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//查询提货信息
|
|
|
|
|
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda() |
|
|
|
|
.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
.eq(DistrilbutionBillStockEntity::getOrderStatus,"1") |
|
|
|
|
.or( eq ->eq.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()).eq(DistrilbutionBillStockEntity::getOrderStatus,"2")) |
|
|
|
|
.eq(DistrilbutionBillStockEntity::getOrderStatus, "1") |
|
|
|
|
.or(eq -> eq.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()).eq(DistrilbutionBillStockEntity::getOrderStatus, "2")) |
|
|
|
|
); |
|
|
|
|
list.forEach( i ->{ |
|
|
|
|
list.forEach(i -> { |
|
|
|
|
List<DistributionStockArticleEntity> list2 = distributionStockArticleService.list(Wrappers.<DistributionStockArticleEntity>query().lambda().eq(DistributionStockArticleEntity::getId, i.getStockArticleId())); |
|
|
|
|
if(list2.size() > 0){ |
|
|
|
|
if (list2.size() > 0) { |
|
|
|
|
list1.addAll(DistributionStockArticleWrapper.build().listVO(list2)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -826,14 +837,14 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
List<DistributionDeliveryDetailsEntity> list3 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda() |
|
|
|
|
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
); |
|
|
|
|
if(list3.size() > 0){ |
|
|
|
|
list3.forEach( i ->{ |
|
|
|
|
if (list3.size() > 0) { |
|
|
|
|
list3.forEach(i -> { |
|
|
|
|
DistributionStockListEntity one = distributionStockListService.getOne(Wrappers.<DistributionStockListEntity>query().lambda() |
|
|
|
|
.eq(DistributionStockListEntity::getId, i.getStockListId()) |
|
|
|
|
); |
|
|
|
|
if(ObjectUtils.isNotNull(one)){ |
|
|
|
|
if (ObjectUtils.isNotNull(one)) { |
|
|
|
|
DistributionStockListVO distributionStockListVO = new DistributionStockListVO(); |
|
|
|
|
BeanUtils.copyProperties(one,distributionStockListVO); |
|
|
|
|
BeanUtils.copyProperties(one, distributionStockListVO); |
|
|
|
|
distributionStockListVO.setInventoryQuantity(i.getQuantity()); |
|
|
|
|
stockListEntities.add(distributionStockListVO); |
|
|
|
|
} |
|
|
|
@ -846,6 +857,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 查询自提任务库存品 |
|
|
|
|
* |
|
|
|
|
* @param page |
|
|
|
|
* @param distrilbutionBillLading |
|
|
|
|
* @return |
|
|
|
@ -854,16 +866,16 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
public IPage<DistrilbutionBillLadingAppVO> getInventory(IPage<Object> page, Map<String, Object> distrilbutionBillLading) { |
|
|
|
|
DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingEntity.class); |
|
|
|
|
IPage<DistrilbutionBillLadingAppVO> inventory = baseMapper.getInventory(page, distrilbutionBillLadingEntity); |
|
|
|
|
inventory.getRecords().forEach( i ->{ |
|
|
|
|
inventory.getRecords().forEach(i -> { |
|
|
|
|
|
|
|
|
|
if(i.getQuantity().equals(i.getDeliveryNum())){ |
|
|
|
|
if (i.getQuantity().equals(i.getDeliveryNum())) { |
|
|
|
|
//已备货
|
|
|
|
|
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda() |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getMaterialType, '1') |
|
|
|
|
); |
|
|
|
|
i.setEsauInventoryNum(list.size()); |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
//没有备货完成
|
|
|
|
|
i.setEsauInventoryNum(-1); |
|
|
|
|
} |
|
|
|
@ -874,6 +886,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* pda扫描 |
|
|
|
|
* |
|
|
|
|
* @param distrilbutionBillLading |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -883,34 +896,34 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
Object billLadingId = distrilbutionBillLading.get("id"); //提货ID
|
|
|
|
|
Object coding = distrilbutionBillLading.get("coding"); //包条码
|
|
|
|
|
Object type = distrilbutionBillLading.get("type"); //类型 2 订单 1 库存品
|
|
|
|
|
if(Func.isNull(billLadingId) || Func.isNull(coding ) || Func.isNull(type) ){ |
|
|
|
|
return R.fail(3000,"参数不完整,你干啥呢!!"); |
|
|
|
|
}else{ |
|
|
|
|
if (Func.isNull(billLadingId) || Func.isNull(coding) || Func.isNull(type)) { |
|
|
|
|
return R.fail(3000, "参数不完整,你干啥呢!!"); |
|
|
|
|
} else { |
|
|
|
|
//查询是否签收
|
|
|
|
|
List<DistributionBillLadingScanEntity> list3 = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda() |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId) |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getMaterialType, type) |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getPacketBarCode, coding) |
|
|
|
|
); |
|
|
|
|
if(list3.size() > 0){ |
|
|
|
|
return R.fail(3001,"已签收!"); |
|
|
|
|
if (list3.size() > 0) { |
|
|
|
|
return R.fail(3001, "已签收!"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//添加扫描记录
|
|
|
|
|
DistributionBillLadingScanEntity distributionBillLadingScan = new DistributionBillLadingScanEntity(); |
|
|
|
|
distributionBillLadingScan.setMaterialType((String) type); |
|
|
|
|
distributionBillLadingScan.setBillLadingId(Long.parseLong(billLadingId.toString())); |
|
|
|
|
if(type.equals("1")){ |
|
|
|
|
if (type.equals("1")) { |
|
|
|
|
//库存品
|
|
|
|
|
DistrilbutionBillLadingInventoryAppVO inventoryAppVO = distributionDeliveryDetailsService.listCode(String.valueOf(billLadingId), String.valueOf(coding)); |
|
|
|
|
if(ObjectUtils.isNotNull(inventoryAppVO)){ |
|
|
|
|
if (ObjectUtils.isNotNull(inventoryAppVO)) { |
|
|
|
|
//查询签收数量
|
|
|
|
|
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda() |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId) |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getMaterialType, "1") |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getStockListId, inventoryAppVO.getStockListId()) |
|
|
|
|
); |
|
|
|
|
if(list.size() == inventoryAppVO.getQuantity()+1){ |
|
|
|
|
if (list.size() == inventoryAppVO.getQuantity() + 1) { |
|
|
|
|
//修改完成状态
|
|
|
|
|
distributionAsyncService.getInventoryOrderSelfPickup(inventoryAppVO.getLdddId()); |
|
|
|
|
} |
|
|
|
@ -919,25 +932,25 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
distributionBillLadingScan.setPacketBarCode((String) coding); |
|
|
|
|
distributionBillLadingScan.setStockListId(inventoryAppVO.getStockListId()); |
|
|
|
|
distributionBillLadingScanService.save(distributionBillLadingScan); |
|
|
|
|
}else { |
|
|
|
|
return R.fail(3000,"包件信息不存在"); |
|
|
|
|
} else { |
|
|
|
|
return R.fail(3000, "包件信息不存在"); |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
//查询订单存在吗
|
|
|
|
|
List<DistrilbutionBillStockEntity> list= distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda() |
|
|
|
|
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda() |
|
|
|
|
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId) |
|
|
|
|
); |
|
|
|
|
if(list.size() < 1){ |
|
|
|
|
return R.fail(3000,"当前提货任务,订单不存在!"); |
|
|
|
|
}else{ |
|
|
|
|
if (list.size() < 1) { |
|
|
|
|
return R.fail(3000, "当前提货任务,订单不存在!"); |
|
|
|
|
} else { |
|
|
|
|
AtomicBoolean n = new AtomicBoolean(false); |
|
|
|
|
list.forEach(so ->{ |
|
|
|
|
list.forEach(so -> { |
|
|
|
|
//查询包件信息
|
|
|
|
|
List<DistributionParcelListEntity> list1 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda() |
|
|
|
|
.eq(DistributionParcelListEntity::getStockArticleId, so.getStockArticleId()) |
|
|
|
|
.eq(DistributionParcelListEntity::getOrderPackageCode, coding) |
|
|
|
|
); |
|
|
|
|
if(list1.size() > 0){ |
|
|
|
|
if (list1.size() > 0) { |
|
|
|
|
n.set(true); |
|
|
|
|
//查询订单包件数量签收的信息
|
|
|
|
|
DistributionStockArticleEntity one = distributionStockArticleService.getOne(Wrappers.<DistributionStockArticleEntity>query().lambda() |
|
|
|
@ -949,7 +962,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId) |
|
|
|
|
); |
|
|
|
|
//判断当前签收数
|
|
|
|
|
if(one.getTotalNumber().equals(list2.size()+1)){ |
|
|
|
|
if (one.getTotalNumber().equals(list2.size() + 1)) { |
|
|
|
|
|
|
|
|
|
DistrilbutionBillStockEntity one1 = distrilbutionBillStockService.getOne(Wrappers.<DistrilbutionBillStockEntity>query().lambda() |
|
|
|
|
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId) |
|
|
|
@ -962,17 +975,17 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//修改包件状态
|
|
|
|
|
distributionAsyncService.getSelfPickup(list1.get(0).getId()); |
|
|
|
|
distributionBillLadingScan.setParcelListId(list1.get(0).getId()); |
|
|
|
|
distributionBillLadingScan.setPacketBarCode(String.valueOf(coding) ); |
|
|
|
|
distributionBillLadingScan.setPacketBarCode(String.valueOf(coding)); |
|
|
|
|
//订单
|
|
|
|
|
distributionBillLadingScan.setStockArticleId(one.getId()); |
|
|
|
|
distributionBillLadingScan.setBillLadingId(Long.parseLong((String) billLadingId)); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
if(n.get()){ |
|
|
|
|
if (n.get()) { |
|
|
|
|
distributionBillLadingScanService.save(distributionBillLadingScan); |
|
|
|
|
}else{ |
|
|
|
|
return R.fail(3000,"当前订单,包件不存在!!"); |
|
|
|
|
} else { |
|
|
|
|
return R.fail(3000, "当前订单,包件不存在!!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -986,19 +999,20 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
); |
|
|
|
|
long count = list.stream().filter(e -> e.getConditions().equals("2")).count(); |
|
|
|
|
long count2 = list1.stream().filter(e -> e.getConditions().equals("2")).count(); |
|
|
|
|
if(Integer.parseInt(String.valueOf(count)) == list.size() && Integer.parseInt(String.valueOf(count2)) == list1.size()){ |
|
|
|
|
if (Integer.parseInt(String.valueOf(count)) == list.size() && Integer.parseInt(String.valueOf(count2)) == list1.size()) { |
|
|
|
|
//修改提货任务状态
|
|
|
|
|
DistrilbutionBillLadingEntity billLadingEntity = new DistrilbutionBillLadingEntity(); |
|
|
|
|
billLadingEntity.setId((Long) billLadingId); |
|
|
|
|
billLadingEntity.setConsignee("2"); |
|
|
|
|
baseMapper.updateById(billLadingEntity); |
|
|
|
|
} |
|
|
|
|
return R.fail(200,"签收成功"); |
|
|
|
|
return R.fail(200, "签收成功"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 查询包件 |
|
|
|
|
* |
|
|
|
|
* @param page |
|
|
|
|
* @param distrilbutionBillLading |
|
|
|
|
* @return |
|
|
|
@ -1007,8 +1021,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
public IPage<DistrilbutionBillLadingAppVO> getInventoryNum(IPage<Object> page, Map<String, Object> distrilbutionBillLading) { |
|
|
|
|
DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingEntity.class); |
|
|
|
|
IPage<DistrilbutionBillLadingAppVO> inventory = baseMapper.getInventory(page, distrilbutionBillLadingEntity); |
|
|
|
|
inventory.getRecords().forEach( i ->{ |
|
|
|
|
if(i.getQuantity().equals(i.getDeliveryNum())){ |
|
|
|
|
inventory.getRecords().forEach(i -> { |
|
|
|
|
if (i.getQuantity().equals(i.getDeliveryNum())) { |
|
|
|
|
//已备货
|
|
|
|
|
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda() |
|
|
|
|
.eq(DistributionBillLadingScanEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()) |
|
|
|
@ -1020,11 +1034,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
.eq(DistributionStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
.eq(DistributionStockEntity::getType, "2") |
|
|
|
|
); |
|
|
|
|
list1.forEach( di ->{ |
|
|
|
|
list1.forEach(di -> { |
|
|
|
|
DistrilbutionAppBillLadingDetailVO billLadingDetailVO = new DistrilbutionAppBillLadingDetailVO(); |
|
|
|
|
billLadingDetailVO.setOrderPackageCode(di.getCoding()); |
|
|
|
|
billLadingDetailVO.setScanStatus(Integer.parseInt(di.getConditions())); |
|
|
|
|
switch (di.getConditions()){ |
|
|
|
|
switch (di.getConditions()) { |
|
|
|
|
case "2": |
|
|
|
|
billLadingDetailVO.setScanStatusStr("待签收"); |
|
|
|
|
break; |
|
|
|
@ -1035,7 +1049,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
ladingDetailVOS.add(billLadingDetailVO); |
|
|
|
|
}); |
|
|
|
|
i.setList(ladingDetailVOS); |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
//没有备货完成
|
|
|
|
|
i.setEsauInventoryNum(-1); |
|
|
|
|
} |
|
|
|
@ -1045,6 +1059,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 签收 |
|
|
|
|
* |
|
|
|
|
* @param ids |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -1065,8 +1080,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
.eq(DistrilbutionBillStockEntity::getOrderStatus, "1") |
|
|
|
|
.or(ew -> ew.eq(DistrilbutionBillStockEntity::getBillLadingId, s).eq(DistrilbutionBillStockEntity::getOrderStatus, "2")) |
|
|
|
|
); |
|
|
|
|
if(list.size() > 0){ |
|
|
|
|
list.forEach( li ->{ |
|
|
|
|
if (list.size() > 0) { |
|
|
|
|
list.forEach(li -> { |
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity(); |
|
|
|
|
stockArticleEntity.setOrderStatus(OrderStatusConstant.qianshou.getValue()); |
|
|
|
|
stockArticleEntity.setId(li.getStockArticleId()); |
|
|
|
@ -1082,13 +1097,14 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
public DistrilbutionBillLadingVO listNum(Map<String, Object> distrilbutionBillLading) { |
|
|
|
|
DistrilbutionBillLadingDTO billLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingDTO.class); |
|
|
|
|
|
|
|
|
|
DistrilbutionBillLadingVO billLadingVO = baseMapper.getBillLadingNum(billLadingEntity); //查询
|
|
|
|
|
DistrilbutionBillLadingVO billLadingVO = baseMapper.getBillLadingNum(billLadingEntity); //查询
|
|
|
|
|
|
|
|
|
|
return billLadingVO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 查询详细信息 |
|
|
|
|
* |
|
|
|
|
* @param id |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -1098,4 +1114,48 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
return baseMapper.getViewDetailOwn(id); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void saveDistrilbutionBillLading(DistrilbutionBillLadingEntity distrilbutionBillLading) { |
|
|
|
|
this.save(distrilbutionBillLading); |
|
|
|
|
// 创建备货任务
|
|
|
|
|
DistributionStockupEntity distributionStockupEntity = buildDistributionStockupEntityBydistrilbutionBillLading(distrilbutionBillLading); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 保存备货任务
|
|
|
|
|
distributionStockupService.save(distributionStockupEntity); |
|
|
|
|
|
|
|
|
|
// 创建备货任务的关联
|
|
|
|
|
DistributionStockupInfoEntity distributionStockupInfoEntity = new DistributionStockupInfoEntity(); |
|
|
|
|
distributionStockupInfoEntity.setStockUpType(StockupTypeConstant.ziti.getValue()); |
|
|
|
|
distributionStockupInfoEntity.setReservationId(distrilbutionBillLading.getId()); |
|
|
|
|
distributionStockupInfoEntity.setStockupId(distributionStockupEntity.getId()); |
|
|
|
|
distributionStockupInfoService.save(distributionStockupInfoEntity); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 根据自提单创建备货任务的实体 |
|
|
|
|
* |
|
|
|
|
* @param distrilbutionBillLading |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private DistributionStockupEntity buildDistributionStockupEntityBydistrilbutionBillLading(DistrilbutionBillLadingEntity distrilbutionBillLading) { |
|
|
|
|
DistributionStockupEntity distributionStockupEntity = new DistributionStockupEntity(); |
|
|
|
|
|
|
|
|
|
distributionStockupEntity.setTypeService("3"); |
|
|
|
|
distributionStockupEntity.setAssignTime(distrilbutionBillLading.getPickUpTime()); |
|
|
|
|
// 调用方法
|
|
|
|
|
distributionStockupEntity.setStockupCode(distributionReservationService.bianMa()); |
|
|
|
|
|
|
|
|
|
distributionStockupEntity.setStockupStatus(StockupStatusConstant.weibeihuo.getValue()); |
|
|
|
|
|
|
|
|
|
distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.weizhipai.getValue()); |
|
|
|
|
|
|
|
|
|
//todo 库位 获取自提任务的ID 查询下面的订单 包件 库存品信息 的货位信息
|
|
|
|
|
// distributionStockupEntity.setStockipAllocation();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return distributionStockupEntity; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|