diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/domain/InvoiceProduct.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/domain/InvoiceProduct.java index c3918905..b368e9f3 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/domain/InvoiceProduct.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/domain/InvoiceProduct.java @@ -61,10 +61,14 @@ public class InvoiceProduct implements Serializable { @Column(name = "actual_invoice_number",nullable = false) private Long actualInvoiceNumber; - // 瘦瘦金额 + // 销售金额 @Column(name = "sale_price") private Long salePrice; + // 单价 + @Column(name = "unit_price") + private Long unitPrice; + // 备注 @Column(name = "remark") private String remark; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/service/impl/InvoiceServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/service/impl/InvoiceServiceImpl.java index f67aaba9..c8ef059e 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/service/impl/InvoiceServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/service/impl/InvoiceServiceImpl.java @@ -155,6 +155,19 @@ public class InvoiceServiceImpl implements InvoiceService { @Override @Transactional(rollbackFor = Exception.class) public InvoiceDetailDTO create(CreateInvoiceRequest createInvoiceRequest) { + List repeatProductCodeList =createInvoiceRequest.getInvoiceProductList().stream(). + collect(Collectors.groupingBy(dog->dog.getProductCode() ,Collectors.counting())) + .entrySet().stream() + .filter(entry->entry.getValue()>1) + .map(entry->entry.getKey()) + .collect(Collectors.toList()); + + if(!CollectionUtils.isEmpty(repeatProductCodeList)){ + String repeatProductCodeStr = me.zhengjie.utils.StringUtils.join(repeatProductCodeList.toArray(), ","); + throw new BadRequestException("产品" + repeatProductCodeStr + "请合并为一条记录"); + } + + Invoice invoice = new Invoice(); // 客户订单编号 String customerOrderCode = createInvoiceRequest.getCustomerOrderCode(); @@ -223,6 +236,19 @@ public class InvoiceServiceImpl implements InvoiceService { @Override @Transactional(rollbackFor = Exception.class) public void update(UpdateInvoiceRequest updateInvoiceRequest) { + + List repeatProductCodeList =updateInvoiceRequest.getInvoiceProductList().stream(). + collect(Collectors.groupingBy(dog->dog.getProductCode() ,Collectors.counting())) + .entrySet().stream() + .filter(entry->entry.getValue()>1) + .map(entry->entry.getKey()) + .collect(Collectors.toList()); + + if(!CollectionUtils.isEmpty(repeatProductCodeList)){ + String repeatProductCodeStr = me.zhengjie.utils.StringUtils.join(repeatProductCodeList.toArray(), ","); + throw new BadRequestException("产品" + repeatProductCodeStr + "请合并为一条记录"); + } + Invoice invoice = new Invoice(); BeanUtils.copyProperties(updateInvoiceRequest, invoice); // 修改发货单概要信息