| | |
| | | import java.io.FileInputStream; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | |
| | | /** |
| | |
| | | @Api(tags = "simulat_assess") |
| | | public class SimulatAssessController { |
| | | private static final Logger logger = LoggerFactory.getLogger(SimulatAssessController.class); |
| | | private static final String taskTypeProgress = "calcprog"; |
| | | |
| | | @Autowired |
| | | private RedisTemplate redisTemplate; |
| | |
| | | } |
| | | String filePath = path + "/" + simulatAssess.getId() + "/" + "result.xml"; |
| | | String xml = null; |
| | | InputStream in =null; |
| | | try { |
| | | InputStream in = new FileInputStream(filePath); |
| | | in = new FileInputStream(filePath); |
| | | xml = IOUtils.toString(in); |
| | | in.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | }finally { |
| | | try { |
| | | in.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | xmlJSONObj = XML.toJSONObject(xml); |
| | | simulatAssess.setShowProductId(simulatAssess.getProductId()); |
| | |
| | | if (nameValue instanceof Long) { |
| | | productId = (Long) nameValue; |
| | | if (productId.equals(simulatAssess.getShowProductId())) { |
| | | JSONArray jsonArray2 = jsonArray.getJSONObject(i).getJSONArray("phase"); |
| | | Object object = jsonArray.getJSONObject(i).get("phase"); |
| | | List<Double> doubleArray = new ArrayList<>(); |
| | | String availability = null; |
| | | for (int j = 0; j < jsonArray2.size(); j++) { |
| | | if (availability != null) { |
| | | availability = availability + " " + jsonArray2.getJSONObject(j).get("availability"); |
| | | } else { |
| | | availability = (String) jsonArray2.getJSONObject(j).get("availability"); |
| | | if (object instanceof JSONArray) { |
| | | JSONArray jsonArray2 = jsonArray.getJSONObject(i).getJSONArray("phase"); |
| | | for (int j = 0; j < jsonArray2.size(); j++) { |
| | | if (availability != null) { |
| | | availability = availability + " " + jsonArray2.getJSONObject(j).get("availability"); |
| | | } else { |
| | | availability = (String) jsonArray2.getJSONObject(j).get("availability"); |
| | | } |
| | | } |
| | | } else { |
| | | JSONObject jsonObject2 = jsonArray.getJSONObject(i).getJSONObject("phase"); |
| | | availability = (String) jsonObject2.get("availability"); |
| | | } |
| | | |
| | | String[] arr = availability.split(" "); |
| | |
| | | @GetMapping("getStatus") |
| | | public Result<String> getTimeDiagram(Long productId, Long taskId, Long fzId) { |
| | | String data = simulatAssessService.getTimeDiagram(productId, taskId, fzId); |
| | | return Result.ok(data); |
| | | return Result.ok(data); |
| | | } |
| | | |
| | | @GetMapping("getDiagram") |
| | |
| | | |
| | | @GetMapping("getCalcProgress") |
| | | public Result getCalcProgress(Long taskId) { |
| | | String key = taskId.toString() + taskTypeProgress; |
| | | String key = taskId.toString() + simulatAssessService.RELIA_SIM_TASK_TYPE_PROGRESS; |
| | | String progress = (String) redisTemplate.opsForValue().get(key); |
| | | if (progress == null) progress = "0"; |
| | | if(Objects.equals(progress, "100")){ |
| | | simulatAssessService.deleteSimInfoInRedis(taskId); |
| | | } |
| | | return Result.ok(progress); |
| | | } |
| | | |