Jelajahi Sumber

fix(apCheck): 针对发货单id,价格,币别去重,增加hashCode判断

hejq 7 tahun lalu
induk
melakukan
ed93b61aed

+ 12 - 0
src/main/java/com/uas/platform/b2b/model/ErpProdIODetail.java

@@ -706,6 +706,15 @@ public class ErpProdIODetail implements Serializable {
         if (sendcode != null ? !sendcode.equals(detail.sendcode) : detail.sendcode != null) {
             return false;
         }
+        if (sendId != null ? !sendId.equals(detail.sendId) : detail.sendId != null) {
+            return false;
+        }
+        if (sendQty != null ? !sendQty.equals(detail.sendQty) : detail.sendQty != null) {
+            return false;
+        }
+        if (sendPrice != null ? !sendPrice.equals(detail.sendPrice) : detail.sendPrice != null) {
+            return false;
+        }
         if (whname != null ? !whname.equals(detail.whname) : detail.whname != null) {
             return false;
         }
@@ -757,6 +766,9 @@ public class ErpProdIODetail implements Serializable {
         result = 31 * result + (nowmoney != null ? nowmoney.hashCode() : 0);
         result = 31 * result + (factory != null ? factory.hashCode() : 0);
         result = 31 * result + (sendcode != null ? sendcode.hashCode() : 0);
+        result = 31 * result + (sendId != null ? sendId.hashCode() : 0);
+        result = 31 * result + (sendQty != null ? sendQty.hashCode() : 0);
+        result = 31 * result + (sendPrice != null ? sendPrice.hashCode() : 0);
         result = 31 * result + (whname != null ? whname.hashCode() : 0);
         result = 31 * result + (recorder != null ? recorder.hashCode() : 0);
         result = 31 * result + (apCheckDate != null ? apCheckDate.hashCode() : 0);

+ 1 - 1
src/main/java/com/uas/platform/b2b/service/impl/PurchaseApCheckServiceImpl.java

@@ -893,7 +893,7 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
     @Override
     public List<ApCheckAmount> groupCountByCurrency(List<ApCheckAmount> totalTrades) {
         List<ApCheckAmount> resultCounts = new ArrayList<>();
-        if (null != totalTrades && !CollectionUtils.isEmpty(totalTrades)) {
+        if (!CollectionUtils.isEmpty(totalTrades)) {
             Set<String> currencySet = totalTrades.parallelStream().map(ApCheckAmount::getCurrency).collect(Collectors.toSet());
             currencySet.forEach(currency -> {
                 Double amount = totalTrades.stream().filter(tradeCount -> null != tradeCount && currency.equals(tradeCount.getCurrency()) && null != tradeCount.getCount())