LogController.kt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.persagy.revit.controllers
  2. import com.persagy.revit.models.excel.IsPassedEnum
  3. import com.persagy.revit.models.excel.PreciseCellValue
  4. import com.persagy.revit.models.excel.nonBlockingReport.EquipNameCodeReport
  5. import com.persagy.revit.services.BaseDataService
  6. import com.persagy.revit.services.excel.ExcelService
  7. import com.persagy.service.utils.SSpringContextUtil
  8. import io.swagger.v3.oas.annotations.tags.Tag
  9. import io.swagger.v3.oas.annotations.Operation
  10. import org.slf4j.LoggerFactory
  11. import org.springframework.web.bind.annotation.PostMapping
  12. import org.springframework.web.bind.annotation.RequestBody
  13. import org.springframework.web.bind.annotation.RequestMapping
  14. import org.springframework.web.bind.annotation.RestController
  15. import javax.servlet.http.HttpServletResponse
  16. /**
  17. *
  18. *
  19. * @author jxing
  20. */
  21. @Tag(name = "楼层模型接口")
  22. @RestController
  23. @RequestMapping("/log")
  24. class LogController {
  25. companion object {
  26. // 日志
  27. private val logger = LoggerFactory.getLogger(LogController::class.java)
  28. } // Companion object
  29. val dataService = BaseDataService
  30. /**
  31. * 获取检查建筑文件夹下的楼层的日志(excel)
  32. *
  33. * @param response 返回结果 excel
  34. * @param buildingCheckRequest 请求建筑文件夹id
  35. * @return 创建结果应答信息
  36. */
  37. @Operation(summary = "检查建筑文件夹下的楼层", description = "")
  38. @PostMapping(value = ["/building-check/excel"])
  39. // fun buildingCheckExcel(response : HttpServletResponse, @RequestBody(required = true) buildingCheckRequest: BuildingCheckRequest) : SBaseResponse{
  40. fun buildingCheckExcel(response : HttpServletResponse, @RequestBody(required = true) buildingCheckRequest: PreciseCellValue){
  41. try {
  42. // val excelService = SSpringContextUtil.getBean("excelService") as ExcelService
  43. val excelService = SSpringContextUtil.getBean(ExcelService::class.java) as ExcelService
  44. excelService.readBlockingExcel2007()
  45. var report = EquipNameCodeReport()
  46. for(i in 0..99 step 1) {
  47. var row = EquipNameCodeReport.Data()
  48. row.floorName = "F${i}"
  49. row.isPassed = IsPassedEnum.Pass
  50. row.familyName = "Name $i"
  51. row.note = "aaa"
  52. report.rowValue.add(row)
  53. }
  54. excelService.insertReport(report)
  55. response.contentType = "application/vnd.ms-excel;charset=utf-8"
  56. response.setHeader("Content-disposition", "attachment;filename=aaa.xlsx")
  57. val outputStream = response.outputStream
  58. excelService.workBook!!.write(response.outputStream)
  59. excelService.workBook!!.close()
  60. response.flushBuffer()
  61. outputStream.flush()
  62. outputStream.close()
  63. } catch (e : Exception) {
  64. println(e.toString())
  65. response.contentType = "application/json;charset=utf-8"
  66. // response.setHeader("Content-disposition", null)
  67. response.flushBuffer()
  68. // excelService.randomWrite(0, buildingCheckRequest)
  69. val outputStream = response.outputStream
  70. outputStream.write("{\"a\":\"fff\"}".toByteArray())
  71. outputStream.flush()
  72. outputStream.close()
  73. }
  74. } // Function buildingCheckExcel()
  75. }