Merge branch 'develop' into FOTON

This commit is contained in:
super_liu
2021-12-17 17:14:58 +08:00
3 changed files with 97 additions and 3 deletions
@@ -5,12 +5,24 @@ import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Scanner;
/**
* <p>
@@ -24,9 +36,91 @@ import java.util.List;
@RequestMapping("/busProcessModel")
public class BusProcessModelHisController {
private static final Logger logger = LoggerFactory.getLogger(BusProcessModelHisController.class);
@Value("${buss.edit.file.path}")
private String standEditFilePath;//文件存储路径
@Autowired
private IBusProcessModelHisService busProcessModelHisService;
@ApiOperation(value = "|onlyOffice接收文件")
@PostMapping("/recieveFile")
public void recieveFile(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
{
String downloadUri = (String) jsonObj.get("url");
try {
logger.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri);
if (StringUtils.isNotEmpty(downloadUri)) {
File file = new File(standEditFilePath + standNo + "\\" + fileNm);
downloadNetFile(downloadUri, file);
// 更新在线编辑当前节点编辑状态
busProcessModelHisService.modelHisOneUpdStatus(pid,taskId);
}
} 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;
}
}
public void downloadNetFile(String downloadUrl, File file) {
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
URL url = new URL(downloadUrl);
URLConnection connection = url.openConnection();
InputStream inputStream = connection.getInputStream();
int length = 0;
byte[] bytes = new byte[1024];
while ((length = inputStream.read(bytes)) != -1) {
fileOutputStream.write(bytes, 0, length);
}
fileOutputStream.close();
inputStream.close();
} catch (IOException e) {
logger.error("download error ! url :{}, exception:{}", downloadUrl, e);
}
}
@GetMapping("/processModelHisOneUpdStatus")
public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId) {
BusProcessModelHis modelHisOne = busProcessModelHisService.modelHisOneUpdStatus(pid,taskId);
@@ -492,6 +492,7 @@ public class PoiWord {
XWPFParagraph breakParagraph2 = doc.createParagraph();
breakParagraph2.setAlignment(ParagraphAlignment.CENTER);
breakParagraph2.setPageBreak(true);
XWPFRun breakParagraphRun2 = breakParagraph2.createRun();
breakParagraphRun1.setText(object.getString("standEnName") == null ? "" : object.getString("standEnName"));
@@ -513,7 +514,6 @@ public class PoiWord {
contentParagraphRun1.setFontSize(16);
contentParagraphRun1.setFontFamily("黑体");
contentParagraphRun1.addCarriageReturn();
contentParagraph1.setPageBreak(true);
doc.write(out);
out.close();
@@ -52,7 +52,7 @@ public class ProcessStep4After implements TaskListener {
lawsUserInfoService.delPlan(object.getString("esId1")+","+object.getString("esId2"));
EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO();
esRevisePlanDTO.setEsName(object.getString("esName"));
esRevisePlanDTO.setUnit(object.getString("unit"));
esRevisePlanDTO.setUnit(object.getString("unitId"));
esRevisePlanDTO.setDrafter(object.getString("drafter"));
esRevisePlanDTO.setResPerson(object.getString("resPerson"));
esRevisePlanDTO.setPlanStatus(object.getString("planStatus"));
@@ -78,7 +78,7 @@ public class ProcessStep4After implements TaskListener {
//立项
EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO();
esRevisePlanDTO.setEsName(object.getString("esName"));
esRevisePlanDTO.setUnit(object.getString("unit"));
esRevisePlanDTO.setUnit(object.getString("unitId"));
esRevisePlanDTO.setDrafter(object.getString("drafter"));
esRevisePlanDTO.setResPerson(object.getString("resPerson"));
esRevisePlanDTO.setPlanStatus(object.getString("planStatus"));