diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index bd898a0d..26e932e1 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -1775,29 +1775,75 @@ public class TodoTaskController extends BaseAction { } } - + private Double itemNumPro(String str){ + String temp=""; + Boolean flag=true; + if(str==null||str.isEmpty())return Double.MAX_VALUE; + for (int i = 0; i < str.length(); i++) { + if(str.charAt(i)>='0'&&str.charAt(i)<='9'){ + temp+=str.charAt(i); + }else if(flag && str.charAt(i)=='.'){ + temp+=str.charAt(i); + flag=false; + } + } + if(temp.isEmpty()){ + return Double.MAX_VALUE; + } + return Double.valueOf(temp); + } @ApiOperation(value = "解读流程汇总详情") @GetMapping("/decodeDetail") public BusProcessNew Detail(String taskIds, String pId) { QueryWrapper q=new QueryWrapper<>(); Map msgData =new HashMap<>(); - List nameData=new ArrayList<>(); + List idData=new ArrayList<>(); List listData = iBusProcessNewService.list(q.eq("P_ID", pId)); + //取出此任务中所有审核mesg数据 for (BusProcessNew bpn:listData) { - String mesg = bpn.getMesg(); JSONObject object = JSONObject.parseObject(mesg); String resolveFlag = object.getString("resolveFlag"); if(bpn.getTaskInfo().equals("审核")&&resolveFlag.equals("1")){ - nameData.add(bpn.getUserId()); - msgData.put(bpn.getUserId(),JSONObject.parseObject(bpn.getMesg())); + idData.add(bpn.getTaskId()); + msgData.put(bpn.getTaskId(),object); } } + //将所有mesg数据进行整合 JSONArray jsonArray=new JSONArray(); - for (String name:nameData) { - jsonArray.addAll(msgData.get(name).getJSONArray("itemList")); + for (String id:idData) { + jsonArray.addAll(msgData.get(id).getJSONArray("itemList")); } + //将mesg数据进行去重 +// for (int i = 0; i < jsonArray.size()-1; i++) { //双循环法 +// for (int j = i+1; j < jsonArray.size(); j++) { +// if(jsonArray.get(i).equals(jsonArray.get(j))){ +// jsonArray.remove(j); +// } +// } +// } + Set set = new HashSet();//hashset法 + for(int i = 0 ; iitemNumN){ + JSONObject temp=jsonArray.getJSONObject(j); + jsonArray.set(j,jsonArray.getJSONObject(j+1)); + jsonArray.set(j+1,temp); + f=true; + } + } + if(!f){break;} + } + //后处理 List taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(","))); List list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList); if (list.isEmpty()) {