Browse Source

fix:列表排序

ly 10 months ago
parent
commit
8c3692aacc

+ 18 - 4
src/main/java/cn/ezhizao/project/business/workOrder/controller/OnceWorkOrderProductionController.java

@@ -1,6 +1,5 @@
 package cn.ezhizao.project.business.workOrder.controller;
 
-import cn.ezhizao.common.utils.DateUtils;
 import cn.ezhizao.common.utils.PageUtils;
 import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.StringUtils;
@@ -32,12 +31,11 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author 周晓
@@ -107,6 +105,16 @@ public class OnceWorkOrderProductionController extends BaseController {
     public void export(HttpServletResponse response, BizWorkOrder conditions) throws NoSuchFieldException, IllegalAccessException {
         setTenantId(conditions);
         List<BizWorkOrder> list = workOrderService.getList(conditions);
+
+        Map<String,List<BizWorkOrder>> map = list.stream().collect(Collectors.groupingBy(BizWorkOrder::getCompanyName,
+                Collectors.collectingAndThen(Collectors.toList(),
+                        this::sortList)));
+        List<Map.Entry<String, List<BizWorkOrder>>> list2 = new ArrayList<>(map.entrySet());
+        list2.sort((o1, o2) -> o2.getValue().get(0).getCreateTime().compareTo(o1.getValue().get(0).getCreateTime()));
+        list = new ArrayList<>(list.size());
+        for (Map.Entry<String, List<BizWorkOrder>> stringListEntry : list2) {
+            list.addAll(stringListEntry.getValue());
+        }
         for (BizWorkOrder l : list) {
             l.setProjectType((l.getNoContract() == 1 ? l.getRemark() : "") + l.getTaskTypeName() + (l.getTaskTypeDetailName() != null ? "-" + l.getTaskTypeDetailName() : ""));
             l.setOrderType(l.getType() == 1 ? "循环工单" : "代办工单");
@@ -193,6 +201,12 @@ public class OnceWorkOrderProductionController extends BaseController {
         util.exportExcel(response, list, "单次任务数据");
     }
 
+
+    public List<BizWorkOrder> sortList(List<BizWorkOrder> bizWorkOrderList){
+        return bizWorkOrderList.stream()
+                .sorted(Comparator.comparing(BizWorkOrder::getCompanyName))
+                .collect(Collectors.toList());
+    }
     @PreAuthorize("@ss.hasPermi('business:production:onceWork:query')")
     @PostMapping("/getDetail")
     public AjaxResult getDetail(@RequestBody BizWorkOrderRecord detail) {