|
|
|
|
@ -1,10 +1,8 @@
|
|
|
|
|
package com.da.dangan.controller;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
|
|
import com.da.common.config.RuoYiConfig;
|
|
|
|
|
import com.da.common.core.controller.BaseController;
|
|
|
|
|
import com.da.common.core.domain.AjaxResult;
|
|
|
|
|
import com.da.common.utils.DictUtils;
|
|
|
|
|
import com.da.common.utils.file.FileUploadUtils;
|
|
|
|
|
import com.da.common.utils.file.FileUtils;
|
|
|
|
|
import com.da.dangan.domain.DaPicturesRecard;
|
|
|
|
|
@ -29,7 +27,6 @@ import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.concurrent.Executor;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 档案采集Controller
|
|
|
|
|
@ -177,7 +174,7 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
/**
|
|
|
|
|
* 创建识别任务
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/recongnize")
|
|
|
|
|
/*@PostMapping("/recongnize")
|
|
|
|
|
public AjaxResult recognize(@RequestBody List<DaPicturesRecard> picRecards) {
|
|
|
|
|
try {
|
|
|
|
|
//获取字典第三方任务最大数量
|
|
|
|
|
@ -207,7 +204,7 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
daTask.setNum(picRecards.size());
|
|
|
|
|
daTask.setStatus("-1");//默认等待状态 接收成功后修改为1
|
|
|
|
|
daTask.setPicIds(StringUtils.join(ids, ","));//逗号分割);
|
|
|
|
|
daTask.setUpdateTime(new Date());//等待队列order by 字段
|
|
|
|
|
daTask.setUpdateTime(new Date());//开始等待时间,等待队列order by 字段
|
|
|
|
|
daTaskService.insertDaTask(daTask);
|
|
|
|
|
|
|
|
|
|
//获取识别中的任务
|
|
|
|
|
@ -216,22 +213,28 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
List<DaTask> daTasks = daTaskService.selectDaTaskListByStatus(param);
|
|
|
|
|
//获取等待任务
|
|
|
|
|
DaTask waitTask = new DaTask();
|
|
|
|
|
waitTask.setStatus("-1"); //处理中
|
|
|
|
|
waitTask.setStatus("-1"); //等待中
|
|
|
|
|
List<DaTask> waitTasks = daTaskService.selectDaTaskListByStatus(waitTask);
|
|
|
|
|
if ((waitTasks != null && waitTasks.size() > 0)||(daTasks != null && daTasks.size() >= maxTask)){
|
|
|
|
|
//上面默认创建了一个等待中的任务
|
|
|
|
|
if ((waitTasks != null && waitTasks.size() > 1)||(daTasks != null && daTasks.size() >= maxTask)){
|
|
|
|
|
return AjaxResult.success("任务进入等待队列");
|
|
|
|
|
} else {
|
|
|
|
|
//识别中任务<10,调用第三方接口
|
|
|
|
|
Long start = System.currentTimeMillis();
|
|
|
|
|
String result = CallThirdInterface.callThirdInterfaceUpload(url1, files, ywType, ids, daTask.getId());
|
|
|
|
|
Long end = System.currentTimeMillis();
|
|
|
|
|
//! 解析JSON字符串,获取键对应的值
|
|
|
|
|
JSONObject jsonobject = new JSONObject(result);
|
|
|
|
|
code = jsonobject.getStr("code");
|
|
|
|
|
msg = jsonobject.getStr("msg");
|
|
|
|
|
//如果code=0 任务接收失败,code=1成功
|
|
|
|
|
if (code != null && code.equals("1")) {
|
|
|
|
|
//上传任务所用时长(毫秒)
|
|
|
|
|
daTask.setUpDuration(end-start);
|
|
|
|
|
if (code != null && code.equals("1")) { //如果code=0 任务接收失败,code=1成功
|
|
|
|
|
daTask.setStatus("1"); //识别中
|
|
|
|
|
daTask.setUpdateTime(new Date()); //设置updateTime 因定时任务判断任务超时使用updatetime
|
|
|
|
|
daTask.setSbStart(new Date()); //设置识别开始时间 因定时任务判断任务超时使用
|
|
|
|
|
daTask.setSbEnd(null);//清空识别结束时间
|
|
|
|
|
daTaskService.updateDaTask(daTask);
|
|
|
|
|
return AjaxResult.success("任务接收成功");
|
|
|
|
|
} else {
|
|
|
|
|
daTask.setStatus("0");
|
|
|
|
|
daTask.setRemark(msg);
|
|
|
|
|
@ -247,13 +250,12 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
return AjaxResult.error(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return AjaxResult.success("任务接收成功");
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 创建识别任务
|
|
|
|
|
*/
|
|
|
|
|
/*@PostMapping("/recongnize")
|
|
|
|
|
@PostMapping("/recongnize")
|
|
|
|
|
public AjaxResult recognize(@RequestBody List<DaPicturesRecard> picRecards) {
|
|
|
|
|
//取所有id的集合 stream()有顺序
|
|
|
|
|
try {
|
|
|
|
|
@ -267,6 +269,7 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
DaTask daTask = new DaTask();
|
|
|
|
|
daTask.setCreateBy(getUsername());
|
|
|
|
|
daTask.setCreateTime(new Date());
|
|
|
|
|
daTask.setUpdateTime(new Date());//等待开始时间
|
|
|
|
|
daTask.setMuId(muId);
|
|
|
|
|
daTask.setMuPath(muPath);
|
|
|
|
|
daTask.setYwType(ywType);
|
|
|
|
|
@ -282,12 +285,12 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
return AjaxResult.error(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return AjaxResult.success("任务创建成功");
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 任务重新识别
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/reRecongnize")
|
|
|
|
|
/* @PostMapping("/reRecongnize")
|
|
|
|
|
public AjaxResult reRecongnize(Long taskId) {
|
|
|
|
|
try {
|
|
|
|
|
//获取字典第三方任务最大数量
|
|
|
|
|
@ -333,19 +336,20 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
daTaskService.updateDaTask(daTask);
|
|
|
|
|
return AjaxResult.success("任务进入等待队列");
|
|
|
|
|
}else {//识别中任务<10
|
|
|
|
|
//调用第三方接口 先清数据
|
|
|
|
|
CallThirdInterface.callThirdInterfaceClearByTaskId(url4, taskId);
|
|
|
|
|
Long start = System.currentTimeMillis();
|
|
|
|
|
String result = CallThirdInterface.callThirdInterfaceUpload(url1, files, daTask.getYwType(), ids, taskId);
|
|
|
|
|
Long end = System.currentTimeMillis();
|
|
|
|
|
//! 解析JSON字符串,获取键对应的值
|
|
|
|
|
JSONObject jsonobject = new JSONObject(result);
|
|
|
|
|
code = jsonobject.getStr("code");
|
|
|
|
|
msg = jsonobject.getStr("msg");
|
|
|
|
|
|
|
|
|
|
//记录最后一次识别的操作时间
|
|
|
|
|
daTask.setUpdateTime(new Date());
|
|
|
|
|
daTask.setUpDuration(end-start);//上传时长
|
|
|
|
|
if (code != null && code.equals("1")) { //code=0 任务接收失败,code=1成功
|
|
|
|
|
daTask.setStatus("1"); //识别中
|
|
|
|
|
daTask.setLastNum(picRecards.size());
|
|
|
|
|
daTask.setSbStart(new Date());//开始识别时间
|
|
|
|
|
daTask.setSbEnd(null);//清空识别结束时间
|
|
|
|
|
daTaskService.updateDaTask(daTask);
|
|
|
|
|
} else {
|
|
|
|
|
daTask.setStatus("0");
|
|
|
|
|
@ -360,26 +364,26 @@ public class DangAnCollectController extends BaseController {
|
|
|
|
|
return AjaxResult.error(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return AjaxResult.success("任务接收成功");
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 任务重新识别
|
|
|
|
|
*/
|
|
|
|
|
/*@PostMapping("/reRecongnize")
|
|
|
|
|
@PostMapping("/reRecongnize")
|
|
|
|
|
public AjaxResult reRecongnize(Long taskId) {
|
|
|
|
|
try {
|
|
|
|
|
DaTask daTask = daTaskService.selectDaTaskById(taskId);
|
|
|
|
|
// daTask.setCreateBy(getUsername());//存入操作用户
|
|
|
|
|
//修改任务状态
|
|
|
|
|
daTask.setStatus("-1");//默认等待状态
|
|
|
|
|
daTask.setUpdateTime(new Date());//等待开始时间
|
|
|
|
|
daTaskService.updateDaTask(daTask);
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
return AjaxResult.error(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return AjaxResult.success("提交成功");
|
|
|
|
|
}*/
|
|
|
|
|
return AjaxResult.success("任务提交成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 调用ocr识别接口——上传图片为一组 (也就是上传N张图片为一组数据)-- 未使用
|
|
|
|
|
|