| | |
| | | import java.io.File |
| | | import java.io.FileInputStream |
| | | import java.io.FileOutputStream |
| | | import java.io.OutputStream |
| | | import java.net.URLEncoder |
| | | import java.nio.charset.Charset |
| | | import java.nio.charset.StandardCharsets |
| | | import java.util.* |
| | | import javax.servlet.http.HttpServletResponse |
| | |
| | | t?.toFile("target/") |
| | | } |
| | | |
| | | override fun getExcel(config: ExcelConfigVo, response: HttpServletResponse): HttpServletResponse { |
| | | override fun getExcel(config: ExcelConfigVo, response: HttpServletResponse): Boolean { |
| | | val dbMapper = DbMapper( |
| | | scenseMapper, |
| | | problemlistMapper, |
| | | problemtypeMapper, |
| | | subtaskMapper, |
| | | monitorobjectversionMapper, |
| | | sceneConstructionSiteMapper, |
| | | sceneMixingPlantMapper, |
| | | sceneStorageYardMapper, |
| | | sceneWharfMapper, |
| | | taskMapper, |
| | | evaluationruleMapper, evaluationsubruleMapper, evaluationMapper, itemevaluationMapper, |
| | | ledgerSubTypeMapper, ledgerRecordMapper, userinfoMapper, userMapMapper, townMapper |
| | | ) |
| | | val dataSource = DataSource(config, dbMapper) |
| | | val t = when (config.mode) { |
| | | 1 -> ReportOne(dataSource) |
| | | 2 -> ReportTwo(dataSource) |
| | | 3 -> ReportThree(dataSource) |
| | | |
| | | val fileName = "${dateUtil.DateToString(Date(), "yyyy-MM-dd hh:mm:ss")}.xls" |
| | | else -> ReportOne(dataSource) |
| | | } |
| | | val fileName = t.getReportName() |
| | | val fName = URLEncoder.encode(fileName, "UTF-8") |
| | | response.apply { |
| | | setHeader("Content-Disposition", "attachment;filename=$fileName") |
| | | setHeader("fileName", fileName) |
| | | setHeader("Content-Disposition", "attachment;filename=$fName") |
| | | setHeader("fileName", fName) |
| | | addHeader("Access-Control-Expose-Headers", "fileName") |
| | | contentType = "application/vnd.ms-excel;charset=UTF-8" |
| | | setHeader("Pragma", "no-cache") |
| | | setHeader("Cache-Control", "no-cache") |
| | | setDateHeader("Expires", 0) |
| | | } |
| | | |
| | | // val heads = getTableTitles(config.sceneType, config.districtCode) |
| | | // val contents = getTableContents(config, heads.size) |
| | | val r = getTable(1, config) |
| | | val out = response.outputStream |
| | | ExcelUtil.write2(out, r.first, r.second) |
| | | val p = Constant.DEFAULT_FILE_PATH + "/files/autoscore/" |
| | | val file = File(p + fileName) |
| | | if (config.forceUpdate || !file.exists()) { |
| | | t.toFile(p) |
| | | } |
| | | response.outputStream.write(file.readBytes()) |
| | | |
| | | return response |
| | | return true |
| | | } |
| | | |
| | | override fun getSubTaskDetail(config: ExcelConfigVo): SubTaskTableVo { |