‘linchangsheng’ 4 月之前
父節點
當前提交
7ab42cea2f

+ 7 - 5
mall-server-api/src/main/java/com/gree/mall/manager/logic/websit/SettlementOrderLogic.java

@@ -815,13 +815,15 @@ public class SettlementOrderLogic {
         List<PgOrderBase> pgOrderBases = pgOrderBaseService.lambdaQuery()
                 .between(PgOrderBase::getOverTime, zfireParamBean.getOverTime(), zfireParamBean.getOverEndTime())
                 .in(PgOrderBase::getOrderStatus,"YWG","GCSZX","WDWG","YWGO","YJS","LRCD")
-                .select(PgOrderBase::getId,PgOrderBase::getOrderSmallTypeText,PgOrderBase::getWebsitId,PgOrderBase::getTotalNum)
+                .select(PgOrderBase::getId,PgOrderBase::getOrderSmallTypeText,PgOrderBase::getWebsitId,PgOrderBase::getTotalNum,PgOrderBase::getWorkerNumber)
                 .list();
 
         List<String> orderBaseIds = pgOrderBases.stream().map(PgOrderBase::getId).collect(Collectors.toList());
 
         List<WorkerOrder> workerOrders = workerOrderService.lambdaQuery()
-                .in(WorkerOrder::getWorkerOrderId, orderBaseIds).list();
+                .in(WorkerOrder::getWorkerOrderId, orderBaseIds)
+                .eq(WorkerOrder::getPayStatus,"PAID")
+                .list();
 
 
         for (SettlementPgOrderVO record : settlementOrderLogicVOIPage.getRecords()) {
@@ -841,7 +843,7 @@ public class SettlementOrderLogic {
             List<WorkerOrder> workerOrderList = workerOrders.stream().filter(
                     item -> item.getWorkerNumber().equals(record.getWorkerNumber())
                             && item.getWebsitId().equals(record.getWebsitId())
-                            && orderBaseIdWorker.contains(item.getOrderId())
+                            && orderBaseIdWorker.contains(item.getWorkerOrderId())
             ).collect(Collectors.toList());
 
             List<String> orderWorkerIds = workerOrderList.stream().map(WorkerOrder::getWorkerOrderId).distinct().collect(Collectors.toList());
@@ -860,8 +862,8 @@ public class SettlementOrderLogic {
             BigDecimal bigDecimal = workerOrderList.stream().map(WorkerOrder::getWorkerAmount).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
 
             record.setDzzfzje(bigDecimal);
-            record.setDzzfpjfy(record.getDzzfsbts() > 0 ?bigDecimal.divide(Convert.toBigDecimal(record.getDzzfsbts())):BigDecimal.ZERO);
-            record.setDzzfzpjfy(record.getDzzfsbts() > 0 ?bigDecimal.divide(Convert.toBigDecimal(record.getDzzfsbts())):BigDecimal.ZERO);
+            record.setDzzfpjfy(record.getDzzfsbts() > 0 ?bigDecimal.divide(Convert.toBigDecimal(record.getDzzfsbts()),2,BigDecimal.ROUND_HALF_UP):BigDecimal.ZERO);
+            record.setDzzfzpjfy(record.getDzzfsbts() > 0 ?bigDecimal.divide(Convert.toBigDecimal(record.getDzzfsbts()),2,BigDecimal.ROUND_HALF_UP):BigDecimal.ZERO);
 
 
         }