|  |  | 
 |  |  |  | 
 |  |  |     public List<JSONObject> selectPlan(QueryVo vo) { | 
 |  |  |         List<JSONObject> list = assemblyPlanDao.selectByPlanName(vo.planName); | 
 |  |  |         Map<Long, JSONObject> map = new ConcurrentHashMap<>(); // 使用并发安全的Map | 
 |  |  |         Map<String, JSONObject> map = new ConcurrentHashMap<>(); // 使用并发安全的Map | 
 |  |  |         for(JSONObject item:list){ | 
 |  |  |             Long planId = (Long) item.getObj("planId"); | 
 |  |  |             String planId = String.valueOf(item.getObj("planId")); | 
 |  |  |             JSONObject innerObject = new JSONObject() | 
 |  |  |                     .set("nodeId", item.getObj("nodeId")) | 
 |  |  |                     .set("nodeId", String.valueOf(item.getObj("nodeId"))) | 
 |  |  |                     .set("content", item.getObj("content")); | 
 |  |  |             if(map.containsKey(planId)){ | 
 |  |  |                 JSONArray array = (JSONArray)map.get(planId).get("nodes"); |