diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java index fb8f1e18..c7ce232b 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java @@ -53,7 +53,7 @@ public class BusProcessModelHisController { @ApiOperation(value = "|onlyOffice接收文件") @PostMapping("/recieveFile") - public void recieveFile(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String pid, String taskId){ + public void recieveFile(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String fileId){ logger.info("**********进入onlyoffice接收文档接口************"); try { PrintWriter writer = response.getWriter(); @@ -77,6 +77,70 @@ public class BusProcessModelHisController { logger.info("**********onlyoffice接收文档接口获得结果body************" + body); int status = (Integer) jsonObj.get("status"); + int saved = 0; + if (status == 2 || status == 3)//MustSave, Corrupted + { + String downloadUri = (String) jsonObj.get("url"); + + try { + logger.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri); + if (StringUtils.isNotEmpty(downloadUri)) { + StringBuilder builder=new StringBuilder(); + builder.append(standEditFilePath); + builder.append(standNo).append("/"); + builder.append(fileNm); + String saveFileUrl = builder.toString(); + File file = new File(saveFileUrl); + downloadNetFile(downloadUri, file); + // 更新在线编辑当前节点编辑状态 + busProcessModelHisService.modelHisOneUpdStatusById(fileId); + } + } catch (Exception ex) { + saved = 1; + logger.info("**********onlyoffice接收文档接口异常************" + ex.getMessage()); + logger.error(ex.getMessage(),ex); + } + } else if (status == 4) { + logger.info("**********onlyoffice接收文档接口开始修改文件状态状态4************"); + + logger.info("**********onlyoffice接收文档接口修改文件状态成功状态4************"); + } + logger.info("onlyoffice编辑完成--------------"); + writer.write("{\"error\":" + saved + "}"); + + } catch (IOException e) { + logger.info("**********onlyoffice接收文档接口异常************" + e.getMessage()); + logger.error(e.getMessage(),e); + return; + } + } + + @ApiOperation(value = "|onlyOffice接收文件") + @PostMapping("/recieveFileBefore") + public void recieveFileBefore(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String pid, String taskId){ + logger.info("**********进入onlyoffice接收文档接口************"); + try { + PrintWriter writer = response.getWriter(); + String body = ""; + try { + Scanner scanner = new Scanner(request.getInputStream()); + scanner.useDelimiter("\\A"); + body = scanner.hasNext() ? scanner.next() : ""; + scanner.close(); + } catch (Exception ex) { + writer.write("get request.getInputStream error:" + ex.getMessage()); + return; + } + + if (body.isEmpty()) { + writer.write("empty request.getInputStream"); + return; + } + + net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(body); + logger.info("**********onlyoffice接收文档接口获得结果body************" + body); + int status = (Integer) jsonObj.get("status"); + int saved = 0; if (status == 2 || status == 3)//MustSave, Corrupted { @@ -139,9 +203,10 @@ public class BusProcessModelHisController { return modelHisOne; } + @ApiOperation(value = "|model| 传入 模板文档名称(不带后缀)默认 docx") @GetMapping("/saveEditFile") - public BusProcessModelHis saveEditFile() { - return busProcessModelHisService.saveEditFile(); + public BusProcessModelHis saveEditFile(String model) { + return busProcessModelHisService.saveEditFile(model); } @GetMapping("/processModelHisOneUpdStatus") diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java index 01b9c20f..2d83050d 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java @@ -17,6 +17,8 @@ import java.util.List; */ public interface IBusProcessModelHisService extends IService { + BusProcessModelHis modelHisOneUpdStatusById(String id); + BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId); BusProcessModelHis modelHisOneCount(String pid); @@ -25,7 +27,7 @@ public interface IBusProcessModelHisService extends IService BusProcessModelHis modelHisOne(String pid,String taskId); - BusProcessModelHis saveEditFile(); + BusProcessModelHis saveEditFile(String model); List modelHisList(String pid); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java index 8fc04b8d..200e9d04 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java @@ -49,7 +49,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl