王鹏鹏 пре 1 година
родитељ
комит
28be537552

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>

+ 5 - 0
evaluation/src/main/java/com/yingyangfly/evaluation/entity/QuestionsTypeBean.kt

@@ -0,0 +1,5 @@
+package com.yingyangfly.evaluation.entity
+
+class QuestionsTypeBean {
+    var type: String = ""
+}

+ 6 - 0
evaluation/src/main/java/com/yingyangfly/evaluation/entity/ReviewTask.kt

@@ -0,0 +1,6 @@
+package com.yingyangfly.evaluation.entity
+
+class ReviewTask {
+    var type: String = ""
+    var status: String = ""
+}

+ 40 - 0
evaluation/src/main/java/com/yingyangfly/evaluation/entity/ReviewTaskListBean.kt

@@ -0,0 +1,40 @@
+package com.yingyangfly.evaluation.entity
+
+data class ReviewTaskListBean(
+    val countId: String,
+    val current: String,
+    val maxLimit: String,
+    val optimizeCountSql: Boolean,
+    val orders: List<String>,
+    val pages: Int,
+    val records: List<Records>,
+    val searchCount: Boolean,
+    val size: Int,
+    val total: Int
+)
+
+data class Records(
+    val createBy: String,
+    val createTime: String,
+    val id: String,
+    val limit: String,
+    val orgCode: String,
+    val orgName: String,
+    val page: String,
+    val reviewId: String,
+    val reviewTaskId: String,
+    val reviewTaskName: String,
+    val status: String,
+    val type: String,
+    val updateBy: String,
+    val updateTime: String,
+    val userId: String,
+    val result: Result
+)
+
+data class Result(
+    val result: String,
+    val reviewScore: String,
+    val reviewContent: String,
+    val referenceValue: String
+)

+ 55 - 2
evaluation/src/main/java/com/yingyangfly/evaluation/hospital/HospitalActivity.kt

@@ -5,6 +5,7 @@ import android.text.TextUtils
 import android.view.MotionEvent
 import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.dialog.BindingPhoneDialog
 import com.yingyangfly.baselib.ext.getEndAnimation
 import com.yingyangfly.baselib.ext.getScaleAnimation
@@ -34,6 +35,9 @@ class HospitalActivity : BaseTvMVVMActivity<ActivityHospitalBinding, HospitalVie
     private lateinit var adapterGuide: GuidePageAdapter
     private var imageList = mutableListOf<String>()
 
+    private var reviewTaskId = ""
+    private var taskId = ""
+
     override fun initViews() {
         imageList.add(str1)
         imageList.add(str2)
@@ -85,11 +89,11 @@ class HospitalActivity : BaseTvMVVMActivity<ActivityHospitalBinding, HospitalVie
                     }
 
                     R.id.mocaLayout -> {
-                        JumpUtil.jumpActivity(RouterUrlCommon.mocaEvaluation)
+                        getReviewTaskList("MOCA", "0")
                     }
 
                     R.id.mmseLayout -> {
-                        JumpUtil.jumpActivity(RouterUrlCommon.mmseEvaluation)
+                        getReviewTaskList("MMSE", "0")
                     }
                 }
             }
@@ -144,4 +148,53 @@ class HospitalActivity : BaseTvMVVMActivity<ActivityHospitalBinding, HospitalVie
         }
         bindingPhoneDialog.show(supportFragmentManager, "bindingPhoneDialog")
     }
+
+    /**
+     * 获取测评任务
+     */
+    private fun getReviewTaskList(type: String, status: String) {
+        viewModel.getReviewTaskList(type, status, fail = {
+            it.toast()
+        }, success = {
+            if (it != null) {
+                if (it.records.isNullOrEmpty().not()) {
+                    val record = it.records[0]
+                    if (record != null) {
+                        reviewTaskId = record.reviewTaskId
+                        taskId = record.id
+                    }
+                    loadData(type)
+                } else {
+                    "您当前没有测评任务,无需测评".toast()
+                }
+            }
+        })
+    }
+
+    /**
+     * 获取测评内容
+     */
+    private fun loadData(type: String) {
+        if (db != null) {
+            val dao = db?.getQuestionsDao()
+            dao?.deleteAll()
+            val questionsList = mutableListOf<QuestionsBean>()
+            viewModel.getQuestions(type, fail = {
+                it.toast()
+            }, success = {
+                if (it.isNullOrEmpty().not()) {
+                    questionsList.addAll(it!!)
+                    questionsList.forEach {
+                        it.reviewTaskId = taskId
+                    }
+                    dao?.insertAll(questionsList)
+                }
+                if (TextUtils.equals("MMSE", type)) {
+                    JumpUtil.jumpActivity(RouterUrlCommon.mmseEvaluation, mContext)
+                } else {
+                    JumpUtil.jumpActivity(RouterUrlCommon.mocaEvaluation, mContext)
+                }
+            })
+        }
+    }
 }

+ 43 - 2
evaluation/src/main/java/com/yingyangfly/evaluation/hospital/HospitalViewModel.kt

@@ -1,6 +1,12 @@
 package com.yingyangfly.evaluation.hospital
 
+import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.mvvm.BaseViewModel
+import com.yingyangfly.baselib.net.XUtils
+import com.yingyangfly.baselib.utils.GsonUtil
+import com.yingyangfly.evaluation.entity.QuestionsTypeBean
+import com.yingyangfly.evaluation.entity.ReviewTask
+import com.yingyangfly.evaluation.entity.ReviewTaskListBean
 import com.yingyangfly.evaluation.net.EVALUATION_API
 
 /**
@@ -9,13 +15,48 @@ import com.yingyangfly.evaluation.net.EVALUATION_API
  */
 class HospitalViewModel : BaseViewModel() {
 
+    /**
+     * 获取mmse试题
+     */
+    fun getReviewTaskList(
+        method: String,
+        stast: String,
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: ReviewTaskListBean?) -> Unit)? = null,
+    ) = launchFlow(true) {
+        val requestBean = ReviewTask().apply {
+            type = method
+            status = stast
+        }
+        val body = XUtils.createJson(GsonUtil.GsonString(requestBean))
+        EVALUATION_API.getReviewTaskList(body)
+    }.runUI(
+        success, fail
+    )
+
+    /**
+     * 获取mmse试题
+     */
+    fun getQuestions(
+        method: String,
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: List<QuestionsBean>?) -> Unit)? = null,
+    ) = launchFlow(true) {
+        val requestBean = QuestionsTypeBean().apply {
+            type = method
+        }
+        val body = XUtils.createJson(GsonUtil.GsonString(requestBean))
+        EVALUATION_API.getQuestions(body)
+    }.runUI(
+        success, fail
+    )
+
     fun logout(
         fail: ((msg: String) -> Unit)? = null,
         success: ((success: String?) -> Unit)? = null,
     ) = launchFlow(true) {
         EVALUATION_API.largeLogout()
     }.runUI(
-        success,
-        fail
+        success, fail
     )
 }

+ 16 - 0
evaluation/src/main/java/com/yingyangfly/evaluation/net/EvaluationApiService.kt

@@ -1,10 +1,26 @@
 package com.yingyangfly.evaluation.net
 
+import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.net.BaseResp
+import com.yingyangfly.evaluation.entity.ReviewTaskListBean
+import okhttp3.RequestBody
+import retrofit2.http.Body
 import retrofit2.http.POST
 
 interface EvaluationApiService {
 
+    /**
+     * 获取测评任务
+     */
+    @POST("app/reviewTask/selectQuestions")
+    suspend fun getReviewTaskList(@Body requestBody: RequestBody): BaseResp<ReviewTaskListBean>
+
+    /**
+     * 获取mmse试题
+     */
+    @POST("app/review/findAllReview")
+    suspend fun getQuestions(@Body requestBody: RequestBody): BaseResp<List<QuestionsBean>>
+
     /**
      * 退出登录
      */