|
@@ -1,5 +1,7 @@
|
|
|
package com.gyee.viewticket.service.impl.ticket;
|
|
|
|
|
|
+import com.gyee.viewticket.comm.task.TaskThreadCallable;
|
|
|
+import com.gyee.viewticket.comm.task.ThreadPoolTaskConfig;
|
|
|
import com.gyee.viewticket.mapper.ticket.WoworktaskMapper;
|
|
|
import com.gyee.viewticket.model.ticket.*;
|
|
|
import com.gyee.viewticket.mapper.ticket.WorkticketMapper;
|
|
@@ -10,6 +12,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.Callable;
|
|
|
+import java.util.concurrent.ExecutorService;
|
|
|
+import java.util.concurrent.Executors;
|
|
|
+import java.util.concurrent.Future;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -40,6 +46,9 @@ public class WorkticketServiceImpl extends ServiceImpl<WorkticketMapper, Worktic
|
|
|
@Autowired
|
|
|
private DatadictionaryService datadictionaryService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ThreadPoolTaskConfig taskConfig;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public boolean saveWorkticket(String workdept, String location, String description, String wspeed, String worktypeid, String labornum) {
|
|
@@ -113,23 +122,35 @@ public class WorkticketServiceImpl extends ServiceImpl<WorkticketMapper, Worktic
|
|
|
for (Datadictionary type : datalist) {
|
|
|
|
|
|
Map<String, List<Map>> wpMap = new LinkedHashMap<>();
|
|
|
+ List<Future<Map<String,List<Map>>>> list = new LinkedList<>();
|
|
|
for (String wp : workdepts) {
|
|
|
if ("风场风机".equals(type.getParam()) && wp.endsWith("DZ")) {
|
|
|
continue;
|
|
|
}
|
|
|
- List<Map> map = workticketMapper.selectWorkticketList(wp, type.getParam(), st, et);
|
|
|
+ TaskThreadCallable task = new TaskThreadCallable(wp,type,st,et,workticketMapper,locationsService);
|
|
|
+ Future submit = taskConfig.getExecutor().submit(task);
|
|
|
+ list.add(submit);
|
|
|
|
|
|
- if ("风场风机".equals(type.getParam())) {
|
|
|
- map.stream().forEach(i->{
|
|
|
- String wtnum = i.get("wtnum").toString();
|
|
|
- String location = locationsService.getLocations(wtnum);
|
|
|
- i.put("location",location);
|
|
|
|
|
|
- });
|
|
|
- }
|
|
|
+// List<Map> map = workticketMapper.selectWorkticketList(wp, type.getParam(), st, et);
|
|
|
+//
|
|
|
+// if ("风场风机".equals(type.getParam())){
|
|
|
+// map.stream().forEach(i->{
|
|
|
+// String wtnum = i.get("wtnum").toString();
|
|
|
+// String location = locationsService.getLocations(wtnum);
|
|
|
+// i.put("location",location);
|
|
|
+// });
|
|
|
+//
|
|
|
+// }
|
|
|
|
|
|
|
|
|
- wpMap.put(wp, map);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Future<Map<String,List<Map>>> future :list){
|
|
|
+ Map<String,List<Map>> map = future.get();
|
|
|
+ for (Map.Entry<String, List<Map>> entry : map.entrySet()) {
|
|
|
+ wpMap.put(entry.getKey(), entry.getValue());
|
|
|
+ }
|
|
|
}
|
|
|
objectType.put(type.getValue(), wpMap);
|
|
|
}
|