From 00733272f7bc0003f10ff731816c49bd86192208 Mon Sep 17 00:00:00 2001 From: dingbingqing Date: Thu, 29 Dec 2022 10:41:50 +0800 Subject: [PATCH 1/4] =?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); From bc117884b52deecc814156cc698ba040b7966bc2 Mon Sep 17 00:00:00 2001 From: dingbingqing Date: Thu, 29 Dec 2022 11:21:53 +0800 Subject: [PATCH 2/4] =?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=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business_activiti/task/TodoTaskController.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 1387d5dd..2fdf2726 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 @@ -1799,6 +1799,7 @@ public class TodoTaskController extends BaseAction { Map msgData =new HashMap<>(); 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); @@ -1809,10 +1810,20 @@ public class TodoTaskController extends BaseAction { msgData.put(bpn.getTaskId(),object); } } + //将所有mesg数据进行整合 JSONArray jsonArray=new JSONArray(); 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); +// } +// } +// } + //将mesg数据进行排序 boolean f=false; for (int i = 0; i < jsonArray.size()-1; i++) { for (int j = 0; j < jsonArray.size()-1-i; j++) { @@ -1827,6 +1838,7 @@ public class TodoTaskController extends BaseAction { } if(!f){break;} } + //后处理 List taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(","))); List list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList); if (list.isEmpty()) { From 3cf81d3a4924a5ad13cfd728df294e2e63d8d93c Mon Sep 17 00:00:00 2001 From: cuijiaming <1410452759@qq.com> Date: Thu, 29 Dec 2022 15:05:16 +0800 Subject: [PATCH 3/4] =?UTF-8?q?/decodeDetail=E6=8E=A5=E5=8F=A3=E4=B8=AD?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E5=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business_activiti/task/TodoTaskController.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 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 1387d5dd..8e184310 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 @@ -1809,10 +1809,17 @@ public class TodoTaskController extends BaseAction { msgData.put(bpn.getTaskId(),object); } } - JSONArray jsonArray=new JSONArray(); + JSONArray jsonArray1=new JSONArray(); for (String id:idData) { - jsonArray.addAll(msgData.get(id).getJSONArray("itemList")); + jsonArray1.addAll(msgData.get(id).getJSONArray("itemList")); } + + Set set = new HashSet(); + for(int i = 0 ; i Date: Thu, 29 Dec 2022 15:13:16 +0800 Subject: [PATCH 4/4] =?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=8E=BB=E9=87=8D3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TodoTaskController.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 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 3493c798..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 @@ -1778,7 +1778,7 @@ public class TodoTaskController extends BaseAction { private Double itemNumPro(String str){ String temp=""; Boolean flag=true; - if(str==null||str.isEmpty())return -1.0; + 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); @@ -1812,26 +1812,23 @@ public class TodoTaskController extends BaseAction { } //将所有mesg数据进行整合 JSONArray jsonArray=new JSONArray(); - JSONArray jsonArray1=new JSONArray(); for (String id:idData) { - jsonArray1.addAll(msgData.get(id).getJSONArray("itemList")); + jsonArray.addAll(msgData.get(id).getJSONArray("itemList")); } //将mesg数据进行去重 -// for (int i = 0; i < jsonArray.size()-1; i++) { +// 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); // } // } // } - //将mesg数据进行排序 - - Set set = new HashSet(); - for(int i = 0 ; i