Parcourir la source

1.添加获取mmse试题库UI跳转

王鹏鹏 il y a 2 ans
Parent
commit
4544fb2cea

+ 2 - 1
baselib/src/main/java/com/yingyangfly/baselib/db/QuestionsBean.java

@@ -20,6 +20,7 @@ public class QuestionsBean implements Serializable {
     private int id;
     @JSONField(serialize = false)
     private String isJudge;
+    @JSONField(serialize = false)
     private String orgCode;
     @JSONField(serialize = false)
     private String orgName;
@@ -42,7 +43,7 @@ public class QuestionsBean implements Serializable {
 
     private int review_id;
     private String review_answer;
-    private String correct;
+    private String correct;//0错误 1正确
     private String score;
 
     public int getId() {

+ 1 - 1
home/src/main/java/com/yingyangfly/home/activity/HomeActivity.kt

@@ -510,7 +510,7 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
             val dao = db?.getQuestionsDao()
             dao?.deleteAll()
             val questionsList = mutableListOf<QuestionsBean>()
-            viewModel.getQuestions(fail = {
+            viewModel.getQuestions("MMSE", fail = {
                 it.toast()
             }, success = {
                 if (it.isNullOrEmpty().not()) {

+ 8 - 1
home/src/main/java/com/yingyangfly/home/activity/HomeViewModel.kt

@@ -2,6 +2,8 @@ package com.yingyangfly.home.activity
 
 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.home.entity.*
 import com.yingyangfly.home.net.HOME_API
 
@@ -109,10 +111,15 @@ class HomeViewModel : BaseViewModel() {
      * 获取mmse试题
      */
     fun getQuestions(
+        method: String,
         fail: ((msg: String) -> Unit)? = null,
         success: ((success: List<QuestionsBean>?) -> Unit)? = null,
     ) = launchFlow(true) {
-        HOME_API.getQuestions()
+        val requestBean = QuestionsTypeBean().apply {
+            type = method
+        }
+        val body = XUtils.createJson(GsonUtil.GsonString(requestBean))
+        HOME_API.getQuestions(body)
     }.runUI(
         success,
         fail

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

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

+ 3 - 1
home/src/main/java/com/yingyangfly/home/net/HomeApiService.kt

@@ -3,6 +3,8 @@ package com.yingyangfly.home.net
 import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.net.BaseResp
 import com.yingyangfly.home.entity.*
+import okhttp3.RequestBody
+import retrofit2.http.Body
 import retrofit2.http.POST
 import retrofit2.http.Query
 
@@ -53,6 +55,6 @@ interface HomeApiService {
      * 获取mmse试题
      */
     @POST("app/review/findAllReview")
-    suspend fun getQuestions(): BaseResp<List<QuestionsBean>>
+    suspend fun getQuestions(@Body requestBody: RequestBody): BaseResp<List<QuestionsBean>>
 
 }

+ 0 - 1
home/src/main/java/com/yingyangfly/home/widget/CharOrderManager.kt

@@ -3,7 +3,6 @@ package com.yingyangfly.home.widget
 import com.yingyangfly.home.widget.strategy.CharOrderStrategy
 import com.yingyangfly.home.widget.strategy.Direction
 import com.yingyangfly.home.widget.strategy.Strategy
-import java.util.*
 
 /**
  * @author YvesCheung

+ 1 - 5
home/src/main/java/com/yingyangfly/home/widget/RollingTextView.kt

@@ -8,11 +8,7 @@ import android.animation.ValueAnimator
 import android.content.Context
 import android.content.res.Resources
 import android.content.res.TypedArray
-import android.graphics.Canvas
-import android.graphics.Color
-import android.graphics.Paint
-import android.graphics.Rect
-import android.graphics.Typeface
+import android.graphics.*
 import android.text.TextUtils
 import android.util.AttributeSet
 import android.util.TypedValue

+ 1 - 0
home/src/main/java/com/yingyangfly/home/widget/strategy/CharOrderStrategy.kt

@@ -5,6 +5,7 @@ import android.widget.LinearLayout.VERTICAL
 import com.yingyangfly.home.widget.NextProgress
 import com.yingyangfly.home.widget.PreviousProgress
 import com.yingyangfly.home.widget.TextManager
+import com.yingyangfly.home.widget.strategy.Direction.*
 import kotlin.math.max
 
 /**

+ 4 - 0
mmse/src/main/java/com/yingyangfly/mmse/adapter/ChoiceAdapter.kt

@@ -19,11 +19,15 @@ class ChoiceAdapter(override val layoutId: Int = R.layout.item_choice) :
         binding.radioCorrect.isChecked = TextUtils.equals(item.inputString, "是")
         binding.radioDeny.isChecked = TextUtils.equals(item.inputString, "否")
         binding.radioChoice.setOnCheckedChangeListener { group, checkedId ->
+            item.review_id = item!!.id
+            item.review_answer = ""
             if (checkedId == R.id.radioCorrect) {
                 item.inputString = "是"
+                item.correct = "1"
                 onNumClickListener?.invoke(item)
             } else if (checkedId == R.id.radioDeny) {
                 item.inputString = "否"
+                item.correct = "0"
                 onNumClickListener?.invoke(item)
             }
         }

+ 6 - 0
mmse/src/main/java/com/yingyangfly/mmse/fragment/InputFragment.kt

@@ -62,6 +62,9 @@ class InputFragment : BaseFragment<FragmentInputBinding>() {
                     if (dao != null) {
                         if (question != null) {
                             question!!.inputString = stringBuffer.toString()
+                            question!!.review_id = question!!.id
+                            question!!.review_answer = stringBuffer.toString()
+                            question!!.correct = ""
                             dao?.update(question!!)
                         }
                     }
@@ -87,6 +90,9 @@ class InputFragment : BaseFragment<FragmentInputBinding>() {
                 } else {
                     if (question != null) {
                         question!!.inputString = stringBuffer.toString()
+                        question!!.review_id = question!!.id
+                        question!!.review_answer = stringBuffer.toString()
+                        question!!.correct = ""
                         dao?.update(question!!)
                     }
                     questionId++

+ 4 - 0
mmse/src/main/java/com/yingyangfly/mmse/fragment/JudgmentFragment.kt

@@ -86,14 +86,18 @@ class JudgmentFragment : BaseFragment<FragmentJudgmentBinding>() {
             }
 
             judgeRadio.setOnCheckedChangeListener { group, checkedId ->
+                question!!.review_id = question!!.id
+                question!!.review_answer = ""
                 if (checkedId == R.id.btnDeny) {
                     if (question != null && dao != null) {
                         question!!.inputString = "否"
+                        question!!.correct = "0"
                         dao?.update(question!!)
                     }
                 } else if (checkedId == R.id.btnCorrect) {
                     if (question != null && dao != null) {
                         question!!.inputString = "是"
+                        question!!.correct = "1"
                         dao?.update(question!!)
                     }
                 }

+ 4 - 0
mmse/src/main/java/com/yingyangfly/mmse/fragment/JudgmentRecordFragment.kt

@@ -43,11 +43,15 @@ class JudgmentRecordFragment : BaseFragment<FragmentJudgmentRecordBinding>() {
                 }
             }
             judgeRadio.setOnCheckedChangeListener { group, checkedId ->
+                question?.review_id = question?.id!!
+                question?.review_answer = ""
                 if (question != null) {
                     if (checkedId == R.id.btnDeny) {
                         question?.inputString = "否"
+                        question?.correct = "0"
                     } else if (checkedId == R.id.btnCorrect) {
                         question?.inputString = "是"
+                        question?.correct = "1"
                     }
                     dao?.update(question!!)
                 }

+ 14 - 1
mmse/src/main/java/com/yingyangfly/mmse/fragment/MultipleChoiceFragment.kt

@@ -2,14 +2,17 @@ package com.yingyangfly.mmse.fragment
 
 import android.os.Bundle
 import android.text.TextUtils
+import android.util.Log
 import androidx.core.os.bundleOf
 import androidx.navigation.Navigation
+import com.alibaba.fastjson.JSON
 import com.yingyang.mmse.R
 import com.yingyang.mmse.databinding.FragmentMultipleChoiceBinding
 import com.yingyangfly.baselib.base.BaseFragment
 import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.toast
+import com.yingyangfly.baselib.utils.GsonUtil
 import com.yingyangfly.mmse.adapter.ChoiceAdapter
 
 /**
@@ -159,6 +162,16 @@ class MultipleChoiceFragment : BaseFragment<FragmentMultipleChoiceBinding>() {
      * 提交测试
      */
     private fun submit() {
-
+        if (dao != null) {
+            val questionsBeans = dao?.getAllQuestions()
+            if (questionsBeans.isNullOrEmpty().not()) {
+                questionsBeans?.forEach {
+                    if (TextUtils.equals("0", it.correct)) {
+                        it.score = "0"
+                    }
+                }
+                Log.e("wpp", JSON.toJSONString(questionsBeans))
+            }
+        }
     }
 }

+ 8 - 5
mmse/src/main/java/com/yingyangfly/mmse/fragment/ReadFragment.kt

@@ -57,14 +57,17 @@ class ReadFragment : BaseFragment<FragmentReadBinding>() {
             }
 
             judgeRadio.setOnCheckedChangeListener { group, checkedId ->
-                if (checkedId == R.id.btnDeny) {
-                    if (question != null && dao != null) {
+                if (question != null && dao != null) {
+                    question?.review_id = question!!.id
+                    question?.review_answer = ""
+                    if (checkedId == R.id.btnDeny) {
                         question!!.inputString = "否"
+                        question?.correct = "0"
                         dao?.update(question!!)
-                    }
-                } else if (checkedId == R.id.btnCorrect) {
-                    if (question != null && dao != null) {
+
+                    } else if (checkedId == R.id.btnCorrect) {
                         question!!.inputString = "是"
+                        question?.correct = "1"
                         dao?.update(question!!)
                     }
                 }

+ 3 - 0
mmse/src/main/java/com/yingyangfly/mmse/fragment/SelectedItemFragment.kt

@@ -44,6 +44,9 @@ class SelectedItemFragment : BaseFragment<FragmentSelectedItemBinding>() {
             selectedAdapter.onSelectedItemClickListener = { bean ->
                 if (question != null && dao != null) {
                     question!!.inputString = bean
+                    question!!.review_id = question!!.id
+                    question!!.review_answer = bean
+                    question!!.correct = ""
                     dao?.update(question!!)
                 }
             }

+ 3 - 0
mmse/src/main/java/com/yingyangfly/mmse/fragment/YearFragment.kt

@@ -69,6 +69,9 @@ class YearFragment : BaseFragment<FragmentYearBinding>() {
                 } else {
                     if (question != null) {
                         question!!.inputString = stringBuffer.toString()
+                        question!!.review_id = question!!.id
+                        question!!.review_answer = stringBuffer.toString()
+                        question!!.correct = ""
                         dao?.update(question!!)
                     }
                     val bundle = bundleOf("questionId" to 2)