TestController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package com.fdkankan.fusion.controller;
  2. import cn.hutool.http.HttpUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.deepoove.poi.XWPFTemplate;
  5. import com.dtflys.forest.annotation.Post;
  6. import com.fdkankan.fusion.common.ResultCode;
  7. import com.fdkankan.fusion.common.ResultData;
  8. import com.fdkankan.fusion.common.util.ShellUtil;
  9. import com.fdkankan.fusion.entity.*;
  10. import com.fdkankan.fusion.exception.BusinessException;
  11. import com.fdkankan.fusion.service.*;
  12. import com.fdkankan.redis.util.RedisUtil;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.apache.ibatis.annotations.Case;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.*;
  17. import sun.java2d.pipe.SpanIterator;
  18. import javax.servlet.http.HttpServletRequest;
  19. import javax.servlet.http.HttpServletResponse;
  20. import javax.xml.transform.Result;
  21. import java.io.IOException;
  22. import java.io.InputStream;
  23. import java.io.OutputStream;
  24. import java.util.List;
  25. import java.util.concurrent.ThreadPoolExecutor;
  26. @RestController
  27. @RequestMapping("/test")
  28. public class TestController {
  29. @Autowired
  30. RedisUtil redisUtil;
  31. @Autowired
  32. IFusionMeterService meterService;
  33. @Autowired
  34. ITmProjectService tmProjectService;
  35. @Autowired
  36. ITmUserService tmUserService;
  37. @Autowired
  38. ICaseService caseService;
  39. @Autowired
  40. ICaseNumService caseNumService;
  41. @RequestMapping("/test")
  42. public ResultData test(){
  43. //String cmd = "docker exec -d 3dtile /bin/bash -c '/mnt/fusion/3dtile.sh -f osgb -i /mnt/fusion/osgb/modelId_576/OSGB -o /mnt/fusion/b3dm/modelId_576/OSGB'";
  44. String cmd = "sudo docker run --rm -v /mnt/fusion:/mnt/fusion 3dtile:v2 /mnt/fusion/3dtile.sh -f osgb -i /mnt/fusion/osgb/modelId_576/OSGB -o /mnt/fusion/b3dm/modelId_576/OSGB";
  45. ShellUtil.execCmd(cmd);
  46. return ResultData.ok();
  47. }
  48. @RequestMapping("/projectAddCase")
  49. public ResultData projectAddCase(){
  50. List<TmProject> list = tmProjectService.list();
  51. for (TmProject project : list) {
  52. LambdaQueryWrapper<CaseEntity> wrapper = new LambdaQueryWrapper<>();
  53. wrapper.eq(CaseEntity::getTmProjectId,project.getId());
  54. CaseEntity caseEntity = caseService.getOne(wrapper);
  55. if(caseEntity == null){
  56. caseEntity = new CaseEntity();
  57. caseEntity.setCaseTitle(project.getProjectName());
  58. caseEntity.setType(1);
  59. caseEntity.setTmProjectId(project.getId());
  60. caseService.save(caseEntity);
  61. }
  62. if(StringUtils.isNotBlank(project.getSceneNum())){
  63. CaseNumEntity caseNumEntity = new CaseNumEntity();
  64. caseNumEntity.setCaseId(caseEntity.getCaseId());
  65. caseNumEntity.setNumType(null);
  66. caseNumEntity.setNum(project.getSceneNum());
  67. if(project.getSceneNum().contains("KK-")){
  68. caseNumEntity.setNumType(0);
  69. }
  70. if(project.getSceneNum().contains("KJ-")){
  71. caseNumEntity.setNumType(1);
  72. }
  73. caseNumService.save(caseNumEntity);
  74. }
  75. }
  76. return ResultData.ok();
  77. }
  78. @Autowired
  79. IModelService modelService;
  80. @GetMapping("/updateModelDeptId")
  81. public ResultData updateModelDeptId(){
  82. List<Model> list = modelService.list();
  83. for (Model model : list) {
  84. if(model.getType() == 3){
  85. TmUser byUserName = tmUserService.getByUserName(model.getUserName());
  86. model.setDeptId(byUserName.getDeptId());
  87. modelService.updateById(model);
  88. }
  89. }
  90. return ResultData.ok();
  91. }
  92. @GetMapping("/updateCaseDeptId")
  93. public ResultData updateCaseDeptId(){
  94. List<CaseEntity> list = caseService.list();
  95. for (CaseEntity casee : list) {
  96. if(casee.getType() == 0){
  97. TmUser byUserName = tmUserService.getByUserName(casee.getUserName());
  98. casee.setDeptId(byUserName.getDeptId());
  99. caseService.updateById(casee);
  100. }
  101. }
  102. return ResultData.ok();
  103. }
  104. @Autowired
  105. ICaseInquestService caseInquestService;
  106. @GetMapping("/downDocx")
  107. public void downDocx(@RequestParam(required = false) Integer caseId,
  108. HttpServletResponse res, HttpServletRequest req) throws IOException {
  109. if(caseId == null){
  110. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  111. }
  112. CaseInquest caseInquest = caseInquestService.getByCaseId(caseId);
  113. if(caseInquest == null){
  114. throw new BusinessException(ResultCode.INQUEST_ERROR);
  115. }
  116. OutputStream os = res.getOutputStream();
  117. InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("template/inquest-template.docx");
  118. // 渲染模板
  119. XWPFTemplate template = XWPFTemplate.compile(inputStream).render(caseInquest);
  120. template.writeAndClose(os);
  121. }
  122. }