|
@@ -5,11 +5,13 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.gyee.impala.common.result.JsonResult;
|
|
|
import com.gyee.impala.common.result.ResultCode;
|
|
|
import com.gyee.impala.common.util.DateUtil;
|
|
|
+import com.gyee.impala.model.custom.diagnose.Algorithm;
|
|
|
import com.gyee.impala.model.custom.diagnose.DataInfo;
|
|
|
import com.gyee.impala.model.custom.diagnose.ExecuteInfo;
|
|
|
import com.gyee.impala.model.master.Casefault;
|
|
|
import com.gyee.impala.model.master.diagnose.Diagnosepoint;
|
|
|
import com.gyee.impala.model.master.diagnose.Diagnosetrainhistory;
|
|
|
+import com.gyee.impala.model.master.diagnose.TrainInfo;
|
|
|
import com.gyee.impala.service.custom.diagnose.DataPredictService;
|
|
|
import com.gyee.impala.service.custom.diagnose.CmdFaultPredictService;;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -61,7 +63,6 @@ public class TrainFaultPredictController {
|
|
|
|
|
|
private static final Object locker = new Object();
|
|
|
|
|
|
- private String name1;
|
|
|
private String forecastLabel1;
|
|
|
private String[] inputLabel1;
|
|
|
private String host1;
|
|
@@ -115,20 +116,23 @@ public class TrainFaultPredictController {
|
|
|
/** 开始预测 查询 golden 所有原始数据
|
|
|
* flag ture: 所有数据 ;false: 前10条数据
|
|
|
* **/
|
|
|
- @PostMapping("/pointfaultdata")
|
|
|
+ @PostMapping("/pointdata")
|
|
|
public JSONObject getPointData(@RequestBody JSONObject json){
|
|
|
if (json == null)
|
|
|
return JsonResult.error(ResultCode.PARAM_IS_BLANK);
|
|
|
|
|
|
-
|
|
|
+ executeInfo = new ExecuteInfo();
|
|
|
log.info("进入预测程序");
|
|
|
boolean flag = json.getBooleanValue("flag");
|
|
|
+ Algorithm algorithm = new Algorithm();
|
|
|
+ algorithm.setParameter(json.getJSONArray("predictPoints").toJSONString());
|
|
|
+ executeInfo.setAlgorithm(algorithm);
|
|
|
List<Diagnosepoint> points = JSONObject.parseArray(json.getJSONArray("points").toString(), Diagnosepoint.class);
|
|
|
List<Casefault> faults = JSONObject.parseArray(json.getJSONArray("faults").toString(), Casefault.class);
|
|
|
|
|
|
/** 组装数据 删除添加的故障类型**/
|
|
|
dataDiagnoseService.formatUniformcode(points.stream().filter(a -> !a.getUniformcode().equals("faulttype")).collect(Collectors.toList()));
|
|
|
- executeInfo = new ExecuteInfo();
|
|
|
+
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
DataInfo[] dataInfos = new DataInfo[faults.size()];
|
|
|
for (int i = 0; i < faults.size(); i++){
|
|
@@ -169,7 +173,7 @@ public class TrainFaultPredictController {
|
|
|
private void execute() {
|
|
|
|
|
|
fileName = dataDiagnoseService.getFormDataAll(executeInfo);
|
|
|
- cmdFaultPredictService.exec();
|
|
|
+// cmdFaultPredictService.exec();
|
|
|
|
|
|
}
|
|
|
|
|
@@ -180,7 +184,7 @@ public class TrainFaultPredictController {
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- @GetMapping("/trainfaultdata")
|
|
|
+ @GetMapping("/traindata")
|
|
|
public JSONObject getData() {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("info", this.executeInfo);
|
|
@@ -230,7 +234,7 @@ public class TrainFaultPredictController {
|
|
|
* flag ture: 所有数据 ;false: 前10条数据
|
|
|
* **/
|
|
|
@PostMapping("/pointfaultdata")
|
|
|
- public JSONObject getWarningData(@RequestBody JSONObject json){
|
|
|
+ public JSONObject getWarningData(@RequestBody JSONObject json) {
|
|
|
if (json == null)
|
|
|
return JsonResult.error(ResultCode.PARAM_IS_BLANK);
|
|
|
|
|
@@ -245,7 +249,7 @@ public class TrainFaultPredictController {
|
|
|
executeInfo = new ExecuteInfo();
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
DataInfo[] dataInfos = new DataInfo[faults.size()];
|
|
|
- for (int i = 0; i < faults.size(); i++){
|
|
|
+ for (int i = 0; i < faults.size(); i++) {
|
|
|
DataInfo data = new DataInfo();
|
|
|
data.setId(Long.valueOf(faults.get(i).getId()));
|
|
|
data.setStationId(faults.get(i).getStationen());
|
|
@@ -262,7 +266,7 @@ public class TrainFaultPredictController {
|
|
|
dataInfos[i] = data;
|
|
|
}
|
|
|
executeInfo.setDataInfos(dataInfos);
|
|
|
- if (flag){
|
|
|
+ if (flag) {
|
|
|
if (!cmdFaultPredictService.isComplete()) {
|
|
|
return JsonResult.error(4000, "已有正在预测的故障模型...");
|
|
|
}
|
|
@@ -270,12 +274,48 @@ public class TrainFaultPredictController {
|
|
|
taskExecutor.submit(this::execute);
|
|
|
}
|
|
|
return JsonResult.success(ResultCode.SUCCESS);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
Map<String, Object> mp = dataDiagnoseService.getFormData(executeInfo);
|
|
|
return JsonResult.successData(ResultCode.SUCCESS, mp);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 生产控制台信息
|
|
|
+ * @param trainInfo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/addtrainInfo")
|
|
|
+ public JSONObject addProducer(@RequestBody String trainInfo) {
|
|
|
+
|
|
|
+ try {
|
|
|
+ TrainInfo t = JSONObject.parseObject(trainInfo, TrainInfo.class);
|
|
|
+ cmdFaultPredictService.produce(t);
|
|
|
+
|
|
|
+ return JsonResult.success(ResultCode.SUCCESS);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return JsonResult.error(ResultCode.ERROR);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 消费控制台信息
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/gettrainInfo")
|
|
|
+ @ResponseBody
|
|
|
+ public JSONObject getConsume() {
|
|
|
+ try {
|
|
|
+ List<TrainInfo> list = cmdFaultPredictService.consume();
|
|
|
+ System.out.println(JsonResult.successData(ResultCode.SUCCESS, list));
|
|
|
+ return JsonResult.successData(ResultCode.SUCCESS, list);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return JsonResult.error(ResultCode.ERROR);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
}
|