合并分支 'dev_foton_DBQ' 到 'FOTON'

Dev foton dbq

查看合并请求 laws-foton-slrs/foton-wkflow-rest!7
This commit is contained in:
陈栋
2022-12-29 16:45:05 +08:00
@@ -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<BusProcessNew> q=new QueryWrapper<>();
Map<String,JSONObject> msgData =new HashMap<>();
List<String> nameData=new ArrayList<>();
List<String> idData=new ArrayList<>();
List<BusProcessNew> 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 ; i<jsonArray.size();i++){
set.add(jsonArray.get(i));
}
jsonArray = JSONArray.parseArray(set.toString());
//将mesg数据进行排序
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<String> taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(",")));
List<BusProcessNew> list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList);
if (list.isEmpty()) {