From e234a15b428267997c903a4ed42536c5d9f14a1f Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 10 十一月 2025 13:10:42 +0800
Subject: [PATCH] 2025.11.10 1. 新增巡查场景历史详情相关数据逻辑; 2. 新增工地施工阶段修改界面;

---
 app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt |   68 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt b/app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt
index 8d709dd..335e07b 100644
--- a/app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt
+++ b/app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt
@@ -1,14 +1,20 @@
 package cn.flightfeather.thirdappmodule.repository
 
 import cn.flightfeather.thirdappmodule.bean.entity.*
+import cn.flightfeather.thirdappmodule.bean.vo.BaseSubScene
+import cn.flightfeather.thirdappmodule.bean.vo.SceneConstructionSite
+import cn.flightfeather.thirdappmodule.bean.vo.SceneDetailStrVo
+import cn.flightfeather.thirdappmodule.bean.vo.SceneDetailVo
 import cn.flightfeather.thirdappmodule.common.net.ResponseBodyCallBack
 import cn.flightfeather.thirdappmodule.common.net.ResultCallBack
 import cn.flightfeather.thirdappmodule.common.net.ResultObserver
 import cn.flightfeather.thirdappmodule.common.net.RetrofitFactory
 import cn.flightfeather.thirdappmodule.httpservice.ScenseService
+import cn.flightfeather.thirdappmodule.model.bean.BaseResponse
 import cn.flightfeather.thirdappmodule.module.task.Division
 import cn.flightfeather.thirdappmodule.repository.dao.DomainDao
 import cn.flightfeather.thirdappmodule.repository.dao.SceneDao
+import cn.flightfeather.thirdappmodule.util.Constant
 import io.reactivex.Observable
 import io.reactivex.functions.Function4
 import okhttp3.ResponseBody
@@ -55,16 +61,16 @@
         val dbService4 = domainDao.getTown()
 
         val zipService = Observable.zip(dbService1, dbService2, dbService3, dbService4,
-                Function4<List<Province>, List<City>, List<District>, List<Town>, Response<Division>> { t1, t2, t3, t4 ->
-                    Response.success(
-                            Division(
-                                    ArrayList(t1),
-                                    ArrayList(t2),
-                                    ArrayList(t3),
-                                    ArrayList(t4)
-                            )
+            Function4<List<Province>, List<City>, List<District>, List<Town>, Response<Division>> { t1, t2, t3, t4 ->
+                Response.success(
+                    Division(
+                        ArrayList(t1),
+                        ArrayList(t2),
+                        ArrayList(t3),
+                        ArrayList(t4)
                     )
-                })
+                )
+            })
 
         RetrofitFactory.executeResult(zipService, object : ResultObserver<Division>() {
             override fun onSuccess(result: Division?) {
@@ -105,7 +111,7 @@
     fun putScene(scene: Scense, resultCallBack: ResultCallBack<ResponseBody>) {
         sceneDao.insert(scene)
         retrofit.create(ScenseService::class.java).putScense(scene)
-                .enqueue(ResponseBodyCallBack(resultCallBack))
+            .enqueue(ResponseBodyCallBack(resultCallBack))
     }
 
     /**
@@ -114,7 +120,7 @@
     fun updateScene(scene: Scense, resultCallBack: ResultCallBack<ResponseBody>) {
         sceneDao.update(scene)
         retrofit.create(ScenseService::class.java).updateScense(scene)
-                .enqueue(ResponseBodyCallBack(resultCallBack))
+            .enqueue(ResponseBodyCallBack(resultCallBack))
     }
 
     /**
@@ -125,6 +131,44 @@
             sceneDao.update(it)
         }
         retrofit.create(ScenseService::class.java).updateSceneList(sceneList)
-                .enqueue(ResponseBodyCallBack(resultCallBack))
+            .enqueue(ResponseBodyCallBack(resultCallBack))
+    }
+
+    /**
+     * 鑾峰彇鍦烘櫙璇︽儏锛屽寘鍚熀纭�淇℃伅鍜屽満鏅壒鏈変俊鎭�
+     */
+    fun getSceneDetail(scene: Scense, resultCallBack: ResultCallBack<SceneDetailVo<SceneConstructionSite>>) {
+        val sceneService = when (scene.typeid.toString()) {
+            Constant.SCENE_TYPE_SITE -> retrofit.create(ScenseService::class.java).getSceneDetail(scene.guid)
+            else -> return
+        }
+
+        RetrofitFactory.executeResult(sceneService, object : ResultObserver<BaseResponse<SceneDetailVo<SceneConstructionSite>>>() {
+            override fun onSuccess(result: BaseResponse<SceneDetailVo<SceneConstructionSite>>?) {
+                resultCallBack.onSuccess(result?.data)
+            }
+
+            override fun onFailure(e: Throwable, isNetWorkError: Boolean) {
+                resultCallBack.onFailure()
+            }
+        })
+    }
+
+    /**
+     * 鏇存柊鍦烘櫙璇︽儏
+     */
+    fun updateSceneDetail(vo: SceneDetailStrVo, resultCallBack: ResultCallBack<String>) {
+        vo.scene ?: return
+        val sceneService = retrofit.create(ScenseService::class.java).updateSceneDetail(vo.scene!!.typeid.toInt(), vo)
+
+        RetrofitFactory.executeResult(sceneService, object : ResultObserver<BaseResponse<String>>() {
+            override fun onSuccess(result: BaseResponse<String>?) {
+                resultCallBack.onSuccess(result?.data)
+            }
+
+            override fun onFailure(e: Throwable, isNetWorkError: Boolean) {
+                resultCallBack.onFailure()
+            }
+        })
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3