From e27f54aa7e10836e2741dc590559e1039fbade78 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 23 七月 2021 15:06:41 +0800
Subject: [PATCH] 1. 创建子任务时,执行用户默认为当前登录用户或执行组中的第一人 2. 修复部分企业类型问题图标错误 3. 新增场景账户自动生成功能

---
 app/src/main/res/layout/dialog_scene_account.xml                                              |  140 +++++++++++
 app/src/main/java/cn/flightfeather/thirdapp/httpservice/UserInfoService.java                  |    7 
 .idea/misc.xml                                                                                |   12 
 app/src/main/java/cn/flightfeather/thirdapp/fragment/SettingFragment.java                     |    2 
 app/src/main/java/cn/flightfeather/thirdapp/module/MainActivity.java                          |    2 
 app/src/main/java/cn/flightfeather/thirdapp/task/InitDataTask.java                            |   45 ---
 app/src/main/java/cn/flightfeather/thirdapp/util/updateApp/UpdateAppUtil.java                 |    4 
 app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/InspectionInfoFragment.java |   95 ++++---
 build.gradle                                                                                  |    5 
 .idea/assetWizardSettings.xml                                                                 |    4 
 app/build.gradle                                                                              |    4 
 app/src/main/res/drawable/ic_baseline_arrow_downward_24.xml                                   |    9 
 app/src/main/java/cn/flightfeather/thirdapp/module/task/TaskFragment.java                     |   12 
 .idea/jarRepositories.xml                                                                     |    5 
 app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/ProblemChangeFragment.java  |   18 -
 app/src/main/java/cn/flightfeather/thirdapp/module/task/NewSubTaskActivity.kt                 |    2 
 app/src/main/AndroidManifest.xml                                                              |    2 
 app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt     |   10 
 app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuSceneAccountActivity.kt     |   73 ++++++
 app/src/main/java/cn/flightfeather/thirdapp/repository/UserInfoRepository.kt                  |   39 +++
 app/src/main/java/cn/flightfeather/thirdapp/util/Constant.java                                |    1 
 app/src/main/java/cn/flightfeather/thirdapp/util/GlobalConfig.kt                              |   13 
 app/src/main/java/cn/flightfeather/thirdapp/CommonApplication.java                            |   38 +--
 app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionFragment.kt           |    8 
 app/src/main/java/cn/flightfeather/thirdapp/util/CommonUtils.java                             |   23 +
 .idea/compiler.xml                                                                            |    2 
 .idea/runConfigurations.xml                                                                   |    1 
 app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailViewModel.kt    |    9 
 app/src/main/java/cn/flightfeather/thirdapp/repository/TaskRepository.kt                      |    4 
 app/src/main/res/layout/fragment_inspection_content.xml                                       |   35 ++
 app/src/main/java/cn/flightfeather/thirdapp/module/common/UserInfoViewModel.kt                |   46 +++
 app/src/main/res/layout/fragment_task.xml                                                     |    2 
 32 files changed, 505 insertions(+), 167 deletions(-)

diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index 8d4fed6..2a57cf2 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -18,7 +18,7 @@
                                 <PersistentState>
                                   <option name="values">
                                     <map>
-                                      <entry key="url" value="jar:file:/C:/Program%20Files/Android/Android%20Studio/plugins/android/lib/android.jar!/images/material_design_icons/social/ic_group_black_24dp.xml" />
+                                      <entry key="url" value="file:/$PROJECT_DIR$/../../../../androidsdk/sdk_new/icons/material/materialicons/arrow_downward/baseline_arrow_downward_24.xml" />
                                     </map>
                                   </option>
                                 </PersistentState>
@@ -28,7 +28,7 @@
                         </option>
                         <option name="values">
                           <map>
-                            <entry key="outputName" value="ic_group_black_24dp" />
+                            <entry key="outputName" value="ic_baseline_arrow_downward_24" />
                             <entry key="sourceFile" value="C:\Users\feiyu" />
                           </map>
                         </option>
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 61a9130..fb7f4a8 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="CompilerConfiguration">
-    <bytecodeTargetLevel target="1.8" />
+    <bytecodeTargetLevel target="11" />
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 67817d3..4138fd6 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -36,5 +36,10 @@
       <option name="name" value="MavenRepo" />
       <option name="url" value="https://repo.maven.apache.org/maven2/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="maven" />
+      <option name="name" value="maven" />
+      <option name="url" value="http://maven.aliyun.com/nexus/content/repositories/releases/" />
+    </remote-repository>
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 7d375ca..3e6294d 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -10,7 +10,7 @@
     <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
     <option name="myNullables">
       <value>
-        <list size="12">
+        <list size="15">
           <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
           <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
           <item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
@@ -23,12 +23,15 @@
           <item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
           <item index="10" class="java.lang.String" itemvalue="android.annotation.Nullable" />
           <item index="11" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
+          <item index="12" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
+          <item index="13" class="java.lang.String" itemvalue="io.reactivex.annotations.Nullable" />
+          <item index="14" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.Nullable" />
         </list>
       </value>
     </option>
     <option name="myNotNulls">
       <value>
-        <list size="11">
+        <list size="14">
           <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
           <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
           <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
@@ -40,11 +43,14 @@
           <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
           <item index="9" class="java.lang.String" itemvalue="android.annotation.NonNull" />
           <item index="10" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
+          <item index="11" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
+          <item index="12" class="java.lang.String" itemvalue="io.reactivex.annotations.NonNull" />
+          <item index="13" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.NonNull" />
         </list>
       </value>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
   <component name="SvnBranchConfigurationManager">
     <option name="myConfigurationMap">
       <map>
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
index 7f68460..e497da9 100644
--- a/.idea/runConfigurations.xml
+++ b/.idea/runConfigurations.xml
@@ -3,6 +3,7 @@
   <component name="RunConfigurationProducerService">
     <option name="ignoredProducers">
       <set>
+        <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
         <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
         <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
         <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
diff --git a/app/build.gradle b/app/build.gradle
index fc391d5..cb3ecc5 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -14,8 +14,8 @@
         applicationId "cn.flightfeather.thirdapp"
         minSdkVersion 19
         targetSdkVersion 28
-        versionCode 27
-        versionName "1.1.14.10"
+        versionCode 28
+        versionName "1.1.14.12"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         renderscriptTargetApi 25
         renderscriptSupportModeEnabled true
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1268b68..00630f5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -242,6 +242,8 @@
             android:theme="@style/TransparentTheme" />
         <activity android:name=".module.inspection.MenuChangeCheckActivity"
             android:theme="@style/TransparentTheme" />
+        <activity android:name=".module.inspection.MenuSceneAccountActivity"
+            android:theme="@style/TransparentTheme" />
         <activity android:name=".module.inspection.ShareProblemActivity"
             android:theme="@style/AppTheme.NoActionBar" />
         <activity android:name=".module.inspection.ShareProblemPreViewActivity"
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/CommonApplication.java b/app/src/main/java/cn/flightfeather/thirdapp/CommonApplication.java
index 708c711..e91af83 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/CommonApplication.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/CommonApplication.java
@@ -30,18 +30,17 @@
  */
 
 public class CommonApplication extends Application {
-//    private  final String ROOTURL="http://106.14.187.51:8801/supervision/";
-    public final String ROOT_URL ="http://192.168.0.200:8080/";
-    public final String ROOT_URL_IMAGE ="http://192.168.0.200:8080/images/";
+//    public final String ROOT_URL ="http://192.168.0.200:8080/";
+//    public final String ROOT_URL_IMAGE ="http://192.168.0.200:8080/images/";
+    public final String ROOT_URL ="http://192.168.0.146:8080/";
+    public final String ROOT_URL_IMAGE ="http://192.168.0.146:8080/images/";
     public final String ROOT_URL_RELEASE = "http://47.100.191.150:9005/";
     public final String ROOT_URL_RELEASE_IMAGE = "http://47.100.191.150:9005/images/";
     private Retrofit retrofit;
     private Retrofit retrofitImage;
     private DaoSession daoSession;
     private Userinfo currentUser;
-    private boolean debugMode = false;
-    private boolean released = true;
-    private UserinfoDao userinfoDao;
+    private final boolean released = true;
     //鍦ㄧ▼搴忔墦寮�鏃惰仈缃戣幏鍙栭缃暟鎹�
     private boolean loadPreDataWhenOpen = true;
 
@@ -75,8 +74,7 @@
     }
 
     /**
-     * 2018.11.07 by riku 鑾峰彇鏁版嵁浼犺緭鎺ュ彛璋冪敤鐨勬牴鍦板潃
-     * @return
+     * 鑾峰彇鏁版嵁浼犺緭鎺ュ彛璋冪敤鐨勬牴鍦板潃
      */
     public Retrofit getRetrofit(){
 
@@ -104,8 +102,7 @@
     }
 
     /**
-     * 2018.11.07 by riku 鑾峰彇鍥剧墖浼犺緭鎺ュ彛璋冪敤鐨勬牴鍦板潃
-     * @return
+     * 鑾峰彇鍥剧墖浼犺緭鎺ュ彛璋冪敤鐨勬牴鍦板潃
      */
     public Retrofit getRetrofitImage(){
 
@@ -130,13 +127,13 @@
 
     /**
      * 鑾峰彇鏁版嵁搴揝ession
-     * @return
      */
     public DaoSession getDaoSession() {
         if (daoSession ==null) {
             File path = new File(Environment.getExternalStorageDirectory(), "FlightFeather/third_new.db");
             if(!path.exists())
                 path.getParentFile().mkdirs();
+
             //鍒涘缓鏁版嵁搴搒hop.db"
             DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(getApplicationContext(), path.getAbsolutePath(), null);
             //鑾峰彇鍙啓鏁版嵁搴�
@@ -152,20 +149,14 @@
         return daoSession;
     }
 
-    public boolean isDebugMode() {
-        return debugMode;
-    }
-
-
     /**
-     * 2018.11.07 by riku  鑾峰彇褰撳墠鐢ㄦ埛瀵硅薄
-     * @return
+     * 鑾峰彇褰撳墠鐢ㄦ埛瀵硅薄
      */
     public Userinfo getCurrentUser() {
         if (currentUser ==null){
-            userinfoDao = this.getDaoSession().getUserinfoDao();
-            String userId = GlobalConfig.Companion.getInstance().getUserId();
-            if (userId == null) {
+            UserinfoDao userinfoDao = this.getDaoSession().getUserinfoDao();
+            String userId = GlobalConfig.getInstance().getUserId();
+            if (userId.equals(GlobalConfig.DEFAULT_USER)) {
                 currentUser = userinfoDao.queryBuilder().unique();
             } else {
                 currentUser = userinfoDao.queryBuilder().where(UserinfoDao.Properties.Guid.eq(userId)).unique();
@@ -175,13 +166,12 @@
     }
 
     public void setCurrentUser(Userinfo currentUser) {
-        GlobalConfig.Companion.getInstance().setUserId(currentUser.getGuid());
+        GlobalConfig.getInstance().setUserId(currentUser.getGuid());
         this.currentUser = currentUser;
     }
 
     /**
-     * 2018.11.07 by riku  app鍚姩鏃跺垽鏂槸鍚﹀姞杞藉垵濮嬪寲鏁版嵁瀹屾垚
-     * @return
+     * app鍚姩鏃跺垽鏂槸鍚﹀姞杞藉垵濮嬪寲鏁版嵁瀹屾垚
      */
     public boolean isLoadPreDataWhenOpen() {
         return loadPreDataWhenOpen;
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/fragment/SettingFragment.java b/app/src/main/java/cn/flightfeather/thirdapp/fragment/SettingFragment.java
index a549044..3b12453 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/fragment/SettingFragment.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/fragment/SettingFragment.java
@@ -60,7 +60,7 @@
         tv_userName = (TextView) view.findViewById(R.id.tv_user_name);
         tv_userName.setText(application.getCurrentUser().getRealname());
         text_version = view.findViewById(R.id.text_version);
-        text_version.setText(GlobalConfig.Companion.getInstance().getVersionName());
+        text_version.setText(GlobalConfig.getInstance().getVersionName());
         sc_changePassword = (SettingCommItemView) view.findViewById(R.id.sc_edit_password);
         sc_logOut = (SettingCommItemView) view.findViewById(R.id.sc_logout);
 
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/httpservice/UserInfoService.java b/app/src/main/java/cn/flightfeather/thirdapp/httpservice/UserInfoService.java
index 5319329..34a6cc4 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/httpservice/UserInfoService.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/httpservice/UserInfoService.java
@@ -5,7 +5,9 @@
 import cn.flightfeather.thirdapp.bean.entity.Userinfo;
 import retrofit2.Call;
 import retrofit2.http.GET;
+import retrofit2.http.POST;
 import retrofit2.http.Path;
+import retrofit2.http.Query;
 
 /**
  * Created by linli on 2018/1/23.
@@ -19,4 +21,9 @@
     @GET("userinfo")
     Call<List<Userinfo>> getAllUser();
 
+    @POST("userinfo/create")
+    Call<Userinfo> createAccount(@Query("sceneId") String sceneId);
+
+    @GET("userinfo/scene/get")
+    Call<Userinfo> getByScene(@Query("sceneId") String sceneId);
 }
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/MainActivity.java b/app/src/main/java/cn/flightfeather/thirdapp/module/MainActivity.java
index 8547af6..92e9e3f 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/MainActivity.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/MainActivity.java
@@ -27,7 +27,7 @@
 import cn.flightfeather.thirdapp.dataanalysis.AnalysisOverViewFragment;
 import cn.flightfeather.thirdapp.module.home.HomeFragment;
 import cn.flightfeather.thirdapp.fragment.SettingFragment;
-import cn.flightfeather.thirdapp.fragment.TaskFragment;
+import cn.flightfeather.thirdapp.module.task.TaskFragment;
 import cn.flightfeather.thirdapp.module.inspection.InspectionFragment;
 import cn.flightfeather.thirdapp.module.inspectioninfo.InspectionInfoFragment;
 import cn.flightfeather.thirdapp.module.inspectioninfo.ProblemChangeDetailActivity;
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/common/UserInfoViewModel.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/common/UserInfoViewModel.kt
new file mode 100644
index 0000000..73a6b59
--- /dev/null
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/common/UserInfoViewModel.kt
@@ -0,0 +1,46 @@
+package cn.flightfeather.thirdapp.module.common
+
+import android.arch.lifecycle.MutableLiveData
+import cn.flightfeather.thirdapp.bean.entity.Userinfo
+import cn.flightfeather.thirdapp.common.net.ResultCallBack
+import cn.flightfeather.thirdapp.module.base.BaseViewModel
+import cn.flightfeather.thirdapp.repository.UserInfoRepository
+
+/**
+ * @author riku
+ * Date: 2021/7/21
+ */
+class UserInfoViewModel : BaseViewModel() {
+
+    private val userInfoRepository = UserInfoRepository.instance
+
+    // 鐢ㄦ埛璐︽埛
+    val aName = MutableLiveData<String>()
+
+    /**
+     * 鑷姩鍒涘缓鎴栬幏鍙栧満鏅处鎴�
+     */
+    fun createAccount(sceneId: String) {
+        userInfoRepository.createAccount(sceneId, object : ResultCallBack<Userinfo> {
+            override fun onSuccess(result: Userinfo?) {
+                aName.value = result?.acountname
+            }
+
+            override fun onFailure() {
+                aName.value = null
+            }
+        })
+    }
+
+    fun getByScene(sceneId: String) {
+        userInfoRepository.getByScene(sceneId, object : ResultCallBack<Userinfo?> {
+            override fun onSuccess(result: Userinfo?) {
+                aName.value = result?.acountname
+            }
+
+            override fun onFailure() {
+                aName.value = null
+            }
+        })
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt
index db5a936..983b18f 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt
@@ -136,6 +136,8 @@
         iv_patrol_back.setOnClickListener(this)
         ll_patrol_task_detail.visibility = View.GONE
 
+        user_account.setOnClickListener(this)
+
         hideMenu()
 
         viewModel.inspection.observe(this, Observer {
@@ -699,6 +701,14 @@
 
     override fun onClick(v: View?) {
         when (v?.id) {
+            // 鏌ョ湅鎴栬幏鍙栫敤鎴疯处鎴蜂俊鎭�
+            R.id.user_account -> {
+                val intent = Intent(this, MenuSceneAccountActivity::class.java).apply {
+                    putExtra("sceneId", viewModel.scene.value?.guid)
+                    putExtra("sceneName", viewModel.scene.value?.name)
+                }
+                startActivity(intent)
+            }
             //搴曢儴viewPager闅愯棌
             R.id.ll_patrol_hide -> hideMenu()
             //搴曢儴viewPager鏄剧ず
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailViewModel.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailViewModel.kt
index b027539..3014661 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailViewModel.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailViewModel.kt
@@ -152,7 +152,14 @@
         inspection?.let {
             inspectionRepository.updateInspection(it, object : ResultCallBack<ResponseBody> {
                 override fun onSuccess(result: ResponseBody?) {
-                    result?.let { s() }
+                    result?.let {r ->
+                        val n = r.string().toIntOrNull()
+                        if (n == 1) {
+                            s()
+                        } else {
+                            application.toast("鎻愪氦宸℃煡淇℃伅澶辫触锛岃妫�鏌ョ綉缁�")
+                        }
+                    }
                 }
 
                 override fun onFailure() {
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionFragment.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionFragment.kt
index 9ba2f16..c367e20 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionFragment.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionFragment.kt
@@ -53,6 +53,9 @@
     //鏃ュ巻鏄剧ず妯″紡锛�1锛氬睍绀哄瓙浠诲姟瀹屾垚鐧惧垎姣旓紱0锛氬睍绀烘暣鏀瑰畬鎴愮櫨鍒嗘瘮锛�
     private var calendarMode = 1
 
+    private val handler = Handler()
+    private val closeLoadingRunnable = Runnable { closeLoading() }
+
     override fun getLayoutId(): Int = R.layout.fragment_inspection2
 
     override fun onCreateView() {
@@ -322,9 +325,8 @@
             }
         }
 
-//        Handler().postDelayed({
-//            closeLoading()
-//        }, 10000)
+        handler.removeCallbacks(closeLoadingRunnable)
+        handler.postDelayed(closeLoadingRunnable, 20000)
     }
 
     private fun closeLoading() {
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuSceneAccountActivity.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuSceneAccountActivity.kt
new file mode 100644
index 0000000..a38db54
--- /dev/null
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuSceneAccountActivity.kt
@@ -0,0 +1,73 @@
+package cn.flightfeather.thirdapp.module.inspection
+
+import android.arch.lifecycle.Observer
+import android.arch.lifecycle.ViewModelProviders
+import android.os.Bundle
+import android.view.View
+import cn.flightfeather.thirdapp.R
+import cn.flightfeather.thirdapp.module.base.BaseActivity
+import cn.flightfeather.thirdapp.module.common.UserInfoViewModel
+import kotlinx.android.synthetic.main.dialog_scene_account.*
+
+/**
+ * @author riku
+ * Date: 2021/7/21
+ * 鑾峰彇鐩戠鍦烘櫙璐︽埛淇℃伅
+ */
+class MenuSceneAccountActivity : BaseActivity() {
+
+    private var sceneId: String? = null
+
+    private var sceneName: String? = null
+
+    lateinit var viewModel: UserInfoViewModel
+
+    override fun getLayoutId(): Int = R.layout.dialog_scene_account
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+
+        viewModel = ViewModelProviders.of(this).get(UserInfoViewModel::class.java)
+
+        sceneId = intent.getStringExtra("sceneId")
+        sceneName = intent.getStringExtra("sceneName")
+
+        initUI()
+        initObserver()
+        initListener()
+
+        sceneId?.let { viewModel.getByScene(it) }
+    }
+
+    private fun initUI() {
+        view_waiting.visibility = View.VISIBLE
+        tv_s_name_c.text = sceneName ?: "鏈懡鍚嶅満鏅�"
+        group_no_data.visibility = View.GONE
+        group_s_info.visibility = View.GONE
+    }
+
+    private fun initObserver() {
+        viewModel.aName.observe(this, Observer {
+            view_waiting.visibility = View.GONE
+
+            if (it == null) {
+                group_no_data.visibility = View.VISIBLE
+                group_s_info.visibility = View.GONE
+            } else {
+                group_no_data.visibility = View.GONE
+                group_s_info.visibility = View.VISIBLE
+                tv_s_account_c.text = it
+            }
+        })
+    }
+
+    private fun initListener() {
+        tv_create_account.setOnClickListener {
+            view_waiting.visibility = View.VISIBLE
+            sceneId?.let { viewModel.createAccount(it) }
+        }
+        fab_close.setOnClickListener {
+            this.finish()
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/InspectionInfoFragment.java b/app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/InspectionInfoFragment.java
index 623d75b..9eb2275 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/InspectionInfoFragment.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/InspectionInfoFragment.java
@@ -31,11 +31,13 @@
 import cn.flightfeather.thirdapp.CommonApplication;
 import cn.flightfeather.thirdapp.R;
 import cn.flightfeather.thirdapp.adapter.AllRecyclerViewAdapter;
-import cn.flightfeather.thirdapp.bean.entity.Domainitem;
+import cn.flightfeather.thirdapp.bean.entity.Problemtype;
 import cn.flightfeather.thirdapp.bean.entity.Scense;
 import cn.flightfeather.thirdapp.bean.vo.ProblemCategoryVo;
 import cn.flightfeather.thirdapp.bean.vo.ProblemlistVo;
+import cn.flightfeather.thirdapp.common.net.ResultCallBack;
 import cn.flightfeather.thirdapp.httpservice.ProblemListService;
+import cn.flightfeather.thirdapp.repository.ProblemRepository;
 import cn.flightfeather.thirdapp.util.CommonUtils;
 import cn.flightfeather.thirdapp.util.Constant;
 import cn.flightfeather.thirdapp.util.DateFormatter;
@@ -51,8 +53,6 @@
  */
 public class InspectionInfoFragment extends Fragment implements Serializable{
 
-    //<editor-fold desc="鍏ㄥ眬鍙橀噺">
-
     private final static String TITLE = "闂";
     private static final long serialVersionUID = 6072583863506447855L;
 
@@ -62,9 +62,7 @@
     private String sceneType = Constant.SCENE_TYPE_SITE;
 
     private Unbinder unbinder;
-    //</editor-fold>
 
-    //<editor-fold desc="鏋勯�犲嚱鏁�">
     public InspectionInfoFragment() {
         // Required empty public constructor
     }
@@ -75,9 +73,7 @@
 //        fragment.setArguments(args);
         return fragment;
     }
-    //</editor-fold>
 
-    //<editor-fold desc="鐢熷懡鍛ㄦ湡">
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -123,9 +119,6 @@
         }
     }
 
-    //</editor-fold>
-
-    //<editor-fold desc="鏍囬鏍�">
     @BindView(R.id.action_bar)
     View action_bar;
 
@@ -142,9 +135,6 @@
         title.setGravity(Gravity.CENTER_HORIZONTAL);
     }
 
-    //</editor-fold>
-
-    //<editor-fold desc="缁熻淇℃伅鏍�">
     @BindView(R.id.text_total) TextView text_total;
     @BindView(R.id.text_changed) TextView text_changed;
     @BindView(R.id.text_unchanged) TextView text_unchanged;
@@ -156,10 +146,9 @@
         text_changed.setText(String.valueOf(changed_problems));
         text_unchanged.setText(String.valueOf(total_problems-changed_problems));
     }
-    //</editor-fold>
 
-    //<editor-fold desc="鍒濆鍖栧垪琛ㄦ暟鎹�">
     private ArrayList<ProblemCategoryVo> problemCategories = new ArrayList<>();//鍒楄〃涓睍绀虹殑鏁版嵁锛屾寜闂绫诲瀷鍒嗙被
+    private ProblemRepository problemRepository = new ProblemRepository();
     private DomainitemDao domainitemDao;
     private ScenseDao scenseDao;
 
@@ -177,31 +166,64 @@
                 .limit(1).list();
         if (scenses != null && !scenses.isEmpty()) {
             this.sceneType = String.valueOf(scenses.get(0).getTypeid());
+            Scense s = scenses.get(0);
+
+            //鏌ヨ褰撳墠鍦烘櫙绫诲瀷涓嬬殑闂绫诲瀷鍊煎煙
+            byte b = 1;
+            problemRepository.getProblemType(b, s.getCitycode(), s.getDistrictcode(), s.getTypeid(), new ResultCallBack<ArrayList<Problemtype>>() {
+                @Override
+                public void onCacheSuccess(@Nullable ArrayList<Problemtype> result) {
+
+                }
+
+                @Override
+                public void onSuccess(@Nullable ArrayList<Problemtype> result) {
+                    if (result != null) {
+                        List<String> types = new ArrayList<>();
+                        for (int i = 0; i < result.size(); i++) {
+                            Problemtype d = result.get(i);
+                            if (!types.contains(d.getTypeid().toString())) {
+                                types.add(d.getTypeid().toString());
+                                ProblemCategoryVo p = new ProblemCategoryVo();
+                                p.setProblemTypeId(d.getTypeid().toString());
+                                p.setProblemTypeName(d.getTypename());
+                                problemCategories.add(p);
+                            }
+                        }
+                    }
+                }
+
+                @Override
+                public void onPage(int current, int total) {
+
+                }
+
+                @Override
+                public void onFailure() {
+
+                }
+            });
         }
         //endregion
 
-        //region 鏌ヨ褰撳墠鍦烘櫙绫诲瀷涓嬬殑闂绫诲瀷鍊煎煙
-        this.domainitemDao = this.application.getDaoSession().getDomainitemDao();
-        List<Domainitem> domainitems = domainitemDao.queryBuilder()
-                .where(
-                        DomainitemDao.Properties.Dcguid.eq(
-                                CommonUtils.getProblemTypeGUID(this.sceneType)
-                        )
-                )
-                .orderAsc(DomainitemDao.Properties.Index).list();
-        for (Domainitem d :
-                domainitems) {
-            ProblemCategoryVo p = new ProblemCategoryVo();
-            p.setProblemTypeId(d.getValue());
-            p.setProblemTypeName(d.getText());
-            this.problemCategories.add(p);
-        }
-        //endregion
+//        this.domainitemDao = this.application.getDaoSession().getDomainitemDao();
+//        List<Domainitem> domainitems = domainitemDao.queryBuilder()
+//                .where(
+//                        DomainitemDao.Properties.Dcguid.eq(
+//                                CommonUtils.getProblemTypeGUID(this.sceneType)
+//                        )
+//                )
+//                .orderAsc(DomainitemDao.Properties.Index).list();
+//        for (Domainitem d :
+//                domainitems) {
+//            ProblemCategoryVo p = new ProblemCategoryVo();
+//            p.setProblemTypeId(d.getValue());
+//            p.setProblemTypeName(d.getText());
+//            this.problemCategories.add(p);
+//        }
 
     }
-    //</editor-fold>
 
-    //<editor-fold desc="initView">
     //闂鎸夊垎绫昏繘琛屼釜鏁扮粺璁�
     @BindView(R.id.rv_problem_type) RecyclerView rv_problem_type;
     AllRecyclerViewAdapter<ProblemCategoryVo> adapter;
@@ -233,9 +255,7 @@
         rv_problem_type.setLayoutManager(gl);
         rv_problem_type.setAdapter(adapter);
     }
-    //</editor-fold>
 
-    //<editor-fold desc="鑱旂綉鍒锋柊">
     private void refresh(String sceneId, String date) {
         Call<List<ProblemlistVo>> getProblemByScene = this.application.getRetrofit().create(ProblemListService.class).getProblemByScene(sceneId, date);
         getProblemByScene.enqueue(new Callback<List<ProblemlistVo>>() {
@@ -304,14 +324,11 @@
             }
         }
     }
-    //</editor-fold>
 
-    //<editor-fold desc="鐢ㄦ埛鎻愪氦鏁存敼鍥剧墖瀹屾垚鍚庯紝鍦ㄥ唴瀛樹腑鏇存柊鏁版嵁">
     public void updateData() {
         Date now = new Date();
         String date = DateFormatter.dateTimeFormat3.format(now);
         refresh(application.getCurrentUser().getDguid(), date);//瀵逛簬瀹㈡埛鏉ヨ锛孌_GUID灏辨槸鍦烘櫙id
     }
-    //</editor-fold>
 
 }
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/ProblemChangeFragment.java b/app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/ProblemChangeFragment.java
index 12c70b3..decdbd3 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/ProblemChangeFragment.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspectioninfo/ProblemChangeFragment.java
@@ -47,7 +47,6 @@
  * 鏈琭ragment鏈変袱绉嶉棶棰樼姸鎬侊紝宸叉暣鏀箋@link Constant#UNCHANGED}鍜屾湭鏁存敼{@link Constant#CHANGED}
  */
 public class ProblemChangeFragment extends Fragment {
-    //<editor-fold desc="鍏ㄥ眬鍙橀噺">
     public static final String ARG_PARAM1 = "problems";
     public static final String ARG_PARAM2 = "fragmentType";
     public static final int REQUEST_CODE_SUBMIT = 11;
@@ -57,9 +56,7 @@
     private String fragmentType;
     private MediafileDao mediafileDao;
     private Unbinder unbinder;
-    //</editor-fold>
 
-    //<editor-fold desc="constructor">
     public ProblemChangeFragment() {
         // Required empty public constructor
     }
@@ -72,9 +69,7 @@
         fragment.setArguments(args);
         return fragment;
     }
-    //</editor-fold>
 
-    //<editor-fold desc="lifecycle">
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -124,16 +119,14 @@
             unbinder.unbind();
         }
     }
-    //</editor-fold>
 
-    //<editor-fold desc="鍒濆鍖栨暟鎹簱">
+    //鍒濆鍖栨暟鎹簱
     private void initDataBase() {
         DaoSession daoSession = application.getDaoSession();
         mediafileDao = daoSession.getMediafileDao();
     }
-    //</editor-fold>
 
-    //<editor-fold desc="initView">
+    //initView
     @BindView(R.id.rv_content) RecyclerView rv_rank_content;
     @BindView(R.id.image_problem_complete) ImageView image_problem_complete;
     AllRecyclerViewAdapter<ProblemlistVo> adapter;
@@ -352,9 +345,8 @@
         }
 
     }
-    //</editor-fold>
 
-    //<editor-fold desc="鐐瑰嚮浜嬩欢">
+    //鐐瑰嚮浜嬩欢
     class OnProblemDetailClickListener implements View.OnClickListener {
 
         private ProblemlistVo problemlistVo;
@@ -391,9 +383,8 @@
             startActivityForResult(intent, REQUEST_CODE_SUBMIT, optionsCompat.toBundle());
         }
     }
-    //</editor-fold>
 
-    //<editor-fold desc="鏇存柊鍒楄〃">
+    //鏇存柊鍒楄〃
     public void notifyDataSetChanged() {
 //        this.problemlistVos.clear();
 //        this.problemlistVos.addAll(p);
@@ -404,5 +395,4 @@
         }
         adapter.notifyDataSetChanged();
     }
-    //</editor-fold>
 }
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/task/NewSubTaskActivity.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/task/NewSubTaskActivity.kt
index cb40dd0..467e12f 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/task/NewSubTaskActivity.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/task/NewSubTaskActivity.kt
@@ -252,7 +252,7 @@
                 text = realName.toString().replace(Constant.CONNECTOR, Constant.CONNECTOR_FOR_VIEW)
             }
             viewModel.subTaskExecutor.apply {
-                this.executorGuids = ids.toString()
+                this.executorGuids = id.toString()
                 this.executorUserNames = userName.toString()
                 this.executorRealNames = realName.toString()
             }
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/fragment/TaskFragment.java b/app/src/main/java/cn/flightfeather/thirdapp/module/task/TaskFragment.java
similarity index 98%
rename from app/src/main/java/cn/flightfeather/thirdapp/fragment/TaskFragment.java
rename to app/src/main/java/cn/flightfeather/thirdapp/module/task/TaskFragment.java
index 5f52f2a..ab86acd 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/fragment/TaskFragment.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/task/TaskFragment.java
@@ -1,4 +1,4 @@
-package cn.flightfeather.thirdapp.fragment;
+package cn.flightfeather.thirdapp.module.task;
 
 import android.app.AlertDialog;
 import android.content.DialogInterface;
@@ -35,14 +35,11 @@
 import cn.flightfeather.thirdapp.adapter.TaskListAdapter;
 import cn.flightfeather.thirdapp.bean.entity.Scense;
 import cn.flightfeather.thirdapp.bean.entity.Subtask;
-import cn.flightfeather.thirdapp.bean.vo.TaskPack;
 import cn.flightfeather.thirdapp.bean.entity.Userinfo;
+import cn.flightfeather.thirdapp.bean.vo.TaskPack;
 import cn.flightfeather.thirdapp.bean.vo.TaskVo;
 import cn.flightfeather.thirdapp.httpservice.SubTaskService;
 import cn.flightfeather.thirdapp.httpservice.TaskService;
-import cn.flightfeather.thirdapp.module.task.MonthTaskManagementActivity;
-import cn.flightfeather.thirdapp.module.task.NewSubTaskActivity;
-import cn.flightfeather.thirdapp.module.task.SceneDetailActivity;
 import cn.flightfeather.thirdapp.util.CommonUtils;
 import cn.flightfeather.thirdapp.util.Constant;
 import cn.flightfeather.thirdapp.util.DateFormatter;
@@ -56,12 +53,12 @@
 import retrofit2.Retrofit;
 
 /**
- * A simple {@link Fragment} subclass.
+ *
  */
 public class TaskFragment extends Fragment implements RecyclerItemClickListener.OnItemClickListener
         , View.OnClickListener {
 
-    private int taskKindChoice;
+    private int taskKindChoice = 1;
     private CommonApplication application;
     private Retrofit mRetrofit;
     private boolean requestAgain;
@@ -315,7 +312,6 @@
     }
 
     /**
-     * 2018.11.05 by riku
      * 鏇存崲鏂版牱寮忕殑寮瑰嚭妗嗭紝鍔熻兘鏈慨鏀�
      * 鏄剧ず鏂板浠诲姟绫诲瀷锛氶《灞備换鍔°�佸瓙浠诲姟
      */
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/repository/TaskRepository.kt b/app/src/main/java/cn/flightfeather/thirdapp/repository/TaskRepository.kt
index 59aa38d..8dd5971 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/repository/TaskRepository.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/repository/TaskRepository.kt
@@ -62,12 +62,12 @@
             val resultList = ArrayList<Scense>()
             val tempList = sceneDao.getSceneByArea(taskVo.provincecode, taskVo.citycode, taskVo.districtcode)
             movList.forEach  {m ->
-                tempList.forEach s@ {s ->
+                for (s in tempList) {
                     if (s.guid == m.sguid) {
                         s.monitorNum = m.monitornum
                         s.inspectedNum = m.extension1?.toInt() ?: 0
                         resultList.add(s)
-                        return@s
+                        break
                     }
                 }
             }
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/repository/UserInfoRepository.kt b/app/src/main/java/cn/flightfeather/thirdapp/repository/UserInfoRepository.kt
new file mode 100644
index 0000000..518b8bd
--- /dev/null
+++ b/app/src/main/java/cn/flightfeather/thirdapp/repository/UserInfoRepository.kt
@@ -0,0 +1,39 @@
+package cn.flightfeather.thirdapp.repository
+
+import cn.flightfeather.thirdapp.bean.entity.Userinfo
+import cn.flightfeather.thirdapp.common.net.ResponseBodyCallBack
+import cn.flightfeather.thirdapp.common.net.ResultCallBack
+import cn.flightfeather.thirdapp.common.net.RetrofitFactory
+import cn.flightfeather.thirdapp.httpservice.UserInfoService
+
+/**
+ * @author riku
+ * Date: 2021/7/21
+ */
+class UserInfoRepository private constructor(){
+
+    companion object {
+        @JvmStatic
+        val instance: UserInfoRepository by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { UserInfoRepository()}
+    }
+
+    private val retrofit = RetrofitFactory.instance.retrofit
+
+    /**
+     * 鑷姩鍒涘缓鐩戠鍦烘櫙璐︽埛
+     * @param sceneId 鍦烘櫙id
+     */
+    fun createAccount(sceneId: String, resultCallBack: ResultCallBack<Userinfo>) {
+        retrofit.create(UserInfoService::class.java).createAccount(sceneId)
+            .enqueue(ResponseBodyCallBack(resultCallBack))
+    }
+
+    /**
+     * 鑾峰彇鍦烘櫙瀵瑰簲鐨勮处鎴蜂俊鎭�
+     * @param sceneId 鍦烘櫙id
+     */
+    fun getByScene(sceneId: String, resultCallBack: ResultCallBack<Userinfo?>) {
+        retrofit.create(UserInfoService::class.java).getByScene(sceneId)
+            .enqueue(ResponseBodyCallBack(resultCallBack))
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/task/InitDataTask.java b/app/src/main/java/cn/flightfeather/thirdapp/task/InitDataTask.java
index 1558c00..7d492ec 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/task/InitDataTask.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/task/InitDataTask.java
@@ -36,7 +36,6 @@
 import cn.flightfeather.thirdapp.bean.entity.Problemtype;
 import cn.flightfeather.thirdapp.bean.entity.Province;
 import cn.flightfeather.thirdapp.bean.entity.Scense;
-import cn.flightfeather.thirdapp.bean.entity.Site;
 import cn.flightfeather.thirdapp.bean.entity.Town;
 import cn.flightfeather.thirdapp.httpservice.InitDataService;
 import retrofit2.Call;
@@ -89,7 +88,7 @@
         initDataService = retrofit.create(InitDataService.class);
         daoSession = application.getDaoSession();
         scenseDao = daoSession.getScenseDao();
-        siteDao = daoSession.getSiteDao();
+//        siteDao = daoSession.getSiteDao();
         domaincatalogDao = daoSession.getDomaincatalogDao();
         domainitemDao = daoSession.getDomainitemDao();
         evaluationruleDao = daoSession.getEvaluationruleDao();
@@ -125,7 +124,7 @@
                     scenseDao.insertInTx(scenseList);
                     System.out.println("Scense:Success");
                     if (firstLoad){
-                        loadSite();
+                        loadDoainCatalog();
                     }
                 }else if (response.errorBody()!=null){
                     if (!requestAgain){
@@ -148,46 +147,6 @@
                     handler.sendEmptyMessage(SplashActivity.SHOW_ERROR);
                 }
                 System.out.println("Scense:"+t.toString());
-            }
-        });
-    }
-    //鍔犺浇鍏ㄩ儴宸ュ湴璇︽儏
-    private void loadSite(){
-        Call<List<Site>> loadAllSite = initDataService.loadAllSite();
-        loadAllSite.enqueue(new Callback<List<Site>>() {
-            @Override
-            public void onResponse(Call<List<Site>> call, Response<List<Site>> response) {
-                if (response.body()!=null){
-                    requestAgain = false;
-                    List<Site> siteList = response.body();
-                    siteDao.deleteAll();
-                    siteDao.insertInTx(siteList);
-                    System.out.println("Site:Success");
-                    if (firstLoad){
-                        loadDoainCatalog();
-                    }
-                }else if (response.errorBody()!=null){
-                    if (!requestAgain){
-                        requestAgain = true;
-                        loadSite();
-                    }else {
-                        handler.sendEmptyMessage(SplashActivity.SHOW_ERROR);
-                        Toast.makeText(application, "鑾峰彇宸ュ湴璇︽儏鏁版嵁澶辫触", Toast.LENGTH_SHORT).show();
-                    }
-                    System.out.println("Site:"+response.errorBody().toString());
-                }
-            }
-
-            @Override
-            public void onFailure(Call<List<Site>> call, Throwable t) {
-                    if (!requestAgain){
-                        requestAgain = true;
-                        loadSite();
-                    }else {
-                        showNetErrorToast();
-                        handler.sendEmptyMessage(SplashActivity.SHOW_ERROR);
-                    }
-                    System.out.println("Site:"+t.toString());
             }
         });
     }
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/util/CommonUtils.java b/app/src/main/java/cn/flightfeather/thirdapp/util/CommonUtils.java
index 143fec5..07b37db 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/util/CommonUtils.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/util/CommonUtils.java
@@ -408,7 +408,7 @@
                 default:
                     return R.drawable.selector_button_problem_others;
             }
-        } else if (sceneType.equals(Constant.SCENE_TYPE_WHARF)){
+        } else if (sceneType.equals(Constant.SCENE_TYPE_WHARF)) {
             switch (type) {
                 case "1":
                     return R.drawable.selector_button_problem_road;
@@ -426,8 +426,27 @@
                     return R.drawable.selector_button_problem_sewage;
                 case "8":
                     return R.drawable.selector_button_problem_attitude;
-                case "9":
+                default:
                     return R.drawable.selector_button_problem_others;
+            }
+        } else if (sceneType.equals(Constant.SCENE_TYPE14)) {
+            switch (type) {
+                case "1":
+                    return R.drawable.selector_button_problem_road;
+                case "2":
+                    return R.drawable.selector_button_problem_vehicle;
+                case "3":
+                    return R.drawable.selector_button_problem_bulk_material;
+                case "4":
+                    return R.drawable.selector_button_problem_protect;
+                case "5":
+                    return R.drawable.selector_button_problem_dust_equipment;
+                case "6":
+                    return R.drawable.selector_button_problem_dedusting;
+                case "7":
+                    return R.drawable.selector_button_problem_sewage;
+                case "8":
+                    return R.drawable.selector_button_problem_attitude;
                 default:
                     return R.drawable.selector_button_problem_others;
             }
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/util/Constant.java b/app/src/main/java/cn/flightfeather/thirdapp/util/Constant.java
index ea74dbb..909a671 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/util/Constant.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/util/Constant.java
@@ -118,6 +118,7 @@
     String SCENE_TYPE11 = "11";//娌虫祦鏂潰
     String SCENE_TYPE12 = "12";//宸ヤ笟鍥尯
     String SCENE_TYPE13 = "13";//鏃犲浐瀹氬満鏅�
+    String SCENE_TYPE14 = "14";//鏃犲浐瀹氬満鏅�
     String SCENE_TYPE99 = "99";//鍏朵粬
 
     //灞曠ず绫诲瀷
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/util/GlobalConfig.kt b/app/src/main/java/cn/flightfeather/thirdapp/util/GlobalConfig.kt
index e0956f0..57fd621 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/util/GlobalConfig.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/util/GlobalConfig.kt
@@ -8,14 +8,9 @@
     var userId: String by MyPreference("userId", "default_customer")
 
     companion object {
-        @get:Synchronized
-        var instance: GlobalConfig? = null
-            get() {
-                if (field == null) {
-                    field = GlobalConfig()
-                }
-                return field
-            }
-            private set
+        @JvmStatic
+        val instance: GlobalConfig by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { GlobalConfig()}
+
+        const val DEFAULT_USER = "default_customer"
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/util/updateApp/UpdateAppUtil.java b/app/src/main/java/cn/flightfeather/thirdapp/util/updateApp/UpdateAppUtil.java
index e1ccb4e..12a9e62 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/util/updateApp/UpdateAppUtil.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/util/updateApp/UpdateAppUtil.java
@@ -87,8 +87,8 @@
                     .getPackageInfo(application.getPackageName(), 0);
             localVersion = packageInfo.versionCode;
             localVersionName = packageInfo.versionName;
-            GlobalConfig.Companion.getInstance().setVersionCode(localVersion);
-            GlobalConfig.Companion.getInstance().setVersionName(localVersionName);
+            GlobalConfig.getInstance().setVersionCode(localVersion);
+            GlobalConfig.getInstance().setVersionName(localVersionName);
         } catch (PackageManager.NameNotFoundException e) {
             e.printStackTrace();
         }
diff --git a/app/src/main/res/drawable/ic_baseline_arrow_downward_24.xml b/app/src/main/res/drawable/ic_baseline_arrow_downward_24.xml
new file mode 100644
index 0000000..5f0bbd1
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline_arrow_downward_24.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+  <path
+      android:fillColor="#000000"
+      android:pathData="M20,12l-1.41,-1.41L13,16.17V4h-2v12.17l-5.58,-5.59L4,12l8,8 8,-8z" />
+</vector>
diff --git a/app/src/main/res/layout/dialog_scene_account.xml b/app/src/main/res/layout/dialog_scene_account.xml
new file mode 100644
index 0000000..cb72389
--- /dev/null
+++ b/app/src/main/res/layout/dialog_scene_account.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.design.widget.CoordinatorLayout 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:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    <android.support.v7.widget.CardView
+        android:id="@+id/cv_dialog_problem_list_main"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_marginTop="30dp"
+        android:layout_marginLeft="12dp"
+        android:layout_marginRight="12dp"
+        android:layout_marginBottom="40dp"
+        app:cardCornerRadius="6dp"
+        app:cardElevation="7dp">
+        <android.support.constraint.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="@dimen/dimen16"
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@+id/tv_title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textSize="@dimen/textSize_18"
+                android:textColor="@color/primary_text"
+                android:text="浼佷笟璐︽埛"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"/>
+
+            <android.support.constraint.Group
+                android:id="@+id/group_s_info"
+                android:visibility="visible"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                app:constraint_referenced_ids="tv_s_account, tv_s_account_c"/>
+
+            <ProgressBar
+                android:id="@+id/view_waiting"
+                android:layout_width="@dimen/fab_margin"
+                android:layout_height="@dimen/fab_margin"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                />
+
+            <TextView
+                android:id="@+id/tv_s_name_c"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                tools:text="鍦烘櫙鍚嶇О鍦烘櫙鍚嶇О鍦烘櫙鍚嶇О鍦烘櫙鍚嶇О鍦烘櫙鍚嶇О"
+                android:textColor="@color/main_color_2"
+                android:textSize="@dimen/textSize_16"
+                android:paddingTop="@dimen/dimen4"
+                android:paddingBottom="@dimen/dimen4"
+                android:layout_marginTop="@dimen/dimen16"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/tv_title"/>
+
+            <TextView
+                android:id="@+id/tv_s_account"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="璐︽埛"
+                android:layout_marginTop="60dp"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/tv_s_name_c"/>
+
+            <TextView
+                android:id="@+id/tv_s_account_c"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                tools:text="CJZH"
+                android:textColor="@color/main_color_1"
+                android:textSize="34dp"
+                android:paddingTop="@dimen/dimen4"
+                android:paddingBottom="@dimen/dimen4"
+                android:paddingStart="@dimen/dimen16"
+                android:paddingEnd="@dimen/dimen16"
+                android:background="@drawable/shape_green"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/tv_s_account"
+                tools:ignore="SpUsage" />
+
+            <android.support.constraint.Group
+                android:id="@+id/group_no_data"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:visibility="gone"
+                app:constraint_referenced_ids="tv_no_data, tv_create_account"/>
+
+            <TextView
+                android:id="@+id/tv_no_data"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="璇ョ洃绠″満鏅殏鏃犺处鎴凤紝鐐瑰嚮鑷姩鍒涘缓璐︽埛"
+                android:drawableBottom="@drawable/ic_baseline_arrow_downward_24"
+                android:layout_marginTop="@dimen/dimen16"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/tv_s_name_c"
+                app:layout_constraintBottom_toTopOf="@id/tv_create_account"
+                app:layout_constraintVertical_chainStyle="packed"
+                app:layout_constraintVertical_bias="0.2"/>
+
+            <TextView
+                android:id="@+id/tv_create_account"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="鑾峰彇璐︽埛"
+                style="@style/TextButtonStyle.DialogPositive"
+                android:elevation="@dimen/dimen4"
+                android:layout_marginTop="@dimen/dimen16"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/tv_no_data"
+                app:layout_constraintBottom_toBottomOf="parent"
+                tools:ignore="UnusedAttribute" />
+
+
+        </android.support.constraint.ConstraintLayout>
+    </android.support.v7.widget.CardView>
+
+    <android.support.design.widget.FloatingActionButton
+        android:src="@drawable/icon_close_white"
+        android:id="@+id/fab_close"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:fabSize="normal"
+        app:elevation="8dp"
+        app:layout_anchor="@id/cv_dialog_problem_list_main"
+        app:layout_anchorGravity="bottom|center"
+        android:contentDescription="@string/cancel" />
+
+</android.support.design.widget.CoordinatorLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_inspection_content.xml b/app/src/main/res/layout/fragment_inspection_content.xml
index 1f6b765..ee651bf 100644
--- a/app/src/main/res/layout/fragment_inspection_content.xml
+++ b/app/src/main/res/layout/fragment_inspection_content.xml
@@ -1,18 +1,37 @@
 <?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:orientation="vertical"
     android:layout_width="match_parent"
     android:id="@+id/rl_content"
     android:layout_height="match_parent">
 
- <com.amap.api.maps.MapView
-     android:id="@+id/mv_main"
-     android:layout_width="match_parent"
-     android:layout_height="match_parent"
-     android:layout_marginBottom="20dp"
-     android:layout_alignParentTop="true"
-     android:layout_alignParentStart="true">
- </com.amap.api.maps.MapView>
+     <com.amap.api.maps.MapView
+         android:id="@+id/mv_main"
+         android:layout_width="match_parent"
+         android:layout_height="match_parent"
+         android:layout_marginBottom="20dp"
+         android:layout_alignParentTop="true"
+         android:layout_alignParentStart="true">
+     </com.amap.api.maps.MapView>
+
+    <TextView
+        android:id="@+id/user_account"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentEnd="true"
+        android:layout_alignParentBottom="true"
+        android:text="鐢ㄦ埛璐﹀彿"
+        android:elevation="@dimen/dimen4"
+        android:layout_marginBottom="188dp"
+        android:padding="@dimen/dimen4"
+        android:gravity="center"
+        android:textColor="@color/white"
+        android:background="@drawable/shape_green"
+        android:foreground="?android:attr/selectableItemBackground"
+        android:drawableStart="@drawable/ic_group_black_24dp"
+        android:drawableTint="@color/white"
+        tools:ignore="UnusedAttribute" />
 
     <LinearLayout
         android:visibility="visible"
diff --git a/app/src/main/res/layout/fragment_task.xml b/app/src/main/res/layout/fragment_task.xml
index 9f45853..e283dc1 100644
--- a/app/src/main/res/layout/fragment_task.xml
+++ b/app/src/main/res/layout/fragment_task.xml
@@ -5,7 +5,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@color/taskBG"
-    tools:context="cn.flightfeather.thirdapp.fragment.TaskFragment">
+    tools:context="cn.flightfeather.thirdapp.module.task.TaskFragment">
 
     <FrameLayout
         android:layout_width="match_parent"
diff --git a/build.gradle b/build.gradle
index a05cf3f..c3e0637 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,6 +15,7 @@
         jcenter()
         mavenCentral()
         google()
+        maven { url 'http://maven.aliyun.com/nexus/content/repositories/releases/' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:3.5.2'
@@ -24,6 +25,9 @@
         // in the individual module build.gradle files
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
         classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0'
+
+        // 娣诲姞emas-services鎻掍欢
+        classpath 'com.aliyun.ams:emas-services:1.0.1'
     }
 }
 
@@ -35,6 +39,7 @@
         maven { url "https://jitpack.io" }
         jcenter()
         google()
+        maven { url 'http://maven.aliyun.com/nexus/content/repositories/releases/' }
     }
 
 //    configurations.all {

--
Gitblit v1.9.3