合并分支 'dev_foton_DBQ' 到 'FOTON'
Dev foton dbq 查看合并请求 laws-foton-slrs/foton-wkflow-rest!7
This commit is contained in:
@@ -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()) {
|
||||
|
||||
Reference in New Issue
Block a user