在线编辑日志记录 测试

This commit is contained in:
gaojiabao
2023-05-18 15:37:31 +08:00
parent df32258aa4
commit aeb34d7c9d
14 changed files with 464 additions and 158 deletions
@@ -4,6 +4,7 @@ import com.adc.da.common.*;
import com.adc.da.common.Category;
import com.adc.da.common.Page;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.OnlineFileLog.entity.OnlineFileLog;
import com.adc.da.slrs.sarBussionessStandState.entity.SarBussionessStandState;
import com.adc.da.workFlow.entity.BusProcessEvaluationHis;
import com.adc.da.workFlow.entity.BusProcessModelHis;
@@ -14,8 +15,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -487,7 +486,7 @@ public interface workFlowFeignClient {
@RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectAskId",method = RequestMethod.GET)
String selectAskId(@RequestParam("taskId") String taskId);
@RequestMapping(value = "/bat-wkflow/busProcessModel/selectOnlineFile",method = RequestMethod.POST)
List<BusProcessModelHis> selectOnlineFile(@RequestParam("taskId") String taskId);
OnlineFileLog selectOnlineFile(@RequestParam("onlineFileId") String onlineFileId);
@RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectWenDan",method = RequestMethod.GET)
Map<String, Object> selectWenDan(@RequestParam("taskId")String taskId);
@@ -6,6 +6,7 @@ import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.common.*;
import com.adc.da.common.Page;
import com.adc.da.slrs.OnlineFileLog.entity.OnlineFileLog;
import com.adc.da.slrs.sarBussionessStandState.entity.SarBussionessStandState;
import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.service.IUserEOService;
@@ -15,12 +16,8 @@ import com.adc.da.workFlow.entity.ProcessRollBackEO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
@@ -436,8 +433,8 @@ public class workFlowFeignClientImpl {
return workFlowFeignClient.selectAskId(taskId);
}
public List<BusProcessModelHis> selectOnlineFile(@RequestParam("taskId") String taskId) {
return workFlowFeignClient.selectOnlineFile(taskId);
public OnlineFileLog selectOnlineFile(@RequestParam("onlineFileId") String onlineFileId) {
return workFlowFeignClient.selectOnlineFile(onlineFileId);
}
public Map<String, Object> selectWenDan(@RequestParam("taskId") String taskId) {
@@ -6,9 +6,10 @@ import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.hutool.core.lang.UUID;
import com.adc.da.FeignClientImpl.workFlowFeignClientImpl;
import com.adc.da.Timer.ProcessTimer;
import com.adc.da.att.dao.AttFileEODao;
import com.adc.da.att.entity.AttFileEO;
import com.adc.da.att.service.impl.AttFileEOServiceImpl;
import com.adc.da.base.page.Pager;
import com.adc.da.att.vo.AttFileVo;
import com.adc.da.base.web.BaseController;
import com.adc.da.common.*;
import com.adc.da.exception.AdcDaBaseException;
@@ -17,6 +18,8 @@ import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.common.Page;
import com.adc.da.login.util.JwtUtils;
import com.adc.da.slrs.OnlineFileLog.dao.OnlineFileLogDao;
import com.adc.da.slrs.OnlineFileLog.entity.OnlineFileLog;
import com.adc.da.slrs.StandardQA.service.Impl.SarAgenldAcceptButtonServiceImpl;
import com.adc.da.slrs.esRevisePlan.dao.EsRevisePlanDao;
import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlan;
@@ -122,6 +125,15 @@ public class WorkFlowController extends BaseController {
@Autowired
private ISarBussionessStandStateService bussionessStandStateService;
@Autowired
private OnlineFileLogDao onlineFileLogDao;
@Autowired
private AttFileEODao attFileEODao;
@Value("${elasticsearch.img}")
private String pathHttp;
// @Autowired
// private ExportExcelMapper exportExcelMapper;
@@ -1029,8 +1041,101 @@ public class WorkFlowController extends BaseController {
@ApiOperation(value = "查找在线编辑文件")
@GetMapping("/selectOnlineFile")
public List<BusProcessModelHis> selectOnlineFile(@RequestParam("taskId") String taskId) {
return workFlowFeignClient.selectOnlineFile(taskId);
public ResponseMessage selectOnlineFile(@RequestParam("onlineFileId") String onlineFileId) {
String path = standEditFilePath+"/hisFile/";
File file = null;
FileOutputStream fileOutputStream = null;
BufferedOutputStream bufferedOutputStream = null;
//下载位置
OnlineFileLog onlineFileLog = workFlowFeignClient.selectOnlineFile(onlineFileId);
long time = new Date().getTime();
if(onlineFileLog == null){
return Result.error();
}
try {
file = new File(path+onlineFileLog.getOLdFileName());
boolean directory = file.isDirectory();
//目录是否存在
if(!directory){
file.mkdirs();
}
//file = new File(path+"/",onlineFileLog.getOLdFileName()+time+"."+onlineFileLog.getFileSuffix());
file = new File(path+"/"+onlineFileLog.getOLdFileName(),time+"."+onlineFileLog.getFileSuffix());
fileOutputStream = new FileOutputStream(file);
bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
fileOutputStream.write(onlineFileLog.getBytes());
fileOutputStream.close();
//把文件下载到本地 然后获得文件的名称 通过文件名称 调用 filesave接口 获取id 进行日志存入
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(bufferedOutputStream!=null){
bufferedOutputStream.close();
}
if(fileOutputStream!=null){
fileOutputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
//把文件放置到本地
AttFileVo attFileVo = attFileEOService.saveFileInfo(file);
//储存文件 一个文件夹 储存十个
if(attFileVo!=null) {
// 更新文件名称 用于显示
AttFileEO attFileEO = new AttFileEO();
attFileEO.setId(attFileVo.getId());
attFileEO.setOldFileName(onlineFileLog.getOLdFileName()+"."+onlineFileLog.getFileSuffix());
attFileEODao.updateFileInfoById(attFileEO);
onlineFileLog.setAttFileId(attFileVo.getId());
onlineFileLog.setUpdateTime(new Date());
onlineFileLog.setCreateTime(new Date());
onlineFileLog.setFileName(String.valueOf(time));
onlineFileLog.setValidFlag("0");
onlineFileLogDao.insert(onlineFileLog);
//存储完成以后 去查询是否是最近的是个文件 如果是 则 如果不是则
File deleteFile = new File(path + onlineFileLog.getOLdFileName());
File[] files = deleteFile.listFiles();
// 如果大于十个 删除最早的版本
int count = 0;
for (File fileData: files){
if(fileData.isFile()){
count = count+1;
}
}
if(count>10){
QueryWrapper<OnlineFileLog> onlineFileLogQueryWrapperHis = new QueryWrapper<>();
onlineFileLogQueryWrapperHis.eq("HIS_ID",onlineFileId);
onlineFileLogQueryWrapperHis.eq("VALID_FLAG","0");
onlineFileLogQueryWrapperHis.orderByAsc("CREATE_TIME");
List<OnlineFileLog> onlineFileLogs = onlineFileLogDao.selectList(onlineFileLogQueryWrapperHis);
//建立删除
File deleteFileInfo = new File(path + onlineFileLog.getOLdFileName()+"/",onlineFileLogs.get(0).getFileName()+"."+onlineFileLogs.get(0).getFileSuffix());
if(deleteFileInfo.delete()){
QueryWrapper<OnlineFileLog> onlineFileLogQueryWrapper = new QueryWrapper<>();
onlineFileLogQueryWrapper.eq("FILE_NAME",onlineFileLogs.get(0).getFileName());
OnlineFileLog onlineFileLogIsNot = onlineFileLogDao.selectOne(onlineFileLogQueryWrapper);
if(onlineFileLogIsNot!=null){
//删除此处有关的数据
AttFileEO fileInfo = attFileEOService.getFileInfo(onlineFileLogIsNot.getAttFileId());
if(fileInfo!=null){
File fileAtt = new File(standEditFilePath+fileInfo.getFilePath()+fileInfo.getFileName());
if(fileAtt.delete()){
attFileEOService.deleteById(onlineFileLogIsNot.getAttFileId());
onlineFileLogDao.deleteById(onlineFileLogs.get(0).getId());
}
}
}
logger.info("删除成功"+onlineFileLogs.get(0).getId());
}else {
logger.info("删除失败"+onlineFileLogs.get(0).getId());
}
}
}
return Result.success(attFileVo.getId());
}
@ApiOperation(value = "查询问题和回答")