diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 75944ec..4b2a9c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -21,7 +21,7 @@ import com.casic.xz.meterage.utils.GlideLoadEngine import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel import com.github.gzuliyujiang.wheelpicker.entity.DateEntity @@ -46,7 +46,7 @@ private val context: Context = this@EntrustAddActivity private val gson by lazy { Gson() } - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var fileUploadViewModel: FileViewModel private lateinit var entrustViewModel: EntrustViewModel private lateinit var sampleAdapter: CustomerSampleAdapter @@ -57,9 +57,9 @@ override fun initData() { //证书 - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { if (it.code == 200) { val typeAdapter2 = CertificateTypeAdapter2(this, it.data) typeRecyclerView.adapter = typeAdapter2 diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 75944ec..4b2a9c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -21,7 +21,7 @@ import com.casic.xz.meterage.utils.GlideLoadEngine import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel import com.github.gzuliyujiang.wheelpicker.entity.DateEntity @@ -46,7 +46,7 @@ private val context: Context = this@EntrustAddActivity private val gson by lazy { Gson() } - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var fileUploadViewModel: FileViewModel private lateinit var entrustViewModel: EntrustViewModel private lateinit var sampleAdapter: CustomerSampleAdapter @@ -57,9 +57,9 @@ override fun initData() { //证书 - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { if (it.code == 200) { val typeAdapter2 = CertificateTypeAdapter2(this, it.data) typeRecyclerView.adapter = typeAdapter2 diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index e16a0bf..d43bc93 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -1,15 +1,18 @@ package com.casic.xz.meterage.view.search import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CapabilityListModel +import com.casic.xz.meterage.model.DictionaryModel import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CapabilityDetailActivity import com.casic.xz.meterage.vm.CapabilityViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -29,8 +32,10 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var capabilityViewModel: CapabilityViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var capabilityAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var dicBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,6 +70,14 @@ weakReferenceHandler.sendEmptyMessage(2023020903) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("checkType") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + dicBeans = it.data + } + } } override fun initEvent() { @@ -91,14 +104,26 @@ } private fun getCapabilityList() { - capabilityViewModel.getCapabilityList( - "", - "", - param, - "", - "", - pageIndex - ) + if (param.isDigitsOnly()) { + //如果是数字,直接查价格 + capabilityViewModel.getCapabilityList( + "", "", param, "", "", pageIndex + ) + } else { + //如果不是数据,判断用户输入的checkType + capabilityViewModel.getCapabilityList( + getCheckType(param), "", "", "", "", pageIndex + ) + } + } + + private fun getCheckType(param: String): String { + for (it in dicBeans) { + if (it.name.contains(param)) { + return it.value + } + } + return "" } override fun initLayoutView(): Int = R.layout.activity_search_capability_reasult diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 75944ec..4b2a9c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -21,7 +21,7 @@ import com.casic.xz.meterage.utils.GlideLoadEngine import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel import com.github.gzuliyujiang.wheelpicker.entity.DateEntity @@ -46,7 +46,7 @@ private val context: Context = this@EntrustAddActivity private val gson by lazy { Gson() } - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var fileUploadViewModel: FileViewModel private lateinit var entrustViewModel: EntrustViewModel private lateinit var sampleAdapter: CustomerSampleAdapter @@ -57,9 +57,9 @@ override fun initData() { //证书 - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { if (it.code == 200) { val typeAdapter2 = CertificateTypeAdapter2(this, it.data) typeRecyclerView.adapter = typeAdapter2 diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index e16a0bf..d43bc93 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -1,15 +1,18 @@ package com.casic.xz.meterage.view.search import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CapabilityListModel +import com.casic.xz.meterage.model.DictionaryModel import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CapabilityDetailActivity import com.casic.xz.meterage.vm.CapabilityViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -29,8 +32,10 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var capabilityViewModel: CapabilityViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var capabilityAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var dicBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,6 +70,14 @@ weakReferenceHandler.sendEmptyMessage(2023020903) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("checkType") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + dicBeans = it.data + } + } } override fun initEvent() { @@ -91,14 +104,26 @@ } private fun getCapabilityList() { - capabilityViewModel.getCapabilityList( - "", - "", - param, - "", - "", - pageIndex - ) + if (param.isDigitsOnly()) { + //如果是数字,直接查价格 + capabilityViewModel.getCapabilityList( + "", "", param, "", "", pageIndex + ) + } else { + //如果不是数据,判断用户输入的checkType + capabilityViewModel.getCapabilityList( + getCheckType(param), "", "", "", "", pageIndex + ) + } + } + + private fun getCheckType(param: String): String { + for (it in dicBeans) { + if (it.name.contains(param)) { + return it.value + } + } + return "" } override fun initLayoutView(): Int = R.layout.activity_search_capability_reasult diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 10cc69e..cf0f82a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CustomerDetailActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -107,15 +108,23 @@ getCustomerList() } - //TODO 查询条件不确定 private fun getCustomerList() { - customerViewModel.getCustomerList( - "", - param, - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + customerViewModel.getCustomerList( + "", "", param, "", pageIndex + ) + } else { + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 75944ec..4b2a9c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -21,7 +21,7 @@ import com.casic.xz.meterage.utils.GlideLoadEngine import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel import com.github.gzuliyujiang.wheelpicker.entity.DateEntity @@ -46,7 +46,7 @@ private val context: Context = this@EntrustAddActivity private val gson by lazy { Gson() } - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var fileUploadViewModel: FileViewModel private lateinit var entrustViewModel: EntrustViewModel private lateinit var sampleAdapter: CustomerSampleAdapter @@ -57,9 +57,9 @@ override fun initData() { //证书 - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { if (it.code == 200) { val typeAdapter2 = CertificateTypeAdapter2(this, it.data) typeRecyclerView.adapter = typeAdapter2 diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index e16a0bf..d43bc93 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -1,15 +1,18 @@ package com.casic.xz.meterage.view.search import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CapabilityListModel +import com.casic.xz.meterage.model.DictionaryModel import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CapabilityDetailActivity import com.casic.xz.meterage.vm.CapabilityViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -29,8 +32,10 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var capabilityViewModel: CapabilityViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var capabilityAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var dicBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,6 +70,14 @@ weakReferenceHandler.sendEmptyMessage(2023020903) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("checkType") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + dicBeans = it.data + } + } } override fun initEvent() { @@ -91,14 +104,26 @@ } private fun getCapabilityList() { - capabilityViewModel.getCapabilityList( - "", - "", - param, - "", - "", - pageIndex - ) + if (param.isDigitsOnly()) { + //如果是数字,直接查价格 + capabilityViewModel.getCapabilityList( + "", "", param, "", "", pageIndex + ) + } else { + //如果不是数据,判断用户输入的checkType + capabilityViewModel.getCapabilityList( + getCheckType(param), "", "", "", "", pageIndex + ) + } + } + + private fun getCheckType(param: String): String { + for (it in dicBeans) { + if (it.name.contains(param)) { + return it.value + } + } + return "" } override fun initLayoutView(): Int = R.layout.activity_search_capability_reasult diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 10cc69e..cf0f82a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CustomerDetailActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -107,15 +108,23 @@ getCustomerList() } - //TODO 查询条件不确定 private fun getCustomerList() { - customerViewModel.getCustomerList( - "", - param, - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + customerViewModel.getCustomerList( + "", "", param, "", pageIndex + ) + } else { + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index ba82fc1..0b1abb1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -7,6 +7,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EntrustListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EntrustDetailActivity import com.casic.xz.meterage.vm.EntrustViewModel @@ -109,18 +110,25 @@ } private fun getEntrustListByPage() { - entrustViewModel.getEntrustList( - "", - "", - "", - param, - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + entrustViewModel.getEntrustList( + "", "", "", param, "", "", "", + "", arrayOf(), pageIndex + ) + } else { + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 75944ec..4b2a9c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -21,7 +21,7 @@ import com.casic.xz.meterage.utils.GlideLoadEngine import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel import com.github.gzuliyujiang.wheelpicker.entity.DateEntity @@ -46,7 +46,7 @@ private val context: Context = this@EntrustAddActivity private val gson by lazy { Gson() } - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var fileUploadViewModel: FileViewModel private lateinit var entrustViewModel: EntrustViewModel private lateinit var sampleAdapter: CustomerSampleAdapter @@ -57,9 +57,9 @@ override fun initData() { //证书 - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { if (it.code == 200) { val typeAdapter2 = CertificateTypeAdapter2(this, it.data) typeRecyclerView.adapter = typeAdapter2 diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index e16a0bf..d43bc93 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -1,15 +1,18 @@ package com.casic.xz.meterage.view.search import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CapabilityListModel +import com.casic.xz.meterage.model.DictionaryModel import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CapabilityDetailActivity import com.casic.xz.meterage.vm.CapabilityViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -29,8 +32,10 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var capabilityViewModel: CapabilityViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var capabilityAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var dicBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,6 +70,14 @@ weakReferenceHandler.sendEmptyMessage(2023020903) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("checkType") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + dicBeans = it.data + } + } } override fun initEvent() { @@ -91,14 +104,26 @@ } private fun getCapabilityList() { - capabilityViewModel.getCapabilityList( - "", - "", - param, - "", - "", - pageIndex - ) + if (param.isDigitsOnly()) { + //如果是数字,直接查价格 + capabilityViewModel.getCapabilityList( + "", "", param, "", "", pageIndex + ) + } else { + //如果不是数据,判断用户输入的checkType + capabilityViewModel.getCapabilityList( + getCheckType(param), "", "", "", "", pageIndex + ) + } + } + + private fun getCheckType(param: String): String { + for (it in dicBeans) { + if (it.name.contains(param)) { + return it.value + } + } + return "" } override fun initLayoutView(): Int = R.layout.activity_search_capability_reasult diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 10cc69e..cf0f82a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CustomerDetailActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -107,15 +108,23 @@ getCustomerList() } - //TODO 查询条件不确定 private fun getCustomerList() { - customerViewModel.getCustomerList( - "", - param, - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + customerViewModel.getCustomerList( + "", "", param, "", pageIndex + ) + } else { + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index ba82fc1..0b1abb1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -7,6 +7,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EntrustListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EntrustDetailActivity import com.casic.xz.meterage.vm.EntrustViewModel @@ -109,18 +110,25 @@ } private fun getEntrustListByPage() { - entrustViewModel.getEntrustList( - "", - "", - "", - param, - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + entrustViewModel.getEntrustList( + "", "", "", param, "", "", "", + "", arrayOf(), pageIndex + ) + } else { + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index def216a..3d01b59 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EquipmentDetailActivity import com.casic.xz.meterage.vm.EquipmentViewModel @@ -109,26 +110,32 @@ getEquipmentListByPage() } - //TODO 查询条件待定 private fun getEquipmentListByPage() { - equipmentViewModel.getEquipmentList( - "", - param, - "", - "", - "", - "1", - "", - "", - "", - "", - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + equipmentViewModel.getEquipmentList( + param, "", "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 75944ec..4b2a9c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -21,7 +21,7 @@ import com.casic.xz.meterage.utils.GlideLoadEngine import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel import com.github.gzuliyujiang.wheelpicker.entity.DateEntity @@ -46,7 +46,7 @@ private val context: Context = this@EntrustAddActivity private val gson by lazy { Gson() } - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var fileUploadViewModel: FileViewModel private lateinit var entrustViewModel: EntrustViewModel private lateinit var sampleAdapter: CustomerSampleAdapter @@ -57,9 +57,9 @@ override fun initData() { //证书 - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { if (it.code == 200) { val typeAdapter2 = CertificateTypeAdapter2(this, it.data) typeRecyclerView.adapter = typeAdapter2 diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index e16a0bf..d43bc93 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -1,15 +1,18 @@ package com.casic.xz.meterage.view.search import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CapabilityListModel +import com.casic.xz.meterage.model.DictionaryModel import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CapabilityDetailActivity import com.casic.xz.meterage.vm.CapabilityViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -29,8 +32,10 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var capabilityViewModel: CapabilityViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var capabilityAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var dicBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,6 +70,14 @@ weakReferenceHandler.sendEmptyMessage(2023020903) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("checkType") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + dicBeans = it.data + } + } } override fun initEvent() { @@ -91,14 +104,26 @@ } private fun getCapabilityList() { - capabilityViewModel.getCapabilityList( - "", - "", - param, - "", - "", - pageIndex - ) + if (param.isDigitsOnly()) { + //如果是数字,直接查价格 + capabilityViewModel.getCapabilityList( + "", "", param, "", "", pageIndex + ) + } else { + //如果不是数据,判断用户输入的checkType + capabilityViewModel.getCapabilityList( + getCheckType(param), "", "", "", "", pageIndex + ) + } + } + + private fun getCheckType(param: String): String { + for (it in dicBeans) { + if (it.name.contains(param)) { + return it.value + } + } + return "" } override fun initLayoutView(): Int = R.layout.activity_search_capability_reasult diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 10cc69e..cf0f82a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CustomerDetailActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -107,15 +108,23 @@ getCustomerList() } - //TODO 查询条件不确定 private fun getCustomerList() { - customerViewModel.getCustomerList( - "", - param, - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + customerViewModel.getCustomerList( + "", "", param, "", pageIndex + ) + } else { + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index ba82fc1..0b1abb1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -7,6 +7,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EntrustListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EntrustDetailActivity import com.casic.xz.meterage.vm.EntrustViewModel @@ -109,18 +110,25 @@ } private fun getEntrustListByPage() { - entrustViewModel.getEntrustList( - "", - "", - "", - param, - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + entrustViewModel.getEntrustList( + "", "", "", param, "", "", "", + "", arrayOf(), pageIndex + ) + } else { + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index def216a..3d01b59 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EquipmentDetailActivity import com.casic.xz.meterage.vm.EquipmentViewModel @@ -109,26 +110,32 @@ getEquipmentListByPage() } - //TODO 查询条件待定 private fun getEquipmentListByPage() { - equipmentViewModel.getEquipmentList( - "", - param, - "", - "", - "", - "1", - "", - "", - "", - "", - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + equipmentViewModel.getEquipmentList( + param, "", "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index 88e9ce7..d52c891 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -3,6 +3,7 @@ import android.content.Context import android.graphics.Color import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import cn.bertsir.zbar.utils.QRUtils import com.casic.xz.meterage.R @@ -11,6 +12,7 @@ import com.casic.xz.meterage.extensions.isLater import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.MeterageTrainListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.MeterageTrainDetailActivity import com.casic.xz.meterage.vm.MeterageTrainViewModel @@ -113,20 +115,25 @@ getMeterageTrainList() } - //TODO 培训查询条件不确定 + //TODO 查询条件待定 private fun getMeterageTrainList() { - meterageTrainViewModel.getMeterageTrainList( - "", - "", - "", - "", - "", - "", - "", - "jlglpxjhsp", - arrayOf(), - pageIndex - ) + if (param.isDigitsOnly()) { + meterageTrainViewModel.getMeterageTrainList( + "", "", param, "", "", + "", "", "jlglpxjhsp", arrayOf(), pageIndex + ) + } else { + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + + } else { + + } + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 75944ec..4b2a9c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -21,7 +21,7 @@ import com.casic.xz.meterage.utils.GlideLoadEngine import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel import com.github.gzuliyujiang.wheelpicker.entity.DateEntity @@ -46,7 +46,7 @@ private val context: Context = this@EntrustAddActivity private val gson by lazy { Gson() } - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var fileUploadViewModel: FileViewModel private lateinit var entrustViewModel: EntrustViewModel private lateinit var sampleAdapter: CustomerSampleAdapter @@ -57,9 +57,9 @@ override fun initData() { //证书 - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { if (it.code == 200) { val typeAdapter2 = CertificateTypeAdapter2(this, it.data) typeRecyclerView.adapter = typeAdapter2 diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index e16a0bf..d43bc93 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -1,15 +1,18 @@ package com.casic.xz.meterage.view.search import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CapabilityListModel +import com.casic.xz.meterage.model.DictionaryModel import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CapabilityDetailActivity import com.casic.xz.meterage.vm.CapabilityViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -29,8 +32,10 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var capabilityViewModel: CapabilityViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var capabilityAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var dicBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,6 +70,14 @@ weakReferenceHandler.sendEmptyMessage(2023020903) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("checkType") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + dicBeans = it.data + } + } } override fun initEvent() { @@ -91,14 +104,26 @@ } private fun getCapabilityList() { - capabilityViewModel.getCapabilityList( - "", - "", - param, - "", - "", - pageIndex - ) + if (param.isDigitsOnly()) { + //如果是数字,直接查价格 + capabilityViewModel.getCapabilityList( + "", "", param, "", "", pageIndex + ) + } else { + //如果不是数据,判断用户输入的checkType + capabilityViewModel.getCapabilityList( + getCheckType(param), "", "", "", "", pageIndex + ) + } + } + + private fun getCheckType(param: String): String { + for (it in dicBeans) { + if (it.name.contains(param)) { + return it.value + } + } + return "" } override fun initLayoutView(): Int = R.layout.activity_search_capability_reasult diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 10cc69e..cf0f82a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CustomerDetailActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -107,15 +108,23 @@ getCustomerList() } - //TODO 查询条件不确定 private fun getCustomerList() { - customerViewModel.getCustomerList( - "", - param, - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + customerViewModel.getCustomerList( + "", "", param, "", pageIndex + ) + } else { + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index ba82fc1..0b1abb1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -7,6 +7,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EntrustListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EntrustDetailActivity import com.casic.xz.meterage.vm.EntrustViewModel @@ -109,18 +110,25 @@ } private fun getEntrustListByPage() { - entrustViewModel.getEntrustList( - "", - "", - "", - param, - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + entrustViewModel.getEntrustList( + "", "", "", param, "", "", "", + "", arrayOf(), pageIndex + ) + } else { + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index def216a..3d01b59 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EquipmentDetailActivity import com.casic.xz.meterage.vm.EquipmentViewModel @@ -109,26 +110,32 @@ getEquipmentListByPage() } - //TODO 查询条件待定 private fun getEquipmentListByPage() { - equipmentViewModel.getEquipmentList( - "", - param, - "", - "", - "", - "1", - "", - "", - "", - "", - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + equipmentViewModel.getEquipmentList( + param, "", "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index 88e9ce7..d52c891 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -3,6 +3,7 @@ import android.content.Context import android.graphics.Color import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import cn.bertsir.zbar.utils.QRUtils import com.casic.xz.meterage.R @@ -11,6 +12,7 @@ import com.casic.xz.meterage.extensions.isLater import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.MeterageTrainListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.MeterageTrainDetailActivity import com.casic.xz.meterage.vm.MeterageTrainViewModel @@ -113,20 +115,25 @@ getMeterageTrainList() } - //TODO 培训查询条件不确定 + //TODO 查询条件待定 private fun getMeterageTrainList() { - meterageTrainViewModel.getMeterageTrainList( - "", - "", - "", - "", - "", - "", - "", - "jlglpxjhsp", - arrayOf(), - pageIndex - ) + if (param.isDigitsOnly()) { + meterageTrainViewModel.getMeterageTrainList( + "", "", param, "", "", + "", "", "jlglpxjhsp", arrayOf(), pageIndex + ) + } else { + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + + } else { + + } + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index 2dcb850..44e9aea 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -7,6 +7,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity import com.casic.xz.meterage.vm.EquipmentViewModel @@ -107,16 +108,25 @@ } private fun getStandardDeviceByPage() { - equipmentViewModel.getStandardDeviceList( - "", - param, - "", - "", - "", - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + equipmentViewModel.getStandardDeviceList( + "", param, "", "", "", + "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + equipmentViewModel.getStandardDeviceList( + param, "", "", "", "", + "", "", pageIndex + ) + } else { + equipmentViewModel.getStandardDeviceList( + "", param, "", "", "", + "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 75944ec..4b2a9c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -21,7 +21,7 @@ import com.casic.xz.meterage.utils.GlideLoadEngine import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel import com.github.gzuliyujiang.wheelpicker.entity.DateEntity @@ -46,7 +46,7 @@ private val context: Context = this@EntrustAddActivity private val gson by lazy { Gson() } - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var fileUploadViewModel: FileViewModel private lateinit var entrustViewModel: EntrustViewModel private lateinit var sampleAdapter: CustomerSampleAdapter @@ -57,9 +57,9 @@ override fun initData() { //证书 - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { if (it.code == 200) { val typeAdapter2 = CertificateTypeAdapter2(this, it.data) typeRecyclerView.adapter = typeAdapter2 diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index e16a0bf..d43bc93 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -1,15 +1,18 @@ package com.casic.xz.meterage.view.search import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CapabilityListModel +import com.casic.xz.meterage.model.DictionaryModel import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CapabilityDetailActivity import com.casic.xz.meterage.vm.CapabilityViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -29,8 +32,10 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var capabilityViewModel: CapabilityViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var capabilityAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var dicBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,6 +70,14 @@ weakReferenceHandler.sendEmptyMessage(2023020903) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("checkType") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + dicBeans = it.data + } + } } override fun initEvent() { @@ -91,14 +104,26 @@ } private fun getCapabilityList() { - capabilityViewModel.getCapabilityList( - "", - "", - param, - "", - "", - pageIndex - ) + if (param.isDigitsOnly()) { + //如果是数字,直接查价格 + capabilityViewModel.getCapabilityList( + "", "", param, "", "", pageIndex + ) + } else { + //如果不是数据,判断用户输入的checkType + capabilityViewModel.getCapabilityList( + getCheckType(param), "", "", "", "", pageIndex + ) + } + } + + private fun getCheckType(param: String): String { + for (it in dicBeans) { + if (it.name.contains(param)) { + return it.value + } + } + return "" } override fun initLayoutView(): Int = R.layout.activity_search_capability_reasult diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 10cc69e..cf0f82a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CustomerDetailActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -107,15 +108,23 @@ getCustomerList() } - //TODO 查询条件不确定 private fun getCustomerList() { - customerViewModel.getCustomerList( - "", - param, - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + customerViewModel.getCustomerList( + "", "", param, "", pageIndex + ) + } else { + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index ba82fc1..0b1abb1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -7,6 +7,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EntrustListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EntrustDetailActivity import com.casic.xz.meterage.vm.EntrustViewModel @@ -109,18 +110,25 @@ } private fun getEntrustListByPage() { - entrustViewModel.getEntrustList( - "", - "", - "", - param, - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + entrustViewModel.getEntrustList( + "", "", "", param, "", "", "", + "", arrayOf(), pageIndex + ) + } else { + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index def216a..3d01b59 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EquipmentDetailActivity import com.casic.xz.meterage.vm.EquipmentViewModel @@ -109,26 +110,32 @@ getEquipmentListByPage() } - //TODO 查询条件待定 private fun getEquipmentListByPage() { - equipmentViewModel.getEquipmentList( - "", - param, - "", - "", - "", - "1", - "", - "", - "", - "", - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + equipmentViewModel.getEquipmentList( + param, "", "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index 88e9ce7..d52c891 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -3,6 +3,7 @@ import android.content.Context import android.graphics.Color import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import cn.bertsir.zbar.utils.QRUtils import com.casic.xz.meterage.R @@ -11,6 +12,7 @@ import com.casic.xz.meterage.extensions.isLater import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.MeterageTrainListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.MeterageTrainDetailActivity import com.casic.xz.meterage.vm.MeterageTrainViewModel @@ -113,20 +115,25 @@ getMeterageTrainList() } - //TODO 培训查询条件不确定 + //TODO 查询条件待定 private fun getMeterageTrainList() { - meterageTrainViewModel.getMeterageTrainList( - "", - "", - "", - "", - "", - "", - "", - "jlglpxjhsp", - arrayOf(), - pageIndex - ) + if (param.isDigitsOnly()) { + meterageTrainViewModel.getMeterageTrainList( + "", "", param, "", "", + "", "", "jlglpxjhsp", arrayOf(), pageIndex + ) + } else { + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + + } else { + + } + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index 2dcb850..44e9aea 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -7,6 +7,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity import com.casic.xz.meterage.vm.EquipmentViewModel @@ -107,16 +108,25 @@ } private fun getStandardDeviceByPage() { - equipmentViewModel.getStandardDeviceList( - "", - param, - "", - "", - "", - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + equipmentViewModel.getStandardDeviceList( + "", param, "", "", "", + "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + equipmentViewModel.getStandardDeviceList( + param, "", "", "", "", + "", "", pageIndex + ) + } else { + equipmentViewModel.getStandardDeviceList( + "", param, "", "", "", + "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/vm/ConfigViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/ConfigViewModel.kt new file mode 100644 index 0000000..e2e3603 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/ConfigViewModel.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.DictionaryModel +import com.casic.xz.meterage.model.PrefixCodeModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel + +class ConfigViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val dictionary = MutableLiveData() + val prefixCode = MutableLiveData() + + fun getDictionaryByCode(dictCode: String) = launch({ + val response = RetrofitServiceManager.getDictionaryByCode(dictCode) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + dictionary.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) + + fun getPrefixCode() = launch({ + val response = RetrofitServiceManager.getPrefixCode() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + prefixCode.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 10eeff8..365140a 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -8,14 +8,14 @@ import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : KotlinBaseFragment() { - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel override fun initData() { entrustCodeView.text = data.orderCode @@ -47,9 +47,9 @@ //证书 val split = data.certifications.split(",") - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { dic -> if (dic.code == 200) { typeRecyclerView.adapter = CertificateTypeAdapter( requireContext(), dic.data, split diff --git a/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java new file mode 100644 index 0000000..9590b68 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/PrefixCodeModel.java @@ -0,0 +1,34 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class PrefixCodeModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt new file mode 100644 index 0000000..f87c5fb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/AppMemoryCache.kt @@ -0,0 +1,5 @@ +package com.casic.xz.meterage.utils + +object AppMemoryCache { + var prefixCode = listOf() +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index bf692eb..37bfd4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -54,6 +54,12 @@ ): String /** + * 获取各种流程前缀 + * */ + @POST("/system/prefixcode/list") + suspend fun getPrefixCode(@Header("token") token: String): String + + /** * 上传文件 */ @Multipart diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index e9b2a76..02adb90 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -109,6 +109,13 @@ } /** + * 获取各种流程前缀 + */ + suspend fun getPrefixCode(): String { + return api.getPrefixCode(AuthenticationHelper.token!!) + } + + /** * 上传文件 */ suspend fun uploadFile(file: File, type: FileType): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt index 8fb0793..4bc76c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/MainActivity.kt @@ -10,7 +10,9 @@ import com.casic.xz.meterage.fragment.HomePageFragment import com.casic.xz.meterage.fragment.MinePageFragment import com.casic.xz.meterage.fragment.SamplePageFragment +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity @@ -25,6 +27,14 @@ private var clickTime: Long = 0 override fun initData() { + val configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getPrefixCode() + configViewModel.prefixCode.observe(this) { + if (it.code == 200) { + AppMemoryCache.prefixCode = it.data + } + } + val userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) userViewModel.userInfo.observe(this) { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 75944ec..4b2a9c1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -21,7 +21,7 @@ import com.casic.xz.meterage.utils.GlideLoadEngine import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant -import com.casic.xz.meterage.vm.DictionaryViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel import com.github.gzuliyujiang.wheelpicker.entity.DateEntity @@ -46,7 +46,7 @@ private val context: Context = this@EntrustAddActivity private val gson by lazy { Gson() } - private lateinit var dictionaryViewModel: DictionaryViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var fileUploadViewModel: FileViewModel private lateinit var entrustViewModel: EntrustViewModel private lateinit var sampleAdapter: CustomerSampleAdapter @@ -57,9 +57,9 @@ override fun initData() { //证书 - dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("certificationClass") + configViewModel.dictionary.observe(this) { if (it.code == 200) { val typeAdapter2 = CertificateTypeAdapter2(this, it.data) typeRecyclerView.adapter = typeAdapter2 diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt index e16a0bf..d43bc93 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCapabilityResultActivity.kt @@ -1,15 +1,18 @@ package com.casic.xz.meterage.view.search import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CapabilityListModel +import com.casic.xz.meterage.model.DictionaryModel import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CapabilityDetailActivity import com.casic.xz.meterage.vm.CapabilityViewModel +import com.casic.xz.meterage.vm.ConfigViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -29,8 +32,10 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var capabilityViewModel: CapabilityViewModel + private lateinit var configViewModel: ConfigViewModel private lateinit var capabilityAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var dicBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,6 +70,14 @@ weakReferenceHandler.sendEmptyMessage(2023020903) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode("checkType") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + dicBeans = it.data + } + } } override fun initEvent() { @@ -91,14 +104,26 @@ } private fun getCapabilityList() { - capabilityViewModel.getCapabilityList( - "", - "", - param, - "", - "", - pageIndex - ) + if (param.isDigitsOnly()) { + //如果是数字,直接查价格 + capabilityViewModel.getCapabilityList( + "", "", param, "", "", pageIndex + ) + } else { + //如果不是数据,判断用户输入的checkType + capabilityViewModel.getCapabilityList( + getCheckType(param), "", "", "", "", pageIndex + ) + } + } + + private fun getCheckType(param: String): String { + for (it in dicBeans) { + if (it.name.contains(param)) { + return it.value + } + } + return "" } override fun initLayoutView(): Int = R.layout.activity_search_capability_reasult diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt index 10cc69e..cf0f82a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchCustomerResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.CustomerDetailActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -107,15 +108,23 @@ getCustomerList() } - //TODO 查询条件不确定 private fun getCustomerList() { - customerViewModel.getCustomerList( - "", - param, - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + customerViewModel.getCustomerList( + "", "", param, "", pageIndex + ) + } else { + customerViewModel.getCustomerList( + "", param, "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt index ba82fc1..0b1abb1 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt @@ -7,6 +7,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EntrustListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EntrustDetailActivity import com.casic.xz.meterage.vm.EntrustViewModel @@ -109,18 +110,25 @@ } private fun getEntrustListByPage() { - entrustViewModel.getEntrustList( - "", - "", - "", - param, - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + entrustViewModel.getEntrustList( + "", "", "", param, "", "", "", + "", arrayOf(), pageIndex + ) + } else { + entrustViewModel.getEntrustList( + param, "", "", "", "", "", "", + "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt index def216a..3d01b59 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentResultActivity.kt @@ -8,6 +8,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.EquipmentDetailActivity import com.casic.xz.meterage.vm.EquipmentViewModel @@ -109,26 +110,32 @@ getEquipmentListByPage() } - //TODO 查询条件待定 private fun getEquipmentListByPage() { - equipmentViewModel.getEquipmentList( - "", - param, - "", - "", - "", - "1", - "", - "", - "", - "", - "", - "", - "", - "", - arrayOf(), - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + equipmentViewModel.getEquipmentList( + param, "", "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } else { + equipmentViewModel.getEquipmentList( + "", param, "", "", + "", "1", "", "", + "", "", "", "", + "", "", arrayOf(), pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt index 88e9ce7..d52c891 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchMeterageTrainResultActivity.kt @@ -3,6 +3,7 @@ import android.content.Context import android.graphics.Color import android.os.Handler +import androidx.core.text.isDigitsOnly import androidx.lifecycle.ViewModelProvider import cn.bertsir.zbar.utils.QRUtils import com.casic.xz.meterage.R @@ -11,6 +12,7 @@ import com.casic.xz.meterage.extensions.isLater import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.MeterageTrainListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.MeterageTrainDetailActivity import com.casic.xz.meterage.vm.MeterageTrainViewModel @@ -113,20 +115,25 @@ getMeterageTrainList() } - //TODO 培训查询条件不确定 + //TODO 查询条件待定 private fun getMeterageTrainList() { - meterageTrainViewModel.getMeterageTrainList( - "", - "", - "", - "", - "", - "", - "", - "jlglpxjhsp", - arrayOf(), - pageIndex - ) + if (param.isDigitsOnly()) { + meterageTrainViewModel.getMeterageTrainList( + "", "", param, "", "", + "", "", "jlglpxjhsp", arrayOf(), pageIndex + ) + } else { + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + + } else { + + } + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt index 2dcb850..44e9aea 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -7,6 +7,7 @@ import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.AppMemoryCache import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity import com.casic.xz.meterage.vm.EquipmentViewModel @@ -107,16 +108,25 @@ } private fun getStandardDeviceByPage() { - equipmentViewModel.getStandardDeviceList( - "", - param, - "", - "", - "", - "", - "", - pageIndex - ) + if (param.length < 4) { + //输入参数长度小于4,默认查名称 + equipmentViewModel.getStandardDeviceList( + "", param, "", "", "", + "", "", pageIndex + ) + } else { + if (AppMemoryCache.prefixCode.contains(param.substring(0, 4))) { + equipmentViewModel.getStandardDeviceList( + param, "", "", "", "", + "", "", pageIndex + ) + } else { + equipmentViewModel.getStandardDeviceList( + "", param, "", "", "", + "", "", pageIndex + ) + } + } } private val callback = Handler.Callback { diff --git a/app/src/main/java/com/casic/xz/meterage/vm/ConfigViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/ConfigViewModel.kt new file mode 100644 index 0000000..e2e3603 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/ConfigViewModel.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.vm + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.DictionaryModel +import com.casic.xz.meterage.model.PrefixCodeModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel + +class ConfigViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val dictionary = MutableLiveData() + val prefixCode = MutableLiveData() + + fun getDictionaryByCode(dictCode: String) = launch({ + val response = RetrofitServiceManager.getDictionaryByCode(dictCode) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + dictionary.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) + + fun getPrefixCode() = launch({ + val response = RetrofitServiceManager.getPrefixCode() + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + prefixCode.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/DictionaryViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/DictionaryViewModel.kt deleted file mode 100644 index bcf278a..0000000 --- a/app/src/main/java/com/casic/xz/meterage/vm/DictionaryViewModel.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.casic.xz.meterage.vm - -import androidx.lifecycle.MutableLiveData -import com.casic.xz.meterage.base.BaseApplication -import com.casic.xz.meterage.extensions.separateResponseCode -import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.DictionaryModel -import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager -import com.google.gson.Gson -import com.google.gson.reflect.TypeToken -import com.pengxh.kt.lite.extensions.launch -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.vm.BaseViewModel - -class DictionaryViewModel : BaseViewModel() { - - private val gson by lazy { Gson() } - val dictionary = MutableLiveData() - - fun getDictionaryByCode(dictCode: String) = launch({ - val response = RetrofitServiceManager.getDictionaryByCode(dictCode) - val responseCode = response.separateResponseCode() - if (responseCode == 200) { - dictionary.value = gson.fromJson( - response, object : TypeToken() {}.type - ) - } else { - response.toErrorMessage().show(BaseApplication.get()) - } - }, { - it.cause.toString().show(BaseApplication.get()) - it.printStackTrace() - }) -} \ No newline at end of file