caiaf 4 anos atrás
pai
commit
3c3a73d07f

+ 19 - 19
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/controllers/modelFile/ModelFileController.kt

@@ -354,24 +354,24 @@ class ModelFileController {
 //        return "上传成功"
 //    }
 
-    /**
-     * 模型文件json数据导入
-     */
-    @ApiOperation(value = "模型文件json数据导入", notes = "")
-    @GetMapping(value = ["/export"])
-    fun export(@RequestParam modelId: String): SBaseResponse {
-        try {
-            var jsonData : BaseObj<AllComponents>?
-
-            val url = CommonService.getExportJSONDownloadUrl(modelId, properties)
-            val fileStream = HttpService.getInputStream(url)
-            // 解析json
-            jsonData = jsonAnalyzerService.analyzeJsonzFile(fileStream)
-            val importResult = jsonAnalyzerService.importModelData(jsonData!!, "")
-            return importResult
-        }catch (e : Exception){
-            return SBaseResponse(SResponseType.failure, e.message?: "")
-        }
-    }
+//    /**
+//     * 模型文件json数据导入
+//     */
+//    @ApiOperation(value = "模型文件json数据导入", notes = "")
+//    @GetMapping(value = ["/import"])
+//    fun import(@RequestParam modelId: String): SBaseResponse {
+//        try {
+//            var jsonData : BaseObj<AllComponents>?
+//
+//            val url = CommonService.getExportJSONDownloadUrl(modelId, properties)
+//            val fileStream = HttpService.getInputStream(url)
+//            // 解析json
+//            jsonData = jsonAnalyzerService.analyzeJsonzFile(fileStream)
+//            val importResult = jsonAnalyzerService.importModelData(jsonData!!, "")
+//            return importResult
+//        }catch (e : Exception){
+//            return SBaseResponse(SResponseType.failure, e.message?: "")
+//        }
+//    }
 
 }

+ 51 - 0
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/services/endpoint/ModelFileService.kt

@@ -1,7 +1,9 @@
 package cn.sagacloud.server.algorithm.services.endpoint
 
+import cn.sagacloud.server.algorithm.backstage.sync.SyncFloor
 import cn.sagacloud.server.algorithm.dao.mapper.FloorMapper
 import cn.sagacloud.server.algorithm.models.config.MyProperties
+import cn.sagacloud.server.algorithm.models.message.MessageType
 import cn.sagacloud.server.algorithm.models.modelFile.FloorModel
 import cn.sagacloud.server.algorithm.models.modelFile.ModelFile
 import cn.sagacloud.server.algorithm.models.request.DeleteFile
@@ -9,16 +11,20 @@ import cn.sagacloud.server.algorithm.models.request.MergeMultipartRequest
 import cn.sagacloud.server.algorithm.models.request.UploadModelRequest
 import cn.sagacloud.server.algorithm.services.BaseDataService
 import cn.sagacloud.server.algorithm.services.CommonService
+import cn.sagacloud.server.algorithm.services.excel.ExcelService
 import cn.sagacloud.server.algorithm.services.http.HttpService
+import cn.sagacloud.server.algorithm.services.monitor.ModelMonitorService
 import com.alibaba.fastjson.JSON
 import com.sybotan.database.SFilter
 import com.sybotan.database.extensions.keyValue
 import com.sybotan.service.SPageContext
 import com.sybotan.service.models.enums.SResponseType
 import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.utils.SSpringContextUtil
 import org.slf4j.LoggerFactory
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Component
+import org.springframework.web.bind.annotation.RequestParam
 import org.springframework.web.multipart.MultipartFile
 import java.util.*
 import java.util.regex.Pattern
@@ -43,6 +49,9 @@ class ModelFileService {
     @Autowired
     lateinit var floorMapper: FloorMapper
 
+    @Autowired
+    lateinit var monitorService: ModelMonitorService
+
     var dataService = BaseDataService
 
 //    /**
@@ -445,4 +454,46 @@ class ModelFileService {
         val result = HttpService.sendPost(properties.fileService.mergeMultipartUpload + uploadId, "")
         return result.contains("success")
     }
+
+
+//    fun import(floorModelId: String): SBaseResponse {
+//
+//        try {
+//            val floorModelArr = dataService.floorModelService.select(SFilter.eq("id", floorModelId!!)).exec()
+//            if (floorModelArr.size != 1)
+//                return
+//            val floor = floorModelArr[0]
+//            val folderFloorName = CommonService.getReportPrefix(floor)
+//            // 获取模型导出的zip文件
+//            val objData = monitorService.analyzeJsonz(it.id!!)
+//            // 导入数据进数据库
+//            val bimIdPrefix = CommonService.generateBIMIDPrefix(it.projectId!!, floor.folderId!!, floor.floorName!!, true)
+//            monitorService.persistenceData(it.id!!, objData!!, bimIdPrefix)
+//            // excel报告
+//            val excelService = SSpringContextUtil.getBean(ExcelService::class.java) as ExcelService
+//            excelService.readBlockingExcel2007()
+//
+//            val syncFloor = SSpringContextUtil.getBean(SyncFloor::class.java) as SyncFloor
+//            syncFloor.init(floor).prepareDataCenterData()
+//            // 开始同步设备, 部件, 元空间
+//            syncUtil.syncDataWithBindingFloor(syncFloor, it, floor)
+//            // 转状态到4
+//            it.status = 4
+//            dataService.modelFileService.update(it, arrayListOf("status"))
+//            val message = messageService.buildMessageEntityWithoutLink("${folderFloorName.first}的${folderFloorName.second}模型上传成功", MessageType.Success, it.projectId, arrayListOf(it.userId?:""), "")
+//            messageService.sendMessage(message)
+//        } catch (e: Exception) {
+//            // 转状态到31
+//            try {
+//                it.status = 31
+//                it.syncRetryDate = Date()
+//                it.syncErrorMsg = e.message + CommonService.getStackTrace(e)
+//                dataService.modelFileService.update(it, arrayListOf("status", "syncRetryDate", "syncErrorMsg"))
+//            }catch (e : Exception){}
+//            e.printStackTrace()
+//            logger.error(e.message)
+//        }
+//
+//    }
+
 }