|
|
|
@ -71,7 +71,6 @@ import java.util.concurrent.TimeUnit;
|
|
|
|
|
import java.util.concurrent.atomic.AtomicBoolean; |
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
import java.util.stream.Stream; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 提货单 服务实现类 |
|
|
|
@ -137,6 +136,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
las = true; |
|
|
|
|
//修改
|
|
|
|
|
this.updateById(distrilbutionBillLading); |
|
|
|
|
if(!distrilbutionBillLading.getBillPackageEntityList().isEmpty()){ |
|
|
|
|
updateBillPackeg(distrilbutionBillLading); |
|
|
|
|
} |
|
|
|
|
//修改零担数据
|
|
|
|
|
updetaParcelNum(distrilbutionBillLading); |
|
|
|
|
//修改图片
|
|
|
|
@ -453,6 +455,61 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 修改提货包件数据 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public Boolean updateBillPackeg(DistrilbutionBillLadingDTO distrilbutionBillLading){ |
|
|
|
|
distrilbutionBillLading.getBillPackageEntityList().stream().collect(Collectors.groupingBy(DistrilbutionBillPackageEntity::getStockArticleId)) |
|
|
|
|
.forEach((k,v) ->{ |
|
|
|
|
List<DistrilbutionBillPackageEntity> list = distrilbutionBillPackageService.list(Wrappers.<DistrilbutionBillPackageEntity>query().lambda() |
|
|
|
|
.eq(DistrilbutionBillPackageEntity::getBillLadingId, distrilbutionBillLading.getId()) |
|
|
|
|
.eq(DistrilbutionBillPackageEntity::getStockArticleId, k) |
|
|
|
|
); |
|
|
|
|
//没有数据
|
|
|
|
|
if(list.isEmpty()){ |
|
|
|
|
throw new ServiceException("没有包件数据!"); |
|
|
|
|
} |
|
|
|
|
List<Long> sc = new ArrayList<>(); |
|
|
|
|
Iterator<DistrilbutionBillPackageEntity> iterator = v.iterator(); |
|
|
|
|
list.stream().forEach( i ->{ |
|
|
|
|
Boolean cz = false; |
|
|
|
|
while (iterator.hasNext()){ |
|
|
|
|
DistrilbutionBillPackageEntity next = iterator.next(); |
|
|
|
|
if(i.getParceListId().equals(next.getParceListId())){ |
|
|
|
|
//存在
|
|
|
|
|
iterator.remove(); |
|
|
|
|
cz = true; |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if(!cz){ |
|
|
|
|
//删除
|
|
|
|
|
sc.add(i.getId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
//新增包件
|
|
|
|
|
if(!v.isEmpty()){ |
|
|
|
|
List<DistrilbutionBillPackageEntity> packageEntityList = new ArrayList<>(); |
|
|
|
|
v.stream().forEach(i ->{ |
|
|
|
|
DistrilbutionBillPackageEntity billPackageEntity = new DistrilbutionBillPackageEntity(); |
|
|
|
|
BeanUtils.copyProperties(i,billPackageEntity); |
|
|
|
|
billPackageEntity.setBillLadingId(distrilbutionBillLading.getId()); |
|
|
|
|
packageEntityList.add(billPackageEntity); |
|
|
|
|
}); |
|
|
|
|
distrilbutionBillPackageService.saveBatch(packageEntityList); |
|
|
|
|
} |
|
|
|
|
//删除包件
|
|
|
|
|
if(!sc.isEmpty()){ |
|
|
|
|
distrilbutionBillPackageService.deleteLogic(sc); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 修改零担 |
|
|
|
|
* @param distrilbutionBillLadingDTO |
|
|
|
@ -1461,7 +1518,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
//查询
|
|
|
|
|
DistributionStockArticleEntity byId = distributionStockArticleService.getById(i.getStockArticleId()); |
|
|
|
|
DistributionParcelNumberEntity one = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda().eq(DistributionParcelNumberEntity::getParcelListId, i.getId())); |
|
|
|
|
if(ObjectUtils.isNotNull(one) && i.getQuantity() <= one.getHandQuantity()) { |
|
|
|
|
|
|
|
|
|
int i1 = one.getDeliveryQuantity() + i.getQuantity(); |
|
|
|
|
//全部数据不能大于预约数
|
|
|
|
|
if(ObjectUtils.isNotNull(one) && i1 <= one.getHandQuantity() ) { |
|
|
|
|
nu.addAndGet(i.getQuantity()); |
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity(); |
|
|
|
|
parcelNumberEntity.setId(one.getId()); |
|
|
|
|