ly 1 yıl önce
ebeveyn
işleme
d1ae0e9561

+ 14 - 3
src/main/java/cn/ezhizao/project/business/workOrder/controller/WorkOrderServiceController.java

@@ -114,7 +114,6 @@ public class WorkOrderServiceController extends BaseController {
 
     @PreAuthorize("@ss.hasPermi('business:customer:service:loop:list')")
     @GetMapping("/list")
-
     public TableDataInfo list(BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
         setTenantId(bizWorkOrder);
         bizWorkOrder.setType(1);
@@ -155,13 +154,25 @@ public class WorkOrderServiceController extends BaseController {
         BizEntrust entrustConditions = new BizEntrust();
         entrustConditions.setWorkOrderIds(list.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
         entrustConditions.setCurrentYear(bizWorkOrder.getYear());
-        List<BizEntrust> entrusts = entrustService.getList(entrustConditions);
+        Map<Long, List<BizEntrust>> collect = entrustService.getList(entrustConditions).stream().collect(Collectors.groupingBy(BizEntrust::getCompanyId));
         list.forEach(v -> {
             v.setRecord(records.stream().filter(e -> e.getWorkOrderId().equals(v.getId())
                     && e.getMonth().equals(bizWorkOrder.getMonth())
                     && e.getFromId().equals(0L) &&
                     e.getYear().equals(bizWorkOrder.getYear())).findFirst().orElse(null));
-            v.setEntrust(entrusts.stream().filter(e -> e.getWorkOrderId().equals(v.getId())).findFirst().orElse(null));
+//            v.setEntrust(entrusts.stream().filter(e -> e.getWorkOrderId().equals(v.getId())).findFirst().orElse(null));
+            for (BizEntrust entrust : collect.get(v.getCompanyId())) {
+                String year = entrust.getWorkMonth().toLocalDate().getYear()+"";
+                int month = entrust.getWorkMonth().toLocalDate().getMonthValue();
+                String format = String.format("%02d", month);
+                if (bizWorkOrder.getYear().equals(year) && bizWorkOrder.getMonth().equals(format)){
+                    v.setEntrust(entrust);
+                    break;
+                }else {
+                    v.setEntrust(null);
+                }
+            }
+
             BizWorkOrderLoop loop = new BizWorkOrderLoop();
             loop.setCompanyName(v.getCompanyName());
             loop.setTaxType(v.getTaxType());