|
|
|
@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
|
import com.logpm.distribution.dto.DistributionStockArticleDTO; |
|
|
|
|
import com.logpm.distribution.dto.DistributionStockListDTO; |
|
|
|
|
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO; |
|
|
|
|
import com.logpm.distribution.dto.app.BillLadingAppDTO; |
|
|
|
|
import com.logpm.distribution.entity.*; |
|
|
|
@ -48,6 +49,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 提货单 服务实现类 |
|
|
|
@ -96,13 +98,28 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
@Override |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public Boolean ownSaveOrUpdate(DistrilbutionBillLadingDTO distrilbutionBillLading) { |
|
|
|
|
|
|
|
|
|
if (ObjectUtils.isNotNull(distrilbutionBillLading.getId())) { |
|
|
|
|
//修改
|
|
|
|
|
this.updateById(distrilbutionBillLading); |
|
|
|
|
//修改图片
|
|
|
|
|
List<DistributionPrintEntity> printEntityList = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda().eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLading.getId())); |
|
|
|
|
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){ |
|
|
|
|
addPrint(distrilbutionBillLading); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//查询这个费用
|
|
|
|
|
List<DistributionDeliveryChargeEntity> list = distributionDeliveryChargeService.list(Wrappers.<DistributionDeliveryChargeEntity>query().lambda() |
|
|
|
|
.eq(DistributionDeliveryChargeEntity::getBillLading, distrilbutionBillLading.getId()) |
|
|
|
|
); |
|
|
|
|
if(list.size() > 0){ |
|
|
|
|
list.forEach(i -> { |
|
|
|
|
String s = distrilbutionBillLading.getFei().get(i.getCost()); |
|
|
|
|
if (StringUtils.isNotBlank(s)) { |
|
|
|
@ -111,11 +128,15 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
distributionDeliveryCharge.setId(i.getId()); |
|
|
|
|
distributionDeliveryCharge.setMoney(new BigDecimal(s)); |
|
|
|
|
distributionDeliveryChargeService.updateById(distributionDeliveryCharge); |
|
|
|
|
distrilbutionBillLading.getFei().remove(i.getCost()); |
|
|
|
|
} else { |
|
|
|
|
//删除
|
|
|
|
|
distributionDeliveryChargeService.removeById(i.getId()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//修改库存品
|
|
|
|
|
if (distrilbutionBillLading.getStockDTOList().size() > 0) { |
|
|
|
|
//全部库存品数据
|
|
|
|
@ -130,36 +151,59 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
boolean b = distrilbutionBillLading.getStockDTOList().stream().anyMatch(a -> i.getStockListId().equals(a.getId())); |
|
|
|
|
if (b) { |
|
|
|
|
//有
|
|
|
|
|
distrilbutionBillLading.getStockDTOList().forEach(q -> { |
|
|
|
|
if (i.getStockListId().equals(q.getId())) { |
|
|
|
|
Iterator<DistributionStockListDTO> iterator = distrilbutionBillLading.getStockDTOList().iterator(); |
|
|
|
|
while (iterator.hasNext()){ |
|
|
|
|
DistributionStockListDTO next = iterator.next(); |
|
|
|
|
if (i.getStockListId().equals(next.getId())) { |
|
|
|
|
DistributionDeliveryDetailsEntity deliveryDetails = new DistributionDeliveryDetailsEntity(); |
|
|
|
|
deliveryDetails.setQuantity(q.getInventoryQuantity()); |
|
|
|
|
deliveryDetails.setId(q.getId()); |
|
|
|
|
deliveryDetails.setQuantity(next.getInventoryQuantity()); |
|
|
|
|
deliveryDetails.setId(i.getId()); |
|
|
|
|
distributionDeliveryDetailsService.updateById(deliveryDetails); |
|
|
|
|
distrilbutionBillLading.getStockDTOList().remove(q); |
|
|
|
|
return; |
|
|
|
|
iterator.remove(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
//没有 删除
|
|
|
|
|
ids.add(i.getId()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
//删除没有的库存品
|
|
|
|
|
if(ids.size() > 0){ |
|
|
|
|
distributionDeliveryDetailsService.deleteLogic(ids); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
//新增
|
|
|
|
|
distrilbutionBillLading.setAssignStatus("1"); |
|
|
|
|
distrilbutionBillLading.setStockupStatus("1"); |
|
|
|
|
this.save(distrilbutionBillLading); |
|
|
|
|
|
|
|
|
|
//修改订单状态
|
|
|
|
|
String[] split = distrilbutionBillLading.getStockArticleId().split(","); |
|
|
|
|
for (String s : split) { |
|
|
|
|
DistributionStockArticleEntity distributionStockArticle = new DistributionStockArticleEntity(); |
|
|
|
|
distributionStockArticle.setId(Long.parseLong(s)); |
|
|
|
|
distributionStockArticle.setState(2); |
|
|
|
|
distributionStockArticleService.updateById(distributionStockArticle); |
|
|
|
|
//添加订单和提货单关联
|
|
|
|
|
DistrilbutionBillStockEntity distrilbutionBillStock = new DistrilbutionBillStockVO(); |
|
|
|
|
distrilbutionBillStock.setBillLadingId(distrilbutionBillLading.getId()); |
|
|
|
|
distrilbutionBillStock.setStockArticleId(Long.parseLong(s)); |
|
|
|
|
distrilbutionBillStockService.save(distrilbutionBillStock); |
|
|
|
|
} |
|
|
|
|
//添加图片
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//操作图片
|
|
|
|
|
if(distrilbutionBillLading.getPrintList().size() > 0){ |
|
|
|
|
addPrint(distrilbutionBillLading); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//添加库存品信息
|
|
|
|
|
if(distrilbutionBillLading.getStockDTOList().size() > 0){ |
|
|
|
|
//没有
|
|
|
|
@ -173,6 +217,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
}); |
|
|
|
|
distributionDeliveryDetailsService.saveBatch(detailsEntities); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//添加费用
|
|
|
|
|
if(distrilbutionBillLading.getFei().size() > 0){ |
|
|
|
|
List<DistributionDeliveryChargeEntity> listEntity = new ArrayList<>(); |
|
|
|
@ -186,19 +231,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
}); |
|
|
|
|
distributionDeliveryChargeService.saveBatch(listEntity); |
|
|
|
|
} |
|
|
|
|
//修改订单状态
|
|
|
|
|
String[] split = distrilbutionBillLading.getStockArticleId().split(","); |
|
|
|
|
for (String s : split) { |
|
|
|
|
DistributionStockArticleEntity distributionStockArticle = new DistributionStockArticleEntity(); |
|
|
|
|
distributionStockArticle.setId(Long.parseLong(s)); |
|
|
|
|
distributionStockArticle.setState(2); |
|
|
|
|
distributionStockArticleService.updateById(distributionStockArticle); |
|
|
|
|
//添加订单和提货单关联
|
|
|
|
|
DistrilbutionBillStockEntity distrilbutionBillStock = new DistrilbutionBillStockVO(); |
|
|
|
|
distrilbutionBillStock.setBillLadingId(distrilbutionBillLading.getId()); |
|
|
|
|
distrilbutionBillStock.setStockArticleId(Long.parseLong(s)); |
|
|
|
|
distrilbutionBillStockService.save(distrilbutionBillStock); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -223,13 +258,17 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
* 添加提货图片 |
|
|
|
|
*/ |
|
|
|
|
public Boolean addPrint(DistrilbutionBillLadingDTO distrilbutionBillLadingDTO){ |
|
|
|
|
List<DistributionPrintEntity> list = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda() |
|
|
|
|
.eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLadingDTO.getId()) |
|
|
|
|
); |
|
|
|
|
//删除
|
|
|
|
|
List<Long> list1 = new ArrayList<>(); |
|
|
|
|
list.forEach( i -> list1.add(i.getId())); |
|
|
|
|
distributionPrintService.deleteLogic(list1); |
|
|
|
|
// List<DistributionPrintEntity> list = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda()
|
|
|
|
|
// .eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLadingDTO.getId())
|
|
|
|
|
// );
|
|
|
|
|
// //删除
|
|
|
|
|
// if(list.size() > 0){
|
|
|
|
|
// if(distrilbutionBillLadingDTO.getMark()){
|
|
|
|
|
// List<Long> collect = list.stream().map(DistributionPrintEntity::getId).collect(Collectors.toList());
|
|
|
|
|
// distributionPrintService.deleteLogic(collect);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
//新增
|
|
|
|
|
List<DistributionPrintEntity> list2 = new ArrayList<>(); |
|
|
|
|
distrilbutionBillLadingDTO.getPrintList().forEach(print -> { |
|
|
|
@ -523,18 +562,21 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
@Override |
|
|
|
|
public DistrilbutionBillLadingDetailsVO getDetailOne(DistrilbutionBillLadingEntity distrilbutionBillLadingEntity) { |
|
|
|
|
DistrilbutionBillLadingDetailsVO detailOne = baseMapper.getDetailOne(distrilbutionBillLadingEntity.getId()); |
|
|
|
|
List<DistributionStockArticleVO> list1 = new ArrayList<>(); |
|
|
|
|
List<DistributionParcelListEntity> list1 = new ArrayList<>(); |
|
|
|
|
List<DistributionStockListVO> stockListEntities = new ArrayList<>(); |
|
|
|
|
//查询提货费用
|
|
|
|
|
List<DistributionDeliveryChargeEntity> list4 = distributionDeliveryChargeService.list(Wrappers.<DistributionDeliveryChargeEntity>query().lambda() |
|
|
|
|
.eq(DistributionDeliveryChargeEntity::getBillLading, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
); |
|
|
|
|
detailOne.setChargeList(list4.size() > 0 ? list4 : null); |
|
|
|
|
//查询提货信息
|
|
|
|
|
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda() |
|
|
|
|
.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()) |
|
|
|
|
); |
|
|
|
|
list.forEach( i ->{ |
|
|
|
|
DistributionStockArticleEntity one = distributionStockArticleService.getOne(Wrappers.<DistributionStockArticleEntity>query().lambda().eq(DistributionStockArticleEntity::getId, i.getStockArticleId())); |
|
|
|
|
if(ObjectUtils.isNotNull(one)){ |
|
|
|
|
DistributionStockArticleVO articleVO = new DistributionStockArticleVO(); |
|
|
|
|
BeanUtils.copyProperties(one,articleVO); |
|
|
|
|
list1.add(articleVO); |
|
|
|
|
List<DistributionParcelListEntity> list2 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, i.getStockArticleId())); |
|
|
|
|
if(list2.size() > 0){ |
|
|
|
|
list1.addAll(list2); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
@ -556,6 +598,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
|
|
|
|
|
if(ObjectUtils.isNotNull(one)){ |
|
|
|
|
DistributionStockListVO distributionStockListVO = new DistributionStockListVO(); |
|
|
|
|
BeanUtils.copyProperties(one,distributionStockListVO); |
|
|
|
|
distributionStockListVO.setInventoryQuantity(i.getQuantity()); |
|
|
|
|
stockListEntities.add(distributionStockListVO); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|