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