From 00733272f7bc0003f10ff731816c49bd86192208 Mon Sep 17 00:00:00 2001 From: dingbingqing Date: Thu, 29 Dec 2022 10:41:50 +0800 Subject: [PATCH] =?UTF-8?q?/decodeDetail=E6=8E=A5=E5=8F=A3=E4=B8=AD?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E6=95=B0=E6=8D=AE=E5=8D=87=E5=BA=8F=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=20=E6=A0=87=E5=87=86=E8=A7=A3=E8=AF=BB=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E7=9A=84=E6=B1=87=E6=80=BB=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TodoTaskController.java | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) 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..1387d5dd 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,28 +1775,57 @@ public class TodoTaskController extends BaseAction { } } - + private Double itemNumPro(String str){ + String temp=""; + Boolean flag=true; + if(str==null||str.isEmpty())return -1.0; + 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)); 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); } } 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")); + } + boolean f=false; + for (int i = 0; i < jsonArray.size()-1; i++) { + for (int j = 0; j < jsonArray.size()-1-i; j++) { + Double itemNum = itemNumPro(jsonArray.getJSONObject(j).getString("itemsNum")); + Double itemNumN= itemNumPro(jsonArray.getJSONObject(j+1).getString("itemsNum")); + if(itemNum>itemNumN){ + 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);