Browse Source

任务审批功能迁移完成

yanglei 2 months ago
parent
commit
859a732f01
100 changed files with 10073 additions and 1 deletions
  1. 9 1
      common/build.gradle
  2. 141 0
      rwsp/build.gradle
  3. 56 0
      rwsp/src/main/AndroidManifest.xml
  4. 89 0
      rwsp/src/main/java/com/xwkj/rwsp/app/ActivityLifecycleCallbacksImpl.java
  5. 72 0
      rwsp/src/main/java/com/xwkj/rwsp/app/AppLifecyclesImpl.java
  6. 17 0
      rwsp/src/main/java/com/xwkj/rwsp/app/EventBusTags.java
  7. 97 0
      rwsp/src/main/java/com/xwkj/rwsp/app/FragmentLifecycleCallbacksImpl.java
  8. 159 0
      rwsp/src/main/java/com/xwkj/rwsp/app/GlobalConfiguration.java
  9. 116 0
      rwsp/src/main/java/com/xwkj/rwsp/app/GlobalHttpHandlerImpl.java
  10. 64 0
      rwsp/src/main/java/com/xwkj/rwsp/app/ResponseErrorListenerImpl.java
  11. 337 0
      rwsp/src/main/java/com/xwkj/rwsp/app/utils/BusEntity.java
  12. 213 0
      rwsp/src/main/java/com/xwkj/rwsp/app/utils/BusResEntity.java
  13. 9 0
      rwsp/src/main/java/com/xwkj/rwsp/app/utils/CommonInterFace.java
  14. 222 0
      rwsp/src/main/java/com/xwkj/rwsp/app/utils/ReqToBus.java
  15. 51 0
      rwsp/src/main/java/com/xwkj/rwsp/app/utils/RxUtils.java
  16. 254 0
      rwsp/src/main/java/com/xwkj/rwsp/app/utils/UploadUtil.java
  17. 41 0
      rwsp/src/main/java/com/xwkj/rwsp/di/component/FjGlySpMdXqComponent.java
  18. 41 0
      rwsp/src/main/java/com/xwkj/rwsp/di/component/FjGlyWspComponent.java
  19. 41 0
      rwsp/src/main/java/com/xwkj/rwsp/di/component/FjGlyWspMdComponent.java
  20. 41 0
      rwsp/src/main/java/com/xwkj/rwsp/di/component/MainComponent.java
  21. 41 0
      rwsp/src/main/java/com/xwkj/rwsp/di/component/XfjcXqComponent.java
  22. 30 0
      rwsp/src/main/java/com/xwkj/rwsp/di/module/FjGlySpMdXqModule.java
  23. 30 0
      rwsp/src/main/java/com/xwkj/rwsp/di/module/FjGlyWspMdModule.java
  24. 30 0
      rwsp/src/main/java/com/xwkj/rwsp/di/module/FjGlyWspModule.java
  25. 30 0
      rwsp/src/main/java/com/xwkj/rwsp/di/module/MainModule.java
  26. 30 0
      rwsp/src/main/java/com/xwkj/rwsp/di/module/XfjcXqModule.java
  27. 35 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/FjGlySpMdXqContract.java
  28. 35 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/FjGlyWspContract.java
  29. 32 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/FjGlyWspMdContract.java
  30. 33 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/MainContract.java
  31. 29 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/XfjcXqContract.java
  32. 46 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/FjGlySpMdXqModel.java
  33. 46 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/FjGlyWspMdModel.java
  34. 46 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/FjGlyWspModel.java
  35. 46 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/MainModel.java
  36. 46 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/XfjcXqModel.java
  37. 15 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/api/Api.java
  38. 28 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/api/service/ApiService.java
  39. 276 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/FjGlySpEntity.java
  40. 783 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/JcjlEntity.java
  41. 305 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/Login.java
  42. 1080 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/MdjfXqEntity.java
  43. 41 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/NormalEntity.java
  44. 122 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/FjGlySpMdXqPresenter.java
  45. 94 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/FjGlyWspMdPresenter.java
  46. 159 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/FjGlyWspPresenter.java
  47. 79 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/MainPresenter.java
  48. 53 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/XfjcXqPresenter.java
  49. 279 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/activity/FjGlySpMdXqActivity.java
  50. 369 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/activity/MainActivity.java
  51. 442 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/activity/XfjcXqActivity.java
  52. 275 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/BaseRecycleAdapter.java
  53. 99 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/FjGlySpAdapter.java
  54. 48 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/FjGlySpMdAdapter.java
  55. 32 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/ImageViewAdapter.java
  56. 45 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/MdRySpAdapter.java
  57. 72 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/SpJcJlAdapter.java
  58. 352 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/FjGlyWspFragment.java
  59. 241 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/FjGlyWspMdFragment.java
  60. 75 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/ImgDialog.java
  61. 79 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/ShowJcjlDialog.java
  62. 80 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/SpDialog.java
  63. 35 0
      rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/holder/ImageHolder.java
  64. 9 0
      rwsp/src/main/res/anim/translate_center_to_left.xml
  65. 9 0
      rwsp/src/main/res/anim/translate_center_to_right.xml
  66. 9 0
      rwsp/src/main/res/anim/translate_right_to_center.xml
  67. BIN
      rwsp/src/main/res/drawable-xhdpi/ic_arrow_back_white_24dp.png
  68. BIN
      rwsp/src/main/res/drawable-xxhdpi/ic_arrow_back_white_24dp.png
  69. BIN
      rwsp/src/main/res/drawable-xxxhdpi/bj_blue.png
  70. BIN
      rwsp/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.png
  71. BIN
      rwsp/src/main/res/drawable-xxxhdpi/icon_people_gray.png
  72. BIN
      rwsp/src/main/res/drawable-xxxhdpi/icon_time_gray.png
  73. 9 0
      rwsp/src/main/res/drawable/bg_jq.xml
  74. 9 0
      rwsp/src/main/res/drawable/bg_jq_white.xml
  75. 10 0
      rwsp/src/main/res/drawable/bg_lsyj_timepicker.xml
  76. 5 0
      rwsp/src/main/res/drawable/bg_shape_1a106dff_corner4.xml
  77. 5 0
      rwsp/src/main/res/drawable/bg_shape_1a999999_corner4.xml
  78. 5 0
      rwsp/src/main/res/drawable/bg_shape_1aff1d1d_corner4.xml
  79. 7 0
      rwsp/src/main/res/drawable/bg_shape_gash.xml
  80. 9 0
      rwsp/src/main/res/drawable/bg_shape_hs.xml
  81. 5 0
      rwsp/src/main/res/drawable/bg_shape_solid_light_pink_corner4.xml
  82. 5 0
      rwsp/src/main/res/drawable/bg_shape_stroke_4d106dff_corner4.xml
  83. 6 0
      rwsp/src/main/res/drawable/bg_shape_white.xml
  84. 7 0
      rwsp/src/main/res/drawable/btn_check_selector.xml
  85. 7 0
      rwsp/src/main/res/drawable/cz_shape.xml
  86. 7 0
      rwsp/src/main/res/drawable/jx.xml
  87. 9 0
      rwsp/src/main/res/drawable/line_shape.xml
  88. 9 0
      rwsp/src/main/res/drawable/selector_image_add.xml
  89. 10 0
      rwsp/src/main/res/drawable/white_bg.xml
  90. 717 0
      rwsp/src/main/res/layout/activity_fj_gly_sp_md_xq.xml
  91. 44 0
      rwsp/src/main/res/layout/activity_main.xml
  92. 182 0
      rwsp/src/main/res/layout/activity_xfjc_xq.xml
  93. 21 0
      rwsp/src/main/res/layout/fragment_fj_gly_wsp.xml
  94. 21 0
      rwsp/src/main/res/layout/fragment_fj_gly_wsp_md.xml
  95. 35 0
      rwsp/src/main/res/layout/include_title.xml
  96. 199 0
      rwsp/src/main/res/layout/item_fj_gly_sp.xml
  97. 203 0
      rwsp/src/main/res/layout/item_fj_gly_sp_md.xml
  98. 16 0
      rwsp/src/main/res/layout/item_image.xml
  99. 129 0
      rwsp/src/main/res/layout/item_jcjl.xml
  100. 142 0
      rwsp/src/main/res/layout/item_md_ry_sp.xml

+ 9 - 1
common/build.gradle

@@ -56,6 +56,14 @@ dependencies {
     api rootProject.ext.dependencies["toast"]
     api rootProject.ext.dependencies["fastjson"]
     api rootProject.ext.dependencies["autosize"]
+    api 'com.xm.permissions:XmPermissions:1.0.1'
+    api 'com.google.android.material:material:1.1.0'
+    api rootProject.ext.dependencies["SmartRefreshLayout"]
+    api rootProject.ext.dependencies["SmartRefreshHeader"]
+    api rootProject.ext.dependencies["SmartRefreshFooter"]
+    api 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
+    api 'androidx.constraintlayout:constraintlayout:1.1.3'
+    api rootProject.ext.dependencies["picasso"]
     api 'org.xutils:xutils:3.5.0'
     implementation(name: 'watermarklibrary-0.2.1', ext: 'aar')
     implementation(name: 'oaid_sdk_1.0.25', ext: 'aar')
@@ -65,7 +73,7 @@ dependencies {
     //    implementation (name: 'common-1.5.20', ext: 'aar')
 
     implementation 'com.jaeger.statusbarutil:library:1.5.1'
-    implementation files('libs/zkjc.jar')
+   implementation files('libs/zkjc.jar')
 
 
     implementation 'com.github.gcacace:signature-pad:1.3.1'

+ 141 - 0
rwsp/build.gradle

@@ -0,0 +1,141 @@
+apply plugin: 'com.android.application'
+
+def releaseTime() {
+    return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))
+}
+
+android {
+    compileSdkVersion rootProject.ext.android["compileSdkVersion"]
+
+    useLibrary 'org.apache.http.legacy'
+
+    compileOptions {
+        targetCompatibility JavaVersion.VERSION_1_8
+        sourceCompatibility JavaVersion.VERSION_1_8
+    }
+
+    defaultConfig {
+        applicationId "com.xwkj.rwsp"
+        minSdkVersion rootProject.ext.android["minSdkVersion"]
+        targetSdkVersion 28
+        versionCode 1
+        versionName "1"
+        testInstrumentationRunner rootProject.ext.dependencies["androidJUnitRunner"]
+        flavorDimensions "1"
+    }
+
+    signingConfigs {
+        debug {
+            keyAlias 'zkjc_police'
+            keyPassword 'jlszkjc777888'
+            storeFile file("../sign/keystore.jks")
+            storePassword 'jlszkjc777888'
+//            v2SigningEnabled false
+        }
+        release {
+            keyAlias 'zkjc_police'
+            keyPassword 'jlszkjc777888'
+            storeFile file("../sign/keystore.jks")
+            storePassword 'jlszkjc777888'
+//            v2SigningEnabled false
+        }
+
+    }
+    buildTypes {
+        debug {
+            buildConfigField "boolean", "LOG_DEBUG", "true"
+            buildConfigField "boolean", "USE_CANARY", "true"
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+
+        release {
+            buildConfigField "boolean", "LOG_DEBUG", "false"
+            buildConfigField "boolean", "USE_CANARY", "false"
+            /*minifyEnabled false
+            shrinkResources true
+            zipAlignEnabled true*/
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+    productFlavors {
+        //应用商店版本
+        appstore {
+            resValue "string", "app_name", "任务审批"
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [UMENG_CHANNEL: "appstore", CATEGORY: "android.intent.category.DEFAULT", APP_ICON: "@mipmap/ic_launcher"]
+        }
+        //非应用商店版本
+        unappstore {
+
+            resValue "string", "app_name", "任务审批"
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [UMENG_CHANNEL: "unappstore", CATEGORY: "android.intent.category.LAUNCHER", APP_ICON: "@mipmap/ic_launcher"]
+        }
+
+
+    }
+    productFlavors.all { flavor ->
+        flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name, CATEGORY_VALUE: flavor.manifestPlaceholders.CATEGORY, APP_ICON: flavor.manifestPlaceholders.APP_ICON]
+//        flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
+    }
+
+    applicationVariants.all { variant ->
+        variant.outputs.all {
+            if (variant.buildType.name == 'release') {
+                // release:输出文件名必须命名为 outputFileName
+                outputFileName = "${variant.productFlavors[0].name}_${variant.productFlavors[0].applicationId}_${buildType.name}_v${variant.versionName}_${releaseTime()}.apk"
+//                        output.outputFile = new File(output.outputFile.parent, apkName)
+            } else {
+                // debug 输出文件名必须命名为 outputFileName
+                outputFileName = "${variant.productFlavors[0].name}_${project.getName()}_${buildType.name}.apk"
+//                        output.outputFile = new File(output.outputFile.parent, apkName)
+            }
+        }
+    }
+
+
+    lintOptions {
+        disable 'InvalidPackage'
+        disable "ResourceType"
+        abortOnError false
+    }
+
+}
+repositories {
+    flatDir {
+        dirs 'libs', '../common/libs'
+    }
+}
+dependencies {
+    implementation fileTree(dir: 'libs', include: ['*.jar'])
+ //   implementation 'me.jessyan:arms:2.5.2'
+   // implementation 'me.jessyan:arms-imageloader-glide:2.5.2'
+
+    //view
+    implementation rootProject.ext.dependencies["autosize"]
+    annotationProcessor(rootProject.ext.dependencies["butterknife-compiler"]) {
+        exclude module: 'support-annotations'
+    }
+
+    //tools
+    annotationProcessor rootProject.ext.dependencies["dagger2-compiler"]
+
+    //注意 Arms 核心库现在并不会依赖某个 EventBus, 要想使用 EventBus, 还请在项目中自行依赖对应的 EventBus
+    //现在支持两种 EventBus, greenrobot 的 EventBus 和畅销书 《Android源码设计模式解析与实战》的作者 何红辉 所作的 AndroidEventBus
+    //依赖后 Arms 会自动检测您依赖的 EventBus 并自动注册
+    //建议使用 AndroidEventBus, 特别是组件化项目, 原因请看 https://github.com/hehonghui/AndroidEventBus/issues/49
+    //这种做法可以让使用者有自行选择三方库的权利, 并且还可以减轻 Arms 的体积
+    implementation rootProject.ext.dependencies["androideventbus"]
+//    implementation rootProject.ext.dependencies["eventbus"]
+
+    //test
+    debugImplementation rootProject.ext.dependencies["canary-debug"]
+    releaseImplementation rootProject.ext.dependencies["canary-release"]
+    testImplementation rootProject.ext.dependencies["canary-release"]
+    testImplementation rootProject.ext.dependencies["junit"]
+    implementation project(':thirdparty')
+    implementation project(':common')
+    implementation 'fm.jiecao:jiecaovideoplayer:5.5.4'
+    implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.2.4'
+}

+ 56 - 0
rwsp/src/main/AndroidManifest.xml

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.xwkj.rwsp">
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+
+    <application
+        android:name="com.jess.arms.base.BaseApplication"
+        android:allowBackup="true"
+        android:icon="${APP_ICON}"
+        android:label="@string/app_name"
+        android:networkSecurityConfig="@xml/network_security_config"
+        android:supportsRtl="true"
+        android:theme="@style/AppTheme">
+        <activity android:name=".mvp.ui.activity.XfjcXqActivity" />
+        <activity android:name=".mvp.ui.activity.FjGlySpMdXqActivity" />
+        <activity android:name=".mvp.ui.activity.MainActivity">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+        <!--
+         只要依赖 AutoSize 就必须填写设计图尺寸, 否则报错, 不想使用 AutoSize 就不要依赖 AutoSize
+        只要填写完设计图的尺寸, AutoSize 就会自动启动, 以下 dp 尺寸是根据公式 px / (dpi / 160) 求出, 运算时使用测试机的 dpi 即可
+        AutoSize 的详细介绍请看这里 https://juejin.im/post/5bce688e6fb9a05cf715d1c2
+        -->
+        <provider
+            android:name="androidx.core.content.FileProvider"
+            android:authorities="com.xwkj.rwsp.fileprovider"
+            android:exported="false"
+            android:grantUriPermissions="true">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/file_paths" />
+        </provider>
+
+        <meta-data
+            android:name="design_width_in_dp"
+            android:value="360" />
+        <meta-data
+            android:name="design_height_in_dp"
+            android:value="640" /> <!-- arms配置 -->
+        <meta-data
+            android:name="com.xwkj.rwsp.app.GlobalConfiguration"
+            android:value="ConfigModule" />
+    </application>
+
+</manifest>

+ 89 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/ActivityLifecycleCallbacksImpl.java

@@ -0,0 +1,89 @@
+package com.xwkj.rwsp.app;
+
+import android.app.Activity;
+import android.app.Application;
+import android.os.Build;
+import android.os.Bundle;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
+
+import android.widget.TextView;
+
+import com.xwkj.rwsp.R;
+
+import timber.log.Timber;
+
+/**
+ * ================================================
+ * 展示 {@link Application.ActivityLifecycleCallbacks} 的用法
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * ================================================
+ */
+public class ActivityLifecycleCallbacksImpl implements Application.ActivityLifecycleCallbacks {
+
+    @Override
+    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
+        Timber.i(activity + " - onActivityCreated");
+    }
+
+    @Override
+    public void onActivityStarted(Activity activity) {
+        Timber.i(activity + " - onActivityStarted");
+        if (!activity.getIntent().getBooleanExtra("isInitToolbar", false)) {
+            //由于加强框架的兼容性,故将 setContentView 放到 onActivityCreated 之后,onActivityStarted 之前执行
+            //而 findViewById 必须在 Activity setContentView() 后才有效,所以将以下代码从之前的 onActivityCreated 中移动到 onActivityStarted 中执行
+            activity.getIntent().putExtra("isInitToolbar", true);
+            //这里全局给Activity设置toolbar和title,你想象力有多丰富,这里就有多强大,以前放到BaseActivity的操作都可以放到这里
+            if (activity.findViewById(R.id.toolbar) != null) {
+                if (activity instanceof AppCompatActivity) {
+                    ((AppCompatActivity) activity).setSupportActionBar((Toolbar) activity.findViewById(R.id.toolbar));
+                    ((AppCompatActivity) activity).getSupportActionBar().setDisplayShowTitleEnabled(false);
+                } else {
+                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+                        activity.setActionBar((android.widget.Toolbar) activity.findViewById(R.id.toolbar));
+                        activity.getActionBar().setDisplayShowTitleEnabled(false);
+                    }
+                }
+            }
+            if (activity.findViewById(R.id.toolbar_title) != null) {
+                ((TextView) activity.findViewById(R.id.toolbar_title)).setText(activity.getTitle());
+            }
+            if (activity.findViewById(R.id.toolbar_back) != null) {
+                activity.findViewById(R.id.toolbar_back).setOnClickListener(v -> {
+                    activity.onBackPressed();
+                });
+            }
+        }
+    }
+
+    @Override
+    public void onActivityResumed(Activity activity) {
+        Timber.i(activity + " - onActivityResumed");
+    }
+
+    @Override
+    public void onActivityPaused(Activity activity) {
+        Timber.i(activity + " - onActivityPaused");
+    }
+
+    @Override
+    public void onActivityStopped(Activity activity) {
+        Timber.i(activity + " - onActivityStopped");
+    }
+
+    @Override
+    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
+        Timber.i(activity + " - onActivitySaveInstanceState");
+    }
+
+    @Override
+    public void onActivityDestroyed(Activity activity) {
+        Timber.i(activity + " - onActivityDestroyed");
+        //横竖屏切换或配置改变时, Activity 会被重新创建实例, 但 Bundle 中的基础数据会被保存下来,移除该数据是为了保证重新创建的实例可以正常工作
+        activity.getIntent().removeExtra("isInitToolbar");
+    }
+}

+ 72 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/AppLifecyclesImpl.java

@@ -0,0 +1,72 @@
+package com.xwkj.rwsp.app;
+
+import android.app.Application;
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+
+import com.hjq.toast.ToastUtils;
+import com.jess.arms.base.delegate.AppLifecycles;
+import com.jess.arms.integration.cache.IntelligentCache;
+import com.jess.arms.utils.ArmsUtils;
+import com.squareup.leakcanary.LeakCanary;
+import com.squareup.leakcanary.RefWatcher;
+
+import butterknife.ButterKnife;
+
+import com.xwkj.rwsp.BuildConfig;
+
+import timber.log.Timber;
+
+/**
+ * ================================================
+ * 展示 {@link AppLifecycles} 的用法
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * ================================================
+ */
+public class AppLifecyclesImpl implements AppLifecycles {
+
+    @Override
+    public void attachBaseContext(@NonNull Context base) {
+//          MultiDex.install(base);  //这里比 onCreate 先执行,常用于 MultiDex 初始化,插件化框架的初始化
+    }
+
+    @Override
+    public void onCreate(@NonNull Application application) {
+        ToastUtils.init(application);
+        if (LeakCanary.isInAnalyzerProcess(application)) {
+            // This process is dedicated to LeakCanary for heap analysis.
+            // You should not init your app in this process.
+            return;
+        }
+        if (BuildConfig.LOG_DEBUG) {//Timber初始化
+            //Timber 是一个日志框架容器,外部使用统一的Api,内部可以动态的切换成任何日志框架(打印策略)进行日志打印
+            //并且支持添加多个日志框架(打印策略),做到外部调用一次 Api,内部却可以做到同时使用多个策略
+            //比如添加三个策略,一个打印日志,一个将日志保存本地,一个将日志上传服务器
+            Timber.plant(new Timber.DebugTree());
+            // 如果你想将框架切换为 Logger 来打印日志,请使用下面的代码,如想切换为其他日志框架请根据下面的方式扩展
+//                    Logger.addLogAdapter(new AndroidLogAdapter());
+//                    Timber.plant(new Timber.DebugTree() {
+//                        @Override
+//                        protected void log(int priority, String tag, String message, Throwable t) {
+//                            Logger.log(priority, tag, message, t);
+//                        }
+//                    });
+            ButterKnife.setDebug(true);
+        }
+        //LeakCanary 内存泄露检查
+        //使用 IntelligentCache.KEY_KEEP 作为 key 的前缀, 可以使储存的数据永久存储在内存中
+        //否则存储在 LRU 算法的存储空间中, 前提是 extras 使用的是 IntelligentCache (框架默认使用)
+        ArmsUtils.obtainAppComponentFromContext(application).extras()
+                .put(IntelligentCache.getKeyOfKeep(RefWatcher.class.getName())
+                        , BuildConfig.USE_CANARY ? LeakCanary.install(application) : RefWatcher.DISABLED);
+    }
+
+    @Override
+    public void onTerminate(@NonNull Application application) {
+
+    }
+}

+ 17 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/EventBusTags.java

@@ -0,0 +1,17 @@
+package com.xwkj.rwsp.app;
+
+/**
+ * ================================================
+ * 放置 AndroidEventBus 的 Tag, 便于检索
+ * Arms 核心库现在并不会依赖某个 EventBus, 要想使用 EventBus, 还请在项目中自行依赖对应的 EventBus
+ * 现在支持两种 EventBus, greenrobot 的 EventBus 和畅销书 《Android源码设计模式解析与实战》的作者 何红辉 所作的 AndroidEventBus
+ *
+ * @see <a href="https://github.com/JessYanCoding/MVPArms/wiki#3.5">EventBusTags wiki 官方文档</a>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * ================================================
+ */
+public interface EventBusTags {
+
+}

+ 97 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/FragmentLifecycleCallbacksImpl.java

@@ -0,0 +1,97 @@
+package com.xwkj.rwsp.app;
+
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
+import android.view.View;
+
+import com.jess.arms.integration.cache.IntelligentCache;
+import com.jess.arms.utils.ArmsUtils;
+import com.squareup.leakcanary.RefWatcher;
+
+import timber.log.Timber;
+
+/**
+ * ================================================
+ * 展示 {@link FragmentManager.FragmentLifecycleCallbacks} 的用法
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * ================================================
+ */
+public class FragmentLifecycleCallbacksImpl extends FragmentManager.FragmentLifecycleCallbacks {
+
+    @Override
+    public void onFragmentAttached(FragmentManager fm, Fragment f, Context context) {
+        Timber.i(f.toString() + " - onFragmentAttached");
+    }
+
+    @Override
+    public void onFragmentCreated(FragmentManager fm, Fragment f, Bundle savedInstanceState) {
+        Timber.i(f.toString() + " - onFragmentCreated");
+        // 在配置变化的时候将这个 Fragment 保存下来,在 Activity 由于配置变化重建时重复利用已经创建的 Fragment。
+        // https://developer.android.com/reference/android/app/Fragment.html?hl=zh-cn#setRetainInstance(boolean)
+        // 如果在 XML 中使用 <Fragment/> 标签,的方式创建 Fragment 请务必在标签中加上 android:id 或者 android:tag 属性,否则 setRetainInstance(true) 无效
+        // 在 Activity 中绑定少量的 Fragment 建议这样做,如果需要绑定较多的 Fragment 不建议设置此参数,如 ViewPager 需要展示较多 Fragment
+        f.setRetainInstance(true);
+    }
+
+    @Override
+    public void onFragmentViewCreated(FragmentManager fm, Fragment f, View v, Bundle savedInstanceState) {
+        Timber.i(f.toString() + " - onFragmentViewCreated");
+    }
+
+    @Override
+    public void onFragmentActivityCreated(FragmentManager fm, Fragment f, Bundle savedInstanceState) {
+        Timber.i(f.toString() + " - onFragmentActivityCreated");
+    }
+
+    @Override
+    public void onFragmentStarted(FragmentManager fm, Fragment f) {
+        Timber.i(f.toString() + " - onFragmentStarted");
+    }
+
+    @Override
+    public void onFragmentResumed(FragmentManager fm, Fragment f) {
+        Timber.i(f.toString() + " - onFragmentResumed");
+    }
+
+    @Override
+    public void onFragmentPaused(FragmentManager fm, Fragment f) {
+        Timber.i(f.toString() + " - onFragmentPaused");
+    }
+
+    @Override
+    public void onFragmentStopped(FragmentManager fm, Fragment f) {
+        Timber.i(f.toString() + " - onFragmentStopped");
+    }
+
+    @Override
+    public void onFragmentSaveInstanceState(FragmentManager fm, Fragment f, Bundle outState) {
+        Timber.i(f.toString() + " - onFragmentSaveInstanceState");
+    }
+
+    @Override
+    public void onFragmentViewDestroyed(FragmentManager fm, Fragment f) {
+        Timber.i(f.toString() + " - onFragmentViewDestroyed");
+    }
+
+    @Override
+    public void onFragmentDestroyed(FragmentManager fm, Fragment f) {
+        Timber.i(f.toString() + " - onFragmentDestroyed");
+        ((RefWatcher) ArmsUtils
+                .obtainAppComponentFromContext(f.getActivity())
+                .extras()
+                .get(IntelligentCache.getKeyOfKeep(RefWatcher.class.getName())))
+                .watch(f);
+    }
+
+    @Override
+    public void onFragmentDetached(FragmentManager fm, Fragment f) {
+        Timber.i(f.toString() + " - onFragmentDetached");
+    }
+}

+ 159 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/GlobalConfiguration.java

@@ -0,0 +1,159 @@
+package com.xwkj.rwsp.app;
+
+import android.app.Application;
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.fragment.app.FragmentManager;
+
+import com.jess.arms.base.delegate.AppLifecycles;
+import com.jess.arms.di.module.GlobalConfigModule;
+import com.jess.arms.http.imageloader.glide.GlideImageLoaderStrategy;
+import com.jess.arms.http.log.RequestInterceptor;
+import com.jess.arms.integration.ConfigModule;
+import com.jess.arms.utils.ArmsUtils;
+import com.squareup.leakcanary.RefWatcher;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import com.xwkj.rwsp.BuildConfig;
+import com.xwkj.rwsp.mvp.model.api.Api;
+
+/**
+ * ================================================
+ * App 的全局配置信息在此配置, 需要将此实现类声明到 AndroidManifest 中
+ * ConfigModule 的实现类可以有无数多个, 在 Application 中只是注册回调, 并不会影响性能 (多个 ConfigModule 在多 Module 环境下尤为受用)
+ *
+ * @see com.jess.arms.base.delegate.AppDelegate
+ * @see com.jess.arms.integration.ManifestParser
+ * @see <a href="https://github.com/JessYanCoding/MVPArms/wiki">请配合官方 Wiki 文档学习本框架</a>
+ * @see <a href="https://github.com/JessYanCoding/MVPArms/wiki/UpdateLog">更新日志, 升级必看!</a>
+ * @see <a href="https://github.com/JessYanCoding/MVPArms/wiki/Issues">常见 Issues, 踩坑必看!</a>
+ * @see <a href="https://github.com/JessYanCoding/ArmsComponent/wiki">MVPArms 官方组件化方案 ArmsComponent, 进阶指南!</a>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * ================================================
+ */
+public final class GlobalConfiguration implements ConfigModule {
+//    public static String sDomain = Api.APP_DOMAIN;
+
+    @Override
+    public void applyOptions(Context context, GlobalConfigModule.Builder builder) {
+        if (!BuildConfig.LOG_DEBUG) { //Release 时, 让框架不再打印 Http 请求和响应的信息
+            builder.printHttpLogLevel(RequestInterceptor.Level.NONE);
+        }
+
+        builder.baseurl(Api.APP_DOMAIN)
+                //强烈建议自己自定义图片加载逻辑, 因为 arms-imageloader-glide 提供的 GlideImageLoaderStrategy 并不能满足复杂的需求
+                //请参考 https://github.com/JessYanCoding/MVPArms/wiki#3.4
+                .imageLoaderStrategy(new GlideImageLoaderStrategy())
+
+                //想支持多 BaseUrl, 以及运行时动态切换任意一个 BaseUrl, 请使用 https://github.com/JessYanCoding/RetrofitUrlManager
+                //如果 BaseUrl 在 App 启动时不能确定, 需要请求服务器接口动态获取, 请使用以下代码
+                //以下方式是 Arms 框架自带的切换 BaseUrl 的方式, 在整个 App 生命周期内只能切换一次, 若需要无限次的切换 BaseUrl, 以及各种复杂的应用场景还是需要使用 RetrofitUrlManager 框架
+                //以下代码只是配置, 还要使用 Okhttp (AppComponent 中提供) 请求服务器获取到正确的 BaseUrl 后赋值给 GlobalConfiguration.sDomain
+                //切记整个过程必须在第一次调用 Retrofit 接口之前完成, 如果已经调用过 Retrofit 接口, 此种方式将不能切换 BaseUrl
+//                .baseurl(new BaseUrl() {
+//                    @Override
+//                    public HttpUrl url() {
+//                        return HttpUrl.parse(sDomain);
+//                    }
+//                })
+
+                //可根据当前项目的情况以及环境为框架某些部件提供自定义的缓存策略, 具有强大的扩展性
+//                .cacheFactory(new Cache.Factory() {
+//                    @NonNull
+//                    @Override
+//                    public Cache build(CacheType type) {
+//                        switch (type.getCacheTypeId()){
+//                            case CacheType.EXTRAS_TYPE_ID:
+//                                return new IntelligentCache(500);
+//                            case CacheType.CACHE_SERVICE_CACHE_TYPE_ID:
+//                                return new Cache(type.calculateCacheSize(context));//自定义 Cache
+//                            default:
+//                                return new LruCache(200);
+//                        }
+//                    }
+//                })
+
+                //若觉得框架默认的打印格式并不能满足自己的需求, 可自行扩展自己理想的打印格式 (以下只是简单实现)
+//                .formatPrinter(new FormatPrinter() {
+//                    @Override
+//                    public void printJsonRequest(Request request, String bodyString) {
+//                        Timber.i("printJsonRequest:" + bodyString);
+//                    }
+//
+//                    @Override
+//                    public void printFileRequest(Request request) {
+//                        Timber.i("printFileRequest:" + request.url().toString());
+//                    }
+//
+//                    @Override
+//                    public void printJsonResponse(long chainMs, boolean isSuccessful, int code,
+//                                                  String headers, MediaType contentType, String bodyString,
+//                                                  List<String> segments, String message, String responseUrl) {
+//                        Timber.i("printJsonResponse:" + bodyString);
+//                    }
+//
+//                    @Override
+//                    public void printFileResponse(long chainMs, boolean isSuccessful, int code, String headers,
+//                                                  List<String> segments, String message, String responseUrl) {
+//                        Timber.i("printFileResponse:" + responseUrl);
+//                    }
+//                })
+
+                //可以自定义一个单例的线程池供全局使用
+//                .executorService(Executors.newCachedThreadPool())
+
+                //这里提供一个全局处理 Http 请求和响应结果的处理类, 可以比客户端提前一步拿到服务器返回的结果, 可以做一些操作, 比如 Token 超时后, 重新获取 Token
+                .globalHttpHandler(new GlobalHttpHandlerImpl(context))
+                //用来处理 RxJava 中发生的所有错误, RxJava 中发生的每个错误都会回调此接口
+                //RxJava 必须要使用 ErrorHandleSubscriber (默认实现 Subscriber 的 onError 方法), 此监听才生效
+                .responseErrorListener(new ResponseErrorListenerImpl())
+                .gsonConfiguration((context1, gsonBuilder) -> {//这里可以自己自定义配置 Gson 的参数
+                    gsonBuilder
+                            .serializeNulls()//支持序列化值为 null 的参数
+                            .enableComplexMapKeySerialization();//支持将序列化 key 为 Object 的 Map, 默认只能序列化 key 为 String 的 Map
+                })
+                .retrofitConfiguration((context1, retrofitBuilder) -> {//这里可以自己自定义配置 Retrofit 的参数, 甚至您可以替换框架配置好的 OkHttpClient 对象 (但是不建议这样做, 这样做您将损失框架提供的很多功能)
+//                    retrofitBuilder.addConverterFactory(FastJsonConverterFactory.create());//比如使用 FastJson 替代 Gson
+                })
+                .okhttpConfiguration((context1, okhttpBuilder) -> {//这里可以自己自定义配置 Okhttp 的参数
+//                    okhttpBuilder.sslSocketFactory(); //支持 Https, 详情请百度
+                    okhttpBuilder.writeTimeout(10, TimeUnit.SECONDS);
+                    //使用一行代码监听 Retrofit/Okhttp 上传下载进度监听, 以及 Glide 加载进度监听, 详细使用方法请查看 https://github.com/JessYanCoding/ProgressManager
+//                    ProgressManager.getInstance().with(okhttpBuilder);
+                    //让 Retrofit 同时支持多个 BaseUrl 以及动态改变 BaseUrl, 详细使用方法请查看 https://github.com/JessYanCoding/RetrofitUrlManager
+//                    RetrofitUrlManager.getInstance().with(okhttpBuilder);
+                })
+                .rxCacheConfiguration((context1, rxCacheBuilder) -> {//这里可以自己自定义配置 RxCache 的参数
+                    rxCacheBuilder.useExpiredDataIfLoaderNotAvailable(true);
+                    //想自定义 RxCache 的缓存文件夹或者解析方式, 如改成 FastJson, 请 return rxCacheBuilder.persistence(cacheDirectory, new FastJsonSpeaker());
+                    //否则请 return null;
+                    return null;
+                });
+    }
+
+    @Override
+    public void injectAppLifecycle(Context context, List<AppLifecycles> lifecycles) {
+        //AppLifecycles 中的所有方法都会在基类 Application 的对应生命周期中被调用, 所以在对应的方法中可以扩展一些自己需要的逻辑
+        //可以根据不同的逻辑添加多个实现类
+        lifecycles.add(new AppLifecyclesImpl());
+    }
+
+    @Override
+    public void injectActivityLifecycle(Context context, List<Application.ActivityLifecycleCallbacks> lifecycles) {
+        //ActivityLifecycleCallbacks 中的所有方法都会在 Activity (包括三方库) 的对应生命周期中被调用, 所以在对应的方法中可以扩展一些自己需要的逻辑
+        //可以根据不同的逻辑添加多个实现类
+        lifecycles.add(new ActivityLifecycleCallbacksImpl());
+    }
+
+    @Override
+    public void injectFragmentLifecycle(Context context, List<FragmentManager.FragmentLifecycleCallbacks> lifecycles) {
+        //FragmentLifecycleCallbacks 中的所有方法都会在 Fragment (包括三方库) 的对应生命周期中被调用, 所以在对应的方法中可以扩展一些自己需要的逻辑
+        //可以根据不同的逻辑添加多个实现类
+        lifecycles.add(new FragmentLifecycleCallbacksImpl());
+    }
+}

+ 116 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/GlobalHttpHandlerImpl.java

@@ -0,0 +1,116 @@
+package com.xwkj.rwsp.app;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.text.TextUtils;
+
+import com.jess.arms.http.GlobalHttpHandler;
+import com.xwkj.rwsp.app.utils.UploadUtil;
+import com.zkjc.common.utils.DataToNetUtil;
+
+import java.io.IOException;
+import java.nio.charset.Charset;
+
+import okhttp3.HttpUrl;
+import okhttp3.Interceptor;
+import okhttp3.Request;
+import okhttp3.Response;
+import okhttp3.ResponseBody;
+
+/**
+ * ================================================
+ * 展示 {@link GlobalHttpHandler} 的用法
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * ================================================
+ */
+public class GlobalHttpHandlerImpl implements GlobalHttpHandler {
+    private Context context;
+
+    public GlobalHttpHandlerImpl(Context context) {
+        this.context = context;
+    }
+
+    /**
+     * 这里可以先客户端一步拿到每一次 Http 请求的结果, 可以先解析成 Json, 再做一些操作, 如检测到 token 过期后
+     * 重新请求 token, 并重新执行请求
+     *
+     * @param httpResult 服务器返回的结果 (已被框架自动转换为字符串)
+     * @param chain      {@link okhttp3.Interceptor.Chain}
+     * @param response   {@link Response}
+     * @return
+     */
+    @Override
+    public Response onHttpResultResponse(String httpResult, Interceptor.Chain chain, Response response) {
+        /* 这里如果发现 token 过期, 可以先请求最新的 token, 然后在拿新的 token 放入 Request 里去重新请求
+        注意在这个回调之前已经调用过 proceed(), 所以这里必须自己去建立网络请求, 如使用 Okhttp 使用新的 Request 去请求
+        create a new request and modify it accordingly using the new token
+        Request newRequest = chain.request().newBuilder().header("token", newToken)
+                             .build();
+
+        retry the request
+
+        response.body().close();
+        如果使用 Okhttp 将新的请求, 请求成功后, 再将 Okhttp 返回的 Response return 出去即可
+        如果不需要返回新的结果, 则直接把参数 response 返回出去即可*/
+        System.out.println("返回结果" + httpResult);
+       /* if (isTokenExpired(response)) {
+
+        }*/
+
+        ResponseBody responseBody = response.body();
+        HttpUrl url = response.request().url();
+        if (!url.toString().contains("https://restapi.amap.com/v3/geocode/regeo") && !url.toString().contains("csjcInfo/info/yhlr")){
+            if (responseBody != null) {
+                try {
+                    //response = getProcessResponse(response, responseBody);
+                    response = DataToNetUtil.getProcessResponse(response, responseBody);
+                } catch (IOException e) {
+                    //如果发生异常直接返回
+                    e.printStackTrace();
+                    return response;
+                }
+            }
+        }
+        return response;
+    }
+
+
+    /**
+     * 这里可以在请求服务器之前拿到 {@link Request}, 做一些操作比如给 {@link Request} 统一添加 token 或者 header 以及参数加密等操作
+     *
+     * @param chain   {@link okhttp3.Interceptor.Chain}
+     * @param request {@link Request}
+     * @return
+     */
+    @Override
+    public Request onHttpRequestBefore(Interceptor.Chain chain, Request request) {
+        /* 如果需要在请求服务器之前做一些操作, 则重新构建一个做过操作的 Request 并 return, 如增加 Header、Params 等请求信息, 不做操作则直接返回参数 request
+        return chain.request().newBuilder().header("token", tokenId)
+                              .build(); */
+        SharedPreferences sharedPreferences = context.getSharedPreferences("sys", Context.MODE_PRIVATE);
+        String token = sharedPreferences.getString("token", "");
+        Request.Builder builder = chain.request().newBuilder();
+        builder.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0");
+
+        HttpUrl url = request.url();
+        //  List<String> list = Arrays.asList(urls);
+        /*if (!list.contains(url.toString())) {
+            builder.header("phone", "phone");
+        }*/
+
+        if (!TextUtils.isEmpty(token))
+            builder.header("Blade-Auth", "bearer " + token);
+
+        Request build = builder.build();
+//        sharedPreferences.edit().putString("request", request.body().toString()).apply();
+        if (!url.toString().contains(UploadUtil.PATH) && !url.toString().contains("csjcInfo/info/yhlr")) {
+            Charset charset = Charset.forName("UTF-8");
+            build = DataToNetUtil.getJmRequest(build, charset);
+        }
+        return build;
+//        return build;
+    }
+}

+ 64 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/ResponseErrorListenerImpl.java

@@ -0,0 +1,64 @@
+package com.xwkj.rwsp.app;
+
+import android.content.Context;
+import android.net.ParseException;
+
+import com.google.gson.JsonIOException;
+import com.google.gson.JsonParseException;
+import com.jess.arms.utils.ArmsUtils;
+
+import org.json.JSONException;
+
+import java.net.SocketTimeoutException;
+import java.net.UnknownHostException;
+
+import me.jessyan.rxerrorhandler.handler.listener.ResponseErrorListener;
+import retrofit2.HttpException;
+import timber.log.Timber;
+
+/**
+ * ================================================
+ * 展示 {@link ResponseErrorListener} 的用法
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * ================================================
+ */
+public class ResponseErrorListenerImpl implements ResponseErrorListener {
+
+    @Override
+    public void handleResponseError(Context context, Throwable t) {
+        Timber.tag("Catch-Error").w(t.getMessage());
+        //这里不光只能打印错误, 还可以根据不同的错误做出不同的逻辑处理
+        //这里只是对几个常用错误进行简单的处理, 展示这个类的用法, 在实际开发中请您自行对更多错误进行更严谨的处理
+        String msg = "未知错误";
+        if (t instanceof UnknownHostException) {
+            msg = "网络不可用";
+        } else if (t instanceof SocketTimeoutException) {
+            msg = "请求网络超时";
+        } else if (t instanceof HttpException) {
+            HttpException httpException = (HttpException) t;
+            msg = convertStatusCode(httpException);
+        } else if (t instanceof JsonParseException || t instanceof ParseException || t instanceof JSONException || t instanceof JsonIOException) {
+            msg = "数据解析错误";
+        }
+        ArmsUtils.snackbarText(msg);
+    }
+
+    private String convertStatusCode(HttpException httpException) {
+        String msg;
+        if (httpException.code() == 500) {
+            msg = "服务器发生错误";
+        } else if (httpException.code() == 404) {
+            msg = "请求地址不存在";
+        } else if (httpException.code() == 403) {
+            msg = "请求被服务器拒绝";
+        } else if (httpException.code() == 307) {
+            msg = "请求被重定向到其他页面";
+        } else {
+            msg = httpException.message();
+        }
+        return msg;
+    }
+}

+ 337 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/utils/BusEntity.java

@@ -0,0 +1,337 @@
+package com.xwkj.rwsp.app.utils;
+
+public class BusEntity {
+
+    /**
+     * jsonrpc : 2.0
+     * id : 1
+     * method : query
+     * params : {"data":{"version":"11111","sessionId":"e68f26bb70ab41b8a9fa2a37b34ab1bc","userInfo":{"userId":"001234","userName":"张三","userDeptNo":"440000000000","sn":"39a22c9d353f4ea8bbf5a8703799f400","sfzh":"4111231234566789741256893","extAttr":{}},"source":{"sourceId":"DS-01,DS-02"},"dataObjId":"czrk","condition":"name = '李四' and age < 30","fields":"name,age,sex,phone","orderBy":"name desc, age desc","page":{"pageSize":10,"pageNo":1}},"sign":"1qqqqwwwwwwwwwwwwww"}
+     */
+
+    private String jsonrpc;
+    private String id;
+    private String method;
+    private ParamsBean params;
+
+    public String getJsonrpc() {
+        return jsonrpc;
+    }
+
+    public void setJsonrpc(String jsonrpc) {
+        this.jsonrpc = jsonrpc;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getMethod() {
+        return method;
+    }
+
+    public void setMethod(String method) {
+        this.method = method;
+    }
+
+    public ParamsBean getParams() {
+        return params;
+    }
+
+    public void setParams(ParamsBean params) {
+        this.params = params;
+    }
+
+    public static class ParamsBean {
+        /**
+         * data : {"version":"11111","sessionId":"e68f26bb70ab41b8a9fa2a37b34ab1bc","userInfo":{"userId":"001234","userName":"张三","userDeptNo":"440000000000","sn":"39a22c9d353f4ea8bbf5a8703799f400","sfzh":"4111231234566789741256893","extAttr":{}},"source":{"sourceId":"DS-01,DS-02"},"dataObjId":"czrk","condition":"name = '李四' and age < 30","fields":"name,age,sex,phone","orderBy":"name desc, age desc","page":{"pageSize":10,"pageNo":1}}
+         * sign : 1qqqqwwwwwwwwwwwwww
+         */
+
+        private DataBean data;
+        private String sign;
+
+        public DataBean getData() {
+            return data;
+        }
+
+        public void setData(DataBean data) {
+            this.data = data;
+        }
+
+        public String getSign() {
+            return sign;
+        }
+
+        public void setSign(String sign) {
+            this.sign = sign;
+        }
+
+        public static class DataBean {
+            /**
+             * version : 11111
+             * sessionId : e68f26bb70ab41b8a9fa2a37b34ab1bc
+             * userInfo : {"userId":"001234","userName":"张三","userDeptNo":"440000000000","sn":"39a22c9d353f4ea8bbf5a8703799f400","sfzh":"4111231234566789741256893","extAttr":{}}
+             * source : {"sourceId":"DS-01,DS-02"}
+             * dataObjId : czrk
+             * condition : name = '李四' and age < 30
+             * fields : name,age,sex,phone
+             * orderBy : name desc, age desc
+             * page : {"pageSize":10,"pageNo":1}
+             */
+
+            private String version;
+            private String appId;
+            private String timestamp;
+            private String nonce;
+            private String sign;
+
+            public String getAppId() {
+                return appId;
+            }
+
+            public void setAppId(String appId) {
+                this.appId = appId;
+            }
+
+            public String getTimestamp() {
+                return timestamp;
+            }
+
+            public void setTimestamp(String timestamp) {
+                this.timestamp = timestamp;
+            }
+
+            public String getNonce() {
+                return nonce;
+            }
+
+            public void setNonce(String nonce) {
+                this.nonce = nonce;
+            }
+
+            public String getSign() {
+                return sign;
+            }
+
+            public void setSign(String sign) {
+                this.sign = sign;
+            }
+
+            private String sessionId;
+            private UserInfoBean userInfo;
+            private SourceBean source;
+            private String dataObjId;
+            private String condition;
+            private String fields;
+            private String orderBy;
+            private PageBean page;
+
+            public String getVersion() {
+                return version;
+            }
+
+            public void setVersion(String version) {
+                this.version = version;
+            }
+
+            public String getSessionId() {
+                return sessionId;
+            }
+
+            public void setSessionId(String sessionId) {
+                this.sessionId = sessionId;
+            }
+
+            public UserInfoBean getUserInfo() {
+                return userInfo;
+            }
+
+            public void setUserInfo(UserInfoBean userInfo) {
+                this.userInfo = userInfo;
+            }
+
+            public SourceBean getSource() {
+                return source;
+            }
+
+            public void setSource(SourceBean source) {
+                this.source = source;
+            }
+
+            public String getDataObjId() {
+                return dataObjId;
+            }
+
+            public void setDataObjId(String dataObjId) {
+                this.dataObjId = dataObjId;
+            }
+
+            public String getCondition() {
+                return condition;
+            }
+
+            public void setCondition(String condition) {
+                this.condition = condition;
+            }
+
+            public String getFields() {
+                return fields;
+            }
+
+            public void setFields(String fields) {
+                this.fields = fields;
+            }
+
+            public String getOrderBy() {
+                return orderBy;
+            }
+
+            public void setOrderBy(String orderBy) {
+                this.orderBy = orderBy;
+            }
+
+            public PageBean getPage() {
+                return page;
+            }
+
+            public void setPage(PageBean page) {
+                this.page = page;
+            }
+
+            public static class UserInfoBean {
+                /**
+                 * userId : 001234
+                 * userName : 张三
+                 * userDeptNo : 440000000000
+                 * sn : 39a22c9d353f4ea8bbf5a8703799f400
+                 * sfzh : 4111231234566789741256893
+                 * extAttr : {}
+                 */
+
+                private String userId;
+                private String userName;
+                private String userDeptNo;
+                private String sn;
+                private String sfzh;
+                private ExtAttrBean extAttr;
+
+                public String getUserId() {
+                    return userId;
+                }
+
+                public void setUserId(String userId) {
+                    this.userId = userId;
+                }
+
+                public String getUserName() {
+                    return userName;
+                }
+
+                public void setUserName(String userName) {
+                    this.userName = userName;
+                }
+
+                public String getUserDeptNo() {
+                    return userDeptNo;
+                }
+
+                public void setUserDeptNo(String userDeptNo) {
+                    this.userDeptNo = userDeptNo;
+                }
+
+                public String getSn() {
+                    return sn;
+                }
+
+                public void setSn(String sn) {
+                    this.sn = sn;
+                }
+
+                public String getSfzh() {
+                    return sfzh;
+                }
+
+                public void setSfzh(String sfzh) {
+                    this.sfzh = sfzh;
+                }
+
+                public ExtAttrBean getExtAttr() {
+                    return extAttr;
+                }
+
+                public void setExtAttr(ExtAttrBean extAttr) {
+                    this.extAttr = extAttr;
+                }
+
+                public static class ExtAttrBean {
+                    private String ip;
+                    private String port;
+
+                    public String getIp() {
+                        return ip;
+                    }
+
+                    public void setIp(String ip) {
+                        this.ip = ip;
+                    }
+
+                    public String getPort() {
+                        return port;
+                    }
+
+                    public void setPort(String port) {
+                        this.port = port;
+                    }
+                }
+            }
+
+            public static class SourceBean {
+                /**
+                 * sourceId : DS-01,DS-02
+                 */
+
+                private String sourceId;
+
+                public String getSourceId() {
+                    return sourceId;
+                }
+
+                public void setSourceId(String sourceId) {
+                    this.sourceId = sourceId;
+                }
+            }
+
+            public static class PageBean {
+                /**
+                 * pageSize : 10
+                 * pageNo : 1
+                 */
+
+                private int pageSize;
+                private int pageNo;
+
+                public int getPageSize() {
+                    return pageSize;
+                }
+
+                public void setPageSize(int pageSize) {
+                    this.pageSize = pageSize;
+                }
+
+                public int getPageNo() {
+                    return pageNo;
+                }
+
+                public void setPageNo(int pageNo) {
+                    this.pageNo = pageNo;
+                }
+            }
+        }
+    }
+}
+

+ 213 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/utils/BusResEntity.java

@@ -0,0 +1,213 @@
+package com.xwkj.rwsp.app.utils;
+
+import java.util.List;
+
+public class BusResEntity {
+
+    /**
+     * jsonrpc : 2.0
+     * id : 1
+     * result : {"code":"1","msg":"OK","data":[{"sourceId":"DS-01","fieldValues":[{"field":"name","value":"小明","isCode":0,"codeValue":""},{"field":"age","value":"20","isCode":0,"codeValue":""},{"field":"sex","value":"男","isCode":1,"codeValue":"2"},{"field":"phone","value":"15501011234","isCode":0,"codeValue":""}]}],"page":{"pageSize":10,"pageNo":1,"total":1},"sign":"1qqqqwwwwwwwwwwwwww"}
+     */
+
+    private String jsonrpc;
+    private String id;
+    private ResultBean result;
+    private int code;
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public String getJsonrpc() {
+        return jsonrpc;
+    }
+
+    public void setJsonrpc(String jsonrpc) {
+        this.jsonrpc = jsonrpc;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public ResultBean getResult() {
+        return result;
+    }
+
+    public void setResult(ResultBean result) {
+        this.result = result;
+    }
+
+    public static class ResultBean {
+        /**
+         * code : 1
+         * msg : OK
+         * data : [{"sourceId":"DS-01","fieldValues":[{"field":"name","value":"小明","isCode":0,"codeValue":""},{"field":"age","value":"20","isCode":0,"codeValue":""},{"field":"sex","value":"男","isCode":1,"codeValue":"2"},{"field":"phone","value":"15501011234","isCode":0,"codeValue":""}]}]
+         * page : {"pageSize":10,"pageNo":1,"total":1}
+         * sign : 1qqqqwwwwwwwwwwwwww
+         */
+
+        private String code;
+        private String msg;
+        private PageBean page;
+        private String sign;
+        private List<DataBean> data;
+
+        public String getCode() {
+            return code;
+        }
+
+        public void setCode(String code) {
+            this.code = code;
+        }
+
+        public String getMsg() {
+            return msg;
+        }
+
+        public void setMsg(String msg) {
+            this.msg = msg;
+        }
+
+        public PageBean getPage() {
+            return page;
+        }
+
+        public void setPage(PageBean page) {
+            this.page = page;
+        }
+
+        public String getSign() {
+            return sign;
+        }
+
+        public void setSign(String sign) {
+            this.sign = sign;
+        }
+
+        public List<DataBean> getData() {
+            return data;
+        }
+
+        public void setData(List<DataBean> data) {
+            this.data = data;
+        }
+
+        public static class PageBean {
+            /**
+             * pageSize : 10
+             * pageNo : 1
+             * total : 1
+             */
+
+            private int pageSize;
+            private int pageNo;
+            private int total;
+
+            public int getPageSize() {
+                return pageSize;
+            }
+
+            public void setPageSize(int pageSize) {
+                this.pageSize = pageSize;
+            }
+
+            public int getPageNo() {
+                return pageNo;
+            }
+
+            public void setPageNo(int pageNo) {
+                this.pageNo = pageNo;
+            }
+
+            public int getTotal() {
+                return total;
+            }
+
+            public void setTotal(int total) {
+                this.total = total;
+            }
+        }
+
+        public static class DataBean {
+            /**
+             * sourceId : DS-01
+             * fieldValues : [{"field":"name","value":"小明","isCode":0,"codeValue":""},{"field":"age","value":"20","isCode":0,"codeValue":""},{"field":"sex","value":"男","isCode":1,"codeValue":"2"},{"field":"phone","value":"15501011234","isCode":0,"codeValue":""}]
+             */
+
+            private String sourceId;
+            private List<FieldValuesBean> fieldValues;
+
+            public String getSourceId() {
+                return sourceId;
+            }
+
+            public void setSourceId(String sourceId) {
+                this.sourceId = sourceId;
+            }
+
+            public List<FieldValuesBean> getFieldValues() {
+                return fieldValues;
+            }
+
+            public void setFieldValues(List<FieldValuesBean> fieldValues) {
+                this.fieldValues = fieldValues;
+            }
+
+            public static class FieldValuesBean {
+                /**
+                 * field : name
+                 * value : 小明
+                 * isCode : 0
+                 * codeValue :
+                 */
+
+                private String field;
+                private String value;
+                private int isCode;
+                private String codeValue;
+
+                public String getField() {
+                    return field;
+                }
+
+                public void setField(String field) {
+                    this.field = field;
+                }
+
+                public String getValue() {
+                    return value;
+                }
+
+                public void setValue(String value) {
+                    this.value = value;
+                }
+
+                public int getIsCode() {
+                    return isCode;
+                }
+
+                public void setIsCode(int isCode) {
+                    this.isCode = isCode;
+                }
+
+                public String getCodeValue() {
+                    return codeValue;
+                }
+
+                public void setCodeValue(String codeValue) {
+                    this.codeValue = codeValue;
+                }
+            }
+        }
+    }
+}

+ 9 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/utils/CommonInterFace.java

@@ -0,0 +1,9 @@
+package com.xwkj.rwsp.app.utils;
+
+public interface CommonInterFace {
+    void onSuccess(String result);
+
+    void onError(Throwable throwable);
+
+    void onFinsh();
+}

+ 222 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/utils/ReqToBus.java

@@ -0,0 +1,222 @@
+package com.xwkj.rwsp.app.utils;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import com.hjq.toast.ToastUtils;
+import com.jess.arms.utils.ArmsUtils;
+import com.xwkj.rwsp.mvp.model.api.Api;
+import com.xwkj.rwsp.mvp.model.api.service.ApiService;
+import com.zkjc.common.utils.ApkUtils;
+
+import org.greenrobot.eventbus.EventBus;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.CompositeDisposable;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.schedulers.Schedulers;
+import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
+import okhttp3.MediaType;
+import okhttp3.RequestBody;
+
+public class ReqToBus {
+    private Context context;
+    /*  private String reqKey;
+      private String reqValue;
+      private String dataObjId;*/
+    private SharedPreferences sp;
+    private static ReqToBus reqToBus;
+    private CommonInterFace interFace;
+
+    //初始化
+    public static synchronized ReqToBus getInstance() {
+        if (reqToBus == null) {
+            synchronized (ReqToBus.class) {
+                if (reqToBus == null) {
+                    reqToBus = new ReqToBus();
+                }
+            }
+        }
+        return reqToBus;
+    }
+
+    public ReqToBus init(Context context) {
+        this.context = context;
+        try {
+            sp = context.getSharedPreferences("sys", Context.MODE_PRIVATE);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+
+        return this;
+    }
+
+    public void getRequest(Map<String, Object> reqValue, CommonInterFace interFace) {
+
+        String token = sp.getString("token", " ");
+        reqValue.put("token", "bearer " + token);
+        reqValue.put("version_code", ApkUtils.getVersionCode(context));
+
+        //正式环境
+        String str = new Gson().toJson(reqValue);
+        String requstJson = getRequstJson(str);
+        System.out.println("dssd" + requstJson);
+        RequestBody requestBody = RequestBody.create(
+                MediaType.parse("application/json; charset=utf-8"),
+                requstJson
+        );
+        ArmsUtils.obtainAppComponentFromContext(context).repositoryManager()
+                .obtainRetrofitService(ApiService.class).CommonReq(Api.url, requestBody)
+                .subscribeOn(Schedulers.io())
+                .doOnSubscribe(disposable -> {
+                    addDispose(disposable);//在订阅时必须调用这个方法,不然Activity退出时可能内存泄漏
+                })
+                .subscribeOn(AndroidSchedulers.mainThread())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new ErrorHandleSubscriber<JsonObject>(ArmsUtils.obtainAppComponentFromContext(context).rxErrorHandler()) {
+                    @Override
+                    public void onNext(JsonObject jsonObject) {
+                        try {
+                            String json = jsonObject.toString();
+                            BusResEntity busEntity = new Gson().fromJson(json, BusResEntity.class);
+                            if (busEntity.getCode() == 401) {
+                                ToastUtils.show("你的账号已被其他设备登录,请重新登录");
+
+                            }
+                            BusResEntity.ResultBean result = busEntity.getResult();
+                            String code = result.getCode();
+                            if (code.equals("1")) {
+
+                                List<BusResEntity.ResultBean.DataBean> data = result.getData();
+                                if (data.size() > 0) {
+                                    String methodName = (String) reqValue.get("methodName");
+                                    String className = (String) reqValue.get("className");
+                                    String value = data.get(0).getFieldValues().get(0).getValue();
+                                    Log.e("eee", "Controller == " + className + " methodName == " + methodName + ":::: value == " + value);
+                                    JsonObject object = new JsonParser().parse(value).getAsJsonObject();
+                                    if (object.has("msg")) {
+                                        String msg = object.get("msg").getAsString();
+                                        if (!TextUtils.isEmpty(msg) && msg.contains("重新登录")) {
+                                            ToastUtils.show("登录已过期,请重新登录");
+                                            EventBus.getDefault().post(1);
+                                            sp.edit().putBoolean("isFirst", true).commit();
+
+                                        }
+                                    }
+                                    interFace.onSuccess(value);
+                                } else {
+                                    // ToastUtils.show("数据请求失败");
+                                }
+
+                            } else {
+                                ToastUtils.show(result.getMsg());
+                            }
+
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+
+                    @Override
+                    public void onError(Throwable t) {
+                        super.onError(t);
+                        interFace.onError(t);
+
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        super.onComplete();
+                        interFace.onFinsh();
+
+                    }
+                });
+
+    }
+
+
+    private CompositeDisposable mCompositeDisposable;
+
+    public void addDispose(Disposable disposable) {
+        if (mCompositeDisposable == null) {
+            mCompositeDisposable = new CompositeDisposable();
+        }
+        mCompositeDisposable.add(disposable);//将所有 Disposable 放入集中处理
+    }
+
+
+    public void unDispose() {
+
+        if (mCompositeDisposable != null) {
+            mCompositeDisposable.clear();//保证 Activity 结束时取消所有正在执行的订阅
+        }
+    }
+
+    public static String getRequstJson(String reqValue) {
+        String dataObjId = "t_jdrh";
+        String method = "query";
+        BusEntity entity = new BusEntity();
+        entity.setId(UUID.randomUUID().toString());
+        entity.setJsonrpc("2.0");
+        BusEntity.ParamsBean params = new BusEntity.ParamsBean();
+        BusEntity.ParamsBean.DataBean data = new BusEntity.ParamsBean.DataBean();
+        if (method.equals("connect")) {
+            entity.setMethod("connect");
+            data.setAppId("4eeb7eb13f9c4753ad3263de95b71ff1");
+            SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+            data.setTimestamp(format.format(new Date()));
+            data.setNonce("vMksKOwd");
+            data.setSign("");
+        } else {
+            entity.setMethod("query");
+
+            BusEntity.ParamsBean.DataBean.UserInfoBean userInfo = new BusEntity.ParamsBean.DataBean.UserInfoBean();
+            userInfo.setUserId("000000");
+            userInfo.setUserName("张三");
+            userInfo.setSn("39a22c9d353f4ea8bbf5a8703799f400");
+            userInfo.setUserDeptNo("220000000000");
+            BusEntity.ParamsBean.DataBean.UserInfoBean.ExtAttrBean extAttr = new BusEntity.ParamsBean.DataBean.UserInfoBean.ExtAttrBean();
+            extAttr.setIp("20.25.1.126");
+            extAttr.setPort("6543");
+            userInfo.setExtAttr(extAttr);
+
+            BusEntity.ParamsBean.DataBean.SourceBean source = new BusEntity.ParamsBean.DataBean.SourceBean();
+            source.setSourceId("ef6dea086e9b4aa3b26749661fdd315c");
+            BusEntity.ParamsBean.DataBean.PageBean page = new BusEntity.ParamsBean.DataBean.PageBean();
+            page.setPageNo(1);
+            page.setPageSize(10);
+            data.setPage(page);
+            data.setOrderBy("");
+            data.setFields("data");
+            data.setCondition("");
+
+
+            data.setDataObjId(dataObjId);
+            data.setSource(source);
+            data.setUserInfo(userInfo);
+            data.setSessionId("4eeb7eb13f9c4753ad3263de95b71ff1");
+            data.setCondition("data='" + reqValue + "'");
+        }
+
+        data.setVersion("20190221");
+        params.setData(data);
+        params.setSign("1qqqqwwwwwwwwwwwwww");
+        entity.setParams(params);
+        String json = new GsonBuilder().disableHtmlEscaping().create().toJson(entity).toString();
+        return json;
+    }
+
+
+}

+ 51 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/utils/RxUtils.java

@@ -0,0 +1,51 @@
+package com.xwkj.rwsp.app.utils;
+
+import com.jess.arms.mvp.IView;
+import com.jess.arms.utils.RxLifecycleUtils;
+
+import io.reactivex.Observable;
+import io.reactivex.ObservableTransformer;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.annotations.NonNull;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
+import io.reactivex.functions.Consumer;
+import io.reactivex.schedulers.Schedulers;
+
+/**
+ * ================================================
+ * 放置便于使用 RxJava 的一些工具方法
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * ================================================
+ */
+public class RxUtils {
+
+    private RxUtils() {
+    }
+
+    public static <T> ObservableTransformer<T, T> applySchedulers(final IView view) {
+        return new ObservableTransformer<T, T>() {
+            @Override
+            public Observable<T> apply(Observable<T> observable) {
+                return observable.subscribeOn(Schedulers.io())
+                        .doOnSubscribe(new Consumer<Disposable>() {
+                            @Override
+                            public void accept(@NonNull Disposable disposable) throws Exception {
+                                view.showLoading();//显示进度条
+                            }
+                        })
+                        .subscribeOn(AndroidSchedulers.mainThread())
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .doFinally(new Action() {
+                            @Override
+                            public void run() {
+                                view.hideLoading();//隐藏进度条
+                            }
+                        }).compose(RxLifecycleUtils.bindToLifecycle(view));
+            }
+        };
+    }
+}

+ 254 - 0
rwsp/src/main/java/com/xwkj/rwsp/app/utils/UploadUtil.java

@@ -0,0 +1,254 @@
+package com.xwkj.rwsp.app.utils;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.location.Location;
+
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+import com.jess.arms.utils.ArmsUtils;
+import com.xwkj.rwsp.mvp.model.api.Api;
+import com.xwkj.rwsp.mvp.model.api.service.ApiService;
+import com.zkjc.common.utils.UUIDUtils;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.CompositeDisposable;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.schedulers.Schedulers;
+import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
+
+public class UploadUtil {
+    public static final String PATH = "/blade-resource/oss/endpoint/put-file-app";
+    private Context context;
+    /*  private String reqKey;
+      private String reqValue;
+      private String dataObjId;*/
+    private SharedPreferences sp;
+    private static UploadUtil reqToBus;
+    private CommonInterFace interFace;
+
+    //初始化
+    public static synchronized UploadUtil getInstance() {
+        if (reqToBus == null) {
+            synchronized (UploadUtil.class) {
+                if (reqToBus == null) {
+                    reqToBus = new UploadUtil();
+                }
+            }
+        }
+        return reqToBus;
+    }
+
+    public UploadUtil init(Context context) {
+        this.context = context;
+        sp = context.getSharedPreferences("sys", Context.MODE_PRIVATE);
+        return this;
+    }
+
+    public void getRequest(String path, CommonInterFace interFace) {
+
+        String url = Api.APP_DOMAIN + PATH;
+        //正式环境
+        File file = new File(path);
+        MultipartBody.Builder builder = new MultipartBody.Builder()
+                .setType(MultipartBody.FORM);
+        String zh = "";
+        if (sp != null) {
+            zh = sp.getString("zh", "");
+        }
+
+        builder.addFormDataPart("file", zh+ UUIDUtils.uuid()+file.getName(), RequestBody.create(MediaType.parse("image/*"), file));
+        MultipartBody multipartBody = builder.build();
+        ArmsUtils.obtainAppComponentFromContext(context).repositoryManager()
+                .obtainRetrofitService(ApiService.class).upload(url, multipartBody)
+                .subscribeOn(Schedulers.io())
+                .doOnSubscribe(disposable -> {
+                    addDispose(disposable);//在订阅时必须调用这个方法,不然Activity退出时可能内存泄漏
+                })
+                .subscribeOn(AndroidSchedulers.mainThread())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new ErrorHandleSubscriber<JsonObject>(ArmsUtils.obtainAppComponentFromContext(context).rxErrorHandler()) {
+                    @Override
+                    public void onNext(JsonObject jsonObject) {
+                        String json = jsonObject.toString();
+
+                        interFace.onSuccess(json);
+
+                    }
+
+                    @Override
+                    public void onError(Throwable t) {
+                        super.onError(t);
+                        interFace.onError(t);
+
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        super.onComplete();
+                        interFace.onFinsh();
+
+                    }
+                });
+
+    }
+
+    public void getGDMapInfo(Location location, CommonInterFace interFace) {
+
+        String url = "https://restapi.amap.com/v3/geocode/regeo";
+        Map<String, String> map = new HashMap<>();
+        map.put("key", "1df7af28cd9fdf47219ef5942c8329ed");
+        map.put("poitype", "");
+        map.put("radius", "200");
+        map.put("roadlevel", "0");
+        map.put("extensions", "all");
+        map.put("location", location.getLongitude() + "," + location.getLatitude());
+        // map.put("location","129.787391,43.084104");
+        ArmsUtils.obtainAppComponentFromContext(context).repositoryManager()
+                .obtainRetrofitService(ApiService.class).getMap(url, map)
+                .subscribeOn(Schedulers.io())
+                .doOnSubscribe(disposable -> {
+                    addDispose(disposable);//在订阅时必须调用这个方法,不然Activity退出时可能内存泄漏
+                })
+                .subscribeOn(AndroidSchedulers.mainThread())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new ErrorHandleSubscriber<JsonObject>(ArmsUtils.obtainAppComponentFromContext(context).rxErrorHandler()) {
+                    @Override
+                    public void onNext(JsonObject jsonObject) {
+                        String json = jsonObject.toString();
+
+                        interFace.onSuccess(json);
+
+                    }
+
+                    @Override
+                    public void onError(Throwable t) {
+                        super.onError(t);
+                        interFace.onError(t);
+
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        super.onComplete();
+                        interFace.onFinsh();
+
+                    }
+                });
+
+    }
+
+    public void getGDMapInfo1(String location, CommonInterFace interFace) {
+
+        String url = "https://restapi.amap.com/v3/geocode/regeo";
+        Map<String, String> map = new HashMap<>();
+        map.put("key", "1df7af28cd9fdf47219ef5942c8329ed");
+        map.put("poitype", "");
+        map.put("radius", "200");
+        map.put("roadlevel", "0");
+        map.put("extensions", "all");
+        map.put("location", location);
+        // map.put("location","125.432857,44.348951");
+        ArmsUtils.obtainAppComponentFromContext(context).repositoryManager()
+                .obtainRetrofitService(ApiService.class).getMap(url, map)
+                .subscribeOn(Schedulers.io())
+                .doOnSubscribe(disposable -> {
+                    addDispose(disposable);//在订阅时必须调用这个方法,不然Activity退出时可能内存泄漏
+                })
+                .subscribeOn(AndroidSchedulers.mainThread())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new ErrorHandleSubscriber<JsonObject>(ArmsUtils.obtainAppComponentFromContext(context).rxErrorHandler()) {
+                    @Override
+                    public void onNext(JsonObject jsonObject) {
+                        String json = jsonObject.toString();
+
+                        interFace.onSuccess(json);
+
+                    }
+
+                    @Override
+                    public void onError(Throwable t) {
+                        super.onError(t);
+                        interFace.onError(t);
+
+                    }
+
+                    @Override
+                    public void onComplete() {
+                        super.onComplete();
+                        interFace.onFinsh();
+
+                    }
+                });
+
+    }
+
+    private CompositeDisposable mCompositeDisposable;
+
+    public void addDispose(Disposable disposable) {
+        if (mCompositeDisposable == null) {
+            mCompositeDisposable = new CompositeDisposable();
+        }
+        mCompositeDisposable.add(disposable);//将所有 Disposable 放入集中处理
+    }
+
+
+    public void unDispose() {
+
+        if (mCompositeDisposable != null) {
+            mCompositeDisposable.clear();//保证 Activity 结束时取消所有正在执行的订阅
+        }
+    }
+
+    public static String getRequstJson(String reqValue, String dataObjId) {
+        String method = "query";
+        BusEntity entity = new BusEntity();
+        entity.setId(UUID.randomUUID().toString());
+        entity.setJsonrpc("2.0");
+        BusEntity.ParamsBean params = new BusEntity.ParamsBean();
+        BusEntity.ParamsBean.DataBean data = new BusEntity.ParamsBean.DataBean();
+        data.setVersion("20190221");
+        if (method.equals("connect")) {
+            entity.setMethod("connect");
+            data.setAppId("申请后填写");
+            SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+            data.setTimestamp(format.format(new Date()));
+            data.setNonce("vMksKOwd");
+            data.setSign("");
+        } else {
+            entity.setMethod("query");
+            data.setSessionId("会话id");
+            BusEntity.ParamsBean.DataBean.UserInfoBean userInfo = new BusEntity.ParamsBean.DataBean.UserInfoBean();
+            userInfo.setUserId("000000");
+            userInfo.setUserName("张三");
+            userInfo.setSn("39a22c9d353f4ea8bbf5a8703799f400");
+            userInfo.setUserDeptNo("220000000000");
+            data.setUserInfo(userInfo);
+            data.setDataObjId(dataObjId);
+            data.setFields(reqValue);
+            data.setCondition("");
+            data.setOrderBy("");
+            BusEntity.ParamsBean.DataBean.PageBean page = new BusEntity.ParamsBean.DataBean.PageBean();
+            page.setPageNo(1);
+            page.setPageSize(10);
+            data.setPage(page);
+        }
+
+        params.setData(data);
+        params.setSign("");
+        entity.setParams(params);
+        String json = new GsonBuilder().disableHtmlEscaping().create().toJson(entity).toString();
+        return json;
+    }
+
+}

+ 41 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/component/FjGlySpMdXqComponent.java

@@ -0,0 +1,41 @@
+package com.xwkj.rwsp.di.component;
+
+import dagger.BindsInstance;
+import dagger.Component;
+
+import com.jess.arms.di.component.AppComponent;
+
+import com.xwkj.rwsp.di.module.FjGlySpMdXqModule;
+import com.xwkj.rwsp.mvp.contract.FjGlySpMdXqContract;
+
+import com.jess.arms.di.scope.ActivityScope;
+import com.xwkj.rwsp.mvp.ui.activity.FjGlySpMdXqActivity;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:53
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+@Component(modules = FjGlySpMdXqModule.class, dependencies = AppComponent.class)
+public interface FjGlySpMdXqComponent {
+    void inject(FjGlySpMdXqActivity activity);
+
+    @Component.Builder
+    interface Builder {
+        @BindsInstance
+        FjGlySpMdXqComponent.Builder view(FjGlySpMdXqContract.View view);
+
+        FjGlySpMdXqComponent.Builder appComponent(AppComponent appComponent);
+
+        FjGlySpMdXqComponent build();
+    }
+}

+ 41 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/component/FjGlyWspComponent.java

@@ -0,0 +1,41 @@
+package com.xwkj.rwsp.di.component;
+
+import dagger.BindsInstance;
+import dagger.Component;
+
+import com.jess.arms.di.component.AppComponent;
+
+import com.xwkj.rwsp.di.module.FjGlyWspModule;
+import com.xwkj.rwsp.mvp.contract.FjGlyWspContract;
+
+import com.jess.arms.di.scope.FragmentScope;
+import com.xwkj.rwsp.mvp.ui.fragment.FjGlyWspFragment;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@FragmentScope
+@Component(modules = FjGlyWspModule.class, dependencies = AppComponent.class)
+public interface FjGlyWspComponent {
+    void inject(FjGlyWspFragment fragment);
+
+    @Component.Builder
+    interface Builder {
+        @BindsInstance
+        FjGlyWspComponent.Builder view(FjGlyWspContract.View view);
+
+        FjGlyWspComponent.Builder appComponent(AppComponent appComponent);
+
+        FjGlyWspComponent build();
+    }
+}

+ 41 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/component/FjGlyWspMdComponent.java

@@ -0,0 +1,41 @@
+package com.xwkj.rwsp.di.component;
+
+import dagger.BindsInstance;
+import dagger.Component;
+
+import com.jess.arms.di.component.AppComponent;
+
+import com.xwkj.rwsp.di.module.FjGlyWspMdModule;
+import com.xwkj.rwsp.mvp.contract.FjGlyWspMdContract;
+
+import com.jess.arms.di.scope.FragmentScope;
+import com.xwkj.rwsp.mvp.ui.fragment.FjGlyWspMdFragment;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@FragmentScope
+@Component(modules = FjGlyWspMdModule.class, dependencies = AppComponent.class)
+public interface FjGlyWspMdComponent {
+    void inject(FjGlyWspMdFragment fragment);
+
+    @Component.Builder
+    interface Builder {
+        @BindsInstance
+        FjGlyWspMdComponent.Builder view(FjGlyWspMdContract.View view);
+
+        FjGlyWspMdComponent.Builder appComponent(AppComponent appComponent);
+
+        FjGlyWspMdComponent build();
+    }
+}

+ 41 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/component/MainComponent.java

@@ -0,0 +1,41 @@
+package com.xwkj.rwsp.di.component;
+
+import dagger.BindsInstance;
+import dagger.Component;
+
+import com.jess.arms.di.component.AppComponent;
+
+import com.xwkj.rwsp.di.module.MainModule;
+import com.xwkj.rwsp.mvp.contract.MainContract;
+
+import com.jess.arms.di.scope.ActivityScope;
+import com.xwkj.rwsp.mvp.ui.activity.MainActivity;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+@Component(modules = MainModule.class, dependencies = AppComponent.class)
+public interface MainComponent {
+    void inject(MainActivity activity);
+
+    @Component.Builder
+    interface Builder {
+        @BindsInstance
+        MainComponent.Builder view(MainContract.View view);
+
+        MainComponent.Builder appComponent(AppComponent appComponent);
+
+        MainComponent build();
+    }
+}

+ 41 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/component/XfjcXqComponent.java

@@ -0,0 +1,41 @@
+package com.xwkj.rwsp.di.component;
+
+import dagger.BindsInstance;
+import dagger.Component;
+
+import com.jess.arms.di.component.AppComponent;
+
+import com.xwkj.rwsp.di.module.XfjcXqModule;
+import com.xwkj.rwsp.mvp.contract.XfjcXqContract;
+
+import com.jess.arms.di.scope.ActivityScope;
+import com.xwkj.rwsp.mvp.ui.activity.XfjcXqActivity;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 11:18
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+@Component(modules = XfjcXqModule.class, dependencies = AppComponent.class)
+public interface XfjcXqComponent {
+    void inject(XfjcXqActivity activity);
+
+    @Component.Builder
+    interface Builder {
+        @BindsInstance
+        XfjcXqComponent.Builder view(XfjcXqContract.View view);
+
+        XfjcXqComponent.Builder appComponent(AppComponent appComponent);
+
+        XfjcXqComponent build();
+    }
+}

+ 30 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/module/FjGlySpMdXqModule.java

@@ -0,0 +1,30 @@
+package com.xwkj.rwsp.di.module;
+
+import com.jess.arms.di.scope.ActivityScope;
+
+import dagger.Binds;
+import dagger.Module;
+import dagger.Provides;
+
+import com.xwkj.rwsp.mvp.contract.FjGlySpMdXqContract;
+import com.xwkj.rwsp.mvp.model.FjGlySpMdXqModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:53
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@Module
+public abstract class FjGlySpMdXqModule {
+
+    @Binds
+    abstract FjGlySpMdXqContract.Model bindFjGlySpMdXqModel(FjGlySpMdXqModel model);
+}

+ 30 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/module/FjGlyWspMdModule.java

@@ -0,0 +1,30 @@
+package com.xwkj.rwsp.di.module;
+
+import com.jess.arms.di.scope.FragmentScope;
+
+import dagger.Binds;
+import dagger.Module;
+import dagger.Provides;
+
+import com.xwkj.rwsp.mvp.contract.FjGlyWspMdContract;
+import com.xwkj.rwsp.mvp.model.FjGlyWspMdModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@Module
+public abstract class FjGlyWspMdModule {
+
+    @Binds
+    abstract FjGlyWspMdContract.Model bindFjGlyWspMdModel(FjGlyWspMdModel model);
+}

+ 30 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/module/FjGlyWspModule.java

@@ -0,0 +1,30 @@
+package com.xwkj.rwsp.di.module;
+
+import com.jess.arms.di.scope.FragmentScope;
+
+import dagger.Binds;
+import dagger.Module;
+import dagger.Provides;
+
+import com.xwkj.rwsp.mvp.contract.FjGlyWspContract;
+import com.xwkj.rwsp.mvp.model.FjGlyWspModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@Module
+public abstract class FjGlyWspModule {
+
+    @Binds
+    abstract FjGlyWspContract.Model bindFjGlyWspModel(FjGlyWspModel model);
+}

+ 30 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/module/MainModule.java

@@ -0,0 +1,30 @@
+package com.xwkj.rwsp.di.module;
+
+import com.jess.arms.di.scope.ActivityScope;
+
+import dagger.Binds;
+import dagger.Module;
+import dagger.Provides;
+
+import com.xwkj.rwsp.mvp.contract.MainContract;
+import com.xwkj.rwsp.mvp.model.MainModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@Module
+public abstract class MainModule {
+
+    @Binds
+    abstract MainContract.Model bindMainModel(MainModel model);
+}

+ 30 - 0
rwsp/src/main/java/com/xwkj/rwsp/di/module/XfjcXqModule.java

@@ -0,0 +1,30 @@
+package com.xwkj.rwsp.di.module;
+
+import com.jess.arms.di.scope.ActivityScope;
+
+import dagger.Binds;
+import dagger.Module;
+import dagger.Provides;
+
+import com.xwkj.rwsp.mvp.contract.XfjcXqContract;
+import com.xwkj.rwsp.mvp.model.XfjcXqModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 11:18
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@Module
+public abstract class XfjcXqModule {
+
+    @Binds
+    abstract XfjcXqContract.Model bindXfjcXqModel(XfjcXqModel model);
+}

+ 35 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/FjGlySpMdXqContract.java

@@ -0,0 +1,35 @@
+package com.xwkj.rwsp.mvp.contract;
+
+import com.jess.arms.mvp.IView;
+import com.jess.arms.mvp.IModel;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+
+import java.util.List;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:53
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public interface FjGlySpMdXqContract {
+    //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
+    interface View extends IView {
+
+        void onSuccess(String result);
+
+        void onSpSuccess(String result);
+    }
+
+    //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
+    interface Model extends IModel {
+
+    }
+}

+ 35 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/FjGlyWspContract.java

@@ -0,0 +1,35 @@
+package com.xwkj.rwsp.mvp.contract;
+
+import com.jess.arms.mvp.IView;
+import com.jess.arms.mvp.IModel;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public interface FjGlyWspContract {
+    //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
+    interface View extends IView {
+
+        void onSuccess(String result);
+
+        void onSpSuccess(String result, int position);
+
+        void onGetJlSuccess(String result, FjGlySpEntity.DataBean.FjGlySp fjGlySp, int position);
+    }
+
+    //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
+    interface Model extends IModel {
+
+    }
+}

+ 32 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/FjGlyWspMdContract.java

@@ -0,0 +1,32 @@
+package com.xwkj.rwsp.mvp.contract;
+
+import com.jess.arms.mvp.IView;
+import com.jess.arms.mvp.IModel;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+
+import java.util.List;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public interface FjGlyWspMdContract {
+    //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
+    interface View extends IView {
+        void onSuccess(List<FjGlySpEntity.DataBean.FjGlySp> result);
+    }
+
+    //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
+    interface Model extends IModel {
+
+    }
+}

+ 33 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/MainContract.java

@@ -0,0 +1,33 @@
+package com.xwkj.rwsp.mvp.contract;
+
+import com.jess.arms.mvp.IView;
+import com.jess.arms.mvp.IModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public interface MainContract {
+    //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
+    interface View extends IView {
+
+        void onSuccess(String result);
+
+        void onError(Throwable mThrowable);
+
+    }
+
+    //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
+    interface Model extends IModel {
+
+    }
+}

+ 29 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/contract/XfjcXqContract.java

@@ -0,0 +1,29 @@
+package com.xwkj.rwsp.mvp.contract;
+
+import com.jess.arms.mvp.IView;
+import com.jess.arms.mvp.IModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 11:18
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public interface XfjcXqContract {
+    //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
+    interface View extends IView {
+
+    }
+
+    //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
+    interface Model extends IModel {
+
+    }
+}

+ 46 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/FjGlySpMdXqModel.java

@@ -0,0 +1,46 @@
+package com.xwkj.rwsp.mvp.model;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.jess.arms.integration.IRepositoryManager;
+import com.jess.arms.mvp.BaseModel;
+
+import com.jess.arms.di.scope.ActivityScope;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.mvp.contract.FjGlySpMdXqContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:53
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+public class FjGlySpMdXqModel extends BaseModel implements FjGlySpMdXqContract.Model {
+    @Inject
+    Gson mGson;
+    @Inject
+    Application mApplication;
+
+    @Inject
+    public FjGlySpMdXqModel(IRepositoryManager repositoryManager) {
+        super(repositoryManager);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mGson = null;
+        this.mApplication = null;
+    }
+}

+ 46 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/FjGlyWspMdModel.java

@@ -0,0 +1,46 @@
+package com.xwkj.rwsp.mvp.model;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.jess.arms.integration.IRepositoryManager;
+import com.jess.arms.mvp.BaseModel;
+
+import com.jess.arms.di.scope.FragmentScope;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.mvp.contract.FjGlyWspMdContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@FragmentScope
+public class FjGlyWspMdModel extends BaseModel implements FjGlyWspMdContract.Model {
+    @Inject
+    Gson mGson;
+    @Inject
+    Application mApplication;
+
+    @Inject
+    public FjGlyWspMdModel(IRepositoryManager repositoryManager) {
+        super(repositoryManager);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mGson = null;
+        this.mApplication = null;
+    }
+}

+ 46 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/FjGlyWspModel.java

@@ -0,0 +1,46 @@
+package com.xwkj.rwsp.mvp.model;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.jess.arms.integration.IRepositoryManager;
+import com.jess.arms.mvp.BaseModel;
+
+import com.jess.arms.di.scope.FragmentScope;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.mvp.contract.FjGlyWspContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@FragmentScope
+public class FjGlyWspModel extends BaseModel implements FjGlyWspContract.Model {
+    @Inject
+    Gson mGson;
+    @Inject
+    Application mApplication;
+
+    @Inject
+    public FjGlyWspModel(IRepositoryManager repositoryManager) {
+        super(repositoryManager);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mGson = null;
+        this.mApplication = null;
+    }
+}

+ 46 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/MainModel.java

@@ -0,0 +1,46 @@
+package com.xwkj.rwsp.mvp.model;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.jess.arms.integration.IRepositoryManager;
+import com.jess.arms.mvp.BaseModel;
+
+import com.jess.arms.di.scope.ActivityScope;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.mvp.contract.MainContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+public class MainModel extends BaseModel implements MainContract.Model {
+    @Inject
+    Gson mGson;
+    @Inject
+    Application mApplication;
+
+    @Inject
+    public MainModel(IRepositoryManager repositoryManager) {
+        super(repositoryManager);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mGson = null;
+        this.mApplication = null;
+    }
+}

+ 46 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/XfjcXqModel.java

@@ -0,0 +1,46 @@
+package com.xwkj.rwsp.mvp.model;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.jess.arms.integration.IRepositoryManager;
+import com.jess.arms.mvp.BaseModel;
+
+import com.jess.arms.di.scope.ActivityScope;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.mvp.contract.XfjcXqContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 11:18
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+public class XfjcXqModel extends BaseModel implements XfjcXqContract.Model {
+    @Inject
+    Gson mGson;
+    @Inject
+    Application mApplication;
+
+    @Inject
+    public XfjcXqModel(IRepositoryManager repositoryManager) {
+        super(repositoryManager);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mGson = null;
+        this.mApplication = null;
+    }
+}

+ 15 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/api/Api.java

@@ -0,0 +1,15 @@
+package com.xwkj.rwsp.mvp.model.api;
+
+/**
+ * ================================================
+ * 存放一些与 API 有关的东西,如请求地址,请求码等
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * ================================================
+ */
+public interface Api {
+    String url = "http://192.168.50.93:6543/common/zf3";
+    String APP_DOMAIN = "http://192.168.50.93:6543";
+}

+ 28 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/api/service/ApiService.java

@@ -0,0 +1,28 @@
+package com.xwkj.rwsp.mvp.model.api.service;
+
+import com.google.gson.JsonObject;
+
+import java.util.Map;
+
+import io.reactivex.Completable;
+import io.reactivex.Observable;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.Headers;
+import retrofit2.http.POST;
+import retrofit2.http.QueryMap;
+import retrofit2.http.Url;
+
+public interface ApiService {
+    @Headers({"Content-Type: application/json", "Accept: application/json"})//需要添加头
+    @POST
+    Observable<JsonObject> CommonReq(@Url String url, @Body RequestBody map);
+
+    @POST
+    Observable<JsonObject> upload(@Url String url, @Body MultipartBody multipartBody);
+
+    @GET
+    Observable<JsonObject> getMap(@Url String url, @QueryMap Map<String, String> map);
+}

+ 276 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/FjGlySpEntity.java

@@ -0,0 +1,276 @@
+package com.xwkj.rwsp.mvp.model.entity;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class FjGlySpEntity {
+
+    private int code;
+    private boolean success;
+    private DataBean data;
+    private String msg;
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public void setSuccess(boolean success) {
+        this.success = success;
+    }
+
+    public DataBean getData() {
+        return data;
+    }
+
+    public void setData(DataBean data) {
+        this.data = data;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public static class DataBean {
+
+        private int total;
+        private int size;
+        private int current;
+        private boolean optimizeCountSql;
+        private boolean searchCount;
+        private int maxLimit;
+        private String countId;
+        private int pages;
+        private List<FjGlySp> records;
+
+        public int getTotal() {
+            return total;
+        }
+
+        public void setTotal(int total) {
+            this.total = total;
+        }
+
+        public int getSize() {
+            return size;
+        }
+
+        public void setSize(int size) {
+            this.size = size;
+        }
+
+        public int getCurrent() {
+            return current;
+        }
+
+        public void setCurrent(int current) {
+            this.current = current;
+        }
+
+        public boolean isOptimizeCountSql() {
+            return optimizeCountSql;
+        }
+
+        public void setOptimizeCountSql(boolean optimizeCountSql) {
+            this.optimizeCountSql = optimizeCountSql;
+        }
+
+        public boolean isSearchCount() {
+            return searchCount;
+        }
+
+        public void setSearchCount(boolean searchCount) {
+            this.searchCount = searchCount;
+        }
+
+        public int getMaxLimit() {
+            return maxLimit;
+        }
+
+        public void setMaxLimit(int maxLimit) {
+            this.maxLimit = maxLimit;
+        }
+
+        public String getCountId() {
+            return countId;
+        }
+
+        public void setCountId(String countId) {
+            this.countId = countId;
+        }
+
+        public int getPages() {
+            return pages;
+        }
+
+        public void setPages(int pages) {
+            this.pages = pages;
+        }
+
+        public List<FjGlySp> getRecords() {
+            return records;
+        }
+
+        public void setRecords(List<FjGlySp> records) {
+            this.records = records;
+        }
+
+        public static class FjGlySp implements Serializable {
+            private String mdId;
+            private String csmc;
+            private String jfmc;
+            private String createTime;
+            private String createUser;
+            private String qqyy;
+            private String pcsName;
+            private String name;
+            private String spyy;
+            private int spjg;
+            private String id;
+            private int ywlb; // 业务类别 1=九小场所删除 2=九小场所营业状态变更 3=矛盾纠纷修改
+            private String ywid;
+            private String params;
+            private String csId;
+            private String yyzt;
+
+            public String getCsId() {
+                return csId;
+            }
+
+            public void setCsId(String csId) {
+                this.csId = csId;
+            }
+
+            public String getYyzt() {
+                return yyzt;
+            }
+
+            public void setYyzt(String yyzt) {
+                this.yyzt = yyzt;
+            }
+
+            public String getMdId() {
+                return mdId;
+            }
+
+            public void setMdId(String mdId) {
+                this.mdId = mdId;
+            }
+
+            public String getJfmc() {
+                return jfmc;
+            }
+
+            public void setJfmc(String jfmc) {
+                this.jfmc = jfmc;
+            }
+
+            public String getCreateUser() {
+                return createUser;
+            }
+
+            public void setCreateUser(String createUser) {
+                this.createUser = createUser;
+            }
+
+            public String getId() {
+                return id;
+            }
+
+            public void setId(String id) {
+                this.id = id;
+            }
+
+            public int getYwlb() {
+                return ywlb;
+            }
+
+            public void setYwlb(int ywlb) {
+                this.ywlb = ywlb;
+            }
+
+            public String getYwid() {
+                return ywid;
+            }
+
+            public void setYwid(String ywid) {
+                this.ywid = ywid;
+            }
+
+            public String getParams() {
+                return params;
+            }
+
+            public void setParams(String params) {
+                this.params = params;
+            }
+
+            public int getSpjg() {
+                return spjg;
+            }
+
+            public void setSpjg(int spjg) {
+                this.spjg = spjg;
+            }
+
+            public String getCsmc() {
+                return csmc;
+            }
+
+            public void setCsmc(String csmc) {
+                this.csmc = csmc;
+            }
+
+            public String getCreateTime() {
+                return createTime;
+            }
+
+            public void setCreateTime(String createTime) {
+                this.createTime = createTime;
+            }
+
+            public String getQqyy() {
+                return qqyy;
+            }
+
+            public void setQqyy(String qqyy) {
+                this.qqyy = qqyy;
+            }
+
+            public String getPcsName() {
+                return pcsName;
+            }
+
+            public void setPcsName(String pcsName) {
+                this.pcsName = pcsName;
+            }
+
+            public String getName() {
+                return name;
+            }
+
+            public void setName(String name) {
+                this.name = name;
+            }
+
+            public String getSpyy() {
+                return spyy;
+            }
+
+            public void setSpyy(String spyy) {
+                this.spyy = spyy;
+            }
+        }
+    }
+}

+ 783 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/JcjlEntity.java

@@ -0,0 +1,783 @@
+package com.xwkj.rwsp.mvp.model.entity;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class JcjlEntity implements Serializable {
+
+    /**
+     * code : 200
+     * success : true
+     * data : {"records":[{"id":"1686203376938795009","csId":26601,"aqzd":"有","aqjypx":"组织开展","fhjc":"组织开展","ssya":"有","xfyl":"组织","xfaqglQtqk":"","xfctd":"畅通","sstd":"畅通","aqck":"畅通","fhm":"完好有效","sszsbz":"完好有效","yjzm":"完好有效","zaw":"不涉及","jzfhQtqk":"","snxhs":"完好有效","mhq":"完好有效","jzxfss":"不涉及","mh":"不涉及","wxpcs":"不涉及","jzcs":"不涉及","bz":"","zp":"http://111.26.204.2:9000/jdrh/upload/20230801/2e158cccb1c9ea777f956ab3f61860a9.jpg,http://111.26.204.2:9000/jdrh/upload/20230801/90511dfd4339456e329a27f31a909d55.jpg","zgzt":"2","stry":"","createTime":"2023-08-01 10:33:07.855","realName":"","deptName":"","phone":"","jd":"125.25015356","wd":"43.81254184","yjdw":-1,"yjdwName":"","bgsy":"","csmc":"","dz":"","dwlb":"","xffzr":"","xffzrlxdh":"","yjzt":0,"yjrq":"","fkjg":"","fkzp":"","fkrq":"","thyy":"","deptNames":"","yjzts":"","zgzts":"","zgqx":"2023-08-1","zgtsdzp":"http://111.26.204.2:9000/jdrh/upload/20230801/e963b8a110550d225fed4bc7d409ac58.jpg","yhsp":"","wmzp":"","snzp":"","apglzp":"","jzfhzp":"","xfsszp":"","wxpglzp":"","fzrqz":"http://111.26.204.2:9000/jdrh/upload/20230801/91e1db93b28c6fe4d11d61599b1af9ef.jpg"}],"total":1,"size":10,"current":1,"orders":[],"optimizeCountSql":true,"searchCount":true,"maxLimit":-1,"countId":"","pages":1}
+     * msg : 操作成功
+     */
+
+    private int code;
+    private boolean success;
+    private DataBean data;
+    private String msg;
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public void setSuccess(boolean success) {
+        this.success = success;
+    }
+
+    public DataBean getData() {
+        return data;
+    }
+
+    public void setData(DataBean data) {
+        this.data = data;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public static class DataBean implements Serializable {
+        /**
+         * records : [{"id":"1686203376938795009","csId":26601,"aqzd":"有","aqjypx":"组织开展","fhjc":"组织开展","ssya":"有","xfyl":"组织","xfaqglQtqk":"","xfctd":"畅通","sstd":"畅通","aqck":"畅通","fhm":"完好有效","sszsbz":"完好有效","yjzm":"完好有效","zaw":"不涉及","jzfhQtqk":"","snxhs":"完好有效","mhq":"完好有效","jzxfss":"不涉及","mh":"不涉及","wxpcs":"不涉及","jzcs":"不涉及","bz":"","zp":"http://111.26.204.2:9000/jdrh/upload/20230801/2e158cccb1c9ea777f956ab3f61860a9.jpg,http://111.26.204.2:9000/jdrh/upload/20230801/90511dfd4339456e329a27f31a909d55.jpg","zgzt":"2","stry":"","createTime":"2023-08-01 10:33:07.855","realName":"","deptName":"","phone":"","jd":"125.25015356","wd":"43.81254184","yjdw":-1,"yjdwName":"","bgsy":"","csmc":"","dz":"","dwlb":"","xffzr":"","xffzrlxdh":"","yjzt":0,"yjrq":"","fkjg":"","fkzp":"","fkrq":"","thyy":"","deptNames":"","yjzts":"","zgzts":"","zgqx":"2023-08-1","zgtsdzp":"http://111.26.204.2:9000/jdrh/upload/20230801/e963b8a110550d225fed4bc7d409ac58.jpg","yhsp":"","wmzp":"","snzp":"","apglzp":"","jzfhzp":"","xfsszp":"","wxpglzp":"","fzrqz":"http://111.26.204.2:9000/jdrh/upload/20230801/91e1db93b28c6fe4d11d61599b1af9ef.jpg"}]
+         * total : 1
+         * size : 10
+         * current : 1
+         * orders : []
+         * optimizeCountSql : true
+         * searchCount : true
+         * maxLimit : -1
+         * countId :
+         * pages : 1
+         */
+
+        private int total;
+        private int size;
+        private int current;
+        private boolean optimizeCountSql;
+        private boolean searchCount;
+        private int maxLimit;
+        private String countId;
+        private int pages;
+        private List<RecordsBean> records;
+        private List<?> orders;
+
+        public int getTotal() {
+            return total;
+        }
+
+        public void setTotal(int total) {
+            this.total = total;
+        }
+
+        public int getSize() {
+            return size;
+        }
+
+        public void setSize(int size) {
+            this.size = size;
+        }
+
+        public int getCurrent() {
+            return current;
+        }
+
+        public void setCurrent(int current) {
+            this.current = current;
+        }
+
+        public boolean isOptimizeCountSql() {
+            return optimizeCountSql;
+        }
+
+        public void setOptimizeCountSql(boolean optimizeCountSql) {
+            this.optimizeCountSql = optimizeCountSql;
+        }
+
+        public boolean isSearchCount() {
+            return searchCount;
+        }
+
+        public void setSearchCount(boolean searchCount) {
+            this.searchCount = searchCount;
+        }
+
+        public int getMaxLimit() {
+            return maxLimit;
+        }
+
+        public void setMaxLimit(int maxLimit) {
+            this.maxLimit = maxLimit;
+        }
+
+        public String getCountId() {
+            return countId;
+        }
+
+        public void setCountId(String countId) {
+            this.countId = countId;
+        }
+
+        public int getPages() {
+            return pages;
+        }
+
+        public void setPages(int pages) {
+            this.pages = pages;
+        }
+
+        public List<RecordsBean> getRecords() {
+            return records;
+        }
+
+        public void setRecords(List<RecordsBean> records) {
+            this.records = records;
+        }
+
+        public List<?> getOrders() {
+            return orders;
+        }
+
+        public void setOrders(List<?> orders) {
+            this.orders = orders;
+        }
+
+        public static class RecordsBean implements Serializable {
+            /**
+             * id : 1686203376938795009
+             * csId : 26601
+             * aqzd : 有
+             * aqjypx : 组织开展
+             * fhjc : 组织开展
+             * ssya : 有
+             * xfyl : 组织
+             * xfaqglQtqk :
+             * xfctd : 畅通
+             * sstd : 畅通
+             * aqck : 畅通
+             * fhm : 完好有效
+             * sszsbz : 完好有效
+             * yjzm : 完好有效
+             * zaw : 不涉及
+             * jzfhQtqk :
+             * snxhs : 完好有效
+             * mhq : 完好有效
+             * jzxfss : 不涉及
+             * mh : 不涉及
+             * wxpcs : 不涉及
+             * jzcs : 不涉及
+             * bz :
+             * zp : http://111.26.204.2:9000/jdrh/upload/20230801/2e158cccb1c9ea777f956ab3f61860a9.jpg,http://111.26.204.2:9000/jdrh/upload/20230801/90511dfd4339456e329a27f31a909d55.jpg
+             * zgzt : 2
+             * stry :
+             * createTime : 2023-08-01 10:33:07.855
+             * realName :
+             * deptName :
+             * phone :
+             * jd : 125.25015356
+             * wd : 43.81254184
+             * yjdw : -1
+             * yjdwName :
+             * bgsy :
+             * csmc :
+             * dz :
+             * dwlb :
+             * xffzr :
+             * xffzrlxdh :
+             * yjzt : 0
+             * yjrq :
+             * fkjg :
+             * fkzp :
+             * fkrq :
+             * thyy :
+             * deptNames :
+             * yjzts :
+             * zgzts :
+             * zgqx : 2023-08-1
+             * zgtsdzp : http://111.26.204.2:9000/jdrh/upload/20230801/e963b8a110550d225fed4bc7d409ac58.jpg
+             * yhsp :
+             * wmzp :
+             * snzp :
+             * apglzp :
+             * jzfhzp :
+             * xfsszp :
+             * wxpglzp :
+             * fzrqz : http://111.26.204.2:9000/jdrh/upload/20230801/91e1db93b28c6fe4d11d61599b1af9ef.jpg
+             */
+
+            private String id;
+            private String csId;
+            private String aqzd;
+            private String aqjypx;
+            private String fhjc;
+            private String ssya;
+            private String xfyl;
+            private String xfaqglQtqk;
+            private String xfctd;
+            private String sstd;
+            private String aqck;
+            private String fhm;
+            private String sszsbz;
+            private String yjzm;
+            private String zaw;
+            private String jzfhQtqk;
+            private String snxhs;
+            private String mhq;
+            private String jzxfss;
+            private String mh;
+            private String wxpcs;
+            private String jzcs;
+            private String bz;
+            private String zp;
+            private int zgzt;
+            private String stry;
+            private String tyxydm;
+            private String createTime;
+            private String realName;
+            private String deptName;
+            private String phone;
+            private String jd;
+            private String wd;
+            private String yjdw;
+            private String yjdwName;
+            private String bgsy;
+            private String csmc;
+            private String dz;
+            private String dwlb;
+            private String xffzr;
+            private String xffzrlxdh;
+            private String yjzt;
+            private String yjrq;
+            private String fkjg;
+            private String fkzp;
+            private String fkrq;
+            private String thyy;
+            private String deptNames;
+            private String yjzts;
+            private String zgzts;
+            private String zgqx;
+            private String zgtsdzp;
+            private String yhsp;
+            private String wmzp;
+            private String snzp;
+            private String aqglzp;
+            private String jzfhzp;
+            private String xfsszp;
+            private String wxpglzp;
+            private String fzrqz;
+
+            public String getJcdId() {
+                return jcdId;
+            }
+
+            public void setJcdId(String jcdId) {
+                this.jcdId = jcdId;
+            }
+
+            private String jcdId;
+
+            public String getTyxydm() {
+                return tyxydm;
+            }
+
+            public void setTyxydm(String tyxydm) {
+                this.tyxydm = tyxydm;
+            }
+
+            private String bjcdwstry;
+
+            public String getBjcdwstry() {
+                return bjcdwstry;
+            }
+
+            public void setBjcdwstry(String bjcdwstry) {
+                this.bjcdwstry = bjcdwstry;
+            }
+
+            public String getId() {
+                return id;
+            }
+
+            public void setId(String id) {
+                this.id = id;
+            }
+
+            public String getCsId() {
+                return csId;
+            }
+
+            public void setCsId(String csId) {
+                this.csId = csId;
+            }
+
+            public String getAqzd() {
+                return aqzd;
+            }
+
+            public void setAqzd(String aqzd) {
+                this.aqzd = aqzd;
+            }
+
+            public String getAqjypx() {
+                return aqjypx;
+            }
+
+            public void setAqjypx(String aqjypx) {
+                this.aqjypx = aqjypx;
+            }
+
+            public String getFhjc() {
+                return fhjc;
+            }
+
+            public void setFhjc(String fhjc) {
+                this.fhjc = fhjc;
+            }
+
+            public String getSsya() {
+                return ssya;
+            }
+
+            public void setSsya(String ssya) {
+                this.ssya = ssya;
+            }
+
+            public String getXfyl() {
+                return xfyl;
+            }
+
+            public void setXfyl(String xfyl) {
+                this.xfyl = xfyl;
+            }
+
+            public String getXfaqglQtqk() {
+                return xfaqglQtqk;
+            }
+
+            public void setXfaqglQtqk(String xfaqglQtqk) {
+                this.xfaqglQtqk = xfaqglQtqk;
+            }
+
+            public String getXfctd() {
+                return xfctd;
+            }
+
+            public void setXfctd(String xfctd) {
+                this.xfctd = xfctd;
+            }
+
+            public String getSstd() {
+                return sstd;
+            }
+
+            public void setSstd(String sstd) {
+                this.sstd = sstd;
+            }
+
+            public String getAqck() {
+                return aqck;
+            }
+
+            public void setAqck(String aqck) {
+                this.aqck = aqck;
+            }
+
+            public String getFhm() {
+                return fhm;
+            }
+
+            public void setFhm(String fhm) {
+                this.fhm = fhm;
+            }
+
+            public String getSszsbz() {
+                return sszsbz;
+            }
+
+            public void setSszsbz(String sszsbz) {
+                this.sszsbz = sszsbz;
+            }
+
+            public String getYjzm() {
+                return yjzm;
+            }
+
+            public void setYjzm(String yjzm) {
+                this.yjzm = yjzm;
+            }
+
+            public String getZaw() {
+                return zaw;
+            }
+
+            public void setZaw(String zaw) {
+                this.zaw = zaw;
+            }
+
+            public String getJzfhQtqk() {
+                return jzfhQtqk;
+            }
+
+            public void setJzfhQtqk(String jzfhQtqk) {
+                this.jzfhQtqk = jzfhQtqk;
+            }
+
+            public String getSnxhs() {
+                return snxhs;
+            }
+
+            public void setSnxhs(String snxhs) {
+                this.snxhs = snxhs;
+            }
+
+            public String getMhq() {
+                return mhq;
+            }
+
+            public void setMhq(String mhq) {
+                this.mhq = mhq;
+            }
+
+            public String getJzxfss() {
+                return jzxfss;
+            }
+
+            public void setJzxfss(String jzxfss) {
+                this.jzxfss = jzxfss;
+            }
+
+            public String getMh() {
+                return mh;
+            }
+
+            public void setMh(String mh) {
+                this.mh = mh;
+            }
+
+            public String getWxpcs() {
+                return wxpcs;
+            }
+
+            public void setWxpcs(String wxpcs) {
+                this.wxpcs = wxpcs;
+            }
+
+            public String getJzcs() {
+                return jzcs;
+            }
+
+            public void setJzcs(String jzcs) {
+                this.jzcs = jzcs;
+            }
+
+            public String getBz() {
+                return bz;
+            }
+
+            public void setBz(String bz) {
+                this.bz = bz;
+            }
+
+            public String getZp() {
+                return zp;
+            }
+
+            public void setZp(String zp) {
+                this.zp = zp;
+            }
+
+            public int getZgzt() {
+                return zgzt;
+            }
+
+            public void setZgzt(int zgzt) {
+                this.zgzt = zgzt;
+            }
+
+            public String getStry() {
+                return stry;
+            }
+
+            public void setStry(String stry) {
+                this.stry = stry;
+            }
+
+            public String getCreateTime() {
+                return createTime;
+            }
+
+            public void setCreateTime(String createTime) {
+                this.createTime = createTime;
+            }
+
+            public String getRealName() {
+                return realName;
+            }
+
+            public void setRealName(String realName) {
+                this.realName = realName;
+            }
+
+            public String getDeptName() {
+                return deptName;
+            }
+
+            public void setDeptName(String deptName) {
+                this.deptName = deptName;
+            }
+
+            public String getPhone() {
+                return phone;
+            }
+
+            public void setPhone(String phone) {
+                this.phone = phone;
+            }
+
+            public String getJd() {
+                return jd;
+            }
+
+            public void setJd(String jd) {
+                this.jd = jd;
+            }
+
+            public String getWd() {
+                return wd;
+            }
+
+            public void setWd(String wd) {
+                this.wd = wd;
+            }
+
+            public String getYjdw() {
+                return yjdw;
+            }
+
+            public void setYjdw(String yjdw) {
+                this.yjdw = yjdw;
+            }
+
+            public String getYjdwName() {
+                return yjdwName;
+            }
+
+            public void setYjdwName(String yjdwName) {
+                this.yjdwName = yjdwName;
+            }
+
+            public String getBgsy() {
+                return bgsy;
+            }
+
+            public void setBgsy(String bgsy) {
+                this.bgsy = bgsy;
+            }
+
+            public String getCsmc() {
+                return csmc;
+            }
+
+            public void setCsmc(String csmc) {
+                this.csmc = csmc;
+            }
+
+            public String getDz() {
+                return dz;
+            }
+
+            public void setDz(String dz) {
+                this.dz = dz;
+            }
+
+            public String getDwlb() {
+                return dwlb;
+            }
+
+            public void setDwlb(String dwlb) {
+                this.dwlb = dwlb;
+            }
+
+            public String getXffzr() {
+                return xffzr;
+            }
+
+            public void setXffzr(String xffzr) {
+                this.xffzr = xffzr;
+            }
+
+            public String getXffzrlxdh() {
+                return xffzrlxdh;
+            }
+
+            public void setXffzrlxdh(String xffzrlxdh) {
+                this.xffzrlxdh = xffzrlxdh;
+            }
+
+            public String getYjzt() {
+                return yjzt;
+            }
+
+            public void setYjzt(String yjzt) {
+                this.yjzt = yjzt;
+            }
+
+            public String getYjrq() {
+                return yjrq;
+            }
+
+            public void setYjrq(String yjrq) {
+                this.yjrq = yjrq;
+            }
+
+            public String getFkjg() {
+                return fkjg;
+            }
+
+            public void setFkjg(String fkjg) {
+                this.fkjg = fkjg;
+            }
+
+            public String getFkzp() {
+                return fkzp;
+            }
+
+            public void setFkzp(String fkzp) {
+                this.fkzp = fkzp;
+            }
+
+            public String getFkrq() {
+                return fkrq;
+            }
+
+            public void setFkrq(String fkrq) {
+                this.fkrq = fkrq;
+            }
+
+            public String getThyy() {
+                return thyy;
+            }
+
+            public void setThyy(String thyy) {
+                this.thyy = thyy;
+            }
+
+            public String getDeptNames() {
+                return deptNames;
+            }
+
+            public void setDeptNames(String deptNames) {
+                this.deptNames = deptNames;
+            }
+
+            public String getYjzts() {
+                return yjzts;
+            }
+
+            public void setYjzts(String yjzts) {
+                this.yjzts = yjzts;
+            }
+
+            public String getZgzts() {
+                return zgzts;
+            }
+
+            public void setZgzts(String zgzts) {
+                this.zgzts = zgzts;
+            }
+
+            public String getZgqx() {
+                return zgqx;
+            }
+
+            public void setZgqx(String zgqx) {
+                this.zgqx = zgqx;
+            }
+
+            public String getZgtsdzp() {
+                return zgtsdzp;
+            }
+
+            public void setZgtsdzp(String zgtsdzp) {
+                this.zgtsdzp = zgtsdzp;
+            }
+
+            public String getYhsp() {
+                return yhsp;
+            }
+
+            public void setYhsp(String yhsp) {
+                this.yhsp = yhsp;
+            }
+
+            public String getWmzp() {
+                return wmzp;
+            }
+
+            public void setWmzp(String wmzp) {
+                this.wmzp = wmzp;
+            }
+
+            public String getSnzp() {
+                return snzp;
+            }
+
+            public void setSnzp(String snzp) {
+                this.snzp = snzp;
+            }
+
+
+            public String getJzfhzp() {
+                return jzfhzp;
+            }
+
+            public void setJzfhzp(String jzfhzp) {
+                this.jzfhzp = jzfhzp;
+            }
+
+            public String getXfsszp() {
+                return xfsszp;
+            }
+
+            public void setXfsszp(String xfsszp) {
+                this.xfsszp = xfsszp;
+            }
+
+            public String getAqglzp() {
+                return aqglzp;
+            }
+
+            public void setAqglzp(String aqglzp) {
+                this.aqglzp = aqglzp;
+            }
+
+            public String getWxpglzp() {
+                return wxpglzp;
+            }
+
+            public void setWxpglzp(String wxpglzp) {
+                this.wxpglzp = wxpglzp;
+            }
+
+            public String getFzrqz() {
+                return fzrqz;
+            }
+
+            public void setFzrqz(String fzrqz) {
+                this.fzrqz = fzrqz;
+            }
+        }
+    }
+}

+ 305 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/Login.java

@@ -0,0 +1,305 @@
+package com.xwkj.rwsp.mvp.model.entity;
+
+public class Login {
+    /**
+     * tenant_id : 000000
+     * user_id : 1598502999054856194
+     * dept_id : 1465202794308374530
+     * post_id : 1123598817738675208
+     * role_id : 1123598816738675202,1123598816738675203
+     * oauth_id :
+     * account : 111146
+     * user_name : 111146
+     * nick_name : 龙腾
+     * role_name : user,hr
+     * avatar :
+     * access_token : eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJ1c2VyX25hbWUiOiIxMTExNDYiLCJ0b2tlbl90eXBlIjoiYWNjZXNzX3Rva2VuIiwicm9sZV9uYW1lIjoidXNlcixociIsInBvbGljZU51bWJlciI6IjExMTE0NiIsInBvc3RfaWQiOiIxMTIzNTk4ODE3NzM4Njc1MjA4IiwidXNlcl9pZCI6IjE1OTg1MDI5OTkwNTQ4NTYxOTQiLCJyb2xlX2lkIjoiMTEyMzU5ODgxNjczODY3NTIwMiwxMTIzNTk4ODE2NzM4Njc1MjAzIiwicGhvbmUiOiIxMzExMjMxMTIzMSIsIm5pY2tfbmFtZSI6Ium-meiFviIsImRldGFpbCI6eyJ0eXBlIjoid2ViIn0sImRlcHRfaWQiOiIxNDY1MjAyNzk0MzA4Mzc0NTMwIiwiYWNjb3VudCI6IjExMTE0NiIsImNsaWVudF9pZCI6InNhYmVyIiwiZXhwIjoxNjcwMjAyMzQwLCJuYmYiOjE2NzAyMDIzMTB9._93vK9m5436tzFaXGcciCKOHEacGv8PNhZ57c9DpOUpGbI-qh8e62ht4T2PBmkEXsAhuEy1b-7u9R3Qicdh9Xw
+     * refresh_token : eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ1c2VyX2lkIjoiMTU5ODUwMjk5OTA1NDg1NjE5NCIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAyLDExMjM1OTg4MTY3Mzg2NzUyMDMiLCJ0b2tlbl90eXBlIjoicmVmcmVzaF90b2tlbiIsImRlcHRfaWQiOiIxNDY1MjAyNzk0MzA4Mzc0NTMwIiwiY2xpZW50X2lkIjoic2FiZXIiLCJleHAiOjE2NzA4MDcxMTAsIm5iZiI6MTY3MDIwMjMxMH0.KOY_zzX-QPt8BqDlLrFTZ1bK7WCmNzWey-f62BrCJ-_To7wo4LIfkogtjOkgIorEFFOXP7i-mbpzHFWbfnIfqQ
+     * token_type : bearer
+     * expires_in : 30
+     * detail : {"type":"web"}
+     * license : powered by bladex
+     * phone : 13112311231
+     * policeNumber : 111146
+     */
+
+    private String tenant_id;
+    private String user_id;
+    private String dept_id;
+    private String post_id;
+    private String role_id;
+    private String oauth_id;
+    private String account;
+    private String user_name;
+    private String nick_name;
+    private String role_name;
+    private String real_name;
+    private String pcsDm;
+    private String zp;
+    private String mjname;
+    private String mjId;
+    private String deptCategory; // 7代表社区
+    private String sspcs;
+    private String ancestors;
+
+    public String getAncestors() {
+        return ancestors;
+    }
+
+    public void setAncestors(String ancestors) {
+        this.ancestors = ancestors;
+    }
+
+    public String getDeptCategory() {
+        return deptCategory;
+    }
+
+    public void setDeptCategory(String deptCategory) {
+        this.deptCategory = deptCategory;
+    }
+
+    public String getMjname() {
+        return mjname;
+    }
+
+    public void setMjname(String mjname) {
+        this.mjname = mjname;
+    }
+
+    public String getMjId() {
+        return mjId;
+    }
+
+    public void setMjId(String mjId) {
+        this.mjId = mjId;
+    }
+
+    public String getSspcs() {
+        return sspcs;
+    }
+
+    public void setSspcs(String sspcs) {
+        this.sspcs = sspcs;
+    }
+
+    public String getReal_name() {
+        return real_name;
+    }
+
+    public String getPcsDm() {
+        return pcsDm;
+    }
+
+    public String getZp() {
+        return zp;
+    }
+
+    public void setZp(String zp) {
+        this.zp = zp;
+    }
+
+    public void setPcsDm(String pcsDm) {
+        this.pcsDm = pcsDm;
+    }
+
+    public void setReal_name(String real_name) {
+        this.real_name = real_name;
+    }
+
+    private String avatar;
+    private String access_token;
+    private String refresh_token;
+    private String token_type;
+    private int expires_in;
+    private DetailBean detail;
+    private String license;
+    private String phone;
+    private String policeNumber;
+    private String pcsmc;
+
+    public String getPcsmc() {
+        return pcsmc;
+    }
+
+    public void setPcsmc(String pcsmc) {
+        this.pcsmc = pcsmc;
+    }
+
+    public String getDept_name() {
+        return dept_name;
+    }
+
+    public void setDept_name(String dept_name) {
+        this.dept_name = dept_name;
+    }
+
+    private String dept_name;
+
+    public String getTenant_id() {
+        return tenant_id;
+    }
+
+    public void setTenant_id(String tenant_id) {
+        this.tenant_id = tenant_id;
+    }
+
+    public String getUser_id() {
+        return user_id;
+    }
+
+    public void setUser_id(String user_id) {
+        this.user_id = user_id;
+    }
+
+    public String getDept_id() {
+        return dept_id;
+    }
+
+    public void setDept_id(String dept_id) {
+        this.dept_id = dept_id;
+    }
+
+    public String getPost_id() {
+        return post_id;
+    }
+
+    public void setPost_id(String post_id) {
+        this.post_id = post_id;
+    }
+
+    public String getRole_id() {
+        return role_id;
+    }
+
+    public void setRole_id(String role_id) {
+        this.role_id = role_id;
+    }
+
+    public String getOauth_id() {
+        return oauth_id;
+    }
+
+    public void setOauth_id(String oauth_id) {
+        this.oauth_id = oauth_id;
+    }
+
+    public String getAccount() {
+        return account;
+    }
+
+    public void setAccount(String account) {
+        this.account = account;
+    }
+
+    public String getUser_name() {
+        return user_name;
+    }
+
+    public void setUser_name(String user_name) {
+        this.user_name = user_name;
+    }
+
+    public String getNick_name() {
+        return nick_name;
+    }
+
+    public void setNick_name(String nick_name) {
+        this.nick_name = nick_name;
+    }
+
+    public String getRole_name() {
+        return role_name;
+    }
+
+    public void setRole_name(String role_name) {
+        this.role_name = role_name;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
+    public String getAccess_token() {
+        return access_token;
+    }
+
+    public void setAccess_token(String access_token) {
+        this.access_token = access_token;
+    }
+
+    public String getRefresh_token() {
+        return refresh_token;
+    }
+
+    public void setRefresh_token(String refresh_token) {
+        this.refresh_token = refresh_token;
+    }
+
+    public String getToken_type() {
+        return token_type;
+    }
+
+    public void setToken_type(String token_type) {
+        this.token_type = token_type;
+    }
+
+    public int getExpires_in() {
+        return expires_in;
+    }
+
+    public void setExpires_in(int expires_in) {
+        this.expires_in = expires_in;
+    }
+
+    public DetailBean getDetail() {
+        return detail;
+    }
+
+    public void setDetail(DetailBean detail) {
+        this.detail = detail;
+    }
+
+    public String getLicense() {
+        return license;
+    }
+
+    public void setLicense(String license) {
+        this.license = license;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getPoliceNumber() {
+        return policeNumber;
+    }
+
+    public void setPoliceNumber(String policeNumber) {
+        this.policeNumber = policeNumber;
+    }
+
+    public static class DetailBean {
+        /**
+         * type : web
+         */
+
+        private String type;
+
+        public String getType() {
+            return type;
+        }
+
+        public void setType(String type) {
+            this.type = type;
+        }
+    }
+}

+ 1080 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/MdjfXqEntity.java

@@ -0,0 +1,1080 @@
+package com.xwkj.rwsp.mvp.model.entity;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class MdjfXqEntity implements Serializable {
+
+    /**
+     * code : 200
+     * success : true
+     * data : {"id":-1,"createUser":-1,"createDept":-1,"createTime":"","updateUser":-1,"updateTime":"","status":-1,"isDeleted":-1,"jfmc":"","jflx":"","jfyy":"","jffssj":"","jffsdd":"","jyaq":"","jfdjsj":"","jfsssq":-1,"jfsspcs":-1,"jfssfj":-1,"sbzt":"","sbsj":"","sbdw":-1,"yjzt":"","yjsj":"","yjdw":-1,"fksj":"","fknr":"","fkr":"","fkdw":-1,"djr":-1,"mdjb":"","zp":"","sqName":"","pcsName":"","createName":"","mdjfDj":{"id":"1686648898834546690","createUser":"1123598821738675201","createDept":"1677212139158364161","createTime":"2023-08-02 16:03:28","updateUser":"1123598821738675201","updateTime":"2023-08-02 16:03:28","status":1,"isDeleted":0,"jfmc":"纠纷名称","jflx":"纠纷类型","jfyy":"纠纷原因","jffssj":"2023-08-01 08:09:10","jffsdd":"纠纷发生地点","jyaq":"简要案情","jfdjsj":"","jfsssq":-1,"jfsspcs":-1,"jfssfj":-1,"sbzt":"","sbsj":"","sbdw":-1,"yjzt":"","yjsj":"","yjdw":-1,"fksj":"","fknr":"","fkr":"","fkdw":-1,"djr":-1,"mdjb":"","zp":"","sqName":"","pcsName":"","createName":""},"mdjfRyList":[{"id":"1686648898901655553","createUser":"1123598821738675201","createDept":"1677212139158364161","createTime":"2023-08-02 16:03:28","updateUser":"1123598821738675201","updateTime":"2023-08-02 16:03:28","status":1,"isDeleted":0,"jfId":"1686648898834546690","xm":"姓名1","xb":"性别1","sfzh":"身份证号1","lxdh":"联系电话1","lb":"类别1"},{"id":"1686648898901655554","createUser":"1123598821738675201","createDept":"1677212139158364161","createTime":"2023-08-02 16:03:28","updateUser":"1123598821738675201","updateTime":"2023-08-02 16:03:28","status":1,"isDeleted":0,"jfId":"1686648898834546690","xm":"姓名2","xb":"性别2","sfzh":"身份证号2","lxdh":"联系电话2","lb":"类别2"}],"mdjfTjList":[]}
+     * msg : 操作成功
+     */
+
+    private int code;
+    private boolean success;
+    private DataBean data;
+    private String msg;
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public void setSuccess(boolean success) {
+        this.success = success;
+    }
+
+    public DataBean getData() {
+        return data;
+    }
+
+    public void setData(DataBean data) {
+        this.data = data;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public static class DataBean implements Serializable {
+        /**
+         * id : -1
+         * createUser : -1
+         * createDept : -1
+         * createTime :
+         * updateUser : -1
+         * updateTime :
+         * status : -1
+         * isDeleted : -1
+         * jfmc :
+         * jflx :
+         * jfyy :
+         * jffssj :
+         * jffsdd :
+         * jyaq :
+         * jfdjsj :
+         * jfsssq : -1
+         * jfsspcs : -1
+         * jfssfj : -1
+         * sbzt :
+         * sbsj :
+         * sbdw : -1
+         * yjzt :
+         * yjsj :
+         * yjdw : -1
+         * fksj :
+         * fknr :
+         * fkr :
+         * fkdw : -1
+         * djr : -1
+         * mdjb :
+         * zp :
+         * sqName :
+         * pcsName :
+         * createName :
+         * mdjfDj : {"id":"1686648898834546690","createUser":"1123598821738675201","createDept":"1677212139158364161","createTime":"2023-08-02 16:03:28","updateUser":"1123598821738675201","updateTime":"2023-08-02 16:03:28","status":1,"isDeleted":0,"jfmc":"纠纷名称","jflx":"纠纷类型","jfyy":"纠纷原因","jffssj":"2023-08-01 08:09:10","jffsdd":"纠纷发生地点","jyaq":"简要案情","jfdjsj":"","jfsssq":-1,"jfsspcs":-1,"jfssfj":-1,"sbzt":"","sbsj":"","sbdw":-1,"yjzt":"","yjsj":"","yjdw":-1,"fksj":"","fknr":"","fkr":"","fkdw":-1,"djr":-1,"mdjb":"","zp":"","sqName":"","pcsName":"","createName":""}
+         * mdjfRyList : [{"id":"1686648898901655553","createUser":"1123598821738675201","createDept":"1677212139158364161","createTime":"2023-08-02 16:03:28","updateUser":"1123598821738675201","updateTime":"2023-08-02 16:03:28","status":1,"isDeleted":0,"jfId":"1686648898834546690","xm":"姓名1","xb":"性别1","sfzh":"身份证号1","lxdh":"联系电话1","lb":"类别1"},{"id":"1686648898901655554","createUser":"1123598821738675201","createDept":"1677212139158364161","createTime":"2023-08-02 16:03:28","updateUser":"1123598821738675201","updateTime":"2023-08-02 16:03:28","status":1,"isDeleted":0,"jfId":"1686648898834546690","xm":"姓名2","xb":"性别2","sfzh":"身份证号2","lxdh":"联系电话2","lb":"类别2"}]
+         * mdjfTjList : []
+         */
+
+        private String id;
+        private String createUser;
+        private String createDept;
+        private String createTime;
+        private String updateUser;
+        private String updateTime;
+        private int status;
+        private int isDeleted;
+        private String jfmc;
+        private String jflx;
+        private String jfyy;
+        private String jffssj;
+        private String jffsdd;
+        private String jyaq;
+        private String jfdjsj;
+        private String jfsssq;
+        private String jfsspcs;
+        private String jfssfj;
+        private String sbzt;
+        private String sbsj;
+        private String sbdw;
+        private String yjzt;
+        private String yjsj;
+        private String yjdw;
+        private String fksj;
+        private String fknr;
+        private String fkr;
+        private String fkdw;
+        private String djr;
+        private String mdjb;
+        private String zp;
+
+        private String sqName;
+        private String pcsName;
+        private String createName;
+        private MdjfDjBean mdjfDj;
+        private List<MdjfRyListBean> mdjfRyList;
+        private List<?> mdjfTjList;
+
+        public String getId() {
+            return id;
+        }
+
+        public void setId(String id) {
+            this.id = id;
+        }
+
+        public String getCreateUser() {
+            return createUser;
+        }
+
+        public void setCreateUser(String createUser) {
+            this.createUser = createUser;
+        }
+
+        public String getCreateDept() {
+            return createDept;
+        }
+
+        public void setCreateDept(String createDept) {
+            this.createDept = createDept;
+        }
+
+        public String getCreateTime() {
+            return createTime;
+        }
+
+        public void setCreateTime(String createTime) {
+            this.createTime = createTime;
+        }
+
+        public String getUpdateUser() {
+            return updateUser;
+        }
+
+        public void setUpdateUser(String updateUser) {
+            this.updateUser = updateUser;
+        }
+
+        public String getUpdateTime() {
+            return updateTime;
+        }
+
+        public void setUpdateTime(String updateTime) {
+            this.updateTime = updateTime;
+        }
+
+        public int getStatus() {
+            return status;
+        }
+
+        public void setStatus(int status) {
+            this.status = status;
+        }
+
+        public int getIsDeleted() {
+            return isDeleted;
+        }
+
+        public void setIsDeleted(int isDeleted) {
+            this.isDeleted = isDeleted;
+        }
+
+        public String getJfmc() {
+            return jfmc;
+        }
+
+        public void setJfmc(String jfmc) {
+            this.jfmc = jfmc;
+        }
+
+        public String getJflx() {
+            return jflx;
+        }
+
+        public void setJflx(String jflx) {
+            this.jflx = jflx;
+        }
+
+        public String getJfyy() {
+            return jfyy;
+        }
+
+        public void setJfyy(String jfyy) {
+            this.jfyy = jfyy;
+        }
+
+        public String getJffssj() {
+            return jffssj;
+        }
+
+        public void setJffssj(String jffssj) {
+            this.jffssj = jffssj;
+        }
+
+        public String getJffsdd() {
+            return jffsdd;
+        }
+
+        public void setJffsdd(String jffsdd) {
+            this.jffsdd = jffsdd;
+        }
+
+        public String getJyaq() {
+            return jyaq;
+        }
+
+        public void setJyaq(String jyaq) {
+            this.jyaq = jyaq;
+        }
+
+        public String getJfdjsj() {
+            return jfdjsj;
+        }
+
+        public void setJfdjsj(String jfdjsj) {
+            this.jfdjsj = jfdjsj;
+        }
+
+        public String getJfsssq() {
+            return jfsssq;
+        }
+
+        public void setJfsssq(String jfsssq) {
+            this.jfsssq = jfsssq;
+        }
+
+        public String getJfsspcs() {
+            return jfsspcs;
+        }
+
+        public void setJfsspcs(String jfsspcs) {
+            this.jfsspcs = jfsspcs;
+        }
+
+        public String getJfssfj() {
+            return jfssfj;
+        }
+
+        public void setJfssfj(String jfssfj) {
+            this.jfssfj = jfssfj;
+        }
+
+        public String getSbzt() {
+            return sbzt;
+        }
+
+        public void setSbzt(String sbzt) {
+            this.sbzt = sbzt;
+        }
+
+        public String getSbsj() {
+            return sbsj;
+        }
+
+        public void setSbsj(String sbsj) {
+            this.sbsj = sbsj;
+        }
+
+        public String getSbdw() {
+            return sbdw;
+        }
+
+        public void setSbdw(String sbdw) {
+            this.sbdw = sbdw;
+        }
+
+        public String getYjzt() {
+            return yjzt;
+        }
+
+        public void setYjzt(String yjzt) {
+            this.yjzt = yjzt;
+        }
+
+        public String getYjsj() {
+            return yjsj;
+        }
+
+        public void setYjsj(String yjsj) {
+            this.yjsj = yjsj;
+        }
+
+        public String getYjdw() {
+            return yjdw;
+        }
+
+        public void setYjdw(String yjdw) {
+            this.yjdw = yjdw;
+        }
+
+        public String getFksj() {
+            return fksj;
+        }
+
+        public void setFksj(String fksj) {
+            this.fksj = fksj;
+        }
+
+        public String getFknr() {
+            return fknr;
+        }
+
+        public void setFknr(String fknr) {
+            this.fknr = fknr;
+        }
+
+        public String getFkr() {
+            return fkr;
+        }
+
+        public void setFkr(String fkr) {
+            this.fkr = fkr;
+        }
+
+        public String getFkdw() {
+            return fkdw;
+        }
+
+        public void setFkdw(String fkdw) {
+            this.fkdw = fkdw;
+        }
+
+        public String getDjr() {
+            return djr;
+        }
+
+        public void setDjr(String djr) {
+            this.djr = djr;
+        }
+
+        public String getMdjb() {
+            return mdjb;
+        }
+
+        public void setMdjb(String mdjb) {
+            this.mdjb = mdjb;
+        }
+
+        public String getZp() {
+            return zp;
+        }
+
+        public void setZp(String zp) {
+            this.zp = zp;
+        }
+
+        public String getSqName() {
+            return sqName;
+        }
+
+        public void setSqName(String sqName) {
+            this.sqName = sqName;
+        }
+
+        public String getPcsName() {
+            return pcsName;
+        }
+
+        public void setPcsName(String pcsName) {
+            this.pcsName = pcsName;
+        }
+
+        public String getCreateName() {
+            return createName;
+        }
+
+        public void setCreateName(String createName) {
+            this.createName = createName;
+        }
+
+        public MdjfDjBean getMdjfDj() {
+            return mdjfDj;
+        }
+
+        public void setMdjfDj(MdjfDjBean mdjfDj) {
+            this.mdjfDj = mdjfDj;
+        }
+
+        public List<MdjfRyListBean> getMdjfRyList() {
+            return mdjfRyList;
+        }
+
+        public void setMdjfRyList(List<MdjfRyListBean> mdjfRyList) {
+            this.mdjfRyList = mdjfRyList;
+        }
+
+        public List<?> getMdjfTjList() {
+            return mdjfTjList;
+        }
+
+        public void setMdjfTjList(List<?> mdjfTjList) {
+            this.mdjfTjList = mdjfTjList;
+        }
+
+        public static class MdjfDjBean implements Serializable {
+            /**
+             * id : 1686648898834546690
+             * createUser : 1123598821738675201
+             * createDept : 1677212139158364161
+             * createTime : 2023-08-02 16:03:28
+             * updateUser : 1123598821738675201
+             * updateTime : 2023-08-02 16:03:28
+             * status : 1
+             * isDeleted : 0
+             * jfmc : 纠纷名称
+             * jflx : 纠纷类型
+             * jfyy : 纠纷原因
+             * jffssj : 2023-08-01 08:09:10
+             * jffsdd : 纠纷发生地点
+             * jyaq : 简要案情
+             * jfdjsj :
+             * jfsssq : -1
+             * jfsspcs : -1
+             * jfssfj : -1
+             * sbzt :
+             * sbsj :
+             * sbdw : -1
+             * yjzt :
+             * yjsj :
+             * yjdw : -1
+             * fksj :
+             * fknr :
+             * fkr :
+             * fkdw : -1
+             * djr : -1
+             * mdjb :
+             * zp :
+             * sqName :
+             * pcsName :
+             * createName :
+             */
+            private String sfsc;
+            private String sfmy;
+            private String sfjj;
+            private String wtjy;
+            private String thjl;
+            private String zzdw;
+
+            public String getZzdw() {
+                return zzdw;
+            }
+
+            public void setZzdw(String zzdw) {
+                this.zzdw = zzdw;
+            }
+
+            public String getSfsc() {
+                return sfsc;
+            }
+
+            public void setSfsc(String sfsc) {
+                this.sfsc = sfsc;
+            }
+
+            public String getSfmy() {
+                return sfmy;
+            }
+
+            public void setSfmy(String sfmy) {
+                this.sfmy = sfmy;
+            }
+
+            public String getSfjj() {
+                return sfjj;
+            }
+
+            public void setSfjj(String sfjj) {
+                this.sfjj = sfjj;
+            }
+
+            public String getWtjy() {
+                return wtjy;
+            }
+
+            public void setWtjy(String wtjy) {
+                this.wtjy = wtjy;
+            }
+
+            public String getThjl() {
+                return thjl;
+            }
+
+            public void setThjl(String thjl) {
+                this.thjl = thjl;
+            }
+
+            private String id;
+            private String createUser;
+            private String createDept;
+            private String createTime;
+            private String updateUser;
+            private String updateTime;
+            private int status;
+            private int isDeleted;
+            private String jfmc;
+            private String jflx;
+            private String jfyy;
+            private String jffssj;
+            private String jffsdd;
+            private String jyaq;
+            private String bz;
+            private String mdjbVVlaue;
+
+            public String getBz() {
+                return bz;
+            }
+
+            public void setBz(String bz) {
+                this.bz = bz;
+            }
+
+            private String jfdjsj;
+            private String jfsssq;
+            private String jfsspcs;
+            private String jfssfj;
+            private String sbzt;
+            private String sbsj;
+            private String sbdw;
+            private String yjzt;
+            private String yjsj;
+            private String yjdw;
+            private String fksj;
+            private String fknr;
+            private String fkr;
+            private String fkdw;
+            private String djr;
+            private String mdjb;
+            private String jfly;
+            private String bjrdh;
+            private String zp;
+            private String sqName;
+            private String hfnr;
+            private String hfsj;
+            private String hfr;
+
+            public String getBjrdh() {
+                return bjrdh;
+            }
+
+            public void setBjrdh(String bjrdh) {
+                this.bjrdh = bjrdh;
+            }
+
+            public String getHfsj() {
+                return hfsj;
+            }
+
+            public void setHfsj(String hfsj) {
+                this.hfsj = hfsj;
+            }
+
+            public String getHfr() {
+                return hfr;
+            }
+
+            public void setHfr(String hfr) {
+                this.hfr = hfr;
+            }
+
+            public String getHfnr() {
+                return hfnr;
+            }
+
+            public void setHfnr(String hfnr) {
+                this.hfnr = hfnr;
+            }
+
+            public String getMdjbVVlaue() {
+                return mdjbVVlaue;
+            }
+
+            public void setMdjbVVlaue(String mdjbVVlaue) {
+                this.mdjbVVlaue = mdjbVVlaue;
+            }
+
+            public String getJfly() {
+                return jfly;
+            }
+
+            public void setJfly(String jfly) {
+                this.jfly = jfly;
+            }
+
+            private String pcsName;
+            private String createName;
+
+            public String getId() {
+                return id;
+            }
+
+            public void setId(String id) {
+                this.id = id;
+            }
+
+            public String getCreateUser() {
+                return createUser;
+            }
+
+            public void setCreateUser(String createUser) {
+                this.createUser = createUser;
+            }
+
+            public String getCreateDept() {
+                return createDept;
+            }
+
+            public void setCreateDept(String createDept) {
+                this.createDept = createDept;
+            }
+
+            public String getCreateTime() {
+                return createTime;
+            }
+
+            public void setCreateTime(String createTime) {
+                this.createTime = createTime;
+            }
+
+            public String getUpdateUser() {
+                return updateUser;
+            }
+
+            public void setUpdateUser(String updateUser) {
+                this.updateUser = updateUser;
+            }
+
+            public String getUpdateTime() {
+                return updateTime;
+            }
+
+            public void setUpdateTime(String updateTime) {
+                this.updateTime = updateTime;
+            }
+
+            public int getStatus() {
+                return status;
+            }
+
+            public void setStatus(int status) {
+                this.status = status;
+            }
+
+            public int getIsDeleted() {
+                return isDeleted;
+            }
+
+            public void setIsDeleted(int isDeleted) {
+                this.isDeleted = isDeleted;
+            }
+
+            public String getJfmc() {
+                return jfmc;
+            }
+
+            public void setJfmc(String jfmc) {
+                this.jfmc = jfmc;
+            }
+
+            public String getJflx() {
+                return jflx;
+            }
+
+            public void setJflx(String jflx) {
+                this.jflx = jflx;
+            }
+
+            public String getJfyy() {
+                return jfyy;
+            }
+
+            public void setJfyy(String jfyy) {
+                this.jfyy = jfyy;
+            }
+
+            public String getJffssj() {
+                return jffssj;
+            }
+
+            public void setJffssj(String jffssj) {
+                this.jffssj = jffssj;
+            }
+
+            public String getJffsdd() {
+                return jffsdd;
+            }
+
+            public void setJffsdd(String jffsdd) {
+                this.jffsdd = jffsdd;
+            }
+
+            public String getJyaq() {
+                return jyaq;
+            }
+
+            public void setJyaq(String jyaq) {
+                this.jyaq = jyaq;
+            }
+
+            public String getJfdjsj() {
+                return jfdjsj;
+            }
+
+            public void setJfdjsj(String jfdjsj) {
+                this.jfdjsj = jfdjsj;
+            }
+
+
+            public String getSbzt() {
+                return sbzt;
+            }
+
+            public void setSbzt(String sbzt) {
+                this.sbzt = sbzt;
+            }
+
+            public String getSbsj() {
+                return sbsj;
+            }
+
+            public void setSbsj(String sbsj) {
+                this.sbsj = sbsj;
+            }
+
+
+            public String getYjzt() {
+                return yjzt;
+            }
+
+            public void setYjzt(String yjzt) {
+                this.yjzt = yjzt;
+            }
+
+            public String getYjsj() {
+                return yjsj;
+            }
+
+            public void setYjsj(String yjsj) {
+                this.yjsj = yjsj;
+            }
+
+
+            public String getFksj() {
+                return fksj;
+            }
+
+            public void setFksj(String fksj) {
+                this.fksj = fksj;
+            }
+
+            public String getFknr() {
+                return fknr;
+            }
+
+            public void setFknr(String fknr) {
+                this.fknr = fknr;
+            }
+
+            public String getFkr() {
+                return fkr;
+            }
+
+            public void setFkr(String fkr) {
+                this.fkr = fkr;
+            }
+
+            public String getJfsssq() {
+                return jfsssq;
+            }
+
+            public void setJfsssq(String jfsssq) {
+                this.jfsssq = jfsssq;
+            }
+
+            public String getJfsspcs() {
+                return jfsspcs;
+            }
+
+            public void setJfsspcs(String jfsspcs) {
+                this.jfsspcs = jfsspcs;
+            }
+
+            public String getJfssfj() {
+                return jfssfj;
+            }
+
+            public void setJfssfj(String jfssfj) {
+                this.jfssfj = jfssfj;
+            }
+
+            public String getSbdw() {
+                return sbdw;
+            }
+
+            public void setSbdw(String sbdw) {
+                this.sbdw = sbdw;
+            }
+
+            public String getYjdw() {
+                return yjdw;
+            }
+
+            public void setYjdw(String yjdw) {
+                this.yjdw = yjdw;
+            }
+
+            public String getFkdw() {
+                return fkdw;
+            }
+
+            public void setFkdw(String fkdw) {
+                this.fkdw = fkdw;
+            }
+
+            public String getDjr() {
+                return djr;
+            }
+
+            public void setDjr(String djr) {
+                this.djr = djr;
+            }
+
+            public String getMdjb() {
+                return mdjb;
+            }
+
+            public void setMdjb(String mdjb) {
+                this.mdjb = mdjb;
+            }
+
+            public String getZp() {
+                return zp;
+            }
+
+            public void setZp(String zp) {
+                this.zp = zp;
+            }
+
+            public String getSqName() {
+                return sqName;
+            }
+
+            public void setSqName(String sqName) {
+                this.sqName = sqName;
+            }
+
+            public String getPcsName() {
+                return pcsName;
+            }
+
+            public void setPcsName(String pcsName) {
+                this.pcsName = pcsName;
+            }
+
+            public String getCreateName() {
+                return createName;
+            }
+
+            public void setCreateName(String createName) {
+                this.createName = createName;
+            }
+        }
+
+        public static class MdjfRyListBean implements Serializable {
+            /**
+             * id : 1686648898901655553
+             * createUser : 1123598821738675201
+             * createDept : 1677212139158364161
+             * createTime : 2023-08-02 16:03:28
+             * updateUser : 1123598821738675201
+             * updateTime : 2023-08-02 16:03:28
+             * status : 1
+             * isDeleted : 0
+             * jfId : 1686648898834546690
+             * xm : 姓名1
+             * xb : 性别1
+             * sfzh : 身份证号1
+             * lxdh : 联系电话1
+             * lb : 类别1
+             */
+
+            private String id;
+            private String createUser;
+            private String createDept;
+            private String createTime;
+            private String updateUser;
+            private String updateTime;
+            private int status;
+            private int isDeleted;
+            private String jfId;
+            private String xm;
+            private String xb;
+            private String sfzh;
+            private String lxdh;
+            private String lb;
+            private String qmzp;
+            private String hfzp;
+
+            public String getQmzp() {
+                return qmzp;
+            }
+
+            public void setQmzp(String qmzp) {
+                this.qmzp = qmzp;
+            }
+
+            public String getHfzp() {
+                return hfzp;
+            }
+
+            public void setHfzp(String hfzp) {
+                this.hfzp = hfzp;
+            }
+
+            private boolean isChecked; // 是否选中CheckBox
+
+            public boolean isChecked() {
+                return isChecked;
+            }
+
+            public void setChecked(boolean checked) {
+                isChecked = checked;
+            }
+
+            public String getRyzp() {
+                return ryzp;
+            }
+
+            public void setRyzp(String ryzp) {
+                this.ryzp = ryzp;
+            }
+
+            private String ryzp;
+
+            public String getId() {
+                return id;
+            }
+
+            public void setId(String id) {
+                this.id = id;
+            }
+
+            public String getCreateUser() {
+                return createUser;
+            }
+
+            public void setCreateUser(String createUser) {
+                this.createUser = createUser;
+            }
+
+            public String getCreateDept() {
+                return createDept;
+            }
+
+            public void setCreateDept(String createDept) {
+                this.createDept = createDept;
+            }
+
+            public String getCreateTime() {
+                return createTime;
+            }
+
+            public void setCreateTime(String createTime) {
+                this.createTime = createTime;
+            }
+
+            public String getUpdateUser() {
+                return updateUser;
+            }
+
+            public void setUpdateUser(String updateUser) {
+                this.updateUser = updateUser;
+            }
+
+            public String getUpdateTime() {
+                return updateTime;
+            }
+
+            public void setUpdateTime(String updateTime) {
+                this.updateTime = updateTime;
+            }
+
+            public int getStatus() {
+                return status;
+            }
+
+            public void setStatus(int status) {
+                this.status = status;
+            }
+
+            public int getIsDeleted() {
+                return isDeleted;
+            }
+
+            public void setIsDeleted(int isDeleted) {
+                this.isDeleted = isDeleted;
+            }
+
+            public String getJfId() {
+                return jfId;
+            }
+
+            public void setJfId(String jfId) {
+                this.jfId = jfId;
+            }
+
+            public String getXm() {
+                return xm;
+            }
+
+            public void setXm(String xm) {
+                this.xm = xm;
+            }
+
+            public String getXb() {
+                return xb;
+            }
+
+            public void setXb(String xb) {
+                this.xb = xb;
+            }
+
+            public String getSfzh() {
+                return sfzh;
+            }
+
+            public void setSfzh(String sfzh) {
+                this.sfzh = sfzh;
+            }
+
+            public String getLxdh() {
+                return lxdh;
+            }
+
+            public void setLxdh(String lxdh) {
+                this.lxdh = lxdh;
+            }
+
+            public String getLb() {
+                return lb;
+            }
+
+            public void setLb(String lb) {
+                this.lb = lb;
+            }
+        }
+    }
+}

+ 41 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/model/entity/NormalEntity.java

@@ -0,0 +1,41 @@
+package com.xwkj.rwsp.mvp.model.entity;
+
+public class NormalEntity {
+    private int code;
+    private boolean success;
+    private Object data;
+    private String msg;
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public void setSuccess(boolean success) {
+        this.success = success;
+    }
+
+    public Object getData() {
+        return data;
+    }
+
+    public void setData(Object data) {
+        this.data = data;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+}
+

+ 122 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/FjGlySpMdXqPresenter.java

@@ -0,0 +1,122 @@
+package com.xwkj.rwsp.mvp.presenter;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.hjq.toast.ToastUtils;
+import com.jess.arms.integration.AppManager;
+import com.jess.arms.di.scope.ActivityScope;
+import com.jess.arms.mvp.BasePresenter;
+import com.jess.arms.http.imageloader.ImageLoader;
+
+import me.jessyan.rxerrorhandler.core.RxErrorHandler;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.app.utils.CommonInterFace;
+import com.xwkj.rwsp.app.utils.ReqToBus;
+import com.xwkj.rwsp.mvp.contract.FjGlySpMdXqContract;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+import com.xwkj.rwsp.mvp.model.entity.NormalEntity;
+import com.zkjc.common.utils.Utils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:53
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+public class FjGlySpMdXqPresenter extends BasePresenter<FjGlySpMdXqContract.Model, FjGlySpMdXqContract.View> {
+    @Inject
+    RxErrorHandler mErrorHandler;
+    @Inject
+    Application mApplication;
+    @Inject
+    ImageLoader mImageLoader;
+    @Inject
+    AppManager mAppManager;
+
+    @Inject
+    public FjGlySpMdXqPresenter(FjGlySpMdXqContract.Model model, FjGlySpMdXqContract.View rootView) {
+        super(model, rootView);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mErrorHandler = null;
+        this.mAppManager = null;
+        this.mImageLoader = null;
+        this.mApplication = null;
+    }
+    public void getJfxq(Map<String, String> map) {
+        Map<String, Object> param = new HashMap<>();
+        param.put("className", "mdjfDjController");
+        param.put("methodName", "detailById");
+        param.put("params", map);
+        ReqToBus.getInstance().init(mApplication).getRequest(param, new CommonInterFace() {
+            @Override
+            public void onSuccess(String result) {
+                if (mRootView != null) {
+                    mRootView.onSuccess(result);
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+                Utils.getInstances().dismissDialog();
+                ToastUtils.show("网络异常!");
+            }
+
+            @Override
+            public void onFinsh() {
+
+            }
+        });
+
+    }
+
+    public void sp(Map<String, String> map) {
+        Map<String, Object> param = new HashMap<>();
+        param.put("className", "sjSpController");
+        param.put("methodName", "update");
+        param.put("params", map);
+        ReqToBus.getInstance().init(mApplication).getRequest(param, new CommonInterFace() {
+            @Override
+            public void onSuccess(String result) {
+                NormalEntity entity = new Gson().fromJson(result, NormalEntity.class);
+                int code = entity.getCode();
+                if (code == 200) {
+                    if (mRootView != null) {
+                        mRootView.onSpSuccess(result);
+                    }
+                } else {
+                    ToastUtils.show(entity.getMsg());
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+                Utils.getInstances().dismissDialog();
+                ToastUtils.show("网络异常!");
+            }
+
+            @Override
+            public void onFinsh() {
+
+            }
+        });
+
+    }
+}

+ 94 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/FjGlyWspMdPresenter.java

@@ -0,0 +1,94 @@
+package com.xwkj.rwsp.mvp.presenter;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.hjq.toast.ToastUtils;
+import com.jess.arms.integration.AppManager;
+import com.jess.arms.di.scope.FragmentScope;
+import com.jess.arms.mvp.BasePresenter;
+import com.jess.arms.http.imageloader.ImageLoader;
+
+import me.jessyan.rxerrorhandler.core.RxErrorHandler;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.app.utils.CommonInterFace;
+import com.xwkj.rwsp.app.utils.ReqToBus;
+import com.xwkj.rwsp.mvp.contract.FjGlyWspMdContract;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+import com.zkjc.common.utils.Utils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@FragmentScope
+public class FjGlyWspMdPresenter extends BasePresenter<FjGlyWspMdContract.Model, FjGlyWspMdContract.View> {
+    @Inject
+    RxErrorHandler mErrorHandler;
+    @Inject
+    Application mApplication;
+    @Inject
+    ImageLoader mImageLoader;
+    @Inject
+    AppManager mAppManager;
+
+    @Inject
+    public FjGlyWspMdPresenter(FjGlyWspMdContract.Model model, FjGlyWspMdContract.View rootView) {
+        super(model, rootView);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mErrorHandler = null;
+        this.mAppManager = null;
+        this.mImageLoader = null;
+        this.mApplication = null;
+    }
+    public void getSpList(Map<String, String> map) {
+        Map<String, Object> param = new HashMap<>();
+        param.put("className", "sjSpController");
+        param.put("methodName", "page");
+        param.put("params", map);
+        ReqToBus.getInstance().init(mApplication).getRequest(param, new CommonInterFace() {
+            @Override
+            public void onSuccess(String result) {
+                FjGlySpEntity entity = new Gson().fromJson(result, FjGlySpEntity.class);
+                int code = entity.getCode();
+                if (code == 200) {
+                    if (mRootView != null) {
+                        mRootView.onSuccess(entity.getData().getRecords());
+                    }
+                } else {
+                    ToastUtils.show(entity.getMsg());
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+                Utils.getInstances().dismissDialog();
+                ToastUtils.show("网络异常!");
+            }
+
+            @Override
+            public void onFinsh() {
+
+            }
+        });
+
+    }
+}

+ 159 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/FjGlyWspPresenter.java

@@ -0,0 +1,159 @@
+package com.xwkj.rwsp.mvp.presenter;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.hjq.toast.ToastUtils;
+import com.jess.arms.integration.AppManager;
+import com.jess.arms.di.scope.FragmentScope;
+import com.jess.arms.mvp.BasePresenter;
+import com.jess.arms.http.imageloader.ImageLoader;
+
+import me.jessyan.rxerrorhandler.core.RxErrorHandler;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.app.utils.CommonInterFace;
+import com.xwkj.rwsp.app.utils.ReqToBus;
+import com.xwkj.rwsp.mvp.contract.FjGlyWspContract;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+import com.xwkj.rwsp.mvp.model.entity.NormalEntity;
+import com.zkjc.common.utils.Utils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@FragmentScope
+public class FjGlyWspPresenter extends BasePresenter<FjGlyWspContract.Model, FjGlyWspContract.View> {
+    @Inject
+    RxErrorHandler mErrorHandler;
+    @Inject
+    Application mApplication;
+    @Inject
+    ImageLoader mImageLoader;
+    @Inject
+    AppManager mAppManager;
+
+    @Inject
+    public FjGlyWspPresenter(FjGlyWspContract.Model model, FjGlyWspContract.View rootView) {
+        super(model, rootView);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mErrorHandler = null;
+        this.mAppManager = null;
+        this.mImageLoader = null;
+        this.mApplication = null;
+    }
+    public void getSpList(Map<String, String> map) {
+        Map<String, Object> param = new HashMap<>();
+        param.put("className", "sjSpController");
+        param.put("methodName", "page");
+        param.put("params", map);
+        ReqToBus.getInstance().init(mApplication).getRequest(param, new CommonInterFace() {
+            @Override
+            public void onSuccess(String result) {
+                NormalEntity entity = new Gson().fromJson(result, NormalEntity.class);
+                int code = entity.getCode();
+                if (code == 200) {
+                    if (mRootView != null) {
+                        mRootView.onSuccess(result);
+                    }
+                } else {
+                    ToastUtils.show(entity.getMsg());
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+                Utils.getInstances().dismissDialog();
+                ToastUtils.show("网络异常!");
+            }
+
+            @Override
+            public void onFinsh() {
+
+            }
+        });
+
+    }
+    public void sp(Map<String, String> map, int position) {
+        Map<String, Object> param = new HashMap<>();
+        param.put("className", "sjSpController");
+        param.put("methodName", "update");
+        param.put("params", map);
+        ReqToBus.getInstance().init(mApplication).getRequest(param, new CommonInterFace() {
+            @Override
+            public void onSuccess(String result) {
+                NormalEntity entity = new Gson().fromJson(result, NormalEntity.class);
+                int code = entity.getCode();
+                if (code == 200) {
+                    if (mRootView != null) {
+                        mRootView.onSpSuccess(result, position);
+                    }
+                } else {
+                    ToastUtils.show(entity.getMsg());
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+                Utils.getInstances().dismissDialog();
+                ToastUtils.show("网络异常!");
+            }
+
+            @Override
+            public void onFinsh() {
+
+            }
+        });
+
+    }
+    public void getJlList(Map<String, String> map, FjGlySpEntity.DataBean.FjGlySp fjGlySp, int position) {
+        Map<String, Object> param = new HashMap<>();
+        param.put("className", "csjcInfoController");
+        param.put("methodName", "getPageByCsId");
+        param.put("params", map);
+        ReqToBus.getInstance().init(mApplication).getRequest(param, new CommonInterFace() {
+            @Override
+            public void onSuccess(String result) {
+                NormalEntity entity = new Gson().fromJson(result, NormalEntity.class);
+                int code = entity.getCode();
+                if (code == 200) {
+                    if (mRootView != null) {
+                        mRootView.onGetJlSuccess(result, fjGlySp, position);
+                    }
+                } else {
+                    ToastUtils.show(entity.getMsg());
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+                Utils.getInstances().dismissDialog();
+                ToastUtils.show("网络异常!");
+            }
+
+            @Override
+            public void onFinsh() {
+
+            }
+        });
+
+    }
+}

+ 79 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/MainPresenter.java

@@ -0,0 +1,79 @@
+package com.xwkj.rwsp.mvp.presenter;
+
+import android.app.Application;
+
+import com.jess.arms.integration.AppManager;
+import com.jess.arms.di.scope.ActivityScope;
+import com.jess.arms.mvp.BasePresenter;
+import com.jess.arms.http.imageloader.ImageLoader;
+
+import me.jessyan.rxerrorhandler.core.RxErrorHandler;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.app.utils.CommonInterFace;
+import com.xwkj.rwsp.app.utils.ReqToBus;
+import com.xwkj.rwsp.mvp.contract.MainContract;
+
+import java.util.Map;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+public class MainPresenter extends BasePresenter<MainContract.Model, MainContract.View> {
+    @Inject
+    RxErrorHandler mErrorHandler;
+    @Inject
+    Application mApplication;
+    @Inject
+    ImageLoader mImageLoader;
+    @Inject
+    AppManager mAppManager;
+
+    @Inject
+    public MainPresenter(MainContract.Model model, MainContract.View rootView) {
+        super(model, rootView);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mErrorHandler = null;
+        this.mAppManager = null;
+        this.mImageLoader = null;
+        this.mApplication = null;
+    }
+    public void login(Map<String, Object> map) {
+        ReqToBus.getInstance().init(mApplication).getRequest(map, new CommonInterFace() {
+            @Override
+            public void onSuccess(String result) {
+                if (mRootView != null) {
+                    mRootView.onSuccess(result);
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+                if (mRootView != null) {
+                    mRootView.onError(throwable);
+                }
+            }
+
+            @Override
+            public void onFinsh() {
+
+            }
+        });
+    }
+}

+ 53 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/presenter/XfjcXqPresenter.java

@@ -0,0 +1,53 @@
+package com.xwkj.rwsp.mvp.presenter;
+
+import android.app.Application;
+
+import com.jess.arms.integration.AppManager;
+import com.jess.arms.di.scope.ActivityScope;
+import com.jess.arms.mvp.BasePresenter;
+import com.jess.arms.http.imageloader.ImageLoader;
+
+import me.jessyan.rxerrorhandler.core.RxErrorHandler;
+
+import javax.inject.Inject;
+
+import com.xwkj.rwsp.mvp.contract.XfjcXqContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 11:18
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+public class XfjcXqPresenter extends BasePresenter<XfjcXqContract.Model, XfjcXqContract.View> {
+    @Inject
+    RxErrorHandler mErrorHandler;
+    @Inject
+    Application mApplication;
+    @Inject
+    ImageLoader mImageLoader;
+    @Inject
+    AppManager mAppManager;
+
+    @Inject
+    public XfjcXqPresenter(XfjcXqContract.Model model, XfjcXqContract.View rootView) {
+        super(model, rootView);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mErrorHandler = null;
+        this.mAppManager = null;
+        this.mImageLoader = null;
+        this.mApplication = null;
+    }
+}

+ 279 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/activity/FjGlySpMdXqActivity.java

@@ -0,0 +1,279 @@
+package com.xwkj.rwsp.mvp.ui.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.TextUtils;
+import android.text.style.ForegroundColorSpan;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.google.gson.Gson;
+import com.hjq.toast.ToastUtils;
+import com.jess.arms.base.BaseActivity;
+import com.jess.arms.di.component.AppComponent;
+import com.jess.arms.utils.ArmsUtils;
+
+import com.xwkj.rwsp.di.component.DaggerFjGlySpMdXqComponent;
+import com.xwkj.rwsp.mvp.contract.FjGlySpMdXqContract;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+import com.xwkj.rwsp.mvp.model.entity.MdjfXqEntity;
+import com.xwkj.rwsp.mvp.presenter.FjGlySpMdXqPresenter;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.ui.adapter.MdRySpAdapter;
+import com.zkjc.common.base.ZkjcBaseActivity;
+import com.zkjc.common.utils.FlowRadioGroup;
+import com.zkjc.common.utils.Utils;
+import com.zkjc.common.view.CommonTitleBarV3;
+
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import butterknife.BindView;
+
+import static com.jess.arms.utils.Preconditions.checkNotNull;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:53
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public class FjGlySpMdXqActivity extends ZkjcBaseActivity<FjGlySpMdXqPresenter> implements FjGlySpMdXqContract.View {
+    @BindView(R.id.title_bar)
+    CommonTitleBarV3 titleBar;
+    @BindView(R.id.et_jfmc)
+    TextView etJfmc;
+    @BindView(R.id.et_jflx)
+    TextView etJflx;
+    @BindView(R.id.et_jfjb)
+    TextView etJfjb;
+    @BindView(R.id.et_jfyy)
+    TextView etJfyy;
+    @BindView(R.id.fssj)
+    TextView fssj;
+    @BindView(R.id.rl_fssj)
+    RelativeLayout rlFssj;
+    @BindView(R.id.fsdd)
+    TextView fsdd;
+    @BindView(R.id.rl_fsdd)
+    RelativeLayout rlFsdd;
+    @BindView(R.id.et_jfly)
+    TextView et_jfly;
+    @BindView(R.id.recylerView)
+    RecyclerView recylerView;
+    @BindView(R.id.tv_number)
+    TextView tvNumber;
+    @BindView(R.id.rl)
+    RelativeLayout rl;
+    @BindView(R.id.et_bz)
+    TextView etBz;
+    @BindView(R.id.et_sssq)
+    TextView tvSssq;
+    @BindView(R.id.tv_zzdw)
+    TextView tvZzdw;
+    @BindView(R.id.tv_qqyy)
+    TextView tvQqyy;
+    @BindView(R.id.tv_jfdj)
+    TextView tvJfdj;
+    @BindView(R.id.tv_bjrdh)
+    TextView tvBjrdh;
+    @BindView(R.id.bt_submit)
+    TextView tvSubmit;
+    @BindView(R.id.layout_bjrdh)
+    View layoutBjrdh;
+    @BindView(R.id.layout_mdjfdj)
+    View layoutMdjfdj;
+    @BindView(R.id.ll_bhyy)
+    View layoutBhyy;
+    @BindView(R.id.et_bhyy)
+    EditText etBhyy;
+    @BindView(R.id.rg_jg)
+    FlowRadioGroup rgJg;
+    @BindView(R.id.rb_ty)
+    RadioButton rbTy;
+    @BindView(R.id.rb_bh)
+    RadioButton rbBh;
+    private List<MdjfXqEntity.DataBean.MdjfRyListBean> mdjfRyList;
+
+    public static final int IMAGE_ITEM_ADD = -1;
+    private int spjg = 1;
+    @Override
+    public void setupActivityComponent(@NonNull AppComponent appComponent) {
+        DaggerFjGlySpMdXqComponent //如找不到该类,请编译一下项目
+                .builder()
+                .appComponent(appComponent)
+                .view(this)
+                .build()
+                .inject(this);
+    }
+
+    @Override
+    public int initView(@Nullable Bundle savedInstanceState) {
+        return R.layout.activity_fj_gly_sp_md_xq; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
+    }
+
+    @Override
+    public void initData(@Nullable Bundle savedInstanceState) {
+        titleBar.setTitle("矛盾纠纷审批详情");
+        FjGlySpEntity.DataBean.FjGlySp fjGlySp = (FjGlySpEntity.DataBean.FjGlySp) getIntent().getSerializableExtra("data");
+        Map<String, String> map = new HashMap<>();
+        map.put("id", getIntent().getStringExtra("id"));
+        mPresenter.getJfxq(map);
+        rgJg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(RadioGroup group, int checkedId) {
+                switch (checkedId) {
+                    case R.id.rb_bh:
+                        layoutBhyy.setVisibility(View.VISIBLE);
+                        spjg = 2;
+                        break;
+                    case R.id.rb_ty:
+                        layoutBhyy.setVisibility(View.GONE);
+                        spjg = 1;
+                        break;
+                    default:
+                        break;
+                }
+            }
+        });
+        tvSubmit.setOnClickListener(v -> {
+            if (spjg == 2 && TextUtils.isEmpty(etBhyy.getText().toString())) {
+                ToastUtils.show("请填写驳回原因");
+                return;
+            }
+            Utils.getInstances().showDialog(FjGlySpMdXqActivity.this, "正在提交,请稍等");
+            Map<String, String> submitMap = new HashMap<>();
+            submitMap.put("id", fjGlySp.getId());
+            submitMap.put("ywlb", fjGlySp.getYwlb() + "");
+            submitMap.put("ywid", fjGlySp.getYwid());
+            submitMap.put("params", fjGlySp.getParams());
+            submitMap.put("createUser", fjGlySp.getCreateUser());
+            submitMap.put("createTime", fjGlySp.getCreateTime());
+            if (spjg == 2) {
+                submitMap.put("spyy", etBhyy.getText().toString());
+            }
+            submitMap.put("spjg", spjg + "");
+            mPresenter.sp(submitMap);
+        });
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+
+    @Override
+    public void showMessage(@NonNull String message) {
+        checkNotNull(message);
+        ArmsUtils.snackbarText(message);
+    }
+
+    @Override
+    public void launchActivity(@NonNull Intent intent) {
+        checkNotNull(intent);
+        ArmsUtils.startActivity(intent);
+    }
+
+    @Override
+    public void killMyself() {
+        finish();
+    }
+    private SpannableString setTextColor(String text) {
+        SpannableString spannableString = new SpannableString(text);
+        if (text.contains("修改后")) {
+            spannableString.setSpan(new ForegroundColorSpan(0xFFFF1D1D), text.indexOf("修改后"), text.indexOf("修改后") + 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        } else {
+            return spannableString;
+        }
+        return spannableString;
+    }
+
+    @Override
+    public void onSuccess(String result) {
+        try {
+            String param = getIntent().getStringExtra("params");
+            MdjfXqEntity.DataBean modify = new Gson().fromJson(param, MdjfXqEntity.DataBean.class);
+            MdjfXqEntity entity = new Gson().fromJson(result, MdjfXqEntity.class);
+            MdjfXqEntity.DataBean.MdjfDjBean mdjfDj = entity.getData().getMdjfDj();
+            MdjfXqEntity.DataBean.MdjfDjBean mdjfDjModify = modify.getMdjfDj();
+            etJfmc.setText(setTextColor(mdjfDj.getJfmc() + "  修改后  " + mdjfDjModify.getJfmc()));
+            etJflx.setText(setTextColor(mdjfDj.getJflx() + "  修改后  " + mdjfDjModify.getJflx()));
+            tvSssq.setText(setTextColor(mdjfDj.getSqName() + "  修改后  " + mdjfDjModify.getSqName()));
+            et_jfly.setText(mdjfDj.getJfly());
+            etJfjb.setText(mdjfDj.getMdjb());
+            if ("110接处警".equals(mdjfDj.getJfly())) {
+                layoutBjrdh.setVisibility(View.VISIBLE);
+                tvBjrdh.setText(mdjfDj.getBjrdh());
+            } else {
+                layoutBjrdh.setVisibility(View.GONE);
+            }
+            fssj.setText(setTextColor(mdjfDj.getJffssj() + "  修改后  " + mdjfDjModify.getJffssj()));
+            fsdd.setText(setTextColor(mdjfDj.getJffsdd() + "  修改后  " + mdjfDjModify.getJffsdd()));
+            etJfyy.setText(setTextColor(mdjfDj.getJyaq() + "  修改后  " + mdjfDjModify.getJyaq()));
+            etBz.setText(setTextColor(mdjfDj.getBz() + "  修改后  " + mdjfDjModify.getBz()));
+            tvZzdw.setText(setTextColor(mdjfDj.getZzdw() + "  修改后  " + mdjfDjModify.getZzdw()));
+            if (TextUtils.isEmpty(mdjfDj.getMdjbVVlaue())) {
+                layoutMdjfdj.setVisibility(View.GONE);
+            } else {
+                layoutMdjfdj.setVisibility(View.VISIBLE);
+            }
+            tvJfdj.setText(mdjfDj.getMdjbVVlaue());
+            tvQqyy.setText(getIntent().getStringExtra("qqyy"));
+            mdjfRyList = entity.getData().getMdjfRyList();
+            recylerView.setLayoutManager(new LinearLayoutManager(this));
+            List<MdjfXqEntity.DataBean.MdjfRyListBean> modifyRyList = modify.getMdjfRyList();
+
+            if (modifyRyList == null || modifyRyList.isEmpty()) {
+
+            } else {
+                for (int i = 0; i < modifyRyList.size(); i++) {
+                    MdjfXqEntity.DataBean.MdjfRyListBean modifyRy = modifyRyList.get(i);
+                    for (int j = 0; j < mdjfRyList.size(); j++) {
+                        MdjfXqEntity.DataBean.MdjfRyListBean bean = mdjfRyList.get(j);
+                        if (bean.getId().equals(modifyRy.getId())) {
+                            bean.setLb(bean.getLb() + "  修改后  " + modifyRy.getLb());
+                            bean.setXm(bean.getXm() + "  修改后  " + modifyRy.getXm());
+                        }
+                    }
+                }
+            }
+            MdRySpAdapter adapter = new MdRySpAdapter(this.mdjfRyList);
+            recylerView.setAdapter(adapter);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void onSpSuccess(String result) {
+        setResult(RESULT_OK);
+        finish();
+    }
+}

+ 369 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/activity/MainActivity.java

@@ -0,0 +1,369 @@
+package com.xwkj.rwsp.mvp.ui.activity;
+
+import android.Manifest;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.os.Message;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.viewpager2.adapter.FragmentStateAdapter;
+import androidx.viewpager2.widget.ViewPager2;
+
+import com.google.android.material.tabs.TabLayout;
+import com.google.android.material.tabs.TabLayoutMediator;
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import com.hjq.toast.ToastUtils;
+import com.jess.arms.base.BaseActivity;
+import com.jess.arms.di.component.AppComponent;
+import com.jess.arms.utils.ArmsUtils;
+
+import com.xm.permissions.OnRequestPermissionsCallback;
+import com.xm.permissions.XmPermissions;
+import com.xwkj.rwsp.di.component.DaggerMainComponent;
+import com.xwkj.rwsp.mvp.contract.MainContract;
+import com.xwkj.rwsp.mvp.model.entity.Login;
+import com.xwkj.rwsp.mvp.presenter.MainPresenter;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.ui.fragment.FjGlyWspFragment;
+import com.xwkj.rwsp.mvp.ui.fragment.FjGlyWspMdFragment;
+import com.zkjc.common.utils.ApkUtils;
+import com.zkjc.common.utils.Utils;
+import com.zkjc.common.view.CommonTitleBarV3;
+
+
+import org.jetbrains.annotations.NotNull;
+import org.xutils.common.util.MD5;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import butterknife.BindView;
+
+import static com.jess.arms.utils.Preconditions.checkNotNull;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 08:42
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public class MainActivity extends BaseActivity<MainPresenter> implements MainContract.View, OnRequestPermissionsCallback {
+    @BindView(R.id.title_bar)
+    CommonTitleBarV3 titleBar;
+    @BindView(R.id.tab_mdjf)
+    TabLayout tabMdjf;
+    @BindView(R.id.fl_kd)
+    ViewPager2 flKd;
+    @BindView(R.id.jq_query_left)
+    TextView jqQueryLeft;
+    @BindView(R.id.et_jfmc)
+    EditText etJfmc;
+    @BindView(R.id.query_reset)
+    Button queryReset;
+    @BindView(R.id.query_ok)
+    Button queryOk;
+    @BindView(R.id.jq_query)
+    View jq_query;
+    private FjGlyWspMdFragment wspMdFragment;
+    private FjGlyWspFragment wspJx;
+    private List<Fragment> fragments;
+    private XmPermissions xmPermissions;
+
+    @Override
+    public void setupActivityComponent(@NonNull AppComponent appComponent) {
+        DaggerMainComponent //如找不到该类,请编译一下项目
+                .builder()
+                .appComponent(appComponent)
+                .view(this)
+                .build()
+                .inject(this);
+    }
+
+    @Override
+    public int initView(@Nullable Bundle savedInstanceState) {
+        return R.layout.activity_main; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
+    }
+
+    @Override
+    public void initData(@Nullable Bundle savedInstanceState) {
+        initXq();
+        titleBar.setTitle("审批管理");
+
+    }
+
+    private void initUI() {
+        String[] titles = {"矛盾未审批", "九小未审批"};
+        wspMdFragment = FjGlyWspMdFragment.newInstance();
+        wspJx = FjGlyWspFragment.newInstance();
+        fragments = new ArrayList<>();
+        fragments.add(wspMdFragment);
+        fragments.add(wspJx);
+        FragmentStateAdapter mAdapter = new FragmentStateAdapter(this) {
+            @Override
+            public int getItemCount() {
+                return fragments.size();
+            }
+
+            @NonNull
+            @Override
+            public Fragment createFragment(int position) {
+                return fragments.get(position);
+            }
+
+        };
+        flKd.setAdapter(mAdapter);
+        new TabLayoutMediator(tabMdjf, flKd, new TabLayoutMediator.TabConfigurationStrategy() {
+            @Override
+            public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
+                tab.setText(titles[position]);
+            }
+        }).attach();
+
+        flKd.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
+            @Override
+            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+                super.onPageScrolled(position, positionOffset, positionOffsetPixels);
+            }
+
+            @Override
+            public void onPageSelected(int position) {
+                super.onPageSelected(position);
+                /*Message data = new Message();
+                data.what = 0;
+                data.obj = titles[position];
+                if (position == 0) {
+                    wtjFragment.setData(data);
+                } else if (position == 1) {
+                    ytjFragment.setData(data);
+                }*/
+
+            }
+
+            @Override
+            public void onPageScrollStateChanged(int state) {
+                super.onPageScrollStateChanged(state);
+            }
+        });
+        initQueryParams();
+    }
+
+    private void initQueryParams() {
+        jqQueryLeft.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                jq_query.setVisibility(View.GONE);
+            }
+        });
+        queryOk.setOnClickListener(view -> {
+            jq_query.setVisibility(View.GONE);
+            String jfmc = etJfmc.getText().toString();
+            if (TextUtils.isEmpty(jfmc)) {
+                ToastUtils.show("请输纠纷名称");
+                return;
+            }
+            Message data = new Message();
+            data.what = 0;
+            data.obj = jfmc;
+            wspMdFragment.setData(data);
+            wspJx.setData(data);
+
+        });
+        queryReset.setOnClickListener(view -> {
+            etJfmc.setText("");
+        });
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        initLogin();
+    }
+
+    private void initLogin() {
+        Map<String, String> map = new HashMap<>();
+        map.put("username", "105546");
+        map.put("password", MD5.md5("123456"));
+        map.put("tenantId", "000000");
+
+        map.put("code", "wybs");
+        Map<String, Object> map1 = new HashMap<>();
+        map1.put("className", "bladeTokenEndPoint");
+        map1.put("methodName", "token");
+        map1.put("params", map);
+        mPresenter.login(map1);
+    }
+
+    private void initXq() {
+        xmPermissions = XmPermissions.Companion.newInstance(this);
+        xmPermissions.setOnRequestPermissionsCallback(this);
+        xmPermissions.requestPermissions(Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA,
+                Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION,
+                Manifest.permission.ACCESS_COARSE_LOCATION);
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+
+    @Override
+    public void showMessage(@NonNull String message) {
+        checkNotNull(message);
+        ArmsUtils.snackbarText(message);
+    }
+
+    @Override
+    public void launchActivity(@NonNull Intent intent) {
+        checkNotNull(intent);
+        ArmsUtils.startActivity(intent);
+    }
+
+    @Override
+    public void killMyself() {
+        finish();
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        xmPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults);
+/*        if (isFinishing()) {
+            return;
+        }
+        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
+        } else {
+        }*/
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        xmPermissions.onActivityResult(requestCode);
+    }
+
+    @Override
+    public void onDenied(@NotNull String[] strings) {
+
+    }
+
+    @Override
+    public void onGranted() {
+
+    }
+
+    @Override
+    public void onPermanentlyDenied(@NotNull String[] strings) {
+
+    }
+
+    @Override
+    public void onSettingBackDenied(@NotNull String[] strings) {
+
+    }
+
+    @Override
+    public void onSuccess(String result) {
+
+        Utils.getInstances().dismissDialog();
+        System.out.println("****" + result);
+        try {
+            System.out.println("用户信息" + result);
+            JsonObject jsonObject = new JsonParser().parse(result).getAsJsonObject();
+
+            if (jsonObject.has("access_token")) {
+                Gson gson = new Gson();
+                Login entity = gson.fromJson(result, Login.class);
+                String role_name = entity.getRole_name();
+                /*if (!TextUtils.isEmpty(role_name) && role_name.contains("派出所管理员")) {
+                    Utils.getInstances().dismissDialog();
+                    ToastUtils.show("该账户暂不可登录APP,请换其他账号登录");
+                    return;
+                }*/
+
+                    saveLoginInfo(entity);
+
+
+            } else {
+                String error_description = jsonObject.get("error_description").getAsString();
+                ToastUtils.show(error_description);
+            }
+        } catch (Exception e) {
+            ToastUtils.show("登录失败!" + e.getMessage());
+            e.printStackTrace();
+        }
+
+    }
+
+    private void saveLoginInfo(Login entity) {
+        SharedPreferences sharedPreferences = getSharedPreferences("sys", MODE_PRIVATE);
+        SharedPreferences.Editor edit = sharedPreferences.edit();
+        edit.putString("token", entity.getAccess_token());
+        edit.putString("refresh_token", entity.getRefresh_token());
+        edit.putString("userName", entity.getReal_name());
+        edit.putString("tenantId", entity.getTenant_id());
+        edit.putString("account", entity.getAccount());
+        edit.putString("tokenType", entity.getToken_type());
+        edit.putString("userId", entity.getUser_id());
+        edit.putInt("expires_in", entity.getExpires_in());
+        edit.putString("dept_id", entity.getDept_id());
+        edit.putString("phone", entity.getPhone());
+        edit.putString("pcsmc", entity.getPcsmc());
+        edit.putString("dept_name", entity.getDept_name());
+        edit.putString("jh", entity.getPoliceNumber());
+        edit.putString("role_name", entity.getRole_name());
+        edit.putString("pcsDm", entity.getPcsDm());
+        edit.putString("xqt_image", entity.getZp());
+        edit.putString("mj_id", entity.getMjId());
+        edit.putString("deptCategory", entity.getDeptCategory()); // 7是社区
+        edit.putString("mj_name", entity.getMjname());
+        edit.putString("sspcs", entity.getSspcs());
+//        edit.putString("zh", etZh.getText().toString().trim());
+//        edit.putString("mm", MD5.md5(etMm.getText().toString().trim()));
+//        edit.putInt("app_version_code", ApkUtils.getVersionCode(LoginActivity.this));
+        String ancestors = entity.getAncestors();
+        if (!TextUtils.isEmpty(ancestors) && ancestors.contains("220200000000")) {
+            edit.putBoolean("isJlUser", true);
+        } else {
+            edit.putBoolean("isJlUser", false);
+        }
+        initUI();
+        //  edit.putLong("loginTime", System.currentTimeMillis() / 1000);
+
+        //Utils.getInstances().dismissDialog();
+        edit.commit();
+//        sys.edit().putBoolean("isFirst", false).commit();
+//        ArmsUtils.startActivity(StHomeActivity.class);
+//        finish();
+    }
+
+    @Override
+    public void onError(Throwable mThrowable) {
+
+    }
+}

+ 442 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/activity/XfjcXqActivity.java

@@ -0,0 +1,442 @@
+package com.xwkj.rwsp.mvp.ui.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.jess.arms.base.BaseActivity;
+import com.jess.arms.base.DefaultAdapter;
+import com.jess.arms.di.component.AppComponent;
+import com.jess.arms.utils.ArmsUtils;
+
+import com.luck.picture.lib.entity.LocalMedia;
+import com.squareup.picasso.Picasso;
+import com.xwkj.rwsp.di.component.DaggerXfjcXqComponent;
+import com.xwkj.rwsp.mvp.contract.XfjcXqContract;
+import com.xwkj.rwsp.mvp.model.entity.JcjlEntity;
+import com.xwkj.rwsp.mvp.presenter.XfjcXqPresenter;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.ui.adapter.ImageViewAdapter;
+import com.xwkj.rwsp.mvp.ui.fragment.ImgDialog;
+import com.zkjc.common.base.ZkjcBaseActivity;
+import com.zkjc.common.view.CommonTitleBarV3;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import fm.jiecao.jcvideoplayer_lib.JCVideoPlayer;
+import fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard;
+
+import static com.jess.arms.utils.Preconditions.checkNotNull;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 11:18
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public class XfjcXqActivity extends ZkjcBaseActivity<XfjcXqPresenter> implements XfjcXqContract.View {
+
+    @BindView(R.id.title_bar)
+    CommonTitleBarV3 titleBar;
+    @BindView(R.id.dwmc)
+    TextView dwmc;
+    @BindView(R.id.dwdz)
+    TextView dwdz;
+    @BindView(R.id.stry_et)
+    TextView stryEt;
+    @BindView(R.id.tv_aqzd)
+    TextView tvAqzd;
+    @BindView(R.id.tv_jypx)
+    TextView tvJypx;
+    @BindView(R.id.tv_fhjc)
+    TextView tvFhjc;
+    @BindView(R.id.tv_ssya)
+    TextView tvSsya;
+    @BindView(R.id.tv_xfyl)
+    TextView tvXfyl;
+    @BindView(R.id.xf_et)
+    TextView xfEt;
+    @BindView(R.id.tv_xftd)
+    TextView tvXftd;
+    @BindView(R.id.tv_sstd)
+    TextView tvSstd;
+    @BindView(R.id.tv_aqck)
+    TextView tvAqck;
+    @BindView(R.id.tv_fhm)
+    TextView tvFhm;
+    @BindView(R.id.tv_ssbz)
+    TextView tvSsbz;
+    @BindView(R.id.tv_yjzm)
+    TextView tvYjzm;
+    @BindView(R.id.tv_zaw)
+    TextView tvZaw;
+    @BindView(R.id.jzfh_et)
+    TextView jzfhEt;
+    @BindView(R.id.tv_snxhs)
+    TextView tvSnxhs;
+    @BindView(R.id.tv_mhq)
+    TextView tvMhq;
+    @BindView(R.id.tv_xfss)
+    TextView tvXfss;
+    @BindView(R.id.tv_symh)
+    TextView tvSymh;
+    @BindView(R.id.tv_wxpcs)
+    TextView tvWxpcs;
+    @BindView(R.id.tv_tyjzw)
+    TextView tvTyjzw;
+    @BindView(R.id.tv_zgzt)
+    TextView tvZgzt;
+    @BindView(R.id.bz_et)
+    TextView bzEt;
+    @BindView(R.id.recyclerView)
+    RecyclerView recyclerView;
+    @BindView(R.id.bt_bc)
+    Button btBc;
+    @BindView(R.id.bt_tj)
+    Button btTj;
+    @BindView(R.id.zgqx)
+    TextView zgqx;
+    @BindView(R.id.iv_img)
+    ImageView ivImg;
+    @BindView(R.id.ll_zgts)
+    LinearLayout llZgts;
+    @BindView(R.id.ll_xqzg)
+    LinearLayout ll_xqzg;
+    @BindView(R.id.dwcswm_zp)
+    RecyclerView dwcswmZp;
+    @BindView(R.id.snqm_zp)
+    RecyclerView snqmZp;
+    @BindView(R.id.xfaqgl_zp)
+    RecyclerView xfaqglZp;
+    @BindView(R.id.xfjzfh_zp)
+    RecyclerView xfjzfhZp;
+    @BindView(R.id.xfss_zp)
+    RecyclerView xfssZp;
+    @BindView(R.id.wxpgl_zp)
+    RecyclerView wxpglZp;
+    @BindView(R.id.ll_fjzl)
+    LinearLayout llFjzl;
+    @BindView(R.id.image_qm)
+    ImageView imageQm;
+    @BindView(R.id.ll_qm)
+    LinearLayout llQm;
+    @BindView(R.id.videoplayer)
+    JCVideoPlayerStandard videoplayer;
+    @BindView(R.id.strybjc_et)
+    TextView strybjcEt;
+    private List<LocalMedia> selectList;
+
+    @Override
+    public void setupActivityComponent(@NonNull AppComponent appComponent) {
+        DaggerXfjcXqComponent //如找不到该类,请编译一下项目
+                .builder()
+                .appComponent(appComponent)
+                .view(this)
+                .build()
+                .inject(this);
+    }
+
+    @Override
+    public int initView(@Nullable Bundle savedInstanceState) {
+        return R.layout.activity_xfjc_xq; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
+    }
+
+    @Override
+    public void initData(@Nullable Bundle savedInstanceState) {
+        titleBar.setTitle("检查记录详情");
+        JcjlEntity.DataBean.RecordsBean bean = (JcjlEntity.DataBean.RecordsBean) getIntent().getSerializableExtra("recordsBean");
+        tvAqzd.setText(bean.getAqzd());
+        tvJypx.setText(bean.getAqjypx());
+        tvFhjc.setText(bean.getFhjc());
+        tvSsya.setText(bean.getSsya());
+        tvXfyl.setText(bean.getXfyl());
+        xfEt.setText(bean.getXfaqglQtqk());
+        stryEt.setHint("");
+        bzEt.setHint("");
+        jzfhEt.setHint("");
+        xfEt.setHint("");
+        tvXftd.setText(bean.getXfctd());
+        tvSstd.setText(bean.getSstd());
+        tvAqck.setText(bean.getAqck());
+        tvFhm.setText(bean.getFhm());
+        tvSsbz.setText(bean.getSszsbz());
+        tvYjzm.setText(bean.getYjzm());
+        tvZaw.setText(bean.getZaw());
+        jzfhEt.setText(bean.getJzfhQtqk());
+        stryEt.setText(bean.getStry());
+        strybjcEt.setText(bean.getBjcdwstry());
+        tvSnxhs.setText(bean.getSnxhs());
+        tvMhq.setText(bean.getMhq());
+        tvXfss.setText(bean.getJzxfss());
+        tvSymh.setText(bean.getMh());
+        tvWxpcs.setText(bean.getWxpcs());
+        tvTyjzw.setText(bean.getJzcs());
+        bzEt.setText(bean.getBz());
+        zgqx.setText(bean.getZgqx());
+
+        if (!TextUtils.isEmpty(bean.getZgtsdzp()))
+            Picasso.with(this).load(bean.getZgtsdzp()).into(ivImg);
+        ivImg.setOnClickListener(view -> {
+            ImgDialog imgDialog = ImgDialog.newInstance(bean.getZgtsdzp());
+            imgDialog.show(getSupportFragmentManager(), "cesh");
+            imgDialog.setCancelable(true);
+        });
+        if (!TextUtils.isEmpty(bean.getFzrqz()))
+            Picasso.with(this).load(bean.getFzrqz()).into(imageQm);
+
+        int zgzt = bean.getZgzt();
+        if (zgzt == 0) {
+            tvZgzt.setText("未发现隐患");
+
+        } else if (zgzt == 1) {
+            tvZgzt.setText("当场整改");
+
+        } else if (zgzt == 2) {
+            tvZgzt.setText("限期整改");
+            llZgts.setVisibility(View.VISIBLE);
+            ll_xqzg.setVisibility(View.VISIBLE);
+        } else if (zgzt == 3) {
+            tvZgzt.setText("拒不整改");
+            llZgts.setVisibility(View.VISIBLE);
+            llFjzl.setVisibility(View.VISIBLE);
+        } else if (zgzt == 4) {
+            tvZgzt.setText("逾期未整改");
+            llFjzl.setVisibility(View.VISIBLE);
+            llZgts.setVisibility(View.VISIBLE);
+
+        } else if (zgzt == 5) {
+            tvZgzt.setText("重大火灾风险隐患");
+            llZgts.setVisibility(View.VISIBLE);
+            llFjzl.setVisibility(View.VISIBLE);
+        }
+        List<String> list = new ArrayList<>();
+
+
+        String zp = bean.getZp();
+        if (!TextUtils.isEmpty(zp)) {
+            String[] split = zp.split(",");
+            for (int i = 0; i < split.length; i++) {
+                list.add(split[i]);
+            }
+
+        }
+        ImageViewAdapter mAdapter = new ImageViewAdapter(list);
+        recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+        recyclerView.setHasFixedSize(true);
+        recyclerView.setAdapter(mAdapter);
+        mAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull View view, int viewType, @NonNull Object data, int position) {
+                ImgDialog imgDialog = ImgDialog.newInstance(list.get(position));
+                imgDialog.show(getSupportFragmentManager(), "cesh");
+                imgDialog.setCancelable(true);
+            }
+        });
+
+        selectList = new ArrayList<>();
+        String yhsp = bean.getYhsp();
+        if (!TextUtils.isEmpty(yhsp)) {
+            videoplayer.setUp(yhsp, JCVideoPlayerStandard.SCREEN_LAYOUT_NORMAL, "");
+        }
+        List<String> wmList = new ArrayList<>();
+
+        String wmzp = bean.getWmzp();
+        if (!TextUtils.isEmpty(wmzp)) {
+            String[] split = wmzp.split(",");
+            for (int i = 0; i < split.length; i++) {
+                wmList.add(split[i]);
+            }
+
+        }
+        ImageViewAdapter wmAdapter = new ImageViewAdapter(wmList);
+        dwcswmZp.setLayoutManager(new GridLayoutManager(this, 3));
+        dwcswmZp.setHasFixedSize(true);
+        dwcswmZp.setAdapter(wmAdapter);
+        wmAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull View view, int viewType, @NonNull Object data, int position) {
+                ImgDialog imgDialog = ImgDialog.newInstance(wmList.get(position));
+                imgDialog.show(getSupportFragmentManager(), "cesh");
+                imgDialog.setCancelable(true);
+            }
+        });
+
+
+        List<String> snList = new ArrayList<>();
+
+        String snzp = bean.getSnzp();
+        if (!TextUtils.isEmpty(snzp)) {
+            String[] split = snzp.split(",");
+            for (int i = 0; i < split.length; i++) {
+                snList.add(split[i]);
+            }
+
+        }
+        ImageViewAdapter snAdapter = new ImageViewAdapter(snList);
+        snqmZp.setLayoutManager(new GridLayoutManager(this, 3));
+        snqmZp.setHasFixedSize(true);
+        snqmZp.setAdapter(snAdapter);
+        snAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull View view, int viewType, @NonNull Object data, int position) {
+                ImgDialog imgDialog = ImgDialog.newInstance(snList.get(position));
+                imgDialog.show(getSupportFragmentManager(), "cesh");
+                imgDialog.setCancelable(true);
+            }
+        });
+        List<String> aqList = new ArrayList<>();
+
+        String aqzp = bean.getAqglzp();
+        if (!TextUtils.isEmpty(aqzp)) {
+            String[] split = aqzp.split(",");
+            for (int i = 0; i < split.length; i++) {
+                aqList.add(split[i]);
+            }
+
+        }
+        ImageViewAdapter aqAdapter = new ImageViewAdapter(aqList);
+        xfaqglZp.setLayoutManager(new GridLayoutManager(this, 3));
+        xfaqglZp.setHasFixedSize(true);
+        xfaqglZp.setAdapter(aqAdapter);
+        aqAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull View view, int viewType, @NonNull Object data, int position) {
+                ImgDialog imgDialog = ImgDialog.newInstance(aqList.get(position));
+                imgDialog.show(getSupportFragmentManager(), "cesh");
+                imgDialog.setCancelable(true);
+            }
+        });
+        List<String> fhList = new ArrayList<>();
+
+        String fhzp = bean.getJzfhzp();
+        if (!TextUtils.isEmpty(fhzp)) {
+            String[] split = fhzp.split(",");
+            for (int i = 0; i < split.length; i++) {
+                fhList.add(split[i]);
+            }
+
+        }
+        ImageViewAdapter fhAdapter = new ImageViewAdapter( fhList);
+        xfjzfhZp.setLayoutManager(new GridLayoutManager(this, 3));
+        xfjzfhZp.setHasFixedSize(true);
+        xfjzfhZp.setAdapter(fhAdapter);
+        fhAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull View view, int viewType, @NonNull Object data, int position) {
+                ImgDialog imgDialog = ImgDialog.newInstance(fhList.get(position));
+                imgDialog.show(getSupportFragmentManager(), "cesh");
+                imgDialog.setCancelable(true);
+            }
+        });
+        List<String> ssList = new ArrayList<>();
+
+        String sszp = bean.getXfsszp();
+        if (!TextUtils.isEmpty(sszp)) {
+            String[] split = sszp.split(",");
+            for (int i = 0; i < split.length; i++) {
+                ssList.add(split[i]);
+            }
+
+        }
+        ImageViewAdapter ssAdapter = new ImageViewAdapter(ssList);
+        xfssZp.setLayoutManager(new GridLayoutManager(this, 3));
+        xfssZp.setHasFixedSize(true);
+        xfssZp.setAdapter(ssAdapter);
+        ssAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull View view, int viewType, @NonNull Object data, int position) {
+                ImgDialog imgDialog = ImgDialog.newInstance(ssList.get(position));
+                imgDialog.show(getSupportFragmentManager(), "cesh");
+                imgDialog.setCancelable(true);
+            }
+        });
+
+        List<String> wxList = new ArrayList<>();
+
+        String wxzp = bean.getWxpglzp();
+        if (!TextUtils.isEmpty(wxzp)) {
+            String[] split = wxzp.split(",");
+            for (int i = 0; i < split.length; i++) {
+                wxList.add(split[i]);
+            }
+
+        }
+        ImageViewAdapter wxAdapter = new ImageViewAdapter(wxList);
+        wxpglZp.setLayoutManager(new GridLayoutManager(this, 3));
+        wxpglZp.setHasFixedSize(true);
+        wxpglZp.setAdapter(wxAdapter);
+        wxAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull View view, int viewType, @NonNull Object data, int position) {
+                ImgDialog imgDialog = ImgDialog.newInstance(wxList.get(position));
+                imgDialog.show(getSupportFragmentManager(), "cesh");
+                imgDialog.setCancelable(true);
+            }
+        });
+
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (JCVideoPlayer.backPress()) {
+            return;
+        }
+        super.onBackPressed();
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        JCVideoPlayer.releaseAllVideos();
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+
+    @Override
+    public void showMessage(@NonNull String message) {
+        checkNotNull(message);
+        ArmsUtils.snackbarText(message);
+    }
+
+    @Override
+    public void launchActivity(@NonNull Intent intent) {
+        checkNotNull(intent);
+        ArmsUtils.startActivity(intent);
+    }
+
+    @Override
+    public void killMyself() {
+        finish();
+    }
+
+
+}

+ 275 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/BaseRecycleAdapter.java

@@ -0,0 +1,275 @@
+package com.xwkj.rwsp.mvp.ui.adapter;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public abstract class BaseRecycleAdapter<T> extends RecyclerView.Adapter<BaseRecycleAdapter.BaseViewHolder> {
+
+    protected List<T> datas;
+
+    public BaseRecycleAdapter(List<T> datas) {
+        this.datas = datas == null ? new ArrayList<T>() : datas;
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        return position;
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+
+        View view = LayoutInflater.from(parent.getContext()).inflate(getLayoutId(), parent, false);
+        return new BaseViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(BaseRecycleAdapter.BaseViewHolder holder, final int position) {
+
+        bindData(holder, position);
+
+    }
+
+
+    /**
+     * 刷新数据
+     *
+     * @param datas
+     */
+    public void refresh(List<T> datas) {
+        this.datas.clear();
+        addDatas(datas);
+//        if(datas.isEmpty()) return;
+//        this.datas = datas;
+        notifyDataSetChanged();
+    }
+
+
+    /**
+     * 批量添加数据
+     *
+     * @param datas
+     */
+    public void addDatas(List<T> datas) {
+        if (null != datas) {
+            this.datas.addAll(datas);
+            notifyDataSetChanged();
+        }
+    }
+
+    /**
+     * 添加数据
+     *
+     * @param data
+     */
+    public void addData(T data) {
+        this.datas.add(data);
+        notifyDataSetChanged();
+    }
+
+    /**
+     * 绑定数据
+     *
+     * @param holder   具体的viewHolder
+     * @param position 对应的索引
+     */
+    protected abstract void bindData(BaseViewHolder holder, int position);
+
+
+    @Override
+    public int getItemCount() {
+
+        return datas == null ? 0 : datas.size();
+    }
+
+    public interface OnRecyclerViewListener {
+        void onItemClick(int position);
+
+        boolean onItemLongClick(int position);
+    }
+
+    public interface OnRecyclerViewListenerV2 {
+        void onItemClick(View view, int position);
+
+        boolean onItemLongClick(View view, int position);
+    }
+    public interface OnRecyclerViewListenerV3 {
+        void onItemClick(View view, int position);
+
+        boolean onItemLongClick(View view, int position);
+    }
+    public interface OnRecyclerViewListenerV4 {
+        void onItemClick(View view, int position);
+
+        boolean onItemLongClick(View view, int position);
+    }
+
+    /**
+     * 封装ViewHolder ,子类可以直接使用
+     */
+    public class BaseViewHolder extends RecyclerView.ViewHolder {
+
+
+        private Map<Integer, View> mViewMap;
+
+        public BaseViewHolder(View itemView) {
+            super(itemView);
+            mViewMap = new HashMap<>();
+        }
+
+        /**
+         * 获取设置的view
+         *
+         * @param id
+         * @return
+         */
+        public View getView(int id) {
+            View view = mViewMap.get(id);
+            if (view == null) {
+                view = itemView.findViewById(id);
+                mViewMap.put(id, view);
+            }
+            return view;
+        }
+
+        public void setOnItemClickListener(int id, final int position, final OnRecyclerViewListener listener) {
+            getView(id).setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (listener != null) {
+                        listener.onItemClick(position);
+                    }
+                }
+            });
+        }
+
+        public void setOnItemClickListenerV2(int id, final int position, final OnRecyclerViewListenerV2 listener) {
+            getView(id).setOnClickListener(v -> listener.onItemClick(v, position));
+        }
+        public void setOnItemClickListenerV3(int id, final int position, final OnRecyclerViewListenerV3 listener) {
+            getView(id).setOnClickListener(v -> listener.onItemClick(v, position));
+        }
+        public void setOnItemClickListenerV4(int id, final int position, final OnRecyclerViewListenerV4 listener) {
+            getView(id).setOnClickListener(v -> listener.onItemClick(v, position));
+        }
+        public void setOnItemLongClickListener(int id, final int position, final OnRecyclerViewListener listener) {
+            getView(id).setOnLongClickListener(new View.OnLongClickListener() {
+                @Override
+                public boolean onLongClick(View v) {
+                    return listener.onItemLongClick(position);
+                }
+            });
+        }
+
+        public void setOnItemLongClickListenerV2(int id, final int position, final OnRecyclerViewListenerV2 listener) {
+            getView(id).setOnLongClickListener(v -> listener.onItemLongClick(v, position));
+        }
+        public void setOnItemLongClickListenerV3(int id, final int position, final OnRecyclerViewListenerV3 listener) {
+            getView(id).setOnLongClickListener(v -> listener.onItemLongClick(v, position));
+        }
+        public void setOnItemLongClickListenerV4(int id, final int position, final OnRecyclerViewListenerV4 listener) {
+            getView(id).setOnLongClickListener(v -> listener.onItemLongClick(v, position));
+        }
+    }
+
+    /**
+     * 获取子item
+     *
+     * @return
+     */
+    public abstract int getLayoutId();
+
+    /**
+     * 设置文本属性
+     *
+     * @param view
+     * @param text
+     */
+    public void setItemText(View view, String text) {
+        if (view instanceof TextView) {
+            ((TextView) view).setText(text);
+        }
+    }
+
+    /**
+     * 设置文本属性
+     *
+     * @param view
+     * @param text
+     */
+    public void setItemTextAndColor(View view, String text, int color) {
+        if (view instanceof TextView) {
+            ((TextView) view).setText(text);
+            ((TextView) view).setTextColor(color);
+        }
+    }
+
+    public void setItemTextColorAndHid(View view, String text, int color) {
+        if (view instanceof TextView) {
+            ((TextView) view).setText(text);
+            ((TextView) view).setTextColor(color);
+        }
+    }
+
+    /**
+     * 设置图片属性
+     *
+     * @param view
+     * @param resId
+     */
+    public void setItemImageView(View view, int resId) {
+        if (view instanceof ImageView) {
+            ((TextView) view).setBackgroundResource(resId);
+        }
+    }
+
+    /**
+     * 设置图片属性
+     *
+     * @param view
+     * @param url
+     */
+    public void setItemImage(View view, String url) {
+        if (view instanceof ImageView) {
+            url = "http://192.168.20.228:7213/jlyqfk/" + url;
+            /*((TextView) view).setBackgroundResource(resId);*/
+           // Picasso.with(view.getContext()).load(url).fit().into(((ImageView) view));
+            //  ImagePicker.getInstance().getImageLoader().displayImage((Activity)view.getContext(), url, ((ImageView) view), 0, 0);
+        }
+    }
+
+    public void setItemImageV2(View view, String base64) {
+        if (view instanceof ImageView) {
+            Glide.with(view.getContext())
+                    .load(base64)
+                    .into(((ImageView) view));
+            //  ImagePicker.getInstance().getImageLoader().displayImage((Activity)view.getContext(), url, ((ImageView) view), 0, 0);
+        }
+    }
+
+    public void setItemGirdView(View view, BaseRecycleAdapter adapter) {
+        if (view instanceof RecyclerView) {
+            ((RecyclerView) view).setLayoutManager(new LinearLayoutManager(view.getContext(), LinearLayoutManager.HORIZONTAL, false));
+            ((RecyclerView) view).setAdapter(adapter);
+        }
+    }
+}
+

+ 99 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/FjGlySpAdapter.java

@@ -0,0 +1,99 @@
+package com.xwkj.rwsp.mvp.ui.adapter;
+
+import android.graphics.Color;
+import android.view.View;
+import android.widget.TextView;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+
+import java.util.List;
+
+public class FjGlySpAdapter extends BaseRecycleAdapter<FjGlySpEntity.DataBean.FjGlySp>  {
+
+    public FjGlySpAdapter(List<FjGlySpEntity.DataBean.FjGlySp> datas) {
+        super(datas);
+    }
+
+    @Override
+    protected void bindData(BaseViewHolder holder, int position) {
+        if (holder != null) {
+            holder.setOnItemClickListener(R.id.item_layout_root, position, onRecyclerViewListener);
+            holder.setOnItemLongClickListener(R.id.item_layout_root, position, onRecyclerViewListener);
+
+            holder.setOnItemClickListenerV2(R.id.item_sp_tv_ty, position, onRecyclerViewListenerv2);
+            holder.setOnItemLongClickListenerV2(R.id.item_sp_tv_ty, position, onRecyclerViewListenerv2);
+            holder.setOnItemClickListenerV2(R.id.item_sp_tv_bh, position, onRecyclerViewListenerv2);
+            holder.setOnItemLongClickListenerV2(R.id.item_sp_tv_bh, position, onRecyclerViewListenerv2);
+
+            FjGlySpEntity.DataBean.FjGlySp bean = datas.get(position);
+
+            setItemText(holder.getView(R.id.item_sp_tv_name), bean.getCsmc());
+            TextView tvType = (TextView) holder.getView(R.id.item_sp_tv_type);
+            if (bean.getYwlb() == 1) {
+                tvType.setText("删除请求审批");
+                tvType.setTextColor(Color.parseColor("#FF1D1D"));
+                tvType.setBackgroundResource(R.drawable.bg_shape_1aff1d1d_corner4);
+                setItemText(holder.getView(R.id.item_sp_tv_yy), "删除原因:" + bean.getQqyy());
+            } else {
+                tvType.setText("营业状态修改请求审批");
+                tvType.setTextColor(Color.parseColor("#106DFF"));
+                tvType.setBackgroundResource(R.drawable.bg_shape_1a106dff_corner4);
+                setItemText(holder.getView(R.id.item_sp_tv_yy), bean.getQqyy());
+            }
+            setItemText(holder.getView(R.id.item_sp_tv_people), bean.getName() + "  " + bean.getPcsName());
+            setItemText(holder.getView(R.id.item_sp_tv_time), bean.getCreateTime());
+            setItemText(holder.getView(R.id.item_sp_tv_result), "审批结果:" + bean.getSpyy());
+
+            holder.getView(R.id.item_sp_divider1).setVisibility(View.VISIBLE);
+            TextView tvStatus = (TextView) holder.getView(R.id.item_sp_tv_status);
+            switch (bean.getSpjg()) {
+                case 0:
+                    holder.getView(R.id.item_sp_tv_result).setVisibility(View.GONE);
+                    tvStatus.setVisibility(View.GONE);
+                    holder.getView(R.id.item_sp_tv_ty).setVisibility(View.VISIBLE);
+                    holder.getView(R.id.item_sp_tv_bh).setVisibility(View.VISIBLE);
+                    break;
+                case 1:
+                    holder.getView(R.id.item_sp_divider1).setVisibility(View.GONE);
+                    holder.getView(R.id.item_sp_tv_result).setVisibility(View.GONE);
+                    tvStatus.setVisibility(View.VISIBLE);
+                    tvStatus.setText("同意");
+                    holder.getView(R.id.item_sp_tv_ty).setVisibility(View.GONE);
+                    holder.getView(R.id.item_sp_tv_bh).setVisibility(View.GONE);
+                    tvStatus.setTextColor(Color.parseColor("#999999"));
+                    tvStatus.setBackgroundResource(R.drawable.bg_shape_1a999999_corner4);
+                    break;
+                case 2:
+                    tvStatus.setText("驳回");
+                    holder.getView(R.id.item_sp_tv_result).setVisibility(View.VISIBLE);
+                    tvStatus.setVisibility(View.VISIBLE);
+                    holder.getView(R.id.item_sp_tv_ty).setVisibility(View.GONE);
+                    holder.getView(R.id.item_sp_tv_bh).setVisibility(View.GONE);
+                    tvStatus.setTextColor(Color.parseColor("#FF1D1D"));
+                    tvStatus.setBackgroundResource(R.drawable.bg_shape_1aff1d1d_corner4);
+                    break;
+                default:
+                    break;
+            }
+        }
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.item_fj_gly_sp;
+    }
+
+    private OnRecyclerViewListener onRecyclerViewListener;
+
+    public void setOnRecyclerViewListener(OnRecyclerViewListener onRecyclerViewListener) {
+        this.onRecyclerViewListener = onRecyclerViewListener;
+    }
+
+    private OnRecyclerViewListenerV2 onRecyclerViewListenerv2;
+
+    public void setOnRecyclerViewListenerv2(OnRecyclerViewListenerV2 onRecyclerViewListenerv2) {
+        this.onRecyclerViewListenerv2 = onRecyclerViewListenerv2;
+    }
+
+}

+ 48 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/FjGlySpMdAdapter.java

@@ -0,0 +1,48 @@
+package com.xwkj.rwsp.mvp.ui.adapter;
+
+import android.graphics.Color;
+import android.widget.TextView;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+
+import java.util.List;
+
+public class FjGlySpMdAdapter extends BaseRecycleAdapter<FjGlySpEntity.DataBean.FjGlySp> {
+
+    public FjGlySpMdAdapter(List<FjGlySpEntity.DataBean.FjGlySp> datas) {
+        super(datas);
+    }
+
+    @Override
+    protected void bindData(BaseViewHolder holder, int position) {
+        if (holder != null) {
+            holder.setOnItemClickListener(R.id.item_layout_root, position, onRecyclerViewListener);
+            holder.setOnItemLongClickListener(R.id.item_layout_root, position, onRecyclerViewListener);
+
+            FjGlySpEntity.DataBean.FjGlySp bean = datas.get(position);
+
+            setItemText(holder.getView(R.id.item_sp_tv_name), bean.getJfmc());
+            TextView tvType = (TextView) holder.getView(R.id.item_sp_tv_type);
+            tvType.setText("矛盾修改请求审批");
+            tvType.setTextColor(Color.parseColor("#106DFF"));
+            tvType.setBackgroundResource(R.drawable.bg_shape_1a106dff_corner4);
+            setItemText(holder.getView(R.id.item_sp_tv_yy), "修改原因:" + bean.getQqyy());
+            setItemText(holder.getView(R.id.item_sp_tv_people), bean.getName() + "  " + bean.getPcsName());
+            setItemText(holder.getView(R.id.item_sp_tv_time), bean.getCreateTime());
+        }
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.item_fj_gly_sp_md;
+    }
+
+    private OnRecyclerViewListener onRecyclerViewListener;
+
+    public void setOnRecyclerViewListener(OnRecyclerViewListener onRecyclerViewListener) {
+        this.onRecyclerViewListener = onRecyclerViewListener;
+    }
+
+}
+

+ 32 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/ImageViewAdapter.java

@@ -0,0 +1,32 @@
+package com.xwkj.rwsp.mvp.ui.adapter;
+
+import android.view.View;
+
+import androidx.annotation.NonNull;
+
+import com.jess.arms.base.BaseHolder;
+import com.jess.arms.base.DefaultAdapter;
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.ui.holder.ImageHolder;
+
+import java.util.List;
+
+public class ImageViewAdapter extends DefaultAdapter<String> {
+
+
+
+    public ImageViewAdapter(List<String> infos) {
+        super(infos);
+    }
+
+    @NonNull
+    @Override
+    public BaseHolder<String> getHolder(@NonNull View v, int viewType) {
+        return new ImageHolder(v);
+    }
+
+    @Override
+    public int getLayoutId(int viewType) {
+        return R.layout.item_image;
+    }
+}

+ 45 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/MdRySpAdapter.java

@@ -0,0 +1,45 @@
+package com.xwkj.rwsp.mvp.ui.adapter;
+
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.style.ForegroundColorSpan;
+import android.widget.TextView;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.model.entity.MdjfXqEntity;
+
+import java.util.List;
+
+public class MdRySpAdapter extends BaseRecycleAdapter<MdjfXqEntity.DataBean.MdjfRyListBean> {
+    private OnRecyclerViewListenerV2 mListener;
+    private String flag = "";
+    public MdRySpAdapter(List<MdjfXqEntity.DataBean.MdjfRyListBean> datas) {
+        super(datas);
+    }
+
+    @Override
+    protected void bindData(BaseViewHolder holder, int position) {
+        MdjfXqEntity.DataBean.MdjfRyListBean bean = datas.get(position);
+        ((TextView)holder.getView(R.id.item_tjjf_detail_person_tv_lb)).setText(setTextColor(bean.getLb()));
+        ((TextView)holder.getView(R.id.item_tjjf_detail_person_tv_name)).setText(setTextColor(bean.getXm()));
+        setItemText(holder.getView(R.id.item_tjjf_detail_person_tv_lxdh), "联系电话");
+        setItemText(holder.getView(R.id.item_tjjf_detail_person_tv_lxdh_num), /*StringUtil.replaceString(bean.getLxdh())*/"***********");
+        setItemText(holder.getView(R.id.item_tjjf_detail_person_tv_sfzh), "公民身份号码");
+        setItemText(holder.getView(R.id.item_tjjf_detail_person_tv_sfzh_num), /*StringUtil.replaceId(bean.getSfzh())*/"******************");
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.item_md_ry_sp;
+    }
+
+    private SpannableString setTextColor(String text) {
+        SpannableString spannableString = new SpannableString(text);
+        if (text.contains("修改后")) {
+            spannableString.setSpan(new ForegroundColorSpan(0xFFFF1D1D), text.indexOf("修改后"), text.indexOf("修改后") + 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        } else {
+            return spannableString;
+        }
+        return spannableString;
+    }
+}

+ 72 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/adapter/SpJcJlAdapter.java

@@ -0,0 +1,72 @@
+package com.xwkj.rwsp.mvp.ui.adapter;
+
+import android.graphics.Color;
+import android.view.View;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.model.entity.JcjlEntity;
+
+import java.util.List;
+
+public class SpJcJlAdapter extends BaseRecycleAdapter<JcjlEntity.DataBean.RecordsBean> {
+    public SpJcJlAdapter(List<JcjlEntity.DataBean.RecordsBean> datas) {
+        super(datas);
+    }
+
+    @Override
+    protected void bindData(BaseViewHolder holder, int position) {
+        if (holder != null) {
+            holder.setOnItemClickListener(R.id.rl_item, position, onRecyclerViewListener);
+            holder.setOnItemLongClickListener(R.id.rl_item, position, onRecyclerViewListener);
+
+            JcjlEntity.DataBean.RecordsBean bean = datas.get(position);
+
+            int zgzt = bean.getZgzt();
+            String yjrq = bean.getYjrq();
+            String yjzt = bean.getYjzt();
+            setItemText(holder.getView(R.id.jcrq), bean.getCreateTime());
+            holder.setOnItemClickListenerV2(R.id.bt_yj, position, onRecyclerViewListenerv2);
+            holder.setOnItemClickListenerV2(R.id.tv_cx, position, onRecyclerViewListenerv2);
+
+            holder.getView(R.id.tv_cx).setVisibility(View.GONE);
+            holder.getView(R.id.bt_yj).setVisibility(View.GONE);
+            holder.getView(R.id.tv_yj).setVisibility(View.GONE);
+            if (zgzt == 0) {
+                setItemTextAndColor(holder.getView(R.id.zgzt), "未发现隐患", Color.parseColor("#147014"));
+            } else if (zgzt == 1) {
+                setItemTextAndColor(holder.getView(R.id.zgzt), "当场整改", Color.parseColor("#DA8404"));
+            } else if (zgzt == 2) {
+                setItemTextAndColor(holder.getView(R.id.zgzt), "限期整改", Color.parseColor("#C33228"));
+            } else if (zgzt == 3) {
+                setItemTextAndColor(holder.getView(R.id.zgzt), "拒不整改", Color.parseColor("#EA2089"));
+
+            } else if (zgzt == 4) {
+                setItemTextAndColor(holder.getView(R.id.zgzt), "逾期未整改", Color.parseColor("#CD1609"));
+            } else if (zgzt == 5) {
+                setItemTextAndColor(holder.getView(R.id.zgzt), "重大火灾风险隐患", Color.parseColor("#F41303"));
+            } else {
+                holder.getView(R.id.bt_yj).setVisibility(View.GONE);
+            }
+
+
+        }
+    }
+
+    private OnRecyclerViewListenerV2 onRecyclerViewListenerv2;
+
+    public void setOnRecyclerViewListenerv2(OnRecyclerViewListenerV2 onRecyclerViewListenerv2) {
+        this.onRecyclerViewListenerv2 = onRecyclerViewListenerv2;
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.item_jcjl;
+    }
+
+    private OnRecyclerViewListener onRecyclerViewListener;
+
+    public void setOnRecyclerViewListener(OnRecyclerViewListener onRecyclerViewListener) {
+        this.onRecyclerViewListener = onRecyclerViewListener;
+    }
+
+}

+ 352 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/FjGlyWspFragment.java

@@ -0,0 +1,352 @@
+package com.xwkj.rwsp.mvp.ui.fragment;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Message;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import com.hjq.toast.ToastUtils;
+import com.jess.arms.base.BaseFragment;
+import com.jess.arms.di.component.AppComponent;
+import com.jess.arms.utils.ArmsUtils;
+
+import com.scwang.smart.refresh.footer.ClassicsFooter;
+import com.scwang.smart.refresh.header.ClassicsHeader;
+import com.scwang.smart.refresh.layout.SmartRefreshLayout;
+import com.scwang.smart.refresh.layout.api.RefreshLayout;
+import com.scwang.smart.refresh.layout.constant.SpinnerStyle;
+import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
+import com.xwkj.rwsp.di.component.DaggerFjGlyWspComponent;
+import com.xwkj.rwsp.mvp.contract.FjGlyWspContract;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+import com.xwkj.rwsp.mvp.model.entity.JcjlEntity;
+import com.xwkj.rwsp.mvp.presenter.FjGlyWspPresenter;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.ui.adapter.BaseRecycleAdapter;
+import com.xwkj.rwsp.mvp.ui.adapter.FjGlySpAdapter;
+import com.zkjc.common.utils.Utils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import butterknife.BindView;
+
+import static com.jess.arms.utils.Preconditions.checkNotNull;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public class FjGlyWspFragment extends BaseFragment<FjGlyWspPresenter> implements FjGlyWspContract.View, OnRefreshListener, OnLoadMoreListener {
+    @BindView(R.id.recyclerView)
+    RecyclerView recyclerView;
+    @BindView(R.id.smart_refresh)
+    SmartRefreshLayout smart_refresh;
+    private List<FjGlySpEntity.DataBean.FjGlySp> datas;
+    private int pageNo = 1;
+    private int pageSize = 10;
+    private FjGlySpAdapter mAdapter;
+    public static FjGlyWspFragment newInstance() {
+        FjGlyWspFragment fragment = new FjGlyWspFragment();
+        return fragment;
+    }
+
+    @Override
+    public void setupFragmentComponent(@NonNull AppComponent appComponent) {
+        DaggerFjGlyWspComponent //如找不到该类,请编译一下项目
+                .builder()
+                .appComponent(appComponent)
+                .view(this)
+                .build()
+                .inject(this);
+    }
+
+    @Override
+    public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        return inflater.inflate(R.layout.fragment_fj_gly_wsp, container, false);
+    }
+
+    @Override
+    public void initData(@Nullable Bundle savedInstanceState) {
+        //设置 Header
+        smart_refresh.setRefreshHeader(new ClassicsHeader(getActivity()).setEnableLastTime(true));
+        //设置 Footer
+        smart_refresh.setRefreshFooter(new ClassicsFooter(getActivity()).setSpinnerStyle(SpinnerStyle.FixedBehind));
+        datas = new ArrayList<>();
+        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
+        smart_refresh.setOnRefreshListener(this);
+        smart_refresh.setOnLoadMoreListener(this);
+        mAdapter = new FjGlySpAdapter(datas);
+        recyclerView.setAdapter(mAdapter);
+        mAdapter.notifyDataSetChanged();
+
+        smart_refresh.autoRefresh();
+
+        mAdapter.setOnRecyclerViewListener(new BaseRecycleAdapter.OnRecyclerViewListener() {
+            @Override
+            public void onItemClick(int position) {
+            }
+
+            @Override
+            public boolean onItemLongClick(int position) {
+                return false;
+            }
+        });
+        mAdapter.setOnRecyclerViewListenerv2(new BaseRecycleAdapter.OnRecyclerViewListenerV2() {
+            @Override
+            public void onItemClick(View view, int position) {
+                switch (view.getId()) {
+                    case R.id.item_sp_tv_bh: {
+                        FjGlySpEntity.DataBean.FjGlySp fjGlySp = datas.get(position);
+                        SpDialog spDialog = SpDialog.newInstance();
+                        spDialog.setMyDialogListener(new SpDialog.MyDialogListener() {
+                            @Override
+                            public void onConfirmClick(String desc) {
+                                Utils.getInstances().showDialog(getActivity(), "正在提交,请稍等");
+                                Map<String, String> map = new HashMap<>();
+                                map.put("id", fjGlySp.getId());
+                                map.put("ywlb", fjGlySp.getYwlb() + "");
+                                map.put("ywid", fjGlySp.getYwid());
+                                map.put("params", fjGlySp.getParams());
+                                map.put("createUser", fjGlySp.getCreateUser());
+                                map.put("createTime", fjGlySp.getCreateTime());
+                                map.put("spjg", "2");
+                                map.put("spyy", desc);
+                                mPresenter.sp(map, position);
+                            }
+                        });
+                        spDialog.show(getChildFragmentManager(), "sp");
+                        spDialog.setCancelable(true);
+                    }
+                    break;
+                    case R.id.item_sp_tv_ty: {
+                        FjGlySpEntity.DataBean.FjGlySp fjGlySp = datas.get(position);
+
+                        if ("0".equals(fjGlySp.getYyzt()) && "2".equals(fjGlySp.getParams())) {
+                            Utils.getInstances().showDialog(getActivity(), "正在请求数据,请稍等");
+                            Map<String, String> map = new HashMap<>();
+                            map.put("current", pageNo + "");
+                            map.put("size", pageSize + "");
+                            map.put("csId", fjGlySp.getCsId());
+                            mPresenter.getJlList(map, fjGlySp, position);
+                        } else {
+                            Utils.getInstances().showDialog(getActivity(), "正在提交,请稍等");
+                            Map<String, String> map = new HashMap<>();
+                            map.put("id", fjGlySp.getId());
+                            map.put("ywlb", fjGlySp.getYwlb() + "");
+                            map.put("ywid", fjGlySp.getYwid());
+                            map.put("createUser", fjGlySp.getCreateUser());
+                            map.put("createTime", fjGlySp.getCreateTime());
+                            map.put("params", fjGlySp.getParams());
+                            map.put("spjg", "1");
+                            mPresenter.sp(map, position);
+                        }
+
+
+                    }
+                    break;
+                    default:
+                        break;
+                }
+
+            }
+
+            @Override
+            public boolean onItemLongClick(View view, int position) {
+                return false;
+            }
+        });
+
+    }
+    private void requestData(int pageNo, int pageSize) {
+
+        Map<String, String> map = new HashMap<>();
+        map.put("spjg", "0");
+        map.put("type", "1");
+        map.put("current", pageNo + "");
+        map.put("size", pageSize + "");
+        if (mPresenter != null)
+            mPresenter.getSpList(map);
+
+    }
+
+    @Override
+    public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+
+        requestData(++pageNo, pageSize);
+
+    }
+
+    @Override
+    public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+        datas.clear();
+        mAdapter.notifyDataSetChanged();
+        requestData(pageNo = 1, pageSize);
+    }
+
+    @Override
+    public void onSuccess(String result) {
+        smart_refresh.finishLoadMore();
+        smart_refresh.finishRefresh();
+
+        try {
+            JsonObject obj = new JsonParser().parse(result).getAsJsonObject();
+            if (obj.has("code")) {
+                int code = obj.get("code").getAsInt();
+                if (code == 200) {
+                    FjGlySpEntity kqBean = new Gson().fromJson(result, FjGlySpEntity.class);
+                    List<FjGlySpEntity.DataBean.FjGlySp> records = kqBean.getData().getRecords();
+                    if (records != null && records.size() > 0) {
+                        datas.addAll(records);
+                        mAdapter.notifyDataSetChanged();
+
+                    } else {
+                        ToastUtils.show("没有更多数据了");
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void onSpSuccess(String result, int position) {
+        Utils.getInstances().dismissDialog();
+        datas.remove(position);
+        mAdapter.notifyDataSetChanged();
+    }
+
+    @Override
+    public void onGetJlSuccess(String result, FjGlySpEntity.DataBean.FjGlySp fjGlySp, int position) {
+        Utils.getInstances().dismissDialog();
+        JcjlEntity kqBean = new Gson().fromJson(result, JcjlEntity.class);
+        ArrayList<JcjlEntity.DataBean.RecordsBean> records = (ArrayList<JcjlEntity.DataBean.RecordsBean>) kqBean.getData().getRecords();
+        if (records.size() > 0 && records != null) {
+            ShowJcjlDialog dialog = ShowJcjlDialog.newInstance(records);
+            dialog.setMyDialogListener(new ShowJcjlDialog.MyDialogListener() {
+                @Override
+                public void onConfirmClick() {
+
+                    Utils.getInstances().showDialog(getActivity(), "正在提交,请稍等");
+                    Map<String, String> map = new HashMap<>();
+                    map.put("id", fjGlySp.getId());
+                    map.put("ywlb", fjGlySp.getYwlb() + "");
+                    map.put("ywid", fjGlySp.getYwid());
+                    map.put("createUser", fjGlySp.getCreateUser());
+                    map.put("createTime", fjGlySp.getCreateTime());
+                    map.put("params", fjGlySp.getParams());
+                    map.put("spjg", "1");
+                    mPresenter.sp(map, position);
+                }
+            });
+            dialog.show(getChildFragmentManager(), "dialog");
+            dialog.setCancelable(true);
+        } else {
+            Utils.getInstances().showDialog(getActivity(), "正在提交,请稍等");
+            Map<String, String> map = new HashMap<>();
+            map.put("id", fjGlySp.getId());
+            map.put("ywlb", fjGlySp.getYwlb() + "");
+            map.put("ywid", fjGlySp.getYwid());
+            map.put("createUser", fjGlySp.getCreateUser());
+            map.put("createTime", fjGlySp.getCreateTime());
+            map.put("params", fjGlySp.getParams());
+            map.put("spjg", "1");
+            mPresenter.sp(map, position);
+        }
+    }
+
+
+    /**
+     * 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
+     * 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
+     * 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
+     * <p>
+     * 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
+     * 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
+     * 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
+     * <p>
+     * Example usage:
+     * <pre>
+     * public void setData(@Nullable Object data) {
+     *     if (data != null && data instanceof Message) {
+     *         switch (((Message) data).what) {
+     *             case 0:
+     *                 loadData(((Message) data).arg1);
+     *                 break;
+     *             case 1:
+     *                 refreshUI();
+     *                 break;
+     *             default:
+     *                 //do something
+     *                 break;
+     *         }
+     *     }
+     * }
+     *
+     * // call setData(Object):
+     * Message data = new Message();
+     * data.what = 0;
+     * data.arg1 = 1;
+     * fragment.setData(data);
+     * </pre>
+     *
+     * @param data 当不需要参数时 {@code data} 可以为 {@code null}
+     */
+    @Override
+    public void setData(@Nullable Object data) {
+
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+
+    @Override
+    public void showMessage(@NonNull String message) {
+        checkNotNull(message);
+        ArmsUtils.snackbarText(message);
+    }
+
+    @Override
+    public void launchActivity(@NonNull Intent intent) {
+        checkNotNull(intent);
+        ArmsUtils.startActivity(intent);
+    }
+
+    @Override
+    public void killMyself() {
+
+    }
+}

+ 241 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/FjGlyWspMdFragment.java

@@ -0,0 +1,241 @@
+package com.xwkj.rwsp.mvp.ui.fragment;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Message;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.hjq.toast.ToastUtils;
+import com.jess.arms.base.BaseFragment;
+import com.jess.arms.di.component.AppComponent;
+import com.jess.arms.utils.ArmsUtils;
+
+import com.scwang.smart.refresh.footer.ClassicsFooter;
+import com.scwang.smart.refresh.header.ClassicsHeader;
+import com.scwang.smart.refresh.layout.SmartRefreshLayout;
+import com.scwang.smart.refresh.layout.api.RefreshLayout;
+import com.scwang.smart.refresh.layout.constant.SpinnerStyle;
+import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
+import com.xwkj.rwsp.di.component.DaggerFjGlyWspMdComponent;
+import com.xwkj.rwsp.mvp.contract.FjGlyWspMdContract;
+import com.xwkj.rwsp.mvp.model.entity.FjGlySpEntity;
+import com.xwkj.rwsp.mvp.presenter.FjGlyWspMdPresenter;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.ui.activity.FjGlySpMdXqActivity;
+import com.xwkj.rwsp.mvp.ui.adapter.BaseRecycleAdapter;
+import com.xwkj.rwsp.mvp.ui.adapter.FjGlySpMdAdapter;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import butterknife.BindView;
+
+import static com.jess.arms.utils.Preconditions.checkNotNull;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 10/22/2024 10:10
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public class FjGlyWspMdFragment extends BaseFragment<FjGlyWspMdPresenter> implements FjGlyWspMdContract.View , OnRefreshListener, OnLoadMoreListener {
+    @BindView(R.id.recyclerView)
+    RecyclerView recyclerView;
+    @BindView(R.id.smart_refresh)
+    SmartRefreshLayout smart_refresh;
+    private List<FjGlySpEntity.DataBean.FjGlySp> datas;
+    private int pageNo = 1;
+    private int pageSize = 10;
+    private FjGlySpMdAdapter mAdapter;
+    public static FjGlyWspMdFragment newInstance() {
+        FjGlyWspMdFragment fragment = new FjGlyWspMdFragment();
+        return fragment;
+    }
+
+    @Override
+    public void setupFragmentComponent(@NonNull AppComponent appComponent) {
+        DaggerFjGlyWspMdComponent //如找不到该类,请编译一下项目
+                .builder()
+                .appComponent(appComponent)
+                .view(this)
+                .build()
+                .inject(this);
+    }
+
+    @Override
+    public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        return inflater.inflate(R.layout.fragment_fj_gly_wsp_md, container, false);
+    }
+
+    @Override
+    public void initData(@Nullable Bundle savedInstanceState) {
+        //设置 Header
+        smart_refresh.setRefreshHeader(new ClassicsHeader(getActivity()).setEnableLastTime(true));
+        //设置 Footer
+        smart_refresh.setRefreshFooter(new ClassicsFooter(getActivity()).setSpinnerStyle(SpinnerStyle.FixedBehind));
+        datas = new ArrayList<>();
+        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
+        smart_refresh.setOnRefreshListener(this);
+        smart_refresh.setOnLoadMoreListener(this);
+        mAdapter = new FjGlySpMdAdapter(datas);
+        recyclerView.setAdapter(mAdapter);
+        mAdapter.notifyDataSetChanged();
+
+        smart_refresh.autoRefresh();
+
+        mAdapter.setOnRecyclerViewListener(new BaseRecycleAdapter.OnRecyclerViewListener() {
+            @Override
+            public void onItemClick(int position) {
+                String id = datas.get(position).getMdId();
+                Intent intent = new Intent(getActivity(), FjGlySpMdXqActivity.class);
+                intent.putExtra("id", id);
+                intent.putExtra("data", datas.get(position));
+                intent.putExtra("params", datas.get(position).getParams());
+                intent.putExtra("qqyy", datas.get(position).getQqyy());
+                startActivityForResult(intent, 100);
+            }
+
+            @Override
+            public boolean onItemLongClick(int position) {
+                return false;
+            }
+        });
+
+    }
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (resultCode == Activity.RESULT_OK) {
+            datas.clear();
+            mAdapter.notifyDataSetChanged();
+            requestData(pageNo = 1, pageSize);
+        }
+    }
+    private void requestData(int pageNo, int pageSize) {
+
+        Map<String, String> map = new HashMap<>();
+        map.put("spjg", "0");
+        map.put("type", "2");
+        map.put("current", pageNo + "");
+        map.put("size", pageSize + "");
+        if (mPresenter != null)
+            mPresenter.getSpList(map);
+
+    }
+    @Override
+    public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+
+        requestData(++pageNo, pageSize);
+
+    }
+
+    @Override
+    public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+        datas.clear();
+        mAdapter.notifyDataSetChanged();
+        requestData(pageNo = 1, pageSize);
+    }
+
+    @Override
+    public void onSuccess(List<FjGlySpEntity.DataBean.FjGlySp> result) {
+        smart_refresh.finishLoadMore();
+        smart_refresh.finishRefresh();
+
+        if (result != null && result.size() > 0) {
+            datas.addAll(result);
+            mAdapter.notifyDataSetChanged();
+
+        } else {
+            ToastUtils.show("没有更多数据了");
+        }
+    }
+
+    /**
+     * 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
+     * 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
+     * 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
+     * <p>
+     * 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
+     * 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
+     * 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
+     * <p>
+     * Example usage:
+     * <pre>
+     * public void setData(@Nullable Object data) {
+     *     if (data != null && data instanceof Message) {
+     *         switch (((Message) data).what) {
+     *             case 0:
+     *                 loadData(((Message) data).arg1);
+     *                 break;
+     *             case 1:
+     *                 refreshUI();
+     *                 break;
+     *             default:
+     *                 //do something
+     *                 break;
+     *         }
+     *     }
+     * }
+     *
+     * // call setData(Object):
+     * Message data = new Message();
+     * data.what = 0;
+     * data.arg1 = 1;
+     * fragment.setData(data);
+     * </pre>
+     *
+     * @param data 当不需要参数时 {@code data} 可以为 {@code null}
+     */
+    @Override
+    public void setData(@Nullable Object data) {
+
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+
+    @Override
+    public void showMessage(@NonNull String message) {
+        checkNotNull(message);
+        ArmsUtils.snackbarText(message);
+    }
+
+    @Override
+    public void launchActivity(@NonNull Intent intent) {
+        checkNotNull(intent);
+        ArmsUtils.startActivity(intent);
+    }
+
+    @Override
+    public void killMyself() {
+
+    }
+}

+ 75 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/ImgDialog.java

@@ -0,0 +1,75 @@
+package com.xwkj.rwsp.mvp.ui.fragment;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.DialogFragment;
+
+import com.bumptech.glide.Glide;
+import com.jess.arms.integration.AppManager;
+import com.squareup.picasso.Picasso;
+import com.xwkj.rwsp.R;
+
+public class ImgDialog extends DialogFragment {
+
+
+    public ImgDialog() {
+    }
+
+    private LayoutInflater mLayoutInflater;
+
+    public static ImgDialog newInstance(String path) {
+        ImgDialog fragment = new ImgDialog();
+        Bundle bundle = new Bundle();
+        bundle.putString("path", path);
+        fragment.setArguments(bundle);
+        return fragment;
+    }
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View view = inflater.inflate(R.layout.pop_img, container, false);
+        return view;
+    }
+
+
+    @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        mLayoutInflater = LayoutInflater.from(getActivity());
+
+        ImageView imageView = view.findViewById(R.id.iv);
+        String path = getArguments().getString("path");
+        if (path.contains("http")) {
+            Picasso.with(AppManager.getAppManager().getCurrentActivity()).load(path).into(imageView);
+        } else {
+            Glide.with(this)
+                    .load(path)
+                    .into(imageView);
+        }
+
+        super.onViewCreated(view, savedInstanceState);
+    }
+
+
+    @Override
+    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+       /* setCancelable(false);
+        Window window = getDialog().getWindow();
+        window.setGravity(Gravity.CENTER);
+        window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+        window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);*/
+        ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes();
+        params.width = WindowManager.LayoutParams.MATCH_PARENT;
+        params.height = WindowManager.LayoutParams.WRAP_CONTENT;
+        getDialog().getWindow().setAttributes((WindowManager.LayoutParams) params);
+    }
+
+}

+ 79 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/ShowJcjlDialog.java

@@ -0,0 +1,79 @@
+package com.xwkj.rwsp.mvp.ui.fragment;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.DialogFragment;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.xwkj.rwsp.R;
+import com.xwkj.rwsp.mvp.model.entity.JcjlEntity;
+import com.xwkj.rwsp.mvp.ui.activity.XfjcXqActivity;
+import com.xwkj.rwsp.mvp.ui.adapter.BaseRecycleAdapter;
+import com.xwkj.rwsp.mvp.ui.adapter.SpJcJlAdapter;
+
+import java.util.ArrayList;
+
+public class ShowJcjlDialog extends DialogFragment {
+
+    public static ShowJcjlDialog newInstance(ArrayList<JcjlEntity.DataBean.RecordsBean> data) {
+        ShowJcjlDialog fragment = new ShowJcjlDialog();
+        Bundle bundle = new Bundle();
+        bundle.putSerializable("data", data);
+        fragment.setArguments(bundle);
+        return fragment;
+    }
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View view = inflater.inflate(R.layout.pop_show_jcjl, container, false);
+        return view;
+    }
+
+    @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        TextView tvConfirm = view.findViewById(R.id.bt_confirm);
+        View btCancel = view.findViewById(R.id.bt_cancel);
+        ArrayList<JcjlEntity.DataBean.RecordsBean> data = (ArrayList<JcjlEntity.DataBean.RecordsBean>) getArguments().getSerializable("data");
+        RecyclerView recyclerView = view.findViewById(R.id.rv);
+        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
+        SpJcJlAdapter adapter = new SpJcJlAdapter(data);
+        adapter.setOnRecyclerViewListener(new BaseRecycleAdapter.OnRecyclerViewListener() {
+            @Override
+            public void onItemClick(int position) {
+                Intent intent = new Intent(getActivity(), XfjcXqActivity.class);
+                JcjlEntity.DataBean.RecordsBean recordsBean = data.get(position);
+                intent.putExtra("recordsBean", recordsBean);
+                startActivity(intent);
+            }
+
+            @Override
+            public boolean onItemLongClick(int position) {
+                return false;
+            }
+        });
+        recyclerView.setAdapter(adapter);
+        tvConfirm.setOnClickListener(v -> {
+            myDialogListener.onConfirmClick();
+            dismiss();
+        });
+        btCancel.setOnClickListener(v -> dismiss());
+    }
+    private MyDialogListener myDialogListener;
+
+    public void setMyDialogListener(MyDialogListener myDialogListener) {
+        this.myDialogListener = myDialogListener;
+    }
+
+    public interface MyDialogListener {
+        void onConfirmClick();
+    }
+}

+ 80 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/fragment/SpDialog.java

@@ -0,0 +1,80 @@
+package com.xwkj.rwsp.mvp.ui.fragment;
+
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.Button;
+import android.widget.EditText;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.DialogFragment;
+
+import com.hjq.toast.ToastUtils;
+import com.xwkj.rwsp.R;
+
+public class  SpDialog extends DialogFragment {
+    private MyDialogListener myDialogListener;
+
+    public void setMyDialogListener(MyDialogListener myDialogListener) {
+        this.myDialogListener = myDialogListener;
+    }
+
+    public interface MyDialogListener {
+        void onConfirmClick(String desc);
+    }
+
+    public static SpDialog newInstance() {
+        SpDialog fragment = new SpDialog();
+        Bundle bundle = new Bundle();
+        fragment.setArguments(bundle);
+        return fragment;
+    }
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View view = inflater.inflate(R.layout.pop_sp, container, false);
+        return view;
+    }
+
+    @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        Button bt_tj = view.findViewById(R.id.bt_confirm);
+        Button btCancel = view.findViewById(R.id.bt_cancel);
+        EditText etDelete = view.findViewById(R.id.delete_desc);
+
+
+        bt_tj.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                String desc = etDelete.getText().toString();
+                if (TextUtils.isEmpty(desc)) {
+                    ToastUtils.show("请先填写驳回原因");
+                    return;
+                }
+                if (myDialogListener != null) {
+                    myDialogListener.onConfirmClick(desc);
+                    dismiss();
+                }
+            }
+        });
+        btCancel.setOnClickListener(v -> {
+            dismiss();
+        });
+        super.onViewCreated(view, savedInstanceState);
+    }
+
+    @Override
+    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes();
+        params.width = WindowManager.LayoutParams.MATCH_PARENT;
+        params.height = WindowManager.LayoutParams.WRAP_CONTENT;
+        getDialog().getWindow().setAttributes((WindowManager.LayoutParams) params);
+    }
+
+}

+ 35 - 0
rwsp/src/main/java/com/xwkj/rwsp/mvp/ui/holder/ImageHolder.java

@@ -0,0 +1,35 @@
+package com.xwkj.rwsp.mvp.ui.holder;
+
+import android.view.View;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+
+import com.bumptech.glide.Glide;
+import com.jess.arms.base.BaseHolder;
+import com.squareup.picasso.Picasso;
+import com.xwkj.rwsp.R;
+
+import butterknife.BindView;
+
+public class ImageHolder extends BaseHolder<String> {
+
+
+    @BindView(R.id.iv_img)
+    ImageView ivImg;
+
+    public ImageHolder(View itemView) {
+        super(itemView);
+    }
+
+    @Override
+    public void setData(@NonNull String data, int position) {
+        if (data.contains("http")) {
+            Picasso.with(itemView.getContext()).load(data).into(ivImg);
+        } else {
+            Glide.with(itemView.getContext())
+                    .load(data)
+                    .into(ivImg);
+        }
+    }
+}

+ 9 - 0
rwsp/src/main/res/anim/translate_center_to_left.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="300">
+    <translate
+        android:fromXDelta="0%"
+        android:toXDelta="-100%" />
+
+
+</set>

+ 9 - 0
rwsp/src/main/res/anim/translate_center_to_right.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="300">
+    <translate
+        android:fromXDelta="0%"
+        android:toXDelta="100%" />
+
+
+</set>

+ 9 - 0
rwsp/src/main/res/anim/translate_right_to_center.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="300">
+    <translate
+        android:fromXDelta="100%"
+        android:toXDelta="0%" />
+
+
+</set>

BIN
rwsp/src/main/res/drawable-xhdpi/ic_arrow_back_white_24dp.png


BIN
rwsp/src/main/res/drawable-xxhdpi/ic_arrow_back_white_24dp.png


BIN
rwsp/src/main/res/drawable-xxxhdpi/bj_blue.png


BIN
rwsp/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.png


BIN
rwsp/src/main/res/drawable-xxxhdpi/icon_people_gray.png


BIN
rwsp/src/main/res/drawable-xxxhdpi/icon_time_gray.png


+ 9 - 0
rwsp/src/main/res/drawable/bg_jq.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#ffffff" />
+    <corners android:topLeftRadius="0dp"
+        android:topRightRadius="0dp"
+        android:bottomRightRadius="5dp"
+        android:bottomLeftRadius="5dp"/>
+    <stroke android:width="1dp" android:color="#ffffff" />
+</shape>

+ 9 - 0
rwsp/src/main/res/drawable/bg_jq_white.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#83BFF4" />
+    <corners android:topLeftRadius="10dp"
+        android:topRightRadius="10dp"
+        android:bottomRightRadius="5dp"
+        android:bottomLeftRadius="5dp"/>
+    <stroke android:width="1dp" android:color="#ffffff" />
+</shape>

+ 10 - 0
rwsp/src/main/res/drawable/bg_lsyj_timepicker.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<shape
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <!-- 填充的颜色 -->
+    <solid android:color="#F2F2F2 " />
+    <!-- 设置按钮的四个角为弧形 -->
+    <!-- android:radius 弧形的半径 -->
+    <corners android:radius="6dp" />
+</shape>

+ 5 - 0
rwsp/src/main/res/drawable/bg_shape_1a106dff_corner4.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#1a106dff" />
+    <corners android:radius="4dp" />
+</shape>

+ 5 - 0
rwsp/src/main/res/drawable/bg_shape_1a999999_corner4.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#1a999999" />
+    <corners android:radius="4dp" />
+</shape>

+ 5 - 0
rwsp/src/main/res/drawable/bg_shape_1aff1d1d_corner4.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#1aff1d1d" />
+    <corners android:radius="4dp" />
+</shape>

+ 7 - 0
rwsp/src/main/res/drawable/bg_shape_gash.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
+
+    <gradient android:type="linear" android:startColor="#fff0f5ff" android:centerColor="#ffffffff" android:endColor="#ffffffff" android:angle="270" />
+
+    <corners android:topLeftRadius="10dp" android:topRightRadius="10dp"/>
+</shape>

+ 9 - 0
rwsp/src/main/res/drawable/bg_shape_hs.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+
+
+    <solid android:color="#fff1f3f5" />
+    <corners android:radius="8dp" />
+
+
+</shape>

+ 5 - 0
rwsp/src/main/res/drawable/bg_shape_solid_light_pink_corner4.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#1aff1d1d" />
+    <corners android:radius="4dp" />
+</shape>

+ 5 - 0
rwsp/src/main/res/drawable/bg_shape_stroke_4d106dff_corner4.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <stroke android:width="1dp" android:color="#4d106dff" />
+    <corners android:radius="4dp" />
+</shape>

+ 6 - 0
rwsp/src/main/res/drawable/bg_shape_white.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#FFFFFF"/>
+    <corners android:radius="10dp"/>
+    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
+</shape>

+ 7 - 0
rwsp/src/main/res/drawable/btn_check_selector.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="5dp"  />
+
+    <solid android:color="#28ABE6"></solid>
+</shape>

+ 7 - 0
rwsp/src/main/res/drawable/cz_shape.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="5dp"  />
+
+    <solid android:color="#E0E0E0"></solid>
+</shape>

+ 7 - 0
rwsp/src/main/res/drawable/jx.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <stroke android:width="1dp"  android:color="#CCC"/>
+    <corners android:radius="5dp"/>
+
+</shape>

+ 9 - 0
rwsp/src/main/res/drawable/line_shape.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle" >
+
+    <size android:width="1dp" />
+
+    <solid android:color="#000" />
+
+</shape>

+ 9 - 0
rwsp/src/main/res/drawable/selector_image_add.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@mipmap/image_add_sel" android:state_focused="true"/>
+    <item android:drawable="@mipmap/image_add_sel" android:state_pressed="true"/>
+    <item android:drawable="@mipmap/image_add_sel" android:state_selected="true"/>
+    <item android:drawable="@mipmap/image_add_nor"/>
+
+</selector>

+ 10 - 0
rwsp/src/main/res/drawable/white_bg.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="10dp" />
+    <stroke
+        android:width="1dp"
+        android:color="@color/white" />
+    <solid android:color="@color/white" />
+
+</shape>

+ 717 - 0
rwsp/src/main/res/layout/activity_fj_gly_sp_md_xq.xml

@@ -0,0 +1,717 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#f5f5f5"
+    android:orientation="vertical">
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="150dp"
+        android:background="@drawable/bj_blue">
+
+    </FrameLayout>
+
+    <com.zkjc.common.view.CommonTitleBarV3
+        android:id="@+id/title_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="25dp" />
+
+    <ScrollView
+        android:layout_below="@id/title_bar"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="vertical">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="12dp"
+                android:layout_marginTop="10dp"
+                android:layout_marginRight="12dp"
+                android:background="@drawable/bg_shape_white"
+                android:orientation="vertical">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="5dp"
+                    android:layout_marginTop="15dp"
+                    android:layout_marginBottom="8dp"
+                    android:text="纠纷登记"
+                    android:textColor="@color/black"
+                    android:textSize="16sp"
+                    android:textStyle="bold"
+                    android:visibility="gone" />
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:layout_marginTop="10dp"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="纠纷名称:"
+                        android:textColor="@color/black"
+                        android:textSize="14sp" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginTop="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/et_jfmc"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+                    </RelativeLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="纠纷性质:"
+                        android:textColor="@color/black" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/et_jflx"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal"
+                    android:visibility="gone">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="纠纷级别:"
+                        android:textColor="@color/black" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/et_jfjb"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="所属社区:"
+                        android:textColor="@color/black" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/et_sssq"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="纠纷来源:"
+                        android:textColor="@color/black" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/et_jfly"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:id="@+id/layout_bjrdh"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="报警人电话:"
+                        android:textColor="@color/black" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/tv_bjrdh"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:id="@+id/layout_mdjfdj"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="纠纷等级:"
+                        android:textColor="@color/black" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/tv_jfdj"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="主责单位:"
+                        android:textColor="@color/black" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/tv_zzdw"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="简要案情:"
+                        android:textColor="@color/black"
+                        android:textSize="14sp" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/et_jfyy"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:text=""
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="发生时间:"
+                        android:textColor="@color/black"
+                        android:textSize="14sp" />
+
+                    <RelativeLayout
+                        android:id="@+id/rl_fssj"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginTop="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/fssj"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+                    </RelativeLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="发生地点:"
+                        android:textColor="@color/black"
+                        android:textSize="14sp" />
+
+                    <RelativeLayout
+                        android:id="@+id/rl_fsdd"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginTop="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/fsdd"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+                    </RelativeLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="备注:"
+                        android:textColor="@color/black"
+                        android:textSize="14sp" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/et_bz"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:text=""
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:minHeight="48dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:gravity="center|right"
+                        android:text="修改原因:"
+                        android:textColor="@color/black"
+                        android:textSize="14sp" />
+
+                    <RelativeLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:layout_weight="4">
+
+                        <TextView
+                            android:id="@+id/tv_qqyy"
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:background="@null"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:gravity="center|start"
+                            android:padding="10dp"
+                            android:text=""
+                            android:textCursorDrawable="@drawable/line_shape"
+                            android:textSize="14sp" />
+
+                    </RelativeLayout>
+
+                </LinearLayout>
+
+
+            </LinearLayout>
+
+
+            <RelativeLayout
+                android:id="@+id/rl"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+
+                <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/recylerView"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    tools:itemCount="1"/>
+
+                <TextView
+
+                    android:id="@+id/tv_number"
+                    android:layout_width="match_parent"
+                    android:layout_height="30dp"
+                    android:layout_below="@id/recylerView"
+                    android:layout_centerHorizontal="true"
+                    android:layout_marginTop="10dp"
+                    android:text=""
+                    android:textColor="@color/black"
+                    android:textSize="14sp" />
+            </RelativeLayout>
+
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:background="@color/white"
+                android:layout_marginLeft="12dp"
+                android:layout_marginRight="12dp"
+                android:layout_height="54dp">
+
+                <View
+                    android:layout_width="match_parent"
+                    android:layout_height="1dp"
+                    android:layout_alignParentBottom="true"
+                    android:layout_marginLeft="12dp"
+                    android:layout_marginRight="12dp"
+                    android:background="#E7E7E7" />
+
+                <TextView
+                    android:id="@+id/tv_jg"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_centerVertical="true"
+                    android:layout_marginLeft="12dp"
+                    android:text="审批结果"
+                    android:textColor="#666666"
+                    android:textSize="14sp" />
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="12dp"
+                    android:layout_marginRight="12dp"
+                    android:layout_toRightOf="@id/tv_jg">
+
+                    <com.zkjc.common.utils.FlowRadioGroup
+                        android:id="@+id/rg_jg"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_alignParentRight="true"
+                        android:layout_centerVertical="true"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginTop="5dp"
+                        android:layout_weight="4"
+                        android:orientation="horizontal">
+
+                        <RadioButton
+                            android:id="@+id/rb_ty"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:checked="true"
+                            android:text="同意"
+                            android:textSize="14sp" />
+
+                        <RadioButton
+                            android:id="@+id/rb_bh"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="驳回"
+                            android:textSize="14sp" />
+                    </com.zkjc.common.utils.FlowRadioGroup>
+                </RelativeLayout>
+
+            </RelativeLayout>
+
+            <RelativeLayout
+                android:id="@+id/ll_bhyy"
+                android:layout_width="match_parent"
+                android:background="@color/white"
+                android:layout_marginLeft="12dp"
+                android:layout_marginRight="12dp"
+                android:layout_height="54dp"
+                android:visibility="gone">
+
+                <TextView
+                    android:id="@+id/tv_bhyy"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_centerVertical="true"
+                    android:layout_marginLeft="12dp"
+                    android:text="驳回原因"
+                    android:textColor="#666666"
+                    android:textSize="14sp" />
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="12dp"
+                    android:layout_marginRight="12dp"
+                    android:layout_toRightOf="@id/tv_bhyy">
+
+                    <EditText
+                        android:id="@+id/et_bhyy"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_alignParentRight="true"
+                        android:layout_centerVertical="true"
+                        android:background="@null"
+                        android:focusable="true"
+                        android:focusableInTouchMode="true"
+                        android:gravity="end"
+                        android:hint="请填写驳回原因"
+                        android:minWidth="100dp"
+                        android:padding="10dp"
+                        android:textCursorDrawable="@drawable/line_shape"
+                        android:textSize="14sp" />
+                </RelativeLayout>
+
+            </RelativeLayout>
+            <Button
+                android:id="@+id/bt_submit"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_margin="30dp"
+                android:background="#106dff"
+                android:text="提交"
+                android:textColor="@color/white" />
+        </LinearLayout>
+    </ScrollView>
+</RelativeLayout>

+ 44 - 0
rwsp/src/main/res/layout/activity_main.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="150dp"
+        android:background="@drawable/bj_blue">
+
+    </FrameLayout>
+
+    <com.zkjc.common.view.CommonTitleBarV3
+        android:id="@+id/title_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="25dp" />
+
+    <com.google.android.material.tabs.TabLayout
+        android:id="@+id/tab_mdjf"
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:layout_below="@id/title_bar"
+        android:paddingLeft="8dp"
+        android:paddingRight="8dp"
+        app:tabIndicatorHeight="0dp"
+        app:tabMode="fixed"
+        app:tabSelectedTextColor="#15A6E8"
+        app:tabTextColor="@color/gray" />
+
+    <androidx.viewpager2.widget.ViewPager2
+        android:id="@+id/fl_kd"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@id/tab_mdjf" />
+
+    <include
+        android:id="@+id/jq_query"
+        layout="@layout/mdjf_query_params_dialog"
+        android:visibility="gone" />
+</RelativeLayout>

+ 182 - 0
rwsp/src/main/res/layout/activity_xfjc_xq.xml

@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="150dp"
+        android:background="@drawable/bj_blue">
+
+    </FrameLayout>
+
+    <com.zkjc.common.view.CommonTitleBarV3
+        android:id="@+id/title_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="25dp" />
+
+    <ScrollView
+        android:layout_below="@id/title_bar"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="vertical">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="15dp"
+                android:layout_marginTop="5dp"
+                android:layout_marginRight="15dp"
+                android:background="@color/white"
+                android:minHeight="48dp"
+                android:orientation="horizontal"
+                android:visibility="gone">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="8dp"
+                    android:gravity="center"
+                    android:text="单位名称:"
+                    android:textColor="@color/black"
+                    android:textSize="14sp" />
+
+                <TextView
+                    android:id="@+id/dwmc"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="8dp"
+                    android:gravity="center_vertical"
+                    android:textColor="@color/black"
+                    android:textSize="14sp"
+                    tools:text="324324234324234" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="15dp"
+                android:layout_marginTop="1dp"
+                android:layout_marginRight="15dp"
+                android:background="@color/white"
+                android:minHeight="48dp"
+                android:orientation="horizontal"
+                android:visibility="gone">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="8dp"
+                    android:gravity="center"
+                    android:text="单位地址:"
+                    android:textColor="@color/black"
+                    android:textSize="14sp" />
+
+                <TextView
+                    android:id="@+id/dwdz"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="8dp"
+                    android:gravity="center_vertical"
+                    android:textColor="@color/black"
+                    android:textSize="14sp"
+                    tools:text="324324234324234" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="15dp"
+                android:layout_marginTop="8dp"
+                android:layout_marginRight="15dp"
+                android:background="@drawable/bg_shape_white"
+                android:minHeight="48dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="8dp"
+                    android:layout_marginTop="15dp"
+                    android:gravity="top"
+                    android:text="监督检查人员:"
+                    android:textColor="@color/black"
+                    android:textSize="14sp" />
+
+                <TextView
+                    android:id="@+id/stry_et"
+                    android:layout_width="match_parent"
+                    android:layout_height="80dp"
+                    android:layout_marginLeft="5dp"
+                    android:layout_marginTop="10dp"
+                    android:layout_marginRight="15dp"
+                    android:layout_marginBottom="10dp"
+                    android:background="@drawable/jx"
+                    android:focusable="true"
+                    android:focusableInTouchMode="true"
+                    android:gravity="start"
+                    android:minHeight="80dp"
+                    android:padding="10dp"
+
+                    android:textSize="12sp" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="15dp"
+                android:layout_marginTop="8dp"
+                android:layout_marginRight="15dp"
+                android:background="@drawable/bg_shape_white"
+                android:minHeight="48dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="8dp"
+                    android:layout_marginTop="15dp"
+                    android:gravity="top"
+                    android:text="被检查单位人员:"
+                    android:textColor="@color/black"
+                    android:textSize="14sp" />
+
+                <TextView
+                    android:id="@+id/strybjc_et"
+                    android:layout_width="match_parent"
+                    android:layout_height="80dp"
+                    android:layout_marginLeft="5dp"
+                    android:layout_marginTop="10dp"
+                    android:layout_marginRight="15dp"
+                    android:layout_marginBottom="10dp"
+                    android:background="@drawable/jx"
+                    android:focusable="true"
+                    android:focusableInTouchMode="true"
+                    android:gravity="start"
+                    android:minHeight="80dp"
+                    android:padding="10dp"
+
+                    android:textSize="12sp" />
+            </LinearLayout>
+
+            <include layout="@layout/wmzpxq" />
+
+            <include layout="@layout/xfaqglxq" />
+
+            <include layout="@layout/jzfhxq" />
+
+            <include layout="@layout/xfssxq" />
+
+            <include layout="@layout/wxpglxq" />
+
+        </LinearLayout>
+    </ScrollView>
+
+</RelativeLayout>

+ 21 - 0
rwsp/src/main/res/layout/fragment_fj_gly_wsp.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+    <com.scwang.smart.refresh.layout.SmartRefreshLayout
+        android:id="@+id/smart_refresh"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@id/title_bar"
+        >
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="#ededed" />
+    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+</LinearLayout>

+ 21 - 0
rwsp/src/main/res/layout/fragment_fj_gly_wsp_md.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+    <com.scwang.smart.refresh.layout.SmartRefreshLayout
+        android:id="@+id/smart_refresh"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@id/title_bar"
+        >
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="#ededed"/>
+    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+</LinearLayout>

+ 35 - 0
rwsp/src/main/res/layout/include_title.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/toolbar"
+    android:layout_width="match_parent"
+    android:layout_height="50dp"
+    android:background="?attr/colorPrimary"
+    app:contentInsetStart="0dp">
+
+    <RelativeLayout
+        android:id="@+id/toolbar_back"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:gravity="left">
+
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
+            android:src="@drawable/ic_arrow_back_white_24dp" />
+    </RelativeLayout>
+
+    <TextView
+        android:id="@+id/toolbar_title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:textColor="@color/white"
+        android:textSize="18sp"
+        tools:text="@string/app_name" />
+
+</android.support.v7.widget.Toolbar>

+ 199 - 0
rwsp/src/main/res/layout/item_fj_gly_sp.xml

@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginTop="12dp"
+    android:id="@+id/item_layout_root"
+    android:background="@drawable/white_bg"
+    android:layout_marginLeft="12dp"
+    android:layout_marginRight="12dp"
+    android:paddingBottom="14dp"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <View
+        android:layout_width="match_parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:layout_margin="1dp"
+        android:background="@drawable/bg_shape_gash"
+        android:layout_height="78dp"/>
+
+    <TextView
+        android:layout_width="wrap_content"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="10dp"
+        android:paddingTop="2dp"
+        android:paddingBottom="2dp"
+        android:id="@+id/item_sp_tv_status"
+        android:paddingLeft="4dp"
+        android:paddingRight="4dp"
+        android:text="45448787"
+        android:textSize="12sp"
+        android:layout_marginRight="12dp"
+        android:layout_height="wrap_content"/>
+
+    <TextView
+        android:layout_width="0dp"
+        android:layout_marginLeft="12dp"
+        android:layout_marginRight="12dp"
+        android:layout_marginTop="12dp"
+        android:id="@+id/item_sp_tv_name"
+        app:layout_constraintRight_toLeftOf="@id/item_sp_tv_status"
+        android:textColor="#111111"
+        android:text="12sdfa12sdfa12sdfa12sdfa12sdfa12sdfa12sdfa12sdfa12sdfa"
+        android:textSize="16sp"
+        android:singleLine="true"
+        android:ellipsize="end"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintHorizontal_bias="0"
+        app:layout_constraintLeft_toLeftOf="parent"
+        android:layout_height="wrap_content"/>
+
+    <TextView
+        android:layout_width="wrap_content"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_name"
+        app:layout_constraintLeft_toLeftOf="parent"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="10dp"
+        android:paddingTop="2dp"
+        android:paddingBottom="2dp"
+        android:id="@+id/item_sp_tv_type"
+        android:paddingLeft="4dp"
+        android:paddingRight="4dp"
+        android:text="45448787"
+        android:textSize="12sp"
+        android:layout_marginRight="12dp"
+        android:layout_height="wrap_content"/>
+
+    <TextView
+        android:layout_width="0dp"
+        android:textSize="14sp"
+        android:textColor="#666666"
+        android:layout_marginTop="12dp"
+        android:id="@+id/item_sp_tv_yy"
+        android:layout_marginLeft="12dp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_type"
+        app:layout_constraintRight_toRightOf="parent"
+        android:layout_marginRight="8dp"
+        android:text="删除原因:"
+        android:layout_height="wrap_content"/>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_marginRight="12dp"
+        android:id="@+id/item_sp_divider"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="14dp"
+        android:background="#e7e7e7"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_yy"
+        android:layout_height="1dp"/>
+
+    <ImageView
+        android:layout_width="16dp"
+        android:id="@+id/item_sp_iv_people"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="11dp"
+        android:background="@drawable/icon_people_gray"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider"
+        android:layout_height="16dp"/>
+
+    <TextView
+        android:layout_width="0dp"
+        android:textSize="14sp"
+        android:textColor="#666666"
+        android:layout_marginTop="10dp"
+        android:id="@+id/item_sp_tv_people"
+        android:layout_marginLeft="8dp"
+        app:layout_constraintLeft_toRightOf="@id/item_sp_iv_people"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider"
+        app:layout_constraintRight_toRightOf="parent"
+        android:ellipsize="end"
+        android:layout_marginRight="8dp"
+        android:text="名字"
+        android:layout_height="wrap_content"/>
+
+    <ImageView
+        android:layout_width="16dp"
+        android:id="@+id/item_sp_iv_time"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="11dp"
+        android:background="@drawable/icon_time_gray"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_people"
+        android:layout_height="16dp"/>
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:textSize="14sp"
+        android:textColor="#666666"
+        android:layout_marginTop="9dp"
+        android:id="@+id/item_sp_tv_time"
+        android:layout_marginLeft="8dp"
+        app:layout_constraintLeft_toRightOf="@id/item_sp_iv_time"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_people"
+        android:ellipsize="end"
+        android:layout_marginRight="8dp"
+        android:text="2023-12-07 12:22:33"
+        android:layout_height="wrap_content"/>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_marginRight="12dp"
+        android:id="@+id/item_sp_divider1"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="12dp"
+        android:background="#e7e7e7"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_iv_time"
+        android:layout_height="1dp"/>
+
+    <TextView
+        android:id="@+id/item_sp_tv_result"
+        android:layout_width="wrap_content"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider1"
+        app:layout_constraintLeft_toLeftOf="parent"
+        android:layout_marginRight="12dp"
+        android:layout_marginTop="12dp"
+        android:layout_marginLeft="12dp"
+        android:text="申请结果:"
+        android:textSize="14sp"
+        android:textColor="#666666"
+        android:gravity="center"
+        android:layout_height="32dp"/>
+
+    <TextView
+        android:id="@+id/item_sp_tv_bh"
+        android:layout_width="80dp"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider1"
+        app:layout_constraintRight_toRightOf="parent"
+        android:layout_marginRight="12dp"
+        android:layout_marginTop="12dp"
+        android:layout_marginLeft="12dp"
+        android:text="驳回"
+        android:textSize="14sp"
+        android:textColor="#FF1D1D"
+        android:gravity="center"
+        android:background="@drawable/bg_shape_solid_light_pink_corner4"
+        android:layout_height="32dp"/>
+
+    <TextView
+        android:id="@+id/item_sp_tv_ty"
+        android:layout_width="80dp"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider1"
+        app:layout_constraintRight_toLeftOf="@id/item_sp_tv_bh"
+        android:layout_marginRight="12dp"
+        android:layout_marginTop="12dp"
+        android:layout_marginLeft="12dp"
+        android:text="同意"
+        android:textSize="14sp"
+        android:textColor="@color/ruhu_blue"
+        android:gravity="center"
+        android:background="@drawable/bg_shape_stroke_4d106dff_corner4"
+        android:layout_height="32dp"/>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 203 - 0
rwsp/src/main/res/layout/item_fj_gly_sp_md.xml

@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginTop="12dp"
+    android:id="@+id/item_layout_root"
+    android:background="@drawable/white_bg"
+    android:layout_marginLeft="12dp"
+    android:layout_marginRight="12dp"
+    android:paddingBottom="14dp"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <View
+        android:layout_width="match_parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:layout_margin="1dp"
+        android:background="@drawable/bg_shape_gash"
+        android:layout_height="78dp"/>
+
+    <TextView
+        android:id="@+id/item_sp_tv_status"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="12dp"
+        android:layout_marginRight="12dp"
+        android:paddingLeft="4dp"
+        android:visibility="gone"
+        android:paddingTop="2dp"
+        android:paddingRight="4dp"
+        android:paddingBottom="2dp"
+        android:text="45448787"
+        android:textSize="12sp"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:layout_width="0dp"
+        android:layout_marginLeft="12dp"
+        android:layout_marginRight="12dp"
+        android:layout_marginTop="12dp"
+        android:id="@+id/item_sp_tv_name"
+        app:layout_constraintRight_toLeftOf="@id/item_sp_tv_status"
+        android:textColor="#111111"
+        android:text="12sdfa12sdfa12sdfa12sdfa12sdfa12sdfa12sdfa12sdfa12sdfa"
+        android:textSize="16sp"
+        android:singleLine="true"
+        android:ellipsize="end"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintHorizontal_bias="0"
+        app:layout_constraintLeft_toLeftOf="parent"
+        android:layout_height="wrap_content"/>
+
+    <TextView
+        android:layout_width="wrap_content"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_name"
+        app:layout_constraintLeft_toLeftOf="parent"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="10dp"
+        android:paddingTop="2dp"
+        android:paddingBottom="2dp"
+        android:id="@+id/item_sp_tv_type"
+        android:paddingLeft="4dp"
+        android:paddingRight="4dp"
+        android:text="45448787"
+        android:textSize="12sp"
+        android:layout_marginRight="12dp"
+        android:layout_height="wrap_content"/>
+
+    <TextView
+        android:layout_width="0dp"
+        android:textSize="14sp"
+        android:textColor="#666666"
+        android:layout_marginTop="12dp"
+        android:id="@+id/item_sp_tv_yy"
+        android:layout_marginLeft="12dp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_type"
+        app:layout_constraintRight_toRightOf="parent"
+        android:layout_marginRight="8dp"
+        android:text="删除原因:"
+        android:layout_height="wrap_content"/>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_marginRight="12dp"
+        android:id="@+id/item_sp_divider"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="14dp"
+        android:background="#e7e7e7"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_yy"
+        android:layout_height="1dp"/>
+
+    <ImageView
+        android:layout_width="16dp"
+        android:id="@+id/item_sp_iv_people"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="11dp"
+        android:background="@drawable/icon_people_gray"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider"
+        android:layout_height="16dp"/>
+
+    <TextView
+        android:layout_width="0dp"
+        android:textSize="14sp"
+        android:textColor="#666666"
+        android:layout_marginTop="10dp"
+        app:layout_constrainedWidth="true"
+        app:layout_constraintRight_toRightOf="parent"
+        android:id="@+id/item_sp_tv_people"
+        android:layout_marginLeft="8dp"
+        app:layout_constraintLeft_toRightOf="@id/item_sp_iv_people"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider"
+        android:layout_marginRight="8dp"
+        android:text="名字"
+        android:layout_height="wrap_content"/>
+
+    <ImageView
+        android:layout_width="16dp"
+        android:id="@+id/item_sp_iv_time"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="11dp"
+        android:background="@drawable/icon_time_gray"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_people"
+        android:layout_height="16dp"/>
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:textSize="14sp"
+        android:textColor="#666666"
+        android:layout_marginTop="9dp"
+        android:id="@+id/item_sp_tv_time"
+        android:layout_marginLeft="8dp"
+        app:layout_constraintLeft_toRightOf="@id/item_sp_iv_time"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_tv_people"
+        android:ellipsize="end"
+        android:layout_marginRight="8dp"
+        android:text="2023-12-07 12:22:33"
+        android:layout_height="wrap_content"/>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_marginRight="12dp"
+        android:id="@+id/item_sp_divider1"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="12dp"
+        android:visibility="gone"
+        android:background="#e7e7e7"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_iv_time"
+        android:layout_height="1dp"/>
+
+    <TextView
+        android:id="@+id/item_sp_tv_result"
+        android:layout_width="wrap_content"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider1"
+        app:layout_constraintLeft_toLeftOf="parent"
+        android:layout_marginRight="12dp"
+        android:visibility="gone"
+        android:layout_marginTop="12dp"
+        android:layout_marginLeft="12dp"
+        android:text="申请结果:"
+        android:textSize="14sp"
+        android:textColor="#666666"
+        android:gravity="center"
+        android:layout_height="32dp"/>
+
+    <TextView
+        android:id="@+id/item_sp_tv_bh"
+        android:layout_width="80dp"
+        android:visibility="gone"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider1"
+        app:layout_constraintRight_toRightOf="parent"
+        android:layout_marginRight="12dp"
+        android:layout_marginTop="12dp"
+        android:layout_marginLeft="12dp"
+        android:text="驳回"
+        android:textSize="14sp"
+        android:textColor="#FF1D1D"
+        android:gravity="center"
+        android:background="@drawable/bg_shape_solid_light_pink_corner4"
+        android:layout_height="32dp"/>
+
+    <TextView
+        android:id="@+id/item_sp_tv_ty"
+        android:layout_width="80dp"
+        android:visibility="gone"
+        app:layout_constraintTop_toBottomOf="@id/item_sp_divider1"
+        app:layout_constraintRight_toLeftOf="@id/item_sp_tv_bh"
+        android:layout_marginRight="12dp"
+        android:layout_marginTop="12dp"
+        android:layout_marginLeft="12dp"
+        android:text="同意"
+        android:textSize="14sp"
+        android:textColor="@color/ruhu_blue"
+        android:gravity="center"
+        android:background="@drawable/bg_shape_stroke_4d106dff_corner4"
+        android:layout_height="32dp"/>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 16 - 0
rwsp/src/main/res/layout/item_image.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:custom="http://schemas.android.com/apk/res-auto"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:padding="5dp">
+
+    <ImageView
+        android:id="@+id/iv_img"
+        android:layout_width="70dp"
+        android:layout_height="70dp"
+        android:scaleType="centerCrop"
+        android:src="@drawable/selector_image_add" />
+
+</RelativeLayout>

+ 129 - 0
rwsp/src/main/res/layout/item_jcjl.xml

@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/rl_item"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginTop="10dp">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+
+        android:layout_marginLeft="15dp"
+        android:layout_marginRight="15dp"
+        android:background="@drawable/bg_jq_white">
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:background="@drawable/bg_jq"
+            android:minHeight="80dp">
+
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+
+
+
+
+
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="10dp"
+                        android:text="整改状态:"
+                        android:textColor="#000"
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/zgzt"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="10dp"
+                        android:text="南城派出所"
+                        android:textColor="#EA2089"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="8dp"
+                    android:layout_marginBottom="8dp"
+                    android:orientation="horizontal">
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="10dp"
+                        android:text="检查日期:"
+                        android:textColor="#000"
+                        android:textSize="14sp" />
+
+                    <TextView
+
+                        android:id="@+id/jcrq"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="10dp"
+                        android:layout_marginBottom="5dp"
+                        android:text="2023-02-12 12:30 "
+                        android:textColor="#0A60A5"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+
+            </LinearLayout>
+
+            <Button
+                android:id="@+id/bt_yj"
+                android:layout_width="50dp"
+                android:layout_height="30dp"
+                android:layout_alignParentRight="true"
+                android:layout_marginTop="5dp"
+                android:layout_marginRight="5dp"
+                android:background="@null"
+                android:text="上报"
+                android:textColor="#F00"
+                android:textSize="14sp" />
+
+            <TextView
+                android:id="@+id/tv_yj"
+                android:layout_width="50dp"
+                android:layout_height="30dp"
+                android:layout_alignParentRight="true"
+                android:layout_marginTop="5dp"
+                android:layout_marginRight="5dp"
+                android:background="@null"
+                android:text="已上报"
+                android:textColor="#2DDA34"
+                android:textSize="14sp"
+                android:visibility="gone" />
+
+            <TextView
+                android:id="@+id/tv_cx"
+                android:layout_width="wrap_content"
+                android:layout_height="30dp"
+                android:layout_alignParentRight="true"
+                android:layout_marginTop="50dp"
+                android:layout_marginRight="5dp"
+                android:visibility="gone"
+                android:background="@null"
+                android:text="移交查询"
+                android:textColor="@color/ruhu_blue"
+                android:textSize="14sp" />
+        </RelativeLayout>
+
+    </RelativeLayout>
+</RelativeLayout>

+ 142 - 0
rwsp/src/main/res/layout/item_md_ry_sp.xml

@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical" android:layout_width="match_parent"
+    android:background="@drawable/white_bg"
+    android:layout_marginTop="12dp"
+    android:paddingLeft="12dp"
+    android:layout_marginLeft="12dp"
+    android:layout_marginRight="12dp"
+    android:paddingRight="12dp"
+    android:layout_height="wrap_content">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:orientation="horizontal"
+        android:gravity="center_vertical"
+        android:layout_height="50dp">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:text="类别"
+            android:textColor="#666666"
+            android:layout_weight="0"
+            android:textSize="14sp"
+            android:layout_height="wrap_content"/>
+
+        <TextView
+            android:layout_width="match_parent"
+            android:textColorHint="#999999"
+            android:textSize="14sp"
+            android:textColor="#111111"
+            android:id="@+id/item_tjjf_detail_person_tv_lb"
+            android:layout_weight="1"
+            android:text="甲方"
+            android:background="@null"
+            android:gravity="right|center_vertical"
+            android:layout_height="match_parent"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:background="#e7e7e7"
+        android:layout_height="1dp"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:orientation="horizontal"
+        android:gravity="center_vertical"
+        android:layout_height="50dp">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:text="姓名"
+            android:textColor="#666666"
+            android:layout_weight="0"
+            android:textSize="14sp"
+            android:layout_height="wrap_content"/>
+
+        <TextView
+            android:layout_width="match_parent"
+            android:textColorHint="#999999"
+            android:textSize="14sp"
+            android:textColor="#111111"
+            android:id="@+id/item_tjjf_detail_person_tv_name"
+            android:layout_weight="1"
+            android:text="王某某"
+            android:background="@null"
+            android:gravity="right|center_vertical"
+            android:layout_height="match_parent"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:background="#e7e7e7"
+        android:layout_height="1dp"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:orientation="horizontal"
+        android:gravity="center_vertical"
+        android:layout_height="50dp">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:text="甲方联系电话"
+            android:id="@+id/item_tjjf_detail_person_tv_lxdh"
+            android:textColor="#666666"
+            android:layout_weight="0"
+            android:textSize="14sp"
+            android:layout_height="wrap_content"/>
+
+        <TextView
+            android:layout_width="match_parent"
+            android:textColorHint="#999999"
+            android:textSize="14sp"
+            android:textColor="#111111"
+            android:id="@+id/item_tjjf_detail_person_tv_lxdh_num"
+            android:layout_weight="1"
+            android:drawablePadding="15dp"
+            android:text="18612345678"
+            android:background="@null"
+            android:gravity="right|center_vertical"
+            android:layout_height="match_parent"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:background="#e7e7e7"
+        android:layout_height="1dp"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:orientation="horizontal"
+        android:gravity="center_vertical"
+        android:layout_height="50dp">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:text="甲方身份证号"
+            android:id="@+id/item_tjjf_detail_person_tv_sfzh"
+            android:textColor="#666666"
+            android:layout_weight="0"
+            android:textSize="14sp"
+            android:layout_height="wrap_content"/>
+
+        <TextView
+            android:layout_width="match_parent"
+            android:textColorHint="#999999"
+            android:textSize="14sp"
+            android:textColor="#111111"
+            android:id="@+id/item_tjjf_detail_person_tv_sfzh_num"
+            android:layout_weight="1"
+            android:text="220"
+            android:background="@null"
+            android:gravity="right|center_vertical"
+            android:layout_height="match_parent"/>
+
+    </LinearLayout>
+
+</LinearLayout>

Some files were not shown because too many files changed in this diff