From 57c62dd3e7d398e253c2db549b819d020040b1a5 Mon Sep 17 00:00:00 2001
From: kimi42345 <kimi42345@outlook.com>
Date: 星期日, 29 三月 2020 20:49:17 +0800
Subject: [PATCH] no message

---
 src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java
index a7758db..4c33f78 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java
@@ -258,8 +258,25 @@
         HashMap<String, List<Maintain>> resultMap = getMaintainFieldMapByTable(tableName);
 
         Set<String> keySet = resultMap.keySet();
+        ArrayList<String> keys = new ArrayList<>(keySet);
+        Collections.sort(keys, new Comparator<String>() {
+            @Override
+            public int compare(String maintianFieldId1, String maintianFieldId2) {
+                MaintainField maintainField1 = selectById(maintianFieldId1);
+                MaintainField maintainField2 = selectById(maintianFieldId2);
+                if (maintainField1 == null) {
+                    return 1;
+                }
+                if (maintainField2 == null){
+                    return -1;
+                }
+
+                return maintainField1.getOrderNo().compareTo(maintainField2.getOrderNo());
+            }
+        });
+
         JSONArray array = new JSONArray();
-        for (String s : keySet) {
+        for (String s : keys) {
             List<Maintain> list = resultMap.get(s);
             Maintain max = list.stream().max(new Comparator<Maintain>() {
                 @Override
@@ -276,14 +293,30 @@
             JSONObject object = new JSONObject();
             object.fluentPut("maintainFieldId", s);
             object.fluentPut("version", MessageFormat.format(Constant.extent, min.getVersion(), max.getVersion()));
+            object.fluentPut("list", list);
 
             array.add(object);
         }
         return array;
     }
 
+    @Override
+    public List<Maintain> getMaintainListByMaintainField(String id, String tableName) {
+        MaintainField maintainField = selectById(id);
+        if (maintainField == null) {
+            if (!id.equalsIgnoreCase(Constant.Default)){
+                return null;
+            }else {
+                maintainField = new MaintainField().setId(Constant.Default).setTableName(tableName);
+            }
+
+        }
+
+        return  getMaintainByMaintainField(maintainField.getId(), maintainField.getTableName());
+    }
+
     private HashMap<String, List<Maintain>> getMaintainFieldMapByTable(String tableName) {
-        List<Maintain> maintainList = maintainService.selectList(new EntityWrapper<Maintain>().eq("table_name", tableName).isNotNull("flow_id").orderBy("order_no"));
+        List<Maintain> maintainList = maintainService.selectList(new EntityWrapper<Maintain>().eq("table_name", tableName).isNotNull("flow_id").orderBy("order_no desc"));
         HashMap<String, List<Maintain>> resultMap = new HashMap<>();
         for (Maintain maintain : maintainList) {
             ActivitiStatus status = flowsService.getStatusByBusinessId(maintain.getId());

--
Gitblit v1.8.0