Browse Source

高登PDA

RaoMeng 6 years ago
commit
476d521414
100 changed files with 8648 additions and 0 deletions
  1. 10 0
      .gitignore
  2. BIN
      .idea/caches/build_file_checksums.ser
  3. BIN
      .idea/caches/gradle_models.ser
  4. 116 0
      .idea/codeStyles/Project.xml
  5. 23 0
      .idea/gradle.xml
  6. 14 0
      .idea/misc.xml
  7. 12 0
      .idea/runConfigurations.xml
  8. 6 0
      .idea/vcs.xml
  9. 1 0
      README.md
  10. 1 0
      app/.gitignore
  11. 90 0
      app/build.gradle
  12. BIN
      app/libs/butterknife-7.0.1.jar
  13. BIN
      app/libs/gson-2.2.4-javadoc.jar
  14. BIN
      app/libs/gson-2.2.4-sources.jar
  15. BIN
      app/libs/gson-2.2.4.jar
  16. BIN
      app/libs/volley.jar
  17. 21 0
      app/proguard-rules.pro
  18. 83 0
      app/src/main/AndroidManifest.xml
  19. 94 0
      app/src/main/java/com/uas/gdstorage/activity/BaseActivity.java
  20. 139 0
      app/src/main/java/com/uas/gdstorage/activity/BaseSelectActivity.java
  21. 307 0
      app/src/main/java/com/uas/gdstorage/activity/CommonSeclecActivity.java
  22. 257 0
      app/src/main/java/com/uas/gdstorage/activity/FunctionActivity.java
  23. 172 0
      app/src/main/java/com/uas/gdstorage/activity/HomeActivity.java
  24. 644 0
      app/src/main/java/com/uas/gdstorage/activity/IndexActivity.java
  25. 41 0
      app/src/main/java/com/uas/gdstorage/activity/LineSelectActivity.java
  26. 157 0
      app/src/main/java/com/uas/gdstorage/activity/MainActivity.java
  27. 169 0
      app/src/main/java/com/uas/gdstorage/activity/SearchMaterialActivity.java
  28. 424 0
      app/src/main/java/com/uas/gdstorage/activity/SelectNetAcitivty.java
  29. 174 0
      app/src/main/java/com/uas/gdstorage/activity/SplashActivity.java
  30. 30 0
      app/src/main/java/com/uas/gdstorage/adapter/AdapterFactory.java
  31. 198 0
      app/src/main/java/com/uas/gdstorage/adapter/BarcodeGenerationListAdapter.java
  32. 81 0
      app/src/main/java/com/uas/gdstorage/adapter/BarcodeProdcodeListAdapter.java
  33. 103 0
      app/src/main/java/com/uas/gdstorage/adapter/BarcodeSupplePrintAdapter.java
  34. 97 0
      app/src/main/java/com/uas/gdstorage/adapter/BarcodeSupplePrintListAdapter.java
  35. 62 0
      app/src/main/java/com/uas/gdstorage/adapter/BreakPackageTableListItemAdapter.java
  36. 68 0
      app/src/main/java/com/uas/gdstorage/adapter/CaptionValueItemAdapter.java
  37. 28 0
      app/src/main/java/com/uas/gdstorage/adapter/ChargingSummaryAdapter.java
  38. 31 0
      app/src/main/java/com/uas/gdstorage/adapter/CommonCheckAdapter.java
  39. 24 0
      app/src/main/java/com/uas/gdstorage/adapter/CommonMenuAdapter.java
  40. 27 0
      app/src/main/java/com/uas/gdstorage/adapter/FirstLastManageSubAdapter.java
  41. 157 0
      app/src/main/java/com/uas/gdstorage/adapter/FormAdapter.java
  42. 42 0
      app/src/main/java/com/uas/gdstorage/adapter/GdWorkStartAdapter.java
  43. 49 0
      app/src/main/java/com/uas/gdstorage/adapter/InmakeNetListAdapter.java
  44. 79 0
      app/src/main/java/com/uas/gdstorage/adapter/InmakeProdListAdapter.java
  45. 61 0
      app/src/main/java/com/uas/gdstorage/adapter/InmakeWhcodeListAdapter.java
  46. 115 0
      app/src/main/java/com/uas/gdstorage/adapter/IpAddressAdapter.java
  47. 95 0
      app/src/main/java/com/uas/gdstorage/adapter/IpHistoryAdapter.java
  48. 93 0
      app/src/main/java/com/uas/gdstorage/adapter/ListCollectAlreadyAdapter.java
  49. 80 0
      app/src/main/java/com/uas/gdstorage/adapter/ListCollectNotAdapter.java
  50. 110 0
      app/src/main/java/com/uas/gdstorage/adapter/ListSubmitNotAdapter.java
  51. 51 0
      app/src/main/java/com/uas/gdstorage/adapter/ListViewAdapter.java
  52. 58 0
      app/src/main/java/com/uas/gdstorage/adapter/MakePrepareAdapter.java
  53. 74 0
      app/src/main/java/com/uas/gdstorage/adapter/PdaioStorageOutAdapter.java
  54. 31 0
      app/src/main/java/com/uas/gdstorage/adapter/QualityManageAdapter.java
  55. 100 0
      app/src/main/java/com/uas/gdstorage/adapter/RevokeStockListAdapter.java
  56. 62 0
      app/src/main/java/com/uas/gdstorage/adapter/SMTQueryListAdapter.java
  57. 107 0
      app/src/main/java/com/uas/gdstorage/adapter/ScMakeUncollectListAdapter.java
  58. 72 0
      app/src/main/java/com/uas/gdstorage/adapter/SearchMaterialNumberAdapter.java
  59. 64 0
      app/src/main/java/com/uas/gdstorage/adapter/SingleSelectionAdapter.java
  60. 78 0
      app/src/main/java/com/uas/gdstorage/adapter/SmtDownResultAdapter.java
  61. 114 0
      app/src/main/java/com/uas/gdstorage/adapter/SmtQueryDiffListAdapter.java
  62. 111 0
      app/src/main/java/com/uas/gdstorage/adapter/SmtQueryMaterialListAdapter.java
  63. 68 0
      app/src/main/java/com/uas/gdstorage/adapter/SmtqueryDiffErrorAdapter.java
  64. 71 0
      app/src/main/java/com/uas/gdstorage/adapter/SmtqueryDiffNotAdapter.java
  65. 82 0
      app/src/main/java/com/uas/gdstorage/adapter/StockAlreadyListAdapter.java
  66. 80 0
      app/src/main/java/com/uas/gdstorage/adapter/StockBarcodeListAdapter.java
  67. 87 0
      app/src/main/java/com/uas/gdstorage/adapter/StockTaskAdapter.java
  68. 127 0
      app/src/main/java/com/uas/gdstorage/adapter/StockTaskMultipleAdapter.java
  69. 72 0
      app/src/main/java/com/uas/gdstorage/adapter/StockTaskMultipleDetailAdapter.java
  70. 96 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageCollectTableAdapter.java
  71. 45 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageDetailListAdapter.java
  72. 98 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageInAddAdapter.java
  73. 100 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageInAddBarcodeAdapter.java
  74. 103 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageInAddQuantityAdapter.java
  75. 80 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageIqcInListAdapter.java
  76. 77 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageRechargeAdapter.java
  77. 88 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageRechargeInspectionAdapter.java
  78. 64 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageSearchModeAdapter.java
  79. 84 0
      app/src/main/java/com/uas/gdstorage/adapter/StorageStockTaskAdapter.java
  80. 43 0
      app/src/main/java/com/uas/gdstorage/adapter/TableListItemAdapter.java
  81. 72 0
      app/src/main/java/com/uas/gdstorage/adapter/TransferLocationAdapter.java
  82. 77 0
      app/src/main/java/com/uas/gdstorage/adapter/WHCheckMakeDetailListAdapter.java
  83. 56 0
      app/src/main/java/com/uas/gdstorage/adapter/WHCheckMakeMaterialListAdapter.java
  84. 74 0
      app/src/main/java/com/uas/gdstorage/adapter/WarehouseCacheAdapter.java
  85. 200 0
      app/src/main/java/com/uas/gdstorage/application/PdaApplication.java
  86. 173 0
      app/src/main/java/com/uas/gdstorage/bean/BarcodeDetailBean.java
  87. 89 0
      app/src/main/java/com/uas/gdstorage/bean/BarcodeGenerationItemBean.java
  88. 81 0
      app/src/main/java/com/uas/gdstorage/bean/BarcodeProdcodeItemBean.java
  89. 90 0
      app/src/main/java/com/uas/gdstorage/bean/BarcodeSuppleBean.java
  90. 27 0
      app/src/main/java/com/uas/gdstorage/bean/BarcodeSuppleListBean.java
  91. 37 0
      app/src/main/java/com/uas/gdstorage/bean/CaptionValueBean.java
  92. 31 0
      app/src/main/java/com/uas/gdstorage/bean/ChargingSummaryBean.java
  93. 212 0
      app/src/main/java/com/uas/gdstorage/bean/CollectAlreadyBean.java
  94. 232 0
      app/src/main/java/com/uas/gdstorage/bean/CollectNotBean.java
  95. 31 0
      app/src/main/java/com/uas/gdstorage/bean/CommonCheckBean.java
  96. 69 0
      app/src/main/java/com/uas/gdstorage/bean/CommonColumnsBean.java
  97. 55 0
      app/src/main/java/com/uas/gdstorage/bean/CommonMenuBean.java
  98. 9 0
      app/src/main/java/com/uas/gdstorage/bean/CommonTableInputBean.java
  99. 51 0
      app/src/main/java/com/uas/gdstorage/bean/CommonTableListBean.java
  100. 10 0
      app/src/main/java/com/uas/gdstorage/bean/ErrorMsg.java

+ 10 - 0
.gitignore

@@ -0,0 +1,10 @@
+*.iml
+.gradle
+/local.properties
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild

BIN
.idea/caches/build_file_checksums.ser


BIN
.idea/caches/gradle_models.ser


+ 116 - 0
.idea/codeStyles/Project.xml

@@ -0,0 +1,116 @@
+<component name="ProjectCodeStyleConfiguration">
+  <code_scheme name="Project" version="173">
+    <codeStyleSettings language="XML">
+      <indentOptions>
+        <option name="CONTINUATION_INDENT_SIZE" value="4" />
+      </indentOptions>
+      <arrangement>
+        <rules>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>xmlns:android</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>xmlns:.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*:id</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*:name</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>name</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>style</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>ANDROID_ATTRIBUTE_ORDER</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>.*</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+        </rules>
+      </arrangement>
+    </codeStyleSettings>
+  </code_scheme>
+</component>

+ 23 - 0
.idea/gradle.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="distributionType" value="LOCAL" />
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-5.0" />
+        <option name="modules">
+          <set>
+            <option value="$PROJECT_DIR$" />
+            <option value="$PROJECT_DIR$/app" />
+            <option value="$PROJECT_DIR$/pda_libs/lib-zxing" />
+            <option value="$PROJECT_DIR$/pda_libs/progresslitelibrary" />
+            <option value="$PROJECT_DIR$/pda_libs/pulltoreflashlibrary" />
+          </set>
+        </option>
+        <option name="resolveModulePerSourceSet" value="false" />
+        <option name="testRunner" value="PLATFORM" />
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>

+ 14 - 0
.idea/misc.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CMakeSettings">
+    <configurations>
+      <configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
+    </configurations>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/build/classes" />
+  </component>
+  <component name="ProjectType">
+    <option name="id" value="Android" />
+  </component>
+</project>

+ 12 - 0
.idea/runConfigurations.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RunConfigurationProducerService">
+    <option name="ignoredProducers">
+      <set>
+        <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" />
+      </set>
+    </option>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

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

+ 1 - 0
README.md

@@ -0,0 +1 @@
+高登-UAS仓储管理系统

+ 1 - 0
app/.gitignore

@@ -0,0 +1 @@
+/build

+ 90 - 0
app/build.gradle

@@ -0,0 +1,90 @@
+apply plugin: 'com.android.application'
+
+//apply plugin: 'kotlin-android'
+
+//apply plugin: 'kotlin-android-extensions'
+
+android {
+    signingConfigs {
+        pda_storage {
+            keyAlias 'gd_storage_alias'
+            keyPassword 'pdakeystone'
+            storeFile file('C:\\sigin\\gd_storage.jks')
+            storePassword 'pdakeystone'
+        }
+    }
+    compileSdkVersion rootProject.ext.android.compileSdkVersion
+    buildToolsVersion rootProject.ext.android.buildToolsVersion
+    defaultConfig {
+        applicationId "com.uas.gdstorage"
+        minSdkVersion rootProject.ext.android.minSdkVersion
+        targetSdkVersion rootProject.ext.android.targetSdkVersion
+        versionCode rootProject.ext.android.versionCode
+        versionName rootProject.ext.android.versionName
+        javaCompileOptions {
+            annotationProcessorOptions {
+                includeCompileClasspath = true
+            }
+        }
+    }
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+    packagingOptions {
+        exclude 'META-INF/LICENSE.txt'
+        exclude 'META-INF/NOTICE.txt'
+    }
+    applicationVariants.all { variant ->
+        variant.outputs.all { output ->
+            def outputFile = output.outputFile
+            def fileName
+            if (outputFile != null && outputFile.name.endsWith('.apk')) {
+                if (variant.buildType.name.equals('release')) {
+                    def releaseInfo = getVersionName()
+                    fileName = "UAS_GD_STORAGE_RELEASE_${releaseInfo}.apk"
+                } else if (variant.buildType.name.equals('debug')) {
+                    def debugInfo = getVersionName()
+                    fileName = "UAS_GD_STORAGE_DEBUG_${debugInfo}.apk"
+                }
+                outputFileName = fileName
+            }
+        }
+    }
+    compileOptions {
+        targetCompatibility 1.8
+        sourceCompatibility 1.8
+    }
+}
+
+dependencies {
+    implementation fileTree(include: ['*.jar'], dir: 'libs')
+    testImplementation 'junit:junit:4.12'
+    api files('libs/volley.jar')
+    api files('libs/gson-2.2.4.jar')
+    api project(':pulltoreflashlibrary')
+    api project(':progresslitelibrary')
+    api project(':lib-zxing')
+    api deps.appcompatV7
+    api deps.stetho
+    api deps.fastjson
+    api deps.xUtils
+    api deps.okhttp
+    api deps.BaseRecyclerViewAdapterHelper
+    api deps.smartRefreshLayout
+    api deps.smartRefreshHeader
+    api deps.smartTable
+    api deps.basePopup
+    api deps.permisson
+    api deps.recyclerview
+    implementation 'org.jetbrains:annotations:15.0'
+    implementation(deps.MultiTypeFilePicker) {
+        exclude group: "com.android.support"
+    }
+}
+
+def getVersionName() {
+    return rootProject.ext.android.versionName
+}

BIN
app/libs/butterknife-7.0.1.jar


BIN
app/libs/gson-2.2.4-javadoc.jar


BIN
app/libs/gson-2.2.4-sources.jar


BIN
app/libs/gson-2.2.4.jar


BIN
app/libs/volley.jar


+ 21 - 0
app/proguard-rules.pro

@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile

+ 83 - 0
app/src/main/AndroidManifest.xml

@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    package="com.uas.gdstorage"
+    android:versionCode="1"
+    android:versionName="1.0">
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.VIBRATE" />
+    <uses-permission android:name="android.permission.CAMERA" />
+
+    <application
+        android:name=".application.PdaApplication"
+        android:allowBackup="true"
+        android:icon="@mipmap/icon"
+        android:label="UAS车间工作站"
+        android:theme="@style/AppTheme"
+        android:usesCleartextTraffic="true"
+        tools:replace="allowBackup,label,theme">
+        <uses-library
+            android:name="org.apache.http.legacy"
+            android:required="false" />
+
+        <activity android:name=".activity.BaseSelectActivity"></activity>
+        <activity android:name=".activity.HomeActivity" />
+        <activity
+            android:name=".activity.SplashActivity"
+            android:icon="@mipmap/icon"
+            android:screenOrientation="portrait"
+            android:theme="@style/NoOverLayStyle">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+        <activity
+            android:name=".activity.MainActivity"
+            android:icon="@mipmap/icon"
+            android:label="@string/title_activity_menu"
+            android:screenOrientation="portrait"
+            android:windowSoftInputMode="adjustPan|stateHidden" />
+        <activity
+            android:name=".activity.IndexActivity"
+            android:label="@string/title_activity_menu"
+            android:launchMode="singleTask"
+            android:screenOrientation="portrait" />
+        <activity
+            android:name=".activity.FunctionActivity"
+            android:label="@string/title_activity_function"
+            android:screenOrientation="portrait"
+            android:windowSoftInputMode="adjustUnspecified|stateHidden" />
+        <activity
+            android:name=".activity.SearchMaterialActivity"
+            android:label="@string/material_number_search"
+            android:screenOrientation="portrait" />
+        <activity
+            android:name=".activity.CommonSeclecActivity"
+            android:screenOrientation="portrait" />
+        <activity android:name=".activity.LineSelectActivity">
+
+        </activity>
+
+        <activity android:name=".activity.SelectNetAcitivty">
+
+        </activity>
+
+        <provider xmlns:tools="http://schemas.android.com/tools"
+            android:name="android.support.v4.content.FileProvider"
+            android:authorities="com.uas.gdstorage.fileprovider"
+            android:exported="false"
+            android:grantUriPermissions="true"
+            tools:replace="android:authorities">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/file_paths" />
+        </provider>
+    </application>
+
+</manifest>

+ 94 - 0
app/src/main/java/com/uas/gdstorage/activity/BaseActivity.java

@@ -0,0 +1,94 @@
+package com.uas.gdstorage.activity;
+
+import android.graphics.Color;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.tools.DataSourceManager;
+import com.uas.gdstorage.tools.SharedPreUtil;
+import com.uas.gdstorage.util.Constants;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import cc.cloudist.acplibrary.ACProgressConstant;
+import cc.cloudist.acplibrary.ACProgressFlower;
+
+/**
+ * Created by RaoMeng on 2016/7/29.
+ * 本应用所有activity的夫类
+ */
+public abstract class BaseActivity extends AppCompatActivity {
+    protected ACProgressFlower progressDialog;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        progressDialog = new ACProgressFlower.Builder(this)
+                .direction(ACProgressConstant.DIRECT_CLOCKWISE)
+                .themeColor(Color.WHITE)
+                .fadeColor(Color.DKGRAY).build();
+
+//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+//            //透明状态栏
+//            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+//            //透明导航栏
+//            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
+//        }
+
+        initViews();
+        initEvents();
+        initDatas();
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+    }
+
+    @Override
+    protected void onRestoreInstanceState(Bundle savedInstanceState) {
+        super.onRestoreInstanceState(savedInstanceState);
+        String keyUrl = SharedPreUtil.getString(this, SharedPreUtil.KEY_URI, null);
+        if (keyUrl != null) {
+            try {
+                JSONObject urlObject = new JSONObject(keyUrl);
+                JSONArray jsonArray = urlObject.getJSONArray(DataSourceManager.KEY_URIARRAY);
+                JSONObject jsonObject = jsonArray.getJSONObject(0);
+                if (jsonObject != null) {
+                    String mSystemCache = SharedPreUtil.getString(this, Constants.FLAG.SELECTED_SYSTEM_CACHE, "ERP");
+                    GloableParams.setUri(jsonObject.optString(DataSourceManager.KEY_IP), jsonObject.optString(DataSourceManager.KEY_PORT), mSystemCache, this);
+                }
+            } catch (JSONException e) {
+                e.printStackTrace();
+            }
+        }
+
+    }
+
+    public void showLoading() {
+        try {
+            progressDialog.show();
+        } catch (Exception e) {
+
+        }
+    }
+
+    public void dimssLoading() {
+        try {
+            if (progressDialog.isShowing())
+                progressDialog.dismiss();
+        } catch (Exception e) {
+
+        }
+    }
+
+    protected abstract void initViews();
+
+    protected abstract void initEvents();
+
+    protected abstract void initDatas();
+}

+ 139 - 0
app/src/main/java/com/uas/gdstorage/activity/BaseSelectActivity.java

@@ -0,0 +1,139 @@
+package com.uas.gdstorage.activity;
+
+import android.content.Intent;
+import android.os.Parcelable;
+import android.support.v7.widget.DividerItemDecoration;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.KeyEvent;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.listener.MyEditorActionListener;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.Constants;
+import com.uas.gdstorage.view.ClearableEditText;
+
+import java.io.Serializable;
+import java.util.List;
+
+public abstract class BaseSelectActivity<T extends Object, K extends BaseQuickAdapter> extends BaseActivity implements View.OnClickListener {
+    private Button mBackButton;
+    private TextView mTitleTextView, mSearchButton;
+    private ClearableEditText mSearchEditText;
+    private RecyclerView mRecyclerView;
+    private RefreshLayout mRefreshLayout;
+    protected int mPageindex = 1, mPageSize = 20;
+    protected boolean mCanLoadMore;
+    protected List<T> mDataList;
+    protected K mDataAdapter;
+
+    @Override
+    protected void initViews() {
+        setContentView(R.layout.activity_common_select);
+
+        mDataList = createDateList();
+        mDataAdapter = createAdapter();
+        mCanLoadMore = canLoadMore();
+
+        mBackButton = findViewById(R.id.btn_actionbar_withback);
+        mTitleTextView = findViewById(R.id.tv_actionbar_withback);
+        mSearchButton = findViewById(R.id.common_search_btn);
+        mSearchEditText = findViewById(R.id.common_search_et);
+        mRefreshLayout = findViewById(R.id.common_select_srl);
+        mRefreshLayout.setEnableLoadMore(mCanLoadMore);
+        mRecyclerView = findViewById(R.id.common_select_rv);
+        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
+        mRecyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
+
+        if (mDataList != null && mDataAdapter != null) {
+            mRecyclerView.setAdapter(mDataAdapter);
+        }
+    }
+
+    @Override
+    protected void initEvents() {
+        mBackButton.setOnClickListener(this);
+        CommonUtil.setEditorActionListener(mSearchEditText, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+                mPageindex = 1;
+                progressDialog.show();
+                requestDataList();
+            }
+        });
+        mSearchButton.setOnClickListener(this);
+
+        mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
+            @Override
+            public void onRefresh(RefreshLayout refreshLayout) {
+                mPageindex = 1;
+                mDataList.clear();
+                requestDataList();
+            }
+        });
+
+        mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+            @Override
+            public void onLoadMore(RefreshLayout refreshLayout) {
+                if (mCanLoadMore) {
+                    mPageindex++;
+                    requestDataList();
+                }
+            }
+        });
+
+        if (mDataAdapter != null) {
+            mDataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+                @Override
+                public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                    T t = mDataList.get(position);
+                    Intent intent = getIntent();
+                    if (t instanceof Serializable) {
+                        intent.putExtra(Constants.CONSTANT.COMMON_SELECT_EXTRA, (Serializable) t);
+                    } else if (t instanceof Parcelable) {
+                        intent.putExtra(Constants.CONSTANT.COMMON_SELECT_EXTRA, (Parcelable) t);
+                    }
+                    setResult(Constants.CONSTANT.COMMON_SELECT_RESULT, intent);
+                    finish();
+                }
+            });
+        }
+    }
+
+    @Override
+    protected void initDatas() {
+        mPageindex = 1;
+        progressDialog.show();
+        mDataList.clear();
+        requestDataList();
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.btn_actionbar_withback:
+                finish();
+                break;
+            case R.id.common_search_btn:
+                mPageindex = 1;
+                mDataList.clear();
+                requestDataList();
+                break;
+        }
+    }
+
+    protected abstract List<T> createDateList();
+
+    protected abstract K createAdapter();
+
+    protected abstract boolean canLoadMore();
+
+    protected abstract List<T> requestDataList();
+}

+ 307 - 0
app/src/main/java/com/uas/gdstorage/activity/CommonSeclecActivity.java

@@ -0,0 +1,307 @@
+package com.uas.gdstorage.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.DividerItemDecoration;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.Button;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.android.volley.toolbox.StringRequest;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.FastjsonUtil;
+import com.uas.gdstorage.util.HttpCallback;
+import com.uas.gdstorage.util.HttpParams;
+import com.uas.gdstorage.util.LogUtil;
+import com.uas.gdstorage.util.VollyRequest;
+import com.uas.gdstorage.view.ClearableEditText;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by FANGlh on 2019/2/20.
+ * function:
+ */
+public class CommonSeclecActivity extends BaseActivity implements View.OnClickListener {
+    private String Tag = "CommonSeclecActivity";
+    private TextView actionBarTextView;
+    private Button btnBack;
+    private ClearableEditText mSearch;
+    private RecyclerView commonRv;
+    private StringRequest mStringRequest;
+    private List<ComDataBean> mList;
+    private ComListAdapter myAdapter;
+    private int type;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
+
+        LogUtil.i(Tag,"onCreate");
+    }
+
+    @Override
+    protected void initViews() {
+        setContentView(R.layout.common_select_activity);
+        actionBarTextView = findViewById(R.id.tv_actionbar_withback);
+        btnBack = (Button) findViewById(R.id.btn_actionbar_withback);
+        mSearch = findViewById(R.id.fl_search_actext);
+
+        commonRv = findViewById(R.id.common_select_rv);
+        commonRv.addItemDecoration(new DividerItemDecoration(this, LinearLayout.VERTICAL));
+        commonRv.setLayoutManager(new LinearLayoutManager(this));
+
+        mList = new ArrayList<>();
+        myAdapter = new ComListAdapter(mList);
+        myAdapter.setmList(mList);
+        commonRv.setAdapter(myAdapter);
+    }
+
+    @Override
+    protected void initEvents() {
+        btnBack.setOnClickListener(this);
+
+        mSearch.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) { }
+            @Override
+            public void afterTextChanged(Editable s) {
+                if (s.length() >= 3) {
+                    String mSearchStr = s.toString().trim();
+                    LogUtil.i("mSearchStr",mSearchStr);
+                    List<ComDataBean> thisList = new ArrayList<>();
+                    for(int i=0;i<mList.size();i++){
+                        if(mList.get(i).getItemName().contains(mSearchStr) || mList.get(i).getItemremark().contains(mSearchStr)){
+                            thisList.add(mList.get(i));
+                        }
+
+                        if(i == mList.size() -1){
+                            myAdapter = new ComListAdapter(thisList);
+                            commonRv.setAdapter(myAdapter);
+                            LogUtil.i("mSearchStr", JSON.toJSONString(thisList));
+                        }
+                    }
+
+
+                } else {
+                    myAdapter = new ComListAdapter(mList);
+                    commonRv.setAdapter(myAdapter);
+
+                }
+            }
+        });
+
+        myAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+            @Override
+            public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                ComDataBean bean = myAdapter.getBeanByPositon(position);
+                String itemStr = bean.getItemName();
+//                CommonUtil.toastNoRepeat(CommonSeclecActivity.this,itemStr);
+
+                Intent resultIntent = new Intent();
+                resultIntent.putExtra("ITEM_DATA",itemStr);
+                setResult(1847,resultIntent);
+                finish();
+            }
+        });
+    }
+
+    @Override
+    protected void initDatas() {
+
+        Intent c_intent = getIntent();
+        String title = c_intent.getStringExtra("title");
+        type = c_intent.getIntExtra("type",-1);
+        String sc_code = c_intent.getStringExtra("sc_code");
+        setTitle(title);
+
+        switch (type){
+            case 1:
+                getSC_CODEData();break;//获取岗位资源列表
+            case 2:
+                getWorkorderData(sc_code);break;//获取工单列表
+                default:
+                    break;
+        }
+    }
+
+    private void getWorkorderData(String scCode) {
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_PDA_GETSHOPPLAN)
+                        .method(Request.Method.GET)
+                        .tag(Tag + "getShopPlan")
+                        .flag(0)
+                        .addParam("sc_code", scCode)
+                        .build(), new HttpCallback() {
+
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+                        Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                        if (isSuccess){
+                            JSONArray dataArray = FastjsonUtil.getJSONArray(o.toString(),"data");
+                            if (dataArray == null || dataArray.size() == 0){
+                                CommonUtil.toastNoRepeat(CommonSeclecActivity.this,"未搜索到匹配数据");
+                            }
+                            for(Object index:dataArray){
+                                JSONObject data = (JSONObject) index;
+                                ComDataBean bean = new ComDataBean();
+                                bean.setItemName(data.getString("MA_CODE"));
+                                bean.setItemremark(data.getString("PR_DETAIL") == null ? "(-)" : "("+data.getString("PR_DETAIL")+")");
+                                mList.add(bean);
+                            }
+                            myAdapter.setmList(mList);
+                            myAdapter.notifyDataSetChanged();
+                        }else {
+
+                        }
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        CommonUtil.toastNoRepeat(CommonSeclecActivity.this, failStr);
+                        progressDialog.dismiss();
+                    }
+
+                });
+
+    }
+
+    private void getSC_CODEData() {
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_PAD_GETSOURCEBYEMP)
+                        .method(Request.Method.GET)
+                        .tag(Tag + "getSourceByEmp")
+                        .flag(0)
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+                        Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                        if (isSuccess){
+                            JSONArray dataArray = FastjsonUtil.getJSONArray(o.toString(),"data");
+                            if (dataArray == null || dataArray.size() == 0){
+                                CommonUtil.toastNoRepeat(CommonSeclecActivity.this,"未搜索到匹配数据");
+                            }
+                            for(Object index:dataArray){
+                                JSONObject data = (JSONObject) index;
+                                ComDataBean bean = new ComDataBean();
+                                bean.setItemName(data.getString("SC_CODE"));
+                                bean.setItemremark(data.getString("SC_NAME") == null ? "(-)" : "("+data.getString("SC_NAME")+")");
+                                mList.add(bean);
+                            }
+                            myAdapter.setmList(mList);
+                            myAdapter.notifyDataSetChanged();
+
+                        }else {
+
+                        }
+
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        CommonUtil.toastNoRepeat(CommonSeclecActivity.this, failStr);
+                    }
+
+                });
+
+    }
+
+    @Override
+    public void onPointerCaptureChanged(boolean hasCapture) {
+
+    }
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        switch (id){
+            case R.id.btn_actionbar_withback:
+                finish();
+                break;
+                default:
+                    break;
+        }
+    }
+
+    //设置Actionbar标题
+    public  void setTitle(String title) {
+        if (actionBarTextView == null) {
+            CommonUtil.toastNoRepeat(this, "actionBarTextView == null");
+            return;
+        }
+        actionBarTextView.setText(title);
+        mSearch.setHint("请输入要搜索的"+title);
+    }
+
+    private class ComListAdapter extends BaseQuickAdapter<ComDataBean, BaseViewHolder> {
+        private List<ComDataBean> mmmmList;
+
+        public List<ComDataBean> getmList() {
+            return mmmmList;
+        }
+
+        public void setmList(List<ComDataBean> mList) {
+            this.mmmmList = mList;
+        }
+        public ComDataBean getBeanByPositon(int position){
+            return mmmmList.get(position);
+        }
+
+        private ComListAdapter(@Nullable List<ComDataBean> data) {
+            super(R.layout.fuzzy_search_item, data);
+            this.mmmmList = data;
+        }
+        @Override
+        protected void convert(BaseViewHolder helper, ComDataBean item) {
+            helper.setText(R.id.macode_Tv,item.getItemName());
+            helper.setText(R.id.remark_Tv,item.getItemremark());
+        }
+    }
+
+    private class ComDataBean{
+        String itemName = null;
+        String itemremark = null;
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+
+        public String getItemremark() {
+            return itemremark;
+        }
+
+        public void setItemremark(String itemremark) {
+            this.itemremark = itemremark;
+        }
+    }
+}

+ 257 - 0
app/src/main/java/com/uas/gdstorage/activity/FunctionActivity.java

@@ -0,0 +1,257 @@
+package com.uas.gdstorage.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.android.volley.toolbox.StringRequest;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StorageInBillBean;
+import com.uas.gdstorage.fragment.BaseFragment;
+import com.uas.gdstorage.fragment.GdMaterialInFragment;
+import com.uas.gdstorage.fragment.GdStaffChangeFragment;
+import com.uas.gdstorage.fragment.GdTimeReportFragment;
+import com.uas.gdstorage.fragment.GdWorkPauseFragment;
+import com.uas.gdstorage.fragment.GdWorkStartFragment;
+import com.uas.gdstorage.fragment.GdWorkSwitchFragment;
+import com.uas.gdstorage.fragment.QualityManageFragment;
+import com.uas.gdstorage.fragment.StorageInAddDetailFragment;
+import com.uas.gdstorage.fragment.StorageInAddFragment;
+import com.uas.gdstorage.fragment.StorageInAddListFragment;
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.interfaces.BackHandlerInterface;
+import com.uas.gdstorage.tools.DataSourceManager;
+import com.uas.gdstorage.util.CameraUtil;
+import com.uas.gdstorage.util.Constants;
+
+public class FunctionActivity extends BaseActivity implements View.OnClickListener, BackHandlerInterface {
+    private Button btnBack, mSearchBtn, mMoreBtn;
+    private TextView mSubmitBtn;
+    private RelativeLayout mActionBarLayout;
+    static TextView actionBarTextView;
+    private ImageView mPrintImageView, mScanImageView, mSmtQueryImageView, mListImageView, mDeleteImageView;
+    public BaseFragment mFragment;
+    private StringRequest mStringRequest;
+
+    public static final String TAG_INMAKE = "inmakeFragment";
+    public static final String TAG_OUTMAKE = "outmakeFragment";
+    public static final String TAG_SCMAKE_SMT = "smtFragment";
+    public static final String TAG_SCMAKE_PREPARE = "scmakeFragment";
+    public static final String TAG_SCMAKE_FEEDER = "pfmakeFragment";
+    private String sc_code;
+    private String ma_code;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
+        setContentView(R.layout.activity_function);
+        //获取组件
+        btnBack = (Button) findViewById(R.id.btn_actionbar_withback);
+        mSearchBtn = (Button) findViewById(R.id.btn_actionbar_right);
+        mMoreBtn = (Button) findViewById(R.id.btn_actionbar_more);
+        mSubmitBtn = (TextView) findViewById(R.id.btn_actionbar_submit);
+        mPrintImageView = (ImageView) findViewById(R.id.btn_actionbar_print_iv);
+        mScanImageView = (ImageView) findViewById(R.id.btn_actionbar_scan_iv);
+        mSmtQueryImageView = (ImageView) findViewById(R.id.btn_actionbar_smt_query_iv);
+        mListImageView = (ImageView) findViewById(R.id.btn_actionbar_list_icon_iv);
+        mDeleteImageView = (ImageView) findViewById(R.id.btn_actionbar_delete_icon_iv);
+
+        actionBarTextView = (TextView) findViewById(R.id.tv_actionbar_withback);
+        mActionBarLayout = (RelativeLayout) findViewById(R.id.include_menuactionbar);
+
+        //添加监听事件
+        btnBack.setOnClickListener(this);
+
+        //获取用户选择的功能名称
+        Intent intent = getIntent();
+        String funName = intent.getStringExtra(DataSourceManager.KEY_GRID_ITEMNAME);
+        sc_code = intent.getStringExtra(Constants.FLAG.SC_CODE);
+        ma_code = intent.getStringExtra(Constants.FLAG.MA_CODE);
+        //加载对应的Fragment
+        //防止系统内存不足将activity回收时产生Fragment重叠的问题
+        if (savedInstanceState == null) {
+            Bundle mbundle = new Bundle();
+            switch (funName) {
+                //上料
+                case GloableParams.GRIDNAME_IN_MATERIAL:
+                    mFragment = new GdMaterialInFragment();
+                    break;
+                //工单启动
+                case GloableParams.GRIDNAME_WORK_START:
+                    mFragment = new GdWorkStartFragment();
+                    break;
+                //工单暂停
+                case GloableParams.GRIDNAME_WORK_PAUSE:
+                    mFragment = new GdWorkPauseFragment();
+                    break;
+                //工单切换
+                case GloableParams.GRIDNAME_WORK_SWITCH:
+                    mFragment = new GdWorkSwitchFragment();
+                    break;
+                //实时报工
+                case GloableParams.GRIDNAME_TIME_REPORT:
+                    mFragment = new GdTimeReportFragment();
+                    break;
+                //人员换岗
+                case GloableParams.GRIDNAME_STAFF_CHANGE:
+                    mFragment = new GdStaffChangeFragment();
+                    break;
+                case GloableParams.HOME_QUALITY_MANAGE:
+                    mFragment = new QualityManageFragment();
+                    break;
+            }
+            //添加Fragment
+            mbundle.putString(Constants.FLAG.SC_CODE, sc_code);
+            mbundle.putString(Constants.FLAG.MA_CODE, ma_code);
+            if (mFragment != null) {
+                mFragment.setArguments(mbundle);
+                getSupportFragmentManager().beginTransaction()
+                        .add(R.id.container_function_fragment, mFragment).commitAllowingStateLoss();
+            }
+        }
+
+    }
+
+    @Override
+    protected void initViews() {
+
+    }
+
+    @Override
+    protected void initEvents() {
+
+    }
+
+    @Override
+    protected void initDatas() {
+
+    }
+
+    //设置Actionbar标题
+    public static void setTitle(String title) {
+        actionBarTextView.setText(title);
+    }
+
+    public void setActionBarVisible(boolean isVisible) {
+        if (isVisible) {
+            mActionBarLayout.setVisibility(View.VISIBLE);
+        } else {
+            mActionBarLayout.setVisibility(View.GONE);
+        }
+    }
+
+    public void setSearchBtnVisible(boolean isVisible) {
+        if (isVisible) {
+            mSearchBtn.setVisibility(View.VISIBLE);
+        } else {
+            mSearchBtn.setVisibility(View.GONE);
+        }
+    }
+
+    public void setMoreBtnVisible(boolean isVisible) {
+        if (isVisible) {
+            mMoreBtn.setVisibility(View.VISIBLE);
+        } else {
+            mMoreBtn.setVisibility(View.GONE);
+        }
+    }
+
+    public void setSubmitBtnVisible(boolean isVisible) {
+        if (isVisible) {
+            mSubmitBtn.setVisibility(View.VISIBLE);
+        } else {
+            mSubmitBtn.setVisibility(View.GONE);
+        }
+    }
+
+    public void setPrintIvVisible(boolean isVisible) {
+        if (isVisible) {
+            mPrintImageView.setVisibility(View.VISIBLE);
+        } else {
+            mPrintImageView.setVisibility(View.GONE);
+        }
+    }
+
+    public void setScanIvVisible(boolean isVisible) {
+        if (isVisible && CameraUtil.hasCamera()) {
+            mScanImageView.setVisibility(View.VISIBLE);
+        } else {
+            mScanImageView.setVisibility(View.GONE);
+        }
+    }
+
+    public void setSmtQueryIvVisible(boolean isVisible) {
+        if (isVisible && CameraUtil.hasCamera()) {
+            mSmtQueryImageView.setVisibility(View.VISIBLE);
+        } else {
+            mSmtQueryImageView.setVisibility(View.GONE);
+        }
+    }
+
+    public void setListIconIvVisible(boolean isVisible) {
+        if (isVisible) {
+            mListImageView.setVisibility(View.VISIBLE);
+        } else {
+            mListImageView.setVisibility(View.GONE);
+        }
+    }
+
+    public void setDeleteImageView(boolean isVisible) {
+        if (isVisible) {
+            mDeleteImageView.setVisibility(View.VISIBLE);
+        } else {
+            mDeleteImageView.setVisibility(View.GONE);
+        }
+    }
+
+    @Override
+    public void onClick(View v) {
+
+        if (mFragment.onFragmentBackPressed()) {
+            return;
+        }
+        backEvent();
+    }
+
+    private void backEvent() {
+        if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
+            finish();
+        } else {
+            getSupportFragmentManager().popBackStack();
+        }
+    }
+
+    //键盘后退
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        if (mFragment.onKeyDown(keyCode, event)) {
+            Log.e("FunctionActivity", "onKeydown is true");
+            return true;
+        }
+
+        Log.e("FunctionActivity", "onKeydown is false");
+        return super.onKeyDown(keyCode, event);
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (mFragment.onFragmentBackPressed()) {
+            return;
+        }
+        super.onBackPressed();
+    }
+
+    @Override
+    public void setSelectedFragment(BaseFragment baseFragment) {
+        mFragment = baseFragment;
+    }
+}

+ 172 - 0
app/src/main/java/com/uas/gdstorage/activity/HomeActivity.java

@@ -0,0 +1,172 @@
+package com.uas.gdstorage.activity;
+
+import android.Manifest;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.view.Gravity;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.GridView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.SimpleAdapter;
+import android.widget.TextView;
+
+import com.android.volley.toolbox.StringRequest;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.application.PdaApplication;
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.tools.DataSourceManager;
+import com.uas.gdstorage.tools.VolleyUtil;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.PermissionUtil;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+public class HomeActivity extends BaseActivity implements AdapterView.OnItemClickListener {
+    private ArrayList<HashMap<String, Object>> gridItemList;
+    private GridView menuGridView;
+    private TextView actionbarTextVeiw;
+    int pageType = VolleyUtil.ACTIVITY_MENU;
+    private PopupWindow mExitPopupWindow;
+    private TextView mCancelTextView, mMinimizeTextView, mExitTextView;
+
+    @Override
+    protected void onDestroy() {
+        //清除全部App缓存
+//        SharedPreUtil.removeAll(getApplicationContext());
+        VolleyUtil.distoryVolley();
+        super.onDestroy();
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+    }
+
+    @Override
+    protected void initViews() {
+        setContentView(R.layout.activity_home);
+        menuGridView = (GridView) findViewById(R.id.grid_menu);
+        actionbarTextVeiw = (TextView) findViewById(R.id.actionbar);
+        actionbarTextVeiw.setText("UAS车间工作站管理");
+
+        gridItemList = DataSourceManager.getDataSourceManager().getHomeGridItemList();
+        SimpleAdapter adapter = new SimpleAdapter(this, gridItemList, R.layout.item_grid,
+                new String[]{DataSourceManager.KEY_GRID_ITEMIMG, DataSourceManager.KEY_GRID_ITEMNAME},
+                new int[]{R.id.griditem_img, R.id.griditem_name});
+        menuGridView.setAdapter(adapter);
+
+
+        View view = View.inflate(this, R.layout.pop_exit_application, null);
+        mCancelTextView = (TextView) view.findViewById(R.id.pop_exit_cancel_tv);
+        mMinimizeTextView = (TextView) view.findViewById(R.id.pop_exit_minimize_tv);
+        mExitTextView = (TextView) view.findViewById(R.id.pop_exit_exit_tv);
+
+        mExitPopupWindow = new PopupWindow(view, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        mExitPopupWindow.setBackgroundDrawable(new BitmapDrawable());
+        mExitPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeExitPopupWindow();
+            }
+        });
+    }
+
+    @Override
+    protected void initEvents() {
+        menuGridView.setOnItemClickListener(this);
+        menuGridView.setOnTouchListener(new View.OnTouchListener() {
+            @Override
+            public boolean onTouch(View v, MotionEvent event) {
+                //控制gridView不滚动
+                if (event.getAction() == MotionEvent.ACTION_MOVE)
+                    return true;
+                return false;
+            }
+        });
+        mCancelTextView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                closeExitPopupWindow();
+            }
+        });
+
+        mExitTextView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                PdaApplication.removeAllDataCache();
+                System.exit(0);
+            }
+        });
+
+        mMinimizeTextView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                closeExitPopupWindow();
+                moveTaskToBack(isFinishing());
+//                Intent intent = new Intent(Intent.ACTION_MAIN);
+//                intent.addCategory(Intent.CATEGORY_HOME);
+//                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+//                startActivity(intent);
+            }
+        });
+    }
+
+    @Override
+    protected void initDatas() {
+
+    }
+
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+        String itemName = (String) gridItemList.get(position).get(DataSourceManager.KEY_GRID_ITEMNAME);
+        switch (itemName) {
+            case GloableParams.HOME_DISPATCH_MANAGE:
+                startActivity(new Intent(HomeActivity.this, IndexActivity.class));
+                break;
+            case GloableParams.HOME_QUALITY_MANAGE:
+                Intent intent = new Intent(HomeActivity.this, FunctionActivity.class);
+                intent.putExtra(DataSourceManager.KEY_GRID_ITEMNAME, itemName);
+                startActivity(intent);
+                break;
+        }
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        if (requestCode == PermissionUtil.DEFAULT_REQUEST) {
+            if (grantResults.length != 1 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
+                //没有获取到权限
+            } else {
+
+            }
+        }
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (mExitPopupWindow.isShowing()) {
+            closeExitPopupWindow();
+        } else {
+            if (mExitPopupWindow != null) {
+                CommonUtil.setBackgroundAlpha(this, 0.5f);
+                mExitPopupWindow.showAtLocation(getWindow().getDecorView(), Gravity.CENTER, 0, 0);
+            }
+        }
+    }
+
+    private void closeExitPopupWindow() {
+        if (mExitPopupWindow != null) {
+            mExitPopupWindow.dismiss();
+            CommonUtil.setBackgroundAlpha(this, 1f);
+        }
+    }
+}

+ 644 - 0
app/src/main/java/com/uas/gdstorage/activity/IndexActivity.java

@@ -0,0 +1,644 @@
+package com.uas.gdstorage.activity;
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v7.app.AlertDialog;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.Window;
+import android.widget.AdapterView;
+import android.widget.Button;
+import android.widget.GridView;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.SimpleAdapter;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.android.volley.toolbox.StringRequest;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.application.PdaApplication;
+import com.uas.gdstorage.fragment.BaseFragment;
+import com.uas.gdstorage.fragment.WorkOrderSearchFragment;
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.listener.MyEditorActionListener;
+import com.uas.gdstorage.tools.DataSourceManager;
+import com.uas.gdstorage.tools.SharedPreUtil;
+import com.uas.gdstorage.tools.VolleyUtil;
+import com.uas.gdstorage.util.CameraUtil;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.Constants;
+import com.uas.gdstorage.util.FastjsonUtil;
+import com.uas.gdstorage.util.HttpCallback;
+import com.uas.gdstorage.util.HttpParams;
+import com.uas.gdstorage.util.LogUtil;
+import com.uas.gdstorage.util.PermissionUtil;
+import com.uas.gdstorage.util.StringUtil;
+import com.uas.gdstorage.util.VollyRequest;
+import com.uas.gdstorage.view.ClearableEditText;
+import com.uas.gdstorage.view.business.StaffUpPopup;
+import com.uuzuche.lib_zxing.activity.CaptureActivity;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import javax.crypto.Mac;
+
+import razerdp.basepopup.BasePopupWindow;
+
+public class IndexActivity extends BaseActivity implements AdapterView.OnItemClickListener, View.OnClickListener, StaffUpPopup.OnStaffUpListener {
+    private final int SCAN_STAFF_CODE = 0x999;
+    private static final String TAG = "IndexActivity";
+    private ArrayList<HashMap<String, Object>> gridItemList;
+    private GridView menuGridView;
+    private TextView actionbarTextVeiw;
+    private PopupWindow mExitPopupWindow;
+    private TextView mPositionR, mFeeding, mCurDoc, mUnfinish, mEmCodeTv, mEmNameTv, mScName, mStaffTextView, mScrapTextView;
+    private String sc_code = null, mStaffName, mStaffCode;
+    private RefreshLayout mRefreshLayout;
+    private PopupWindow editPW;
+    private String MACODE = null; //工单编号
+    public BaseFragment mFragment;
+    private ClearableEditText edit_et;
+    private Button mBackButton;
+    private StaffUpPopup mStaffUpPopup;
+
+    @Override
+    protected void onDestroy() {
+//        SharedPreUtil.removeAll(getApplicationContext());
+        VolleyUtil.distoryVolley();
+        super.onDestroy();
+    }
+
+    @Override
+    protected void initViews() {
+        setContentView(R.layout.activity_index);
+        mEmCodeTv = findViewById(R.id.em_code_tv);
+        mEmNameTv = findViewById(R.id.em_name_tv);
+        actionbarTextVeiw = (TextView) findViewById(R.id.actionbar);
+        actionbarTextVeiw.setText("UAS车间工作站管理");
+        menuGridView = (GridView) findViewById(R.id.grid_menu);
+        mPositionR = (TextView) findViewById(R.id.index_position_resource);
+        mScName = (TextView) findViewById(R.id.scname_tv);
+        mFeeding = (TextView) findViewById(R.id.index_feeding);
+        mCurDoc = (TextView) findViewById(R.id.index_cur_doc);
+        mUnfinish = (TextView) findViewById(R.id.index_unfinish_number);
+        mBackButton = findViewById(R.id.btn_actionbar_withback);
+        mStaffTextView = findViewById(R.id.index_staff_info_tv);
+        mScrapTextView = findViewById(R.id.index_scrap_number);
+
+        findViewById(R.id.index_edit).setOnClickListener(this);
+        mRefreshLayout = findViewById(R.id.SmartRefreshLayout_id);
+        mRefreshLayout.setEnableLoadMore(false);
+        gridItemList = DataSourceManager.getDataSourceManager().getIndexMainGridItemList();
+        findViewById(R.id.btn_actionbar_scan_iv).setOnClickListener(this);
+        SimpleAdapter adapter = new SimpleAdapter(this, gridItemList, R.layout.item_grid,
+                new String[]{DataSourceManager.KEY_GRID_ITEMIMG, DataSourceManager.KEY_GRID_ITEMNAME},
+                new int[]{R.id.griditem_img, R.id.griditem_name});
+        menuGridView.setAdapter(adapter);
+
+        mStaffUpPopup = new StaffUpPopup(this, this);
+
+        View view = View.inflate(this, R.layout.pop_exit_application, null);
+        view.findViewById(R.id.pop_exit_cancel_tv).setOnClickListener(this);
+        view.findViewById(R.id.pop_exit_minimize_tv).setOnClickListener(this);
+        view.findViewById(R.id.pop_exit_exit_tv).setOnClickListener(this);
+
+        mExitPopupWindow = new PopupWindow(view, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        mExitPopupWindow.setBackgroundDrawable(new BitmapDrawable());
+        mExitPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeExitPopupWindow();
+            }
+        });
+
+        mFragment = new WorkOrderSearchFragment();
+    }
+
+    @Override
+    protected void initEvents() {
+        menuGridView.setOnItemClickListener(this);
+        menuGridView.setOnTouchListener(new View.OnTouchListener() {
+            @Override
+            public boolean onTouch(View v, MotionEvent event) {
+                //控制gridView不滚动
+                if (event.getAction() == MotionEvent.ACTION_MOVE)
+                    return true;
+                return false;
+            }
+        });
+
+        mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
+            @Override
+            public void onRefresh(RefreshLayout refreshLayout) {
+                if (StringUtil.isEmpty(sc_code)) {
+                    CommonUtil.toastNoRepeat(IndexActivity.this, "请先采集岗位资源");
+                    mRefreshLayout.finishRefresh(0);
+                    return;
+                }
+                getDeviceline(sc_code);
+                mRefreshLayout.finishRefresh(0);
+            }
+        });
+
+        mBackButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+            }
+        });
+    }
+
+    @Override
+    public void onClick(View v) {
+        int Id = v.getId();
+        switch (Id) {
+            case R.id.pop_exit_cancel_tv:
+                closeExitPopupWindow();
+                break;
+            case R.id.pop_exit_exit_tv:
+                PdaApplication.removeAllDataCache();
+                System.exit(0);
+                break;
+            case R.id.pop_exit_minimize_tv:
+                closeExitPopupWindow();
+                moveTaskToBack(isFinishing());
+                break;
+            case R.id.index_edit:
+                initEditPopupWindow(v);
+                break;
+            case R.id.btn_actionbar_scan_iv:
+                if (CameraUtil.hasCamera()) {
+                    Intent intent = new Intent();
+                    intent.setClass(IndexActivity.this, CaptureActivity.class);
+                    startActivityForResult(intent, Constants.FLAG.SCAN_BARCODE_CODE);
+                } else {
+                    CommonUtil.toastNoRepeat(IndexActivity.this, getString(R.string.no_camera_detected));
+                }
+                break;
+            default:
+        }
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+
+        if (data != null && data.getExtras() != null) {
+            if (requestCode == Constants.FLAG.SCAN_BARCODE_CODE && resultCode == Activity.RESULT_OK) {
+                String result = data.getExtras().getString(CodeUtils.RESULT_STRING) + "";
+                LogUtil.i("onActivityResult", result);
+                if (!StringUtil.isEmpty(result)) {
+                    mPositionR.setText(result);
+                    sc_code = result;
+                    handleCode(result, true);
+                }
+            }
+
+            if (requestCode == Constants.FLAG.GET_COMMON_ITEM && resultCode == 1847) {
+                String result = data.getStringExtra("ITEM_DATA");
+                edit_et.setText(result);
+            }
+
+            if (requestCode == SCAN_STAFF_CODE && resultCode == Activity.RESULT_OK) {
+                String scanResult = CommonUtil.getScanResult(data);
+                mStaffUpPopup.setEmidText(scanResult);
+                onStaffUp(scanResult);
+            }
+        }
+
+    }
+
+    private void initEditPopupWindow(View view) {
+        View contView = LayoutInflater.from(this).inflate(R.layout.index_edit_pup, null);
+        edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et);
+        TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv);
+        TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv);
+        ImageView search_im = contView.findViewById(R.id.search_im);
+
+//        search_im.setVisibility(View.GONE);
+        editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        editPW.setTouchable(true);
+        editPW.setBackgroundDrawable(new BitmapDrawable());
+        editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeListPopupWindow();
+            }
+        });
+        View parentView = getWindow().findViewById(Window.ID_ANDROID_CONTENT);
+        editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0);
+        CommonUtil.setBackgroundAlpha(this, 0.5f);
+
+        sure_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                String code = edit_et.getText().toString().trim();
+                handleCode(code, true);
+            }
+        });
+
+        search_im.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent(IndexActivity.this, CommonSeclecActivity.class);
+                intent.putExtra("title", "岗位资源");
+                intent.putExtra("type", 1);
+                startActivityForResult(intent, Constants.FLAG.GET_COMMON_ITEM);
+            }
+        });
+        CommonUtil.setEditorActionListener(edit_et, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+                String code = edit_et.getText().toString().trim();
+                handleCode(code, true);
+            }
+        });
+        cancle_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                closeListPopupWindow();
+            }
+        });
+    }
+
+    //修改岗位资源操作
+
+    /**
+     * @param code
+     * @param isCheck 当修改岗位资源或者切换时
+     */
+    private void handleCode(String code, Boolean isCheck) {
+        if (StringUtil.isEmpty(code)) return;
+        closeListPopupWindow();
+        if (!isCheck) {
+            getDeviceline(code);
+            return;
+        }
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_PDA_INDEX_CHECKSOURCEEMP)
+                .method(Request.Method.GET)
+                .tag(TAG + "checkSourceEmp")
+                .flag(0)
+                .addParam("sc_code", code)
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                try {
+                    JSONObject dataObject = FastjsonUtil.getJSONObject(o.toString(), "data");
+                    showDataView(dataObject);
+
+                } catch (Exception e) {
+
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(IndexActivity.this, failStr);
+            }
+
+        });
+    }
+
+    private void closeListPopupWindow() {
+        if (editPW != null) {
+            editPW.dismiss();
+            editPW = null;
+            CommonUtil.setBackgroundAlpha(this, 1f);
+        }
+
+    }
+
+    @Override
+    protected void initDatas() {
+
+    }
+
+    private void getDeviceline(String scCode) {
+        progressDialog.show();
+        mStaffCode = "";
+        mStaffName = "";
+        VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_PDA_INDEX_GETDEVICELINE)
+                .method(Request.Method.GET)
+                .tag(TAG + "getDeviceline")
+                .flag(0)
+                .addParam("sc_code", scCode)
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                try {
+                    Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(), "success");
+                    if (isSuccess) {
+                        JSONObject dataObject = FastjsonUtil.getJSONObject(o.toString(), "data");
+                        showDataView(dataObject);
+                    } else {
+
+                    }
+                    progressDialog.dismiss();
+
+                } catch (Exception e) {
+
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(IndexActivity.this, failStr);
+
+            }
+
+        });
+    }
+
+    private void showDataView(JSONObject dataObject) {
+        if (!StringUtil.isEmpty(dataObject.getString("SC_CODE"))) {
+            sc_code = dataObject.getString("SC_CODE");
+            SharedPreUtil.saveString(this, "SC_CODE", sc_code);
+            mPositionR.setText(sc_code);
+
+            String sc_name = dataObject.getString("SC_NAME");
+            if (sc_name.length() == 0 || sc_name == "") {
+                sc_name = "-";
+            }
+            sc_name = "(" + sc_name + ")";
+
+            mScName.setText(sc_name);
+        } else {
+            CommonUtil.toastNoRepeat(this, "岗位资源数据为空");
+            return;
+        }
+        if (!StringUtil.isEmpty(dataObject.getString("LI_NAME"))) {
+            mFeeding.setText(dataObject.getString("LI_NAME"));
+        } else {
+            mFeeding.setText("-");
+        }
+        if (!StringUtil.isEmpty(dataObject.getString("DL_MACODE"))) {
+            MACODE = dataObject.getString("DL_MACODE");
+            SharedPreUtil.saveString(this, "MA_CODE", dataObject.getString("DL_MACODE"));
+            mCurDoc.setText(MACODE);
+        } else {
+            mCurDoc.setText("");
+            CommonUtil.toastNoRepeat(this, "暂未在线工单,可点击工单启动进行操作");
+        }
+        if (!StringUtil.isEmpty(dataObject.getString("UNFINISHQQTY"))) {
+            mUnfinish.setText(dataObject.getString("UNFINISHQQTY"));
+        } else {
+            mUnfinish.setText("");
+        }
+
+        mScrapTextView.setText(FastjsonUtil.getText(dataObject, "MA_ONLINESCRAPQTY"));
+
+        mStaffName = FastjsonUtil.getText(dataObject, "UO_EMNAME");
+        mStaffCode = FastjsonUtil.getText(dataObject, "UO_EMCODE");
+        mStaffTextView.setText(mStaffName + (TextUtils.isEmpty(mStaffCode) ? "" : ("(" + mStaffCode + ")")));
+    }
+
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        mEmCodeTv.setText("(" + SharedPreUtil.getString(this, Constants.FLAG.CACHE_USER_EMCODE, "-") + ")");
+        mEmNameTv.setText(SharedPreUtil.getString(this, Constants.FLAG.CACHE_USER_EMNAME, "-"));
+       /* Intent intent = getIntent();
+        boolean needClear = intent.getBooleanExtra(Constants.FLAG.NEED_CLEAR_SCCODE,false);
+        String fromSc_Code = intent.getStringExtra(Constants.FLAG.SC_CODE);
+        LogUtil.i("getDevicelineneedClear",needClear+"");
+        LogUtil.i("getDevicelinefromSc_Code",fromSc_Code+"");
+        if (!StringUtil.isEmpty(fromSc_Code) && !needClear){
+            getDeviceline(fromSc_Code);
+        }else if (!StringUtil.isEmpty(fromSc_Code) && needClear){
+            sc_code = null;
+            mPositionR.setText("");
+            mFeeding.setText("");
+            mCurDoc.setText("");
+            mUnfinish.setText("");
+        }else {
+            return;
+        }*/
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        boolean needClear = intent.getBooleanExtra(Constants.FLAG.NEED_CLEAR_SCCODE, false);
+        String fromSc_Code = intent.getStringExtra(Constants.FLAG.SC_CODE);
+        LogUtil.i("getDevicelineneedClear", needClear + "");
+        LogUtil.i("getDevicelinefromSc_Code", fromSc_Code + "");
+        if (!StringUtil.isEmpty(fromSc_Code) && !needClear) {
+            handleCode(fromSc_Code, false);
+        } else if (!StringUtil.isEmpty(fromSc_Code) && needClear) {
+            sc_code = null;
+            mPositionR.setText("");
+            mScName.setText("");
+            mFeeding.setText("");
+            mCurDoc.setText("");
+            mUnfinish.setText("");
+        } else {
+            return;
+        }
+    }
+
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+        String itemName = (String) gridItemList.get(position).get(DataSourceManager.KEY_GRID_ITEMNAME);
+        //岗位
+        String station = mPositionR.getText().toString().trim();
+        if (StringUtil.isEmpty(station)) {
+            if (GloableParams.GRIDNAME_STAFF_CHANGE.equals(itemName)) {
+                goFragment(position);
+            } else {
+                CommonUtil.toastNoRepeat(this, "请先采集岗位资源");
+                return;
+            }
+        } else {
+            if (GloableParams.GRIDNAME_STAFF_UP.equals(itemName)) {
+                if (!TextUtils.isEmpty(mStaffCode)) {
+                    CommonUtil.toastNoRepeat(this, "请先将当前上线人员下线");
+                } else {
+                    mStaffUpPopup.showPopupWindow();
+                }
+            } else if (GloableParams.GRIDNAME_STAFF_DOWN.equals(itemName)) {
+                if (TextUtils.isEmpty(mStaffCode)) {
+                    CommonUtil.toastNoRepeat(this, "当前无上线人员");
+                } else {
+                    new AlertDialog.Builder(this)
+                            .setTitle("提示")
+                            .setMessage("确认将当前上线人员:" + mStaffName + "  下线?")
+                            .setNegativeButton(R.string.cancel, null)
+                            .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
+                                @Override
+                                public void onClick(DialogInterface dialog, int which) {
+                                    staffDown();
+                                }
+                            }).show();
+                }
+            } else {
+                if (TextUtils.isEmpty(mStaffCode) && (GloableParams.GRIDNAME_WORK_PAUSE.equals(itemName)
+                        || GloableParams.GRIDNAME_WORK_SWITCH.equals(itemName)
+                        || GloableParams.GRIDNAME_TIME_REPORT.equals(itemName))) {
+                    CommonUtil.toastNoRepeat(this, "当前没有上线人员,请先进行人员上线");
+                } else {
+                    //工单
+                    String workOrder = mCurDoc.getText().toString().trim();
+                    if (StringUtil.isEmpty(workOrder)) {
+                        if (GloableParams.GRIDNAME_WORK_START.equals(itemName)
+                                || GloableParams.GRIDNAME_STAFF_CHANGE.equals(itemName)) {
+                            goFragment(position);
+                        } else {
+                            CommonUtil.toastNoRepeat(this, "暂无在线工单,可点击工单启动进行操作");
+                        }
+                    } else {
+                        if (GloableParams.GRIDNAME_WORK_START.equals(itemName)) {
+                            CommonUtil.toastNoRepeat(this, "已有在线工单不需要进行工单启动");
+                        } else {
+                            goFragment(position);
+                        }
+                    }
+                }
+
+            }
+        }
+
+    }
+
+    private void staffDown() {
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_PDASHOP_DOWNSORUCEMAN)
+                .method(Request.Method.POST)
+                .addParam("sc_code", sc_code)
+                .addParam("em_code", SharedPreUtil.getString(this, Constants.FLAG.CACHE_USER_EMCODE, ""))
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                try {
+                    CommonUtil.toastNoRepeat(IndexActivity.this, "人员下线成功");
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    JSONObject dataObject = FastjsonUtil.getJSONObject(resultObject, "data");
+                    showDataView(dataObject);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(IndexActivity.this, failStr);
+            }
+        });
+    }
+
+    private void goFragment(int position) {
+        //将选中的ItemName传递给功能Activity(FunctionActivity)
+        String itemName = (String) gridItemList.get(position).get(DataSourceManager.KEY_GRID_ITEMNAME);
+        Intent intent = new Intent(IndexActivity.this, FunctionActivity.class);
+        intent.putExtra(DataSourceManager.KEY_GRID_ITEMNAME, itemName);
+        intent.putExtra(Constants.FLAG.SC_CODE, sc_code);
+        intent.putExtra(Constants.FLAG.MA_CODE, mCurDoc.getText().toString());
+        startActivity(intent);
+    }
+
+    @Override
+    public void onStaffScan() {
+        if (CameraUtil.hasCamera()) {
+            Intent intent = new Intent();
+            intent.setClass(this, CaptureActivity.class);
+            startActivityForResult(intent, SCAN_STAFF_CODE);
+        } else {
+            CommonUtil.toastNoRepeat(this, getString(R.string.no_camera_detected));
+        }
+    }
+
+    @Override
+    public void onStaffUp(String emid) {
+        if (emid != null) {
+            progressDialog.show();
+            VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                    .url(GloableParams.ADDRESS_PDASHOP_UPSORUCEMAN)
+                    .method(Request.Method.POST)
+                    .addParam("sc_code", sc_code)
+                    .addParam("em_id", emid)
+                    .addParam("em_code", SharedPreUtil.getString(this, Constants.FLAG.CACHE_USER_EMCODE, ""))
+                    .build(), new HttpCallback() {
+                @Override
+                public void onSuccess(int flag, Object o) throws Exception {
+                    progressDialog.dismiss();
+                    try {
+                        JSONObject dataObject = FastjsonUtil.getJSONObject(o.toString(), "data");
+                        showDataView(dataObject);
+                        mStaffUpPopup.dismiss();
+                        CommonUtil.toastNoRepeat(IndexActivity.this, "人员上线成功");
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+
+                @Override
+                public void onFail(int flag, String failStr) throws Exception {
+                    progressDialog.dismiss();
+                    CommonUtil.toastNoRepeat(IndexActivity.this, failStr);
+                }
+            });
+        }
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        if (requestCode == PermissionUtil.DEFAULT_REQUEST) {
+            if (grantResults.length != 1 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
+                //没有获取到权限
+            } else {
+
+            }
+        }
+    }
+
+    @Override
+    public void onBackPressed() {
+        super.onBackPressed();
+        /*if (mExitPopupWindow.isShowing()) {
+            closeExitPopupWindow();
+        } else {
+            if (mExitPopupWindow != null) {
+                CommonUtil.setBackgroundAlpha(this, 0.5f);
+                mExitPopupWindow.showAtLocation(getWindow().getDecorView(), Gravity.CENTER, 0, 0);
+            }
+        }*/
+    }
+
+    private void closeExitPopupWindow() {
+        if (mExitPopupWindow != null) {
+            mExitPopupWindow.dismiss();
+            CommonUtil.setBackgroundAlpha(this, 1f);
+        }
+    }
+
+}

+ 41 - 0
app/src/main/java/com/uas/gdstorage/activity/LineSelectActivity.java

@@ -0,0 +1,41 @@
+package com.uas.gdstorage.activity;
+
+import android.os.Bundle;
+
+import com.uas.gdstorage.adapter.QualityManageAdapter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2019/4/28
+ * Desc: 线别选择页面
+ */
+public class LineSelectActivity extends BaseSelectActivity<String, QualityManageAdapter> {
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setTitle("选择线别");
+    }
+
+    @Override
+    protected List<String> createDateList() {
+        return new ArrayList<>();
+    }
+
+    @Override
+    protected QualityManageAdapter createAdapter() {
+        return new QualityManageAdapter(new ArrayList<>());
+    }
+
+    @Override
+    protected boolean canLoadMore() {
+        return false;
+    }
+
+    @Override
+    protected List<String> requestDataList() {
+        return null;
+    }
+}

+ 157 - 0
app/src/main/java/com/uas/gdstorage/activity/MainActivity.java

@@ -0,0 +1,157 @@
+package com.uas.gdstorage.activity;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Build;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v7.app.AlertDialog;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.fragment.BaseFragment;
+import com.uas.gdstorage.fragment.ConnectServerFragment;
+import com.uas.gdstorage.fragment.LoginFragment;
+import com.uas.gdstorage.interfaces.BackHandlerInterface;
+import com.uas.gdstorage.tools.DataSourceManager;
+import com.uas.gdstorage.tools.SharedPreUtil;
+import com.uas.gdstorage.util.CommonUtil;
+import com.yanzhenjie.permission.AndPermission;
+import com.yanzhenjie.permission.Permission;
+import com.yanzhenjie.permission.Rationale;
+import com.yanzhenjie.permission.RequestExecutor;
+
+import java.util.List;
+import java.util.Map;
+
+public class MainActivity extends BaseActivity implements BackHandlerInterface {
+    public static final String KEY_URI = "key_uri";
+    private boolean isConnected;
+    private String mIp, mPort;
+    private String cacheUri;
+    private BaseFragment fragment;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+//        smoothSwitchScreen();
+        CommonUtil.initStatusBar(this, android.R.color.darker_gray);
+        setContentView(R.layout.activity_main);
+
+//        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
+        initPermissions();
+        Intent intent = getIntent();
+        if (intent != null) {
+            isConnected = intent.getBooleanExtra("isConnected", false);
+        }
+        cacheUri = SharedPreUtil.getString(this, SharedPreUtil.KEY_URI, null);
+        //当缓存不为空
+        if (cacheUri != null) {
+            //将缓存数据加载到数据源UriList
+            DataSourceManager.getDataSourceManager().setUriList(cacheUri);
+            List<Map<String, String>> list = DataSourceManager.getDataSourceManager().getUriList();
+            mIp = list.get(0).get(DataSourceManager.KEY_IP);
+            mPort = list.get(0).get(DataSourceManager.KEY_PORT);
+        }
+        if (isConnected && mIp != null && mPort != null) {
+            //跳转到LoginFragment
+            Fragment loginFragment = new LoginFragment();
+            String uri = mIp + ":" + mPort;
+            Bundle b = new Bundle();
+            b.putString(KEY_URI, uri);
+            //将Uri地址传入LoginFragment
+            loginFragment.setArguments(b);
+            getSupportFragmentManager().beginTransaction()
+                    .add(R.id.container_login_fragment, loginFragment)
+                    .commitAllowingStateLoss();
+        } else {
+            Fragment fragment = new ConnectServerFragment();
+
+            getSupportFragmentManager().beginTransaction()
+                    .add(R.id.container_login_fragment, fragment)
+                    .commit();
+        }
+
+    }
+
+    @Override
+    protected void initViews() {
+
+    }
+
+    @Override
+    protected void initEvents() {
+
+    }
+
+    @Override
+    protected void initDatas() {
+
+    }
+
+    private void initPermissions() {
+        AndPermission.with(this)
+                .runtime()
+                .permission(
+                        Permission.Group.STORAGE,
+                        Permission.Group.CAMERA
+                )
+                .rationale(new Rationale<List<String>>() {
+                    @Override
+                    public void showRationale(Context context, List<String> data, RequestExecutor executor) {
+                        new AlertDialog.Builder(MainActivity.this)
+                                .setTitle("提示")
+                                .setMessage("APP运行需要部分权限,请确认授权")
+                                .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
+                                    @Override
+                                    public void onClick(DialogInterface dialog, int which) {
+                                        executor.cancel();
+                                    }
+                                })
+                                .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
+                                    @Override
+                                    public void onClick(DialogInterface dialog, int which) {
+                                        executor.execute();
+                                    }
+                                })
+                                .show();
+                    }
+                }).start();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+//        PdaApplication.removeAllDataCache();
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (fragment.onFragmentBackPressed()) {
+            return;
+        }
+        super.onBackPressed();
+    }
+
+    @Override
+    public void setSelectedFragment(BaseFragment baseFragment) {
+        fragment = baseFragment;
+    }
+
+    private void smoothSwitchScreen() {
+        // 5.0以上修复了此bug
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
+            ViewGroup rootView = ((ViewGroup) this.findViewById(android.R.id.content));
+            int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
+            int statusBarHeight = getResources().getDimensionPixelSize(resourceId);
+            rootView.setPadding(0, statusBarHeight, 0, 0);
+            getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
+            //会影响adjustPan属性,导致软键盘弹出时页面不被顶上去
+//        getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
+        }
+    }
+
+
+}

+ 169 - 0
app/src/main/java/com/uas/gdstorage/activity/SearchMaterialActivity.java

@@ -0,0 +1,169 @@
+package com.uas.gdstorage.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.Toast;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.adapter.SearchMaterialNumberAdapter;
+import com.uas.gdstorage.database.DBManager;
+import com.uas.gdstorage.table.TableLPRODIONEEDGET;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.Constants;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2016/7/29.
+ * 料号查找页面
+ */
+@Deprecated
+public class SearchMaterialActivity extends BaseActivity implements AdapterView.OnItemClickListener {
+    private String mPiId, mWhcode;
+    private List<TableLPRODIONEEDGET> mLprodioneedgetList;
+    private Button mBackBtn;
+    private EditText mMaterialNumberEt;
+    private ImageView mSearchIv;
+    private ListView mMaterialListLv;
+
+    private SearchMaterialNumberAdapter mSearchMaterialNumberAdapter;
+
+    private List<TableLPRODIONEEDGET> allMaterialMsg;
+
+    private DBManager mDbManager;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+    }
+
+    @Override
+    protected void initViews() {
+        setContentView(R.layout.activity_search_material);
+        mDbManager = new DBManager(this);
+        Intent intent = getIntent();
+        mPiId = intent.getStringExtra("pi_id");
+        mWhcode = intent.getStringExtra("pd_whcode");
+        String initString = intent.getStringExtra("current_input");
+
+        mLprodioneedgetList = new ArrayList<TableLPRODIONEEDGET>();
+
+        mBackBtn = (Button) findViewById(R.id.search_material_withback_btn);
+        mMaterialNumberEt = (EditText) findViewById(R.id.search_material_number_et);
+        mSearchIv = (ImageView) findViewById(R.id.search_material_search_btn);
+        mMaterialListLv = (ListView) findViewById(R.id.search_material_list_lv);
+
+        mSearchMaterialNumberAdapter = new SearchMaterialNumberAdapter(this, mLprodioneedgetList);
+
+        mMaterialNumberEt.setText(initString);
+
+        try {
+            if (mDbManager.getDb().isOpen()) {
+                allMaterialMsg = mDbManager.queryFromProductWaitCollect(new String[]{"in", mPiId, mWhcode, "0.0", "0", "-1"}, "inOrOut=? and LPN_PIID=? and LPN_WHCODE=? and LPN_RESTQTY!=? and LPN_RESTQTY!=? and LPN_RESTQTY!=?");
+                /*List<Integer> zeroMaterial = new ArrayList<>();
+                for (int i = 0; i < allMaterialMsg.size(); i++) {
+                    if ((int)allMaterialMsg.get(i).getLPN_RESTQTY() == 0){
+                        zeroMaterial.add(i);
+                    }
+                }
+                for (int i = 0; i < zeroMaterial.size(); i++) {
+                    allMaterialMsg.remove(zeroMaterial.get(i));
+                }*/
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    @Override
+    protected void initEvents() {
+        mMaterialListLv.setAdapter(mSearchMaterialNumberAdapter);
+
+        mBackBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+            }
+        });
+
+        mSearchIv.setOnClickListener(new View.OnClickListener() {
+                                         @Override
+                                         public void onClick(View v) {
+                                             progressDialog.show();
+                                             mLprodioneedgetList.clear();
+                                             if (allMaterialMsg != null) {
+                                                 for (int i = 0; i < allMaterialMsg.size(); i++) {
+                                                     if (mPiId.equals(allMaterialMsg.get(i).getLPN_PIID() + "") && mWhcode.equals(allMaterialMsg.get(i).getLPN_WHCODE())) {
+                                                         mLprodioneedgetList.add(allMaterialMsg.get(i));
+                                                     }
+                                                 }
+                                             }
+                                             String searchString = mMaterialNumberEt.getText().toString().trim();
+                                             List<TableLPRODIONEEDGET> mSearchResultList = new ArrayList<TableLPRODIONEEDGET>();
+                                             if (mLprodioneedgetList.size() != 0) {
+                                                 for (int i = 0; i < mLprodioneedgetList.size(); i++) {
+                                                     if (mLprodioneedgetList.get(i).getLPN_PRODCODE().contains(searchString)) {
+                                                         mSearchResultList.add(mLprodioneedgetList.get(i));
+                                                     }
+                                                 }
+                                                 mLprodioneedgetList.clear();
+                                                 mLprodioneedgetList.addAll(mSearchResultList);
+                                                 mSearchMaterialNumberAdapter.notifyDataSetChanged();
+                                                 if (mSearchResultList.size() != 0)
+                                                     Toast.makeText(SearchMaterialActivity.this, "查找成功", Toast.LENGTH_SHORT).show();
+                                                 progressDialog.dismiss();
+                                             } else {
+                                                 progressDialog.dismiss();
+                                                 mLprodioneedgetList.clear();
+                                                 mSearchMaterialNumberAdapter.notifyDataSetChanged();
+                                                 Toast.makeText(SearchMaterialActivity.this, "没有相关数据", Toast.LENGTH_SHORT).show();
+                                             }
+                                         }
+                                     }
+
+        );
+
+        mMaterialListLv.setOnItemClickListener(this);
+    }
+
+    @Override
+    protected void initDatas() {
+        if (allMaterialMsg != null || allMaterialMsg.size() == 0) {
+            for (int i = 0; i < allMaterialMsg.size(); i++) {
+                if (mPiId.equals(allMaterialMsg.get(i).getLPN_PIID() + "") && mWhcode.equals(allMaterialMsg.get(i).getLPN_WHCODE())) {
+                    mLprodioneedgetList.add(allMaterialMsg.get(i));
+                }
+            }
+            mSearchMaterialNumberAdapter.notifyDataSetChanged();
+
+        } else {
+            CommonUtil.toastNoRepeat(this, "没有符合条件的物料");
+        }
+
+    }
+
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+        TableLPRODIONEEDGET selectItem = mSearchMaterialNumberAdapter.getItem(position);
+
+        Intent intent = getIntent();
+        intent.putExtra("select_material", selectItem);
+        setResult(Constants.FLAG.RESULT_SEARCH_MATERIAL, intent);
+        finish();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        mDbManager.closeDB();
+    }
+}

+ 424 - 0
app/src/main/java/com/uas/gdstorage/activity/SelectNetAcitivty.java

@@ -0,0 +1,424 @@
+package com.uas.gdstorage.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
+import com.handmark.pulltorefresh.library.PullToRefreshListView;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.listener.MyEditorActionListener;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.FastjsonUtil;
+import com.uas.gdstorage.util.HttpCallback;
+import com.uas.gdstorage.util.HttpParams;
+import com.uas.gdstorage.util.ListUtils;
+import com.uas.gdstorage.util.StringUtil;
+import com.uas.gdstorage.util.VollyRequest;
+import com.uas.gdstorage.view.ClearableEditText;
+import com.uas.gdstorage.view.EmptyLayout;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * Created by RaoMeng on 2019/5/22
+ * Desc: dbfind选择页面
+ */
+public class SelectNetAcitivty extends BaseActivity implements View.OnClickListener {
+    private Button mBackButton;
+    private TextView mTitleTextView, mSearchButton;
+    private ClearableEditText mSearchEditText;
+    private String lastKey;
+    private int page = 1;
+
+    //intent
+    private String caller;//传进来的主表caller
+    private String gCaller;//传进来的附表caller,当是明细表时候存在
+    private String fieldKey;
+    private String corekey;
+    private String caption;
+    private boolean dataForm;
+
+    private PullToRefreshListView refreshListView;
+    private EmptyLayout mEmptyLayout;
+    private int groupId;
+    private String mDefCondition;//默认的前提mDefCondition
+
+    private boolean isForm;
+
+    @Override
+    protected void initViews() {
+        setContentView(R.layout.acitivty_net_select);
+
+        Intent intent = getIntent();
+        if (intent != null) {
+            fieldKey = intent.getStringExtra("fieldKey");
+            caller = intent.getStringExtra("caller");
+            gCaller = intent.getStringExtra("gCaller");
+            dataForm = intent.getBooleanExtra("dataForm", false);
+            corekey = intent.getStringExtra("corekey");
+            groupId = intent.getIntExtra("groupId", 0);
+            mDefCondition = intent.getStringExtra("mCondition");
+            caption = intent.getStringExtra("caption");
+            isForm = intent.getBooleanExtra("isForm", true);
+        }
+        mBackButton = findViewById(R.id.btn_actionbar_withback);
+        mTitleTextView = findViewById(R.id.tv_actionbar_withback);
+        mTitleTextView.setText(caption);
+        mSearchButton = findViewById(R.id.common_search_btn);
+        mSearchEditText = findViewById(R.id.common_search_et);
+        mSearchEditText.setHint(caption);
+        refreshListView = (PullToRefreshListView) findViewById(R.id.refreshListView);
+        refreshListView.setMode(PullToRefreshBase.Mode.BOTH);
+        mEmptyLayout = new EmptyLayout(this, refreshListView.getRefreshableView());
+        mEmptyLayout.setShowLoadingButton(false);
+        mEmptyLayout.setShowEmptyButton(false);
+        mEmptyLayout.setShowErrorButton(false);
+        mEmptyLayout.setEmptyMessage("暂无数据");
+
+        if (dataForm) {
+            refreshListView.setMode(PullToRefreshBase.Mode.DISABLED);
+        } else {
+            refreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
+                @Override
+                public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
+                    loadSearch(page = 1, lastKey);
+                }
+
+                @Override
+                public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
+                    loadSearch(++page, lastKey);
+                }
+            });
+        }
+    }
+
+    @Override
+    protected void initEvents() {
+        mBackButton.setOnClickListener(this);
+        CommonUtil.setEditorActionListener(mSearchEditText, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+                lastKey = text;
+                showLoading();
+                loadSearch(page = 1, lastKey);
+            }
+        });
+        mSearchButton.setOnClickListener(this);
+
+    }
+
+    @Override
+    protected void initDatas() {
+        loadSearch(page = 1, lastKey = "");
+        showLoading();
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.btn_actionbar_withback:
+                finish();
+                break;
+            case R.id.common_search_btn:
+                lastKey = mSearchEditText.getText().toString().trim();
+                showLoading();
+                loadSearch(page = 1, lastKey);
+                break;
+        }
+    }
+
+    private void findByLocal() {
+        List<Bean> showModels = null;
+        if (ListUtils.getSize(allModels) > 0) {
+            if (TextUtils.isEmpty(lastKey)) {
+                showModels = allModels;
+            } else {
+                showModels = new ArrayList<>();
+                for (Bean e : allModels) {
+                    if (e != null && !TextUtils.isEmpty(e.showName) && e.showName.toUpperCase().contains(lastKey)) {
+                        showModels.add(e);
+                    }
+                }
+            }
+            showByAdapter(showModels);
+        }
+    }
+
+    private String getCondition(String keyWork) {
+        StringBuilder builder = new StringBuilder(StringUtil.isEmpty(mDefCondition) ? "" : (mDefCondition + " and ("));
+        if (configMap == null || configMap.isEmpty()) {
+            builder.append("upper(" + (StringUtil.isEmpty(corekey) ? fieldKey : corekey) + ") like '%" + keyWork.toUpperCase() + "%'");
+        } else {
+            for (Map.Entry<String, String> e : configMap.entrySet()) {
+                builder.append("upper(" + e.getKey() + ") like '%" + keyWork.toUpperCase() + "%' or ");
+            }
+            if (builder.length() > 3) {
+                builder.delete(builder.length() - 3, builder.length() - 1);
+            }
+        }
+        if (!StringUtil.isEmpty(mDefCondition)) {
+            builder.append(" ) ");
+        }
+        return builder.toString();
+    }
+
+
+    private void loadSearch(int page, final String keyWork) {
+        refreshListView.setMode(PullToRefreshBase.Mode.BOTH);
+        String condition = null;
+        if (StringUtil.isEmpty(keyWork)) {
+            if (StringUtil.isEmpty(mDefCondition)) {
+                condition = "1=1";
+            } else {
+                condition = mDefCondition;
+            }
+        } else {
+            condition = getCondition(keyWork);
+        }
+
+        boolean isForm = StringUtil.isEmpty(gCaller);
+        Map<String, String> params = new HashMap<>();
+        params.put("which", isForm ? "form" : "grid");
+        params.put("caller", isForm ? caller : gCaller);
+        params.put("field", fieldKey);
+        params.put("condition", condition);
+        params.put("ob", "");
+        params.put("_config", "");
+        params.put("page", page + "");
+        params.put("pageSize", dataForm ? "10000" : "20");
+        if (!isForm) {
+            params.put("gridField", fieldKey);
+            params.put("gridCaller", caller);//主从(单据caller   副从表传 本身的caller)
+        }
+
+        VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_COMMON_DBFIND)
+                .method(Request.Method.GET)
+                .tag("commondbfind")
+                .flag(0)
+                .setParams(params).build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                if (!lastKey.equals(keyWork)) return;
+                try {
+                    handleData(o.toString());
+                    dimssLoading();
+                } catch (Exception e) {
+                    dimssLoading();
+                    if (mAdapter == null || ListUtils.isEmpty(mAdapter.models)) {
+                        mEmptyLayout.showEmpty();
+                    }
+                }
+                refreshListView.onRefreshComplete();
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                dimssLoading();
+
+                CommonUtil.toastNoRepeat(SelectNetAcitivty.this, failStr);
+                refreshListView.onRefreshComplete();
+            }
+        });
+    }
+
+    private ListAdapter mAdapter = null;
+
+
+    private void handleData(String messgae) throws Exception {
+        JSONObject object = JSON.parseObject(messgae);
+        JSONArray dbfinds = FastjsonUtil.getJSONArray(object, "dbfinds", "gridDbfinds");
+        String dataStr = FastjsonUtil.getText(object, "data");
+        JSONArray data = JSON.parseArray(dataStr);
+        setData2Adapter(data, dbfinds);
+    }
+
+    private Map<String, String> configMap;
+
+    private String fieldKeyLike = null;
+
+    private void setData2Adapter(JSONArray data, JSONArray dbfinds) throws Exception {
+        if (configMap == null || TextUtils.isEmpty(fieldKeyLike)) {
+            configMap = new LinkedHashMap<>();
+            //获取配置
+            JSONObject config = null;
+            for (int i = 0; i < dbfinds.size(); i++) {
+                config = dbfinds.getJSONObject(i);
+                String dbGridField = FastjsonUtil.getText(config, "dbGridField", "ds_dbfindfield");//显示值对应字段名
+                String field = FastjsonUtil.getText(config, "field", "ds_gridfield");//实际字段名
+                if (!StringUtil.isEmpty(dbGridField) && !StringUtil.isEmpty(field)) {
+                    if (field.equals(fieldKey)) {
+                        fieldKeyLike = dbGridField;
+                    }
+                    configMap.put(dbGridField, field);
+                }
+            }
+        }
+        JSONObject o = null;
+        Bean b = null;
+        List<Bean> models = new ArrayList<>();
+        Map<String, String> jsonMap = null;
+        for (int i = 0; i < data.size(); i++) {
+            o = data.getJSONObject(i);
+            b = new Bean();
+            b.name = FastjsonUtil.getText(o, fieldKeyLike);
+            jsonMap = new LinkedHashMap<>();
+            for (Map.Entry<String, String> e : configMap.entrySet()) {
+                jsonMap.put(e.getValue(), FastjsonUtil.getText(o, e.getKey()));
+            }
+            try {
+                b.showName = getShowName(jsonMap);
+            } catch (Exception e) {
+
+            }
+            b.json = FastjsonUtil.map2JSON(jsonMap);
+            if (!StringUtil.isEmpty(b.name))
+                models.add(b);
+        }
+        if (TextUtils.isEmpty(lastKey) && dataForm) {
+            allModels = models;
+        }
+        showByAdapter(models);
+    }
+
+    private List<Bean> allModels = null;
+
+    private void showByAdapter(List<Bean> models) {
+        if (mAdapter == null) {
+            mAdapter = new ListAdapter(models);
+            refreshListView.setAdapter(mAdapter);
+            refreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+                @Override
+                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                    if (mAdapter != null) {
+                        Bean model = mAdapter.getModels((int) l);
+                        setResult(90, new Intent()
+                                .putExtra("data", model.json)
+                                .putExtra("groupId", groupId)
+                                .putExtra("isForm", isForm));
+                        finish();
+
+                    }
+                }
+            });
+
+        } else {
+            if (page == 1) {
+                mAdapter.setModels(models);
+            } else {
+                mAdapter.addModls(models);
+            }
+        }
+        if (ListUtils.isEmpty(models)) {
+            mEmptyLayout.showEmpty();
+        }
+    }
+
+    private <T> String getShowName(Map<String, T> object) throws Exception {
+        StringBuilder builder = new StringBuilder();
+        for (Map.Entry<String, T> e : object.entrySet()) {
+            if (!TextUtils.isEmpty(e.getValue() + "")) {
+                builder.append(e.getValue() + ",");
+            }
+        }
+        StringUtil.removieLast(builder);
+        return builder.toString();
+    }
+
+    class ListAdapter extends BaseAdapter {
+        private List<Bean> models;
+
+        public Bean getModels(int item) {
+            if (ListUtils.getSize(models) > item) {
+                return models.get(item);
+            }
+            return null;
+        }
+
+        public ListAdapter(List<Bean> models) {
+            this.models = models;
+        }
+
+        public void setModels(List<Bean> models) {
+            this.models = models;
+            notifyDataSetChanged();
+        }
+
+        private void addModls(List<Bean> models) {
+            if (this.models == null) {
+                this.models = new ArrayList<>();
+            }
+            this.models.addAll(models);
+            notifyDataSetChanged();
+        }
+
+        @Override
+        public int getCount() {
+            return ListUtils.getSize(this.models);
+        }
+
+        @Override
+        public Object getItem(int i) {
+            return models.get(i);
+        }
+
+        @Override
+        public long getItemId(int i) {
+            return i;
+        }
+
+        @Override
+        public View getView(int i, View view, ViewGroup viewGroup) {
+            ViewHoler holer = null;
+            if (view == null) {
+                holer = new ViewHoler();
+                view = LayoutInflater.from(SelectNetAcitivty.this).inflate(R.layout.select_list_item, null);
+                holer.name_tv = (TextView) view.findViewById(R.id.name_tv);
+                holer.select_scb = (CheckBox) view.findViewById(R.id.select_scb);
+                holer.select_scb.setVisibility(View.GONE);
+                view.setTag(holer);
+            } else {
+                holer = (ViewHoler) view.getTag();
+            }
+            Bean bean = models.get(i);
+            holer.name_tv.setText(bean.getShowName());
+            return view;
+        }
+
+        class ViewHoler {
+            TextView name_tv;
+            CheckBox select_scb;
+        }
+    }
+
+    private class Bean {
+        String name;
+        String json;
+        String showName;
+
+        public String getShowName() {
+            return StringUtil.isEmpty(showName) ? name : showName;
+        }
+    }
+}

+ 174 - 0
app/src/main/java/com/uas/gdstorage/activity/SplashActivity.java

@@ -0,0 +1,174 @@
+package com.uas.gdstorage.activity;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.view.WindowManager;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.application.PdaApplication;
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.tools.DataSourceManager;
+import com.uas.gdstorage.tools.SharedPreUtil;
+import com.uas.gdstorage.tools.VolleyUtil;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.Constants;
+import com.uas.gdstorage.util.DateFormatUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 应用开机启动页面
+ * Created by RaoMeng on 2017/4/10.
+ */
+public class SplashActivity extends BaseActivity {
+    private String cacheUri;
+    private String mIp, mPort;
+    private long startLoginTime;
+
+    private Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+            long time = System.currentTimeMillis() - startLoginTime;
+            switch (msg.what) {
+                //连接成功
+                case VolleyUtil.SUCCESS_SUCCESS:
+                    //添加缓存
+                    saveCache(mIp, mPort);
+                    if (time <= 1500) {
+                        mHandler.postDelayed(new Runnable() {
+                            @Override
+                            public void run() {
+                                startLogin();
+                            }
+                        }, 1500 - time);
+                    } else {
+                        startLogin();
+                    }
+                    break;
+                //连接失败
+                case VolleyUtil.FAILED_FAILED:
+                    String notice = (String) msg.obj;
+                    CommonUtil.toastNoRepeat(SplashActivity.this, notice);
+                    if (time <= 1500) {
+                        mHandler.postDelayed(new Runnable() {
+                            @Override
+                            public void run() {
+                                startServer();
+                            }
+                        }, 1500 - time);
+                    } else {
+                        startServer();
+                    }
+                    break;
+            }
+        }
+    };
+
+    private void startLogin() {
+        Intent intent = new Intent();
+        intent.setClass(SplashActivity.this, MainActivity.class); //MainActivity
+        intent.putExtra("isConnected", true);
+        startActivity(intent);
+        finish();
+    }
+
+    private void startServer() {
+        Intent intent = new Intent();
+        intent.setClass(SplashActivity.this, MainActivity.class);//MainActivity
+        intent.putExtra("isConnected", false);
+        startActivity(intent);
+        finish();
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
+            //结束你的activity
+            finish();
+            return;
+        }
+    }
+
+    @Override
+    protected void initViews() {
+//        requestWindowFeature(Window.FEATURE_NO_TITLE);
+        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+//        CommonUtil.initStatusBar(this, R.color.transparent);
+        setContentView(R.layout.activity_splash);
+
+
+        TextView roolLogoTv = findViewById(R.id.tv_root_eng_connectserver_fragment);
+        String year = DateFormatUtils.getStrDate4Date(new Date(),DateFormatUtils.YEAR);
+        roolLogoTv.setText("Copyright @ "+year + " All Rights Reserved");
+    }
+
+    @Override
+    protected void initEvents() {
+
+    }
+
+    @Override
+    protected void initDatas() {
+        loadCache();
+    }
+
+    //加载缓存
+    private void loadCache() {
+        cacheUri = SharedPreUtil.getString(this, SharedPreUtil.KEY_URI, null);
+        //Toast.makeText(getActivity(),cacheUri,Toast.LENGTH_SHORT).show();
+        //当缓存不为空
+        if (cacheUri != null) {
+            //将缓存数据加载到数据源UriList
+            DataSourceManager.getDataSourceManager().setUriList(cacheUri);
+            List<Map<String, String>> list = DataSourceManager.getDataSourceManager().getUriList();
+            mIp = list.get(0).get(DataSourceManager.KEY_IP);
+            mPort = list.get(0).get(DataSourceManager.KEY_PORT);
+
+            startLoginTime = System.currentTimeMillis();
+            String mSystemCache = SharedPreUtil.getString(this, Constants.FLAG.SELECTED_SYSTEM_CACHE, "ERP");
+            connect(mIp, mPort, mSystemCache);
+        } else {
+            mHandler.postDelayed(new Runnable() {
+                @Override
+                public void run() {
+                    startServer();
+                }
+            }, 1500);
+        }
+    }
+
+    private void connect(String ip, String port, String site) {
+        String url = getIPAddress(ip, port, site);
+        //传递Handler对象给Volley
+        VolleyUtil.setVolleyHandler(mHandler);
+        //连接服务器
+        VolleyUtil.getVolleyUtil().requestConnectServer(this, url, VolleyUtil.METHOD_POST, VolleyUtil.FRAGMENT_CONNECTSERVER);
+    }
+
+    //添加缓存
+    private void saveCache(String ip, String port) {
+        cacheUri = DataSourceManager.getDataSourceManager().addUriItem(ip, port);
+        SharedPreUtil.saveString(this, SharedPreUtil.KEY_URI, cacheUri);
+    }
+
+    //拼接IP地址
+    private String getIPAddress(String ip, String port, String site) {
+        //将IP和port保存
+        Context ct = getApplicationContext() == null ? PdaApplication.getmContext() :
+                getApplicationContext();
+        GloableParams.setUri(ip, port, site, ct);
+        /*
+        * http://IP+端口/ERP/请求路径
+        * http://192.168.253.111:8090/ERP/oa/info/getPagingRelease.action*/
+        //   String applyAddr = "http://" + GloableParams.IP + ":" + GloableParams.PORT + GloableParams.ADDRESS_CONNECT_SERVER;
+        return GloableParams.ADDRESS_CONNECT_SERVER;
+    }
+}

+ 30 - 0
app/src/main/java/com/uas/gdstorage/adapter/AdapterFactory.java

@@ -0,0 +1,30 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+
+import java.util.List;
+
+/**
+ * Created by LiuJie on 2016/1/13.
+ */
+public class AdapterFactory {
+    private static AdapterFactory factory = null;
+
+    //工单备料,备料单列表
+    public MakePrepareAdapter createMakePrepareAdapter(Context pContext, List pList){
+        return new MakePrepareAdapter(pContext,pList);
+    }
+    //工单备料,备料采集
+    public ScMakeUncollectListAdapter createScMakeUnCollectListAdapter(Context pContext, List pList){
+        return new ScMakeUncollectListAdapter(pContext,pList);
+    }
+
+    private AdapterFactory(){}
+
+    public static AdapterFactory getAdapterFactory(){
+        if(factory == null){
+            factory = new AdapterFactory();
+        }
+        return factory;
+    }
+}

+ 198 - 0
app/src/main/java/com/uas/gdstorage/adapter/BarcodeGenerationListAdapter.java

@@ -0,0 +1,198 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.os.Handler;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.BarcodeGenerationItemBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class BarcodeGenerationListAdapter extends BaseAdapter {
+    private List<BarcodeGenerationItemBean> objects = new ArrayList<BarcodeGenerationItemBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private Handler mHandler;
+
+    public BarcodeGenerationListAdapter(Context context) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+    }
+
+    public Handler getHandler() {
+        return mHandler;
+    }
+
+    public void setHandler(Handler handler) {
+        mHandler = handler;
+    }
+
+    public List<BarcodeGenerationItemBean> getObjects() {
+        return objects;
+    }
+
+    public void setObjects(List<BarcodeGenerationItemBean> objects) {
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public BarcodeGenerationItemBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+//        if (convertView == null) {
+        convertView = layoutInflater.inflate(R.layout.item_barcode_generation_list, null);
+        convertView.setTag(new ViewHolder(convertView));
+//        }
+        initializeViews((BarcodeGenerationItemBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(final BarcodeGenerationItemBean object, final ViewHolder holder) {
+        holder.barcodeGenerationListBatchcodeTv.setText(object.getBSD_BATCHCODE());
+        holder.barcodeGenerationListCustvendcodeTv.setText(object.getBA_CUSTVENDCODE());
+        holder.barcodeGenerationListQuantityCet.setText(CommonUtil.doubleFormat(object.getRESTQTY()));
+        holder.barcodeGenerationListZxbzsCet.setText(CommonUtil.doubleFormat(object.getPR_ZXBZS()));
+        holder.barcodeGenerationListSelectCb.setChecked(object.isChecked());
+        if (object.getPR_ZXBZS() != 0) {
+            holder.barcodeGenerationListDivideTv.setText(CommonUtil.doubleFormat(Math.ceil(CommonUtil.doubleDiv(object.getRESTQTY(), object.getPR_ZXBZS(), 12))));
+        } else {
+            holder.barcodeGenerationListDivideTv.setText("0");
+        }
+
+
+        holder.barcodeGenerationListSelectCb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                object.setIsChecked(isChecked);
+                mHandler.sendEmptyMessage(0x11);
+            }
+        });
+
+//        holder.barcodeGenerationListArrowIv.setOnClickListener(new View.OnClickListener() {
+//            @Override
+//            public void onClick(View v) {
+//                holder.barcodeGenerationListZxbzsCet.setText(CommonUtil.doubleFormat(object.getRESTQTY()));
+//            }
+//        });
+
+        holder.barcodeGenerationListArrowLl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                holder.barcodeGenerationListZxbzsCet.setText(CommonUtil.doubleFormat(object.getRESTQTY()));
+            }
+        });
+
+        holder.barcodeGenerationListQuantityCet.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                if (s != null && !"".equals(s.toString())) {
+                    try {
+                        object.setRESTQTY(Double.parseDouble(s.toString()));
+                        mHandler.sendEmptyMessage(0x11);
+                        if (object.getPR_ZXBZS() != 0) {
+                            holder.barcodeGenerationListDivideTv.setText(CommonUtil.doubleFormat(Math.ceil(CommonUtil.doubleDiv(object.getRESTQTY(), object.getPR_ZXBZS(), 12))));
+                        }
+                    } catch (Exception e) {
+                        CommonUtil.toastNoRepeat(context, "只能输入数字");
+                        holder.barcodeGenerationListQuantityCet.setText(CommonUtil.doubleFormat(object.getRESTQTY()));
+                    }
+                } else {
+                    object.setRESTQTY(0);
+                    mHandler.sendEmptyMessage(0x11);
+                    holder.barcodeGenerationListDivideTv.setText("0");
+                }
+            }
+        });
+
+        holder.barcodeGenerationListZxbzsCet.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                if (s != null && !"".equals(s.toString())) {
+                    try {
+                        object.setPR_ZXBZS(Double.parseDouble(s.toString()));
+                        if (object.getPR_ZXBZS() != 0) {
+                            holder.barcodeGenerationListDivideTv.setText(CommonUtil.doubleFormat(Math.ceil(CommonUtil.doubleDiv(object.getRESTQTY(), object.getPR_ZXBZS(), 12))));
+                        }
+                    } catch (Exception e) {
+                        CommonUtil.toastNoRepeat(context, "只能输入数字");
+                        holder.barcodeGenerationListZxbzsCet.setText(CommonUtil.doubleFormat(object.getPR_ZXBZS()));
+                    }
+                } else {
+                    object.setPR_ZXBZS(0);
+                    holder.barcodeGenerationListDivideTv.setText("0");
+                }
+            }
+        });
+
+    }
+
+    protected class ViewHolder {
+        private CheckBox barcodeGenerationListSelectCb;
+        private TextView barcodeGenerationListBatchcodeTv;
+        private EditText barcodeGenerationListQuantityCet;
+        private ImageView barcodeGenerationListArrowIv;
+        private TextView barcodeGenerationListCustvendcodeTv;
+        private EditText barcodeGenerationListZxbzsCet;
+        private TextView barcodeGenerationListDivideTv;
+        private LinearLayout barcodeGenerationListArrowLl;
+
+        public ViewHolder(View view) {
+            barcodeGenerationListSelectCb = (CheckBox) view.findViewById(R.id.barcode_generation_list_select_cb);
+            barcodeGenerationListBatchcodeTv = (TextView) view.findViewById(R.id.barcode_generation_list_batchcode_tv);
+            barcodeGenerationListQuantityCet = (EditText) view.findViewById(R.id.barcode_generation_list_quantity_cet);
+            barcodeGenerationListArrowIv = (ImageView) view.findViewById(R.id.barcode_generation_list_arrow_iv);
+            barcodeGenerationListCustvendcodeTv = (TextView) view.findViewById(R.id.barcode_generation_list_custvendcode_tv);
+            barcodeGenerationListZxbzsCet = (EditText) view.findViewById(R.id.barcode_generation_list_zxbzs_cet);
+            barcodeGenerationListDivideTv = (TextView) view.findViewById(R.id.barcode_generation_list_divide_tv);
+            barcodeGenerationListArrowLl = (LinearLayout) view.findViewById(R.id.barcode_generation_list_arrow_ll);
+        }
+    }
+}

+ 81 - 0
app/src/main/java/com/uas/gdstorage/adapter/BarcodeProdcodeListAdapter.java

@@ -0,0 +1,81 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.BarcodeProdcodeItemBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class BarcodeProdcodeListAdapter extends BaseAdapter {
+
+    private List<BarcodeProdcodeItemBean> objects = new ArrayList<BarcodeProdcodeItemBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public BarcodeProdcodeListAdapter(Context context, List<BarcodeProdcodeItemBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public BarcodeProdcodeItemBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_barcode_prodcode_list, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((BarcodeProdcodeItemBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(BarcodeProdcodeItemBean object, ViewHolder holder) {
+        holder.listBarcodeProdcodeProdcodeTv.setText(object.getBSD_PRODCODE());
+        holder.listBarcodeProdcodeResqtyTv.setText(CommonUtil.doubleFormat(object.getRESTQTY()));
+        holder.listBarcodeProdcodeDetailTv.setText(object.getPR_DETAIL() + "  " + object.getPR_SPEC());
+        holder.listBarcodeProdcodeLocationTv.setText(object.getPR_LOCATION());
+        holder.listBarcodeProdcodeCgyTv.setText(object.getPR_WHNAME());
+    }
+
+    protected class ViewHolder {
+        private ImageView listBarcodeProdcodeNextIv;
+        private TextView listBarcodeProdcodeProdcodeTv;
+        private TextView listBarcodeProdcodeResqtyTv;
+        private TextView listBarcodeProdcodeDetailTv;
+        private TextView listBarcodeProdcodeLocationTv;
+        private TextView listBarcodeProdcodeCgyTv;
+
+        public ViewHolder(View view) {
+            listBarcodeProdcodeNextIv = (ImageView) view.findViewById(R.id.list_barcode_prodcode_next_iv);
+            listBarcodeProdcodeProdcodeTv = (TextView) view.findViewById(R.id.list_barcode_prodcode_prodcode_tv);
+            listBarcodeProdcodeResqtyTv = (TextView) view.findViewById(R.id.list_barcode_prodcode_resqty_tv);
+            listBarcodeProdcodeDetailTv = (TextView) view.findViewById(R.id.list_barcode_prodcode_detail_tv);
+            listBarcodeProdcodeLocationTv = (TextView) view.findViewById(R.id.list_barcode_prodcode_location_tv);
+            listBarcodeProdcodeCgyTv = (TextView) view.findViewById(R.id.list_barcode_prodcode_cgy_tv);
+        }
+    }
+}

+ 103 - 0
app/src/main/java/com/uas/gdstorage/adapter/BarcodeSupplePrintAdapter.java

@@ -0,0 +1,103 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.BarcodeSuppleBean;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.Constants;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class BarcodeSupplePrintAdapter extends BaseAdapter {
+    private List<BarcodeSuppleBean> objects = new ArrayList<BarcodeSuppleBean>();
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private Handler mHandler;
+
+    public BarcodeSupplePrintAdapter(Context context) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+    }
+
+    public Handler getHandler() {
+        return mHandler;
+    }
+
+    public void setHandler(Handler handler) {
+        mHandler = handler;
+    }
+
+    public List<BarcodeSuppleBean> getBarcodeSuppleBeans() {
+        return objects;
+    }
+
+    public void setBarcodeSuppleBeans(List<BarcodeSuppleBean> objects) {
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public BarcodeSuppleBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_barcode_supple_print, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((BarcodeSuppleBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(final BarcodeSuppleBean object, ViewHolder holder) {
+        holder.barcodeSupplePrintItemSelectCb.setChecked(object.isChecked());
+        holder.barcodeSupplePrintItemProdcodeTv.setText(object.getBSD_PRODCODE());
+        holder.barcodeSupplePrintItemInqtyTv.setText(CommonUtil.doubleFormat(object.getBSD_BARCODEINQTY()));
+        holder.barcodeSupplePrintItemCnTv.setText(CommonUtil.doubleFormat(object.getCN()));
+
+        holder.barcodeSupplePrintItemSelectCb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                object.setIsChecked(isChecked);
+                if (mHandler != null) {
+                    mHandler.sendEmptyMessage(Constants.CONSTANT.BARCODE_SUPPLE_CHECK);
+                }
+            }
+        });
+    }
+
+    protected class ViewHolder {
+        private CheckBox barcodeSupplePrintItemSelectCb;
+        private TextView barcodeSupplePrintItemProdcodeTv;
+        private TextView barcodeSupplePrintItemInqtyTv;
+        private TextView barcodeSupplePrintItemCnTv;
+
+        public ViewHolder(View view) {
+            barcodeSupplePrintItemSelectCb = (CheckBox) view.findViewById(R.id.barcode_supple_print_item_select_cb);
+            barcodeSupplePrintItemProdcodeTv = (TextView) view.findViewById(R.id.barcode_supple_print_item_prodcode_tv);
+            barcodeSupplePrintItemInqtyTv = (TextView) view.findViewById(R.id.barcode_supple_print_item_inqty_tv);
+            barcodeSupplePrintItemCnTv = (TextView) view.findViewById(R.id.barcode_supple_print_item_cn_tv);
+        }
+    }
+}

+ 97 - 0
app/src/main/java/com/uas/gdstorage/adapter/BarcodeSupplePrintListAdapter.java

@@ -0,0 +1,97 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.BarcodeSuppleBean;
+import com.uas.gdstorage.bean.BarcodeSuppleListBean;
+import com.uas.gdstorage.view.MostListView;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class BarcodeSupplePrintListAdapter extends BaseAdapter {
+    private List<BarcodeSuppleListBean> objects = new ArrayList<BarcodeSuppleListBean>();
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    private BarcodeSupplePrintAdapter mBarcodeSupplePrintAdapter;
+    private List<BarcodeSuppleBean> mBarcodeSuppleBeans;
+    private Handler mHandler;
+
+    public BarcodeSupplePrintListAdapter(Context context) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+    }
+
+    public List<BarcodeSuppleListBean> getBarcodeSuppleListBeans() {
+        return objects;
+    }
+
+    public void setBarcodeSuppleListBeans(List<BarcodeSuppleListBean> objects) {
+        this.objects = objects;
+    }
+
+    public Handler getHandler() {
+        return mHandler;
+    }
+
+    public void setHandler(Handler handler) {
+        mHandler = handler;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public BarcodeSuppleListBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_barcode_supple_print_list, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+
+        initializeViews((BarcodeSuppleListBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(BarcodeSuppleListBean object, ViewHolder holder) {
+        holder.barcodeSupplePrintListProdcodeTv.setText(object.getProdcodeKind());
+
+        mBarcodeSuppleBeans = object.getBarcodeSuppleBeans();
+        if (mBarcodeSuppleBeans != null) {
+            mBarcodeSupplePrintAdapter = new BarcodeSupplePrintAdapter(context);
+            mBarcodeSupplePrintAdapter.setBarcodeSuppleBeans(mBarcodeSuppleBeans);
+            if (mHandler != null)
+                mBarcodeSupplePrintAdapter.setHandler(mHandler);
+            holder.barcodeSupplePrintListMsgMlv.setAdapter(mBarcodeSupplePrintAdapter);
+        }
+    }
+
+    protected class ViewHolder {
+        private TextView barcodeSupplePrintListProdcodeTv;
+        private MostListView barcodeSupplePrintListMsgMlv;
+
+        public ViewHolder(View view) {
+            barcodeSupplePrintListProdcodeTv = (TextView) view.findViewById(R.id.barcode_supple_print_list_prodcode_tv);
+            barcodeSupplePrintListMsgMlv = (MostListView) view.findViewById(R.id.barcode_supple_print_list_msg_mlv);
+        }
+    }
+}

+ 62 - 0
app/src/main/java/com/uas/gdstorage/adapter/BreakPackageTableListItemAdapter.java

@@ -0,0 +1,62 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.OutBox;
+
+import java.util.List;
+
+/**
+ * @note:分批合批:分拆包装TableListAdapter
+ */
+public class BreakPackageTableListItemAdapter extends BaseAdapter {
+    List itemList;
+    Context context;
+
+    public BreakPackageTableListItemAdapter(List itemList, Context context) {
+        this.itemList = itemList;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return itemList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return itemList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return 0;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        View view = View.inflate(context,R.layout.item_list_table_column2,null);
+        //获取组件
+        TextView columnInnerCode = (TextView) view.findViewById(R.id.tv_table_1);
+        TextView columnQty = (TextView) view.findViewById(R.id.tv_table_2);
+
+        OutBox.DetailBean tmpO = (OutBox.DetailBean) getItem(position);
+        //配置数据
+        String innerCode = ""+tmpO.getPD_INNERBOXCODE();
+        String barcode = ""+tmpO.getPD_BARCODE();
+        //内箱号/序列号
+        columnInnerCode.setText(innerCode+"/"+barcode);
+        //数量
+        columnQty.setText(""+tmpO.getPD_INNERQTY());
+
+        int[] colors = {Color.WHITE, Color.rgb(219,238,244)};
+        view.setBackgroundColor(colors[position % 2]);
+        return view;
+    }
+}

+ 68 - 0
app/src/main/java/com/uas/gdstorage/adapter/CaptionValueItemAdapter.java

@@ -0,0 +1,68 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.CaptionValueBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CaptionValueItemAdapter extends BaseAdapter {
+
+    private List<CaptionValueBean> objects = new ArrayList<CaptionValueBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public CaptionValueItemAdapter(Context context, List<CaptionValueBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public CaptionValueBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.layout_list_caption_value_item, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((CaptionValueBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(CaptionValueBean object, ViewHolder holder) {
+        holder.listItemCaptionTv.setText(object.getCaption() + ":");
+        holder.listItemValueTv.setText(object.getValue());
+    }
+
+    protected class ViewHolder {
+        private TextView listItemCaptionTv;
+        private TextView listItemValueTv;
+
+        public ViewHolder(View view) {
+            listItemCaptionTv = (TextView) view.findViewById(R.id.list_item_caption_tv);
+            listItemValueTv = (TextView) view.findViewById(R.id.list_item_value_tv);
+        }
+    }
+}

+ 28 - 0
app/src/main/java/com/uas/gdstorage/adapter/ChargingSummaryAdapter.java

@@ -0,0 +1,28 @@
+package com.uas.gdstorage.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.ChargingSummaryBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.List;
+
+public class ChargingSummaryAdapter extends BaseQuickAdapter<ChargingSummaryBean, BaseViewHolder> {
+
+    public ChargingSummaryAdapter(@Nullable List<ChargingSummaryBean> data) {
+        super(R.layout.item_charging_summary, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, ChargingSummaryBean item) {
+        helper.setText(R.id.item_charging_summary_prodcode_tv,
+                "料号:" + item.getMSS_PRODCODE());
+        helper.setText(R.id.item_charging_summary_qty_tv,
+                "上料数量:" + CommonUtil.doubleFormat(item.getMSS_QTY()));
+        helper.setText(R.id.item_charging_summary_remain_tv,
+                "剩余数量:" + CommonUtil.doubleFormat(item.getMSS_REMAIN()));
+    }
+}

+ 31 - 0
app/src/main/java/com/uas/gdstorage/adapter/CommonCheckAdapter.java

@@ -0,0 +1,31 @@
+package com.uas.gdstorage.adapter;
+
+import android.support.annotation.Nullable;
+import android.widget.CompoundButton;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.CommonCheckBean;
+
+import java.util.List;
+
+public class CommonCheckAdapter extends BaseQuickAdapter<CommonCheckBean, BaseViewHolder> {
+
+    public CommonCheckAdapter(@Nullable List<CommonCheckBean> data) {
+        super(R.layout.item_common_check, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, CommonCheckBean item) {
+        helper.setText(R.id.item_common_check_cb, item.getDisplay());
+        helper.setChecked(R.id.item_common_check_cb, item.isCheck());
+
+        helper.setOnCheckedChangeListener(R.id.item_common_check_cb, new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                item.setCheck(isChecked);
+            }
+        });
+    }
+}

+ 24 - 0
app/src/main/java/com/uas/gdstorage/adapter/CommonMenuAdapter.java

@@ -0,0 +1,24 @@
+package com.uas.gdstorage.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.CommonMenuBean;
+
+import java.util.List;
+
+public class CommonMenuAdapter extends BaseQuickAdapter<CommonMenuBean, BaseViewHolder> {
+
+    public CommonMenuAdapter(@Nullable List<CommonMenuBean> data) {
+        super(R.layout.item_common_menu, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, CommonMenuBean item) {
+        helper.setText(R.id.common_menu_tv, item.getName());
+
+        helper.setImageResource(R.id.common_menu_iv, item.getIcon());
+    }
+}

+ 27 - 0
app/src/main/java/com/uas/gdstorage/adapter/FirstLastManageSubAdapter.java

@@ -0,0 +1,27 @@
+package com.uas.gdstorage.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.FormSubBean;
+
+import java.util.List;
+
+public class FirstLastManageSubAdapter extends BaseQuickAdapter<FormSubBean, BaseViewHolder> {
+
+    public FirstLastManageSubAdapter(@Nullable List<FormSubBean> data) {
+        super(R.layout.item_first_last_sub, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, FormSubBean item) {
+        helper.setText(R.id.item_first_last_sub_name_tv, item.getSrd_name());
+        helper.setText(R.id.item_first_last_sub_require_tv, item.getSrd_require());
+        helper.setText(R.id.item_first_last_sub_value_tv, item.getSrd_value());
+        helper.setText(R.id.item_first_last_sub_remark_tv, item.getSrd_remark());
+
+        helper.addOnClickListener(R.id.item_first_last_sub_modify_iv);
+    }
+}

+ 157 - 0
app/src/main/java/com/uas/gdstorage/adapter/FormAdapter.java

@@ -0,0 +1,157 @@
+package com.uas.gdstorage.adapter;
+
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.util.Log;
+import android.view.View;
+import android.widget.EditText;
+
+import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.FormBean;
+
+import java.util.List;
+
+public class FormAdapter extends BaseMultiItemQuickAdapter<FormBean, BaseViewHolder> {
+
+    public FormAdapter(List<FormBean> data) {
+        super(data);
+        addItemType(FormBean.TYPE_HIDE, R.layout.item_form_hide);
+        addItemType(FormBean.TYPE_INPUT, R.layout.item_form_input);
+        addItemType(FormBean.TYPE_SELECT, R.layout.item_form_select);
+        addItemType(FormBean.TYPE_DATE, R.layout.item_form_date);
+        addItemType(FormBean.TYPE_ENCLOSURE, R.layout.item_form_enclosure);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, FormBean item) {
+        if (helper != null) {
+            switch (helper.getItemViewType()) {
+                case FormBean.TYPE_INPUT:
+                    bindInput(helper, item);
+                    break;
+                case FormBean.TYPE_SELECT:
+                    bindSelect(helper, item);
+                    break;
+                case FormBean.TYPE_DATE:
+                    bindDate(helper, item);
+                    break;
+                case FormBean.TYPE_ENCLOSURE:
+                    bindEnclosure(helper, item);
+                    break;
+            }
+        }
+    }
+
+    /**
+     * 附件类型
+     *
+     * @param helper
+     * @param item
+     */
+    private void bindEnclosure(BaseViewHolder helper, FormBean item) {
+        helper.setText(R.id.item_form_enclosure_name_tv, item.getName());
+        helper.addOnClickListener(R.id.item_form_enclosure_delete_iv);
+        helper.addOnClickListener(R.id.item_form_enclosure_name_tv);
+    }
+
+    /**
+     * input类型
+     *
+     * @param helper
+     * @param item
+     */
+    private void bindInput(BaseViewHolder helper, FormBean item) {
+        helper.setText(R.id.item_form_input_caption_tv, item.getCaption());
+        helper.setVisible(R.id.item_form_input_fill_tv, !item.isAllowEmpty());
+
+        EditText inputEditText = helper.getView(R.id.item_form_input_value_tv);
+        if (inputEditText.getTag() != null && inputEditText.getTag() instanceof MyTextChangeListener) {
+            inputEditText.removeTextChangedListener((MyTextChangeListener) inputEditText.getTag());
+        }
+        inputEditText.setText(item.getDisplay());
+        if (item.isReadOnly()) {
+            inputEditText.setFocusable(false);
+            inputEditText.setClickable(true);
+            inputEditText.setOnClickListener(null);
+            inputEditText.setHint("");
+        } else {
+            inputEditText.setFocusable(true);
+            inputEditText.setClickable(false);
+            inputEditText.setFocusableInTouchMode(true);
+
+            MyTextChangeListener myTextChangeListener = new MyTextChangeListener(helper.getAdapterPosition());
+            inputEditText.setTag(myTextChangeListener);
+            inputEditText.addTextChangedListener(myTextChangeListener);
+        }
+
+    }
+
+    /**
+     * 选择类型
+     *
+     * @param helper
+     * @param item
+     */
+    private void bindSelect(BaseViewHolder helper, FormBean item) {
+        helper.setText(R.id.item_form_select_caption_tv, item.getCaption());
+        helper.setText(R.id.item_form_select_value_tv, item.getDisplay());
+        helper.setVisible(R.id.item_form_select_fill_tv, !item.isAllowEmpty());
+
+        EditText inputEditText = helper.getView(R.id.item_form_select_value_tv);
+        if (item.isReadOnly()) {
+            inputEditText.setFocusable(false);
+            inputEditText.setClickable(false);
+            inputEditText.setHint("");
+        } else if (item.isEditable()) {
+            inputEditText.setFocusable(true);
+            inputEditText.setClickable(false);
+            inputEditText.setFocusableInTouchMode(true);
+        } else {
+            inputEditText.setFocusable(false);
+            inputEditText.setClickable(true);
+            helper.addOnClickListener(R.id.item_form_select_value_tv);
+            helper.addOnClickListener(R.id.item_form_select_select_iv);
+        }
+    }
+
+    /**
+     * 日期选择类型
+     *
+     * @param helper
+     * @param item
+     */
+    private void bindDate(BaseViewHolder helper, FormBean item) {
+        helper.setText(R.id.item_form_date_caption_tv, item.getCaption());
+        helper.setText(R.id.item_form_date_value_tv, item.getDisplay());
+        helper.setVisible(R.id.item_form_date_fill_tv, !item.isAllowEmpty());
+
+        helper.addOnClickListener(R.id.item_form_date_value_tv);
+        helper.addOnClickListener(R.id.item_form_date_select_iv);
+    }
+
+    protected class MyTextChangeListener implements TextWatcher {
+        private int position;
+
+        public MyTextChangeListener(int position) {
+            this.position = position;
+        }
+
+        @Override
+        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+        }
+
+        @Override
+        public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+        }
+
+        @Override
+        public void afterTextChanged(Editable s) {
+            Log.e("raomenglog", s.toString().trim());
+            mData.get(position).setValue(s.toString().trim());
+        }
+    }
+}

+ 42 - 0
app/src/main/java/com/uas/gdstorage/adapter/GdWorkStartAdapter.java

@@ -0,0 +1,42 @@
+package com.uas.gdstorage.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.alibaba.fastjson.JSON;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.GdWorkStartBean;
+import com.uas.gdstorage.util.LogUtil;
+
+import java.util.List;
+
+public class GdWorkStartAdapter extends BaseQuickAdapter<GdWorkStartBean, BaseViewHolder> {
+
+    public List<GdWorkStartBean> mList;
+
+    public void setmList(List<GdWorkStartBean> mList) {
+        this.mList = mList;
+    }
+
+
+    public GdWorkStartBean getBeanByPositon(int position){
+        return mList.get(position);
+    }
+
+    public GdWorkStartAdapter(@Nullable List<GdWorkStartBean> data) {
+        super(R.layout.item_gd_work_start, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, GdWorkStartBean item) {
+        LogUtil.i("mList convert", JSON.toJSONString(item));
+//        用helper.setText();方法设置文本
+        helper.setText(R.id.gongdanhao_tv,item.getMA_CODE());
+        helper.setText(R.id.jihuashu_tv,item.getMPD_PLANQTY() == null ? "-" :item.getMPD_PLANQTY());
+        helper.setText(R.id.gongdanshu_tv,item.getMA_QTY() == null ? "-" : item.getMA_QTY());
+        helper.setText(R.id.changping_tv,item.getMPD_PRODCODE());
+        helper.setText(R.id.mingchen_tv,item.getPR_DETAIL());
+        helper.setText(R.id.guige_tv,item.getPR_SPEC());
+    }
+}

+ 49 - 0
app/src/main/java/com/uas/gdstorage/adapter/InmakeNetListAdapter.java

@@ -0,0 +1,49 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.view.itemview.InMakeNetListItemView;
+
+import java.util.List;
+
+/**
+ * Created by LiuJie on 2015/12/29.
+ */
+public class InmakeNetListAdapter extends BaseAdapter {
+    List<String> items;
+    Context context;
+
+    public InmakeNetListAdapter(Context context, List<String> items) {
+        this.context = context;
+        this.items = items;
+    }
+
+    @Override
+    public int getCount() {
+        return items.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return items.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        inMakeView = new InMakeNetListItemView(context);
+        TextView tv = (TextView) inMakeView.findViewWithTag("TAG_TV");
+        tv.setText(items.get(position));
+        return inMakeView;
+    }
+
+    InMakeNetListItemView inMakeView;
+}

+ 79 - 0
app/src/main/java/com/uas/gdstorage/adapter/InmakeProdListAdapter.java

@@ -0,0 +1,79 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.bean.ProductIn;
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.view.itemview.InMakeProdListItemView;
+
+import java.util.List;
+
+/**
+ * Created by LiuJie on 2015/12/30.
+ * 出入库单据adapter
+ */
+public class InmakeProdListAdapter extends BaseAdapter {
+    InMakeProdListItemView inMakeView;
+    List<ProductIn> items;
+    Context context;
+
+    public InmakeProdListAdapter(Context context, List<ProductIn> items) {
+        this.context = context;
+        this.items = items;
+    }
+
+    @Override
+    public int getCount() {
+        return items.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return items.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        inMakeView = new InMakeProdListItemView(context);
+        TextView tvInoutno = (TextView) inMakeView.findViewWithTag(InMakeProdListItemView.TAG_TVINOUTNO);
+        TextView tvClass = (TextView) inMakeView.findViewWithTag(InMakeProdListItemView.TAG_TVLEFT);
+        TextView tvWhcode = (TextView) inMakeView.findViewWithTag(InMakeProdListItemView.TAG_TVRIGHT);
+        TextView tvMark = (TextView) inMakeView.findViewWithTag(InMakeProdListItemView.TAG_TVMARK);
+
+        ProductIn tmpWhcode = items.get(position);
+        String strInoutno = tmpWhcode.getTarget().get(0).getPi_inoutno();
+        String strClass = tmpWhcode.getTarget().get(0).getPi_class();
+        String strWhcode = tmpWhcode.getTarget().get(0).getPi_whcode();
+        String strMarkCode = tmpWhcode.getTarget().get(0).getEnauditstatus();
+
+        tvInoutno.setText(strInoutno);
+        tvClass.setText(strClass);
+        tvWhcode.setText(strWhcode);
+        tvMark.setText(getStatus(strMarkCode));
+        return inMakeView;
+    }
+
+    private String getStatus(String code){
+        switch (code){
+            //已采集
+            case GloableParams.ENAUDITSTATUS_COLLECTED:
+                return "已采集";
+            //采集中
+            case GloableParams.ENAUDITSTATUS_COLLECTING:
+                return "采集中";
+            //未采集
+            case GloableParams.ENAUDITSTATUS_UNCOLLECT:
+                return "未采集";
+        }
+        return "无状态";
+    }
+}

+ 61 - 0
app/src/main/java/com/uas/gdstorage/adapter/InmakeWhcodeListAdapter.java

@@ -0,0 +1,61 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.bean.Whcode;
+import com.uas.gdstorage.view.itemview.InMakeWhcodeListItemView;
+
+import java.util.List;
+
+/**
+ * Created by LiuJie on 2015/12/30.
+ */
+public class InmakeWhcodeListAdapter extends BaseAdapter {
+
+    InMakeWhcodeListItemView inMakeView;
+    List<Whcode> items;
+    Context context;
+
+    public InmakeWhcodeListAdapter(Context context, List<Whcode> items) {
+        this.context = context;
+        this.items = items;
+    }
+
+    @Override
+    public int getCount() {
+        return items.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return items.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        inMakeView = new InMakeWhcodeListItemView(context);
+        TextView tvInoutno = (TextView) inMakeView.findViewWithTag(InMakeWhcodeListItemView.TAG_TVINOUTNO);
+        TextView tvClass = (TextView) inMakeView.findViewWithTag(InMakeWhcodeListItemView.TAG_TVLEFT);
+        TextView tvWhcode = (TextView) inMakeView.findViewWithTag(InMakeWhcodeListItemView.TAG_TVRIGHT);
+
+        Whcode tmpWhcode = items.get(position);
+        String strInoutno = tmpWhcode.getPiInoutno();
+        String strClass = tmpWhcode.getPiClass();
+        String strWhcode = tmpWhcode.getPdWhcode();
+
+        tvInoutno.setText(strInoutno);
+        tvClass.setText(strClass);
+        tvWhcode.setText("仓库号:"+strWhcode);
+
+        return inMakeView;
+    }
+}

+ 115 - 0
app/src/main/java/com/uas/gdstorage/adapter/IpAddressAdapter.java

@@ -0,0 +1,115 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.LoginDataBean;
+import com.uas.gdstorage.tools.SharedPreUtil;
+import com.uas.gdstorage.util.Constants;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class IpAddressAdapter extends BaseAdapter {
+
+    private List<LoginDataBean> objects = new ArrayList<LoginDataBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private String currentMaster, currentIp;
+
+    public IpAddressAdapter(Context context, List<LoginDataBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    public void setCurrent(String master, String ip) {
+        currentMaster = master;
+        currentIp = ip;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public LoginDataBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_ip_address, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((LoginDataBean) getItem(position), (ViewHolder) convertView.getTag(), position);
+        return convertView;
+    }
+
+    private void initializeViews(final LoginDataBean object, ViewHolder holder, final int position) {
+        String masterName = object.getMasterName();
+        String ip = object.getIp();
+
+        if (masterName != null && masterName.equals(currentMaster) && ip != null && ip.equals(currentIp)) {
+            holder.itemIpAddressTv.setTextColor(Color.GRAY);
+        } else {
+            holder.itemIpAddressTv.setTextColor(Color.BLACK);
+        }
+
+        holder.itemIpAddressTv.setText(masterName + "(" + ip + ")");
+        holder.itemIpAddressDeleteIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                objects.remove(position);
+                notifyDataSetChanged();
+
+                /*List<LoginDataBean> loginListCache = CommonUtil.getLoginListCache(context);
+
+                if (loginListCache != null) {
+                    for (int i = 0; i < loginListCache.size(); i++) {
+                        LoginDataBean loginDataBean = loginListCache.get(i);
+                        if ((!TextUtils.isEmpty(loginDataBean.getMasterName()) && loginDataBean.getMasterName().equals(object.getMasterName()))
+                                && (!TextUtils.isEmpty(loginDataBean.getIp()) && loginDataBean.getIp().equals(object.getIp()))) {
+                            loginListCache.remove(loginDataBean);
+                        }
+                    }
+                }*/
+//                if (loginListCache.size() == 0) {
+                if (objects.size() == 0) {
+                    SharedPreUtil.saveString(context, Constants.FLAG.CACHE_LOGIN_DATA_LIST, "");
+                } else {
+//                    String loginCache = JSON.toJSONString(loginListCache);
+                    String loginCache = JSON.toJSONString(objects);
+                    SharedPreUtil.saveString(context, Constants.FLAG.CACHE_LOGIN_DATA_LIST, loginCache);
+                }
+            }
+        });
+    }
+
+    protected class ViewHolder {
+        private TextView itemIpAddressTv;
+        private ImageView itemIpAddressDeleteIv;
+
+        public ViewHolder(View view) {
+            itemIpAddressTv = (TextView) view.findViewById(R.id.item_ip_address_tv);
+            itemIpAddressDeleteIv = (ImageView) view.findViewById(R.id.item_ip_address_delete_iv);
+        }
+    }
+
+}

+ 95 - 0
app/src/main/java/com/uas/gdstorage/adapter/IpHistoryAdapter.java

@@ -0,0 +1,95 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.tools.SharedPreUtil;
+import com.uas.gdstorage.util.Constants;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class IpHistoryAdapter extends BaseAdapter {
+
+    private List<String> objects = new ArrayList<String>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    private OnDeleteItemListener mOnDeleteItemListener;
+
+    public IpHistoryAdapter(Context context, List<String> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+
+        this.objects = objects;
+    }
+
+    public void setOnDeleteItemListener(OnDeleteItemListener onDeleteItemListener) {
+        mOnDeleteItemListener = onDeleteItemListener;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public String getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_ip_history, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((String) getItem(position), (ViewHolder) convertView.getTag(), position);
+        return convertView;
+    }
+
+    private void initializeViews(final String object, ViewHolder holder, final int position) {
+        holder.itemIpHistoryTextTv.setText(object);
+        holder.itemIpHistoryDeleteIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                objects.remove(position);
+                notifyDataSetChanged();
+                if (objects.size() == 0) {
+                    SharedPreUtil.saveString(context, Constants.FLAG.CACHE_IP_HISTORY, null);
+                    mOnDeleteItemListener.onDeleteItem(true);
+                } else {
+                    String historyResult = JSON.toJSONString(objects);
+                    SharedPreUtil.saveString(context, Constants.FLAG.CACHE_IP_HISTORY, historyResult);
+                }
+            }
+        });
+    }
+
+    protected class ViewHolder {
+        private TextView itemIpHistoryTextTv;
+        private ImageView itemIpHistoryDeleteIv;
+
+        public ViewHolder(View view) {
+            itemIpHistoryTextTv = (TextView) view.findViewById(R.id.item_ip_history_text_tv);
+            itemIpHistoryDeleteIv = (ImageView) view.findViewById(R.id.item_ip_history_delete_iv);
+        }
+    }
+
+    public interface OnDeleteItemListener {
+        void onDeleteItem(boolean isEmpty);
+    }
+}

+ 93 - 0
app/src/main/java/com/uas/gdstorage/adapter/ListCollectAlreadyAdapter.java

@@ -0,0 +1,93 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.CollectAlreadyBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ListCollectAlreadyAdapter extends BaseAdapter {
+
+    private List<CollectAlreadyBean.MessageBean> objects = new ArrayList<CollectAlreadyBean.MessageBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public ListCollectAlreadyAdapter(Context context, List<CollectAlreadyBean.MessageBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public CollectAlreadyBean.MessageBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.layout_list_collect_already, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((CollectAlreadyBean.MessageBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(CollectAlreadyBean.MessageBean object, ViewHolder holder) {
+        if (!TextUtils.isEmpty(object.getBI_BARCODE())) {
+            holder.listCollectAlreadyBarcodeTv.setText(object.getBI_BARCODE());
+        } else if (!TextUtils.isEmpty(object.getBI_OUTBOXCODE())) {
+            holder.listCollectAlreadyBarcodeTv.setText(object.getBI_OUTBOXCODE());
+        }
+        if (object.getBI_INQTY() == 0 || object.getBI_INQTY() == -1) {
+            holder.listCollectAlreadyQuantityTv.setText(CommonUtil.doubleFormat(object.getBI_OUTQTY()));
+        } else {
+            holder.listCollectAlreadyQuantityTv.setText(CommonUtil.doubleFormat(object.getBI_INQTY()));
+        }
+        holder.listCollectAlreadyProdcodeTv.setText(object.getBI_PRODCODE());
+        holder.listCollectAlreadyDetailTv.setText(object.getPR_DETAIL());
+
+        if (object.getBI_BATCHCODE() == null) {
+            holder.listCollectAlreadyBatchcodeTv.setVisibility(View.GONE);
+        } else {
+            holder.listCollectAlreadyBatchcodeTv.setVisibility(View.VISIBLE);
+            holder.listCollectAlreadyBatchcodeTv.setText(object.getBI_BATCHCODE());
+        }
+    }
+
+    protected class ViewHolder {
+        private TextView listCollectAlreadyBarcodeTv;
+        private TextView listCollectAlreadyQuantityTv;
+        private TextView listCollectAlreadyProdcodeTv;
+        private TextView listCollectAlreadyDetailTv;
+        private TextView listCollectAlreadyBatchcodeTv;
+
+        public ViewHolder(View view) {
+            listCollectAlreadyBarcodeTv = (TextView) view.findViewById(R.id.list_collect_already_barcode_tv);
+            listCollectAlreadyQuantityTv = (TextView) view.findViewById(R.id.list_collect_already_quantity_tv);
+            listCollectAlreadyProdcodeTv = (TextView) view.findViewById(R.id.list_collect_already_prodcode_tv);
+            listCollectAlreadyDetailTv = (TextView) view.findViewById(R.id.list_collect_already_detail_tv);
+            listCollectAlreadyBatchcodeTv = (TextView) view.findViewById(R.id.list_collect_already_batchcode_tv);
+        }
+    }
+}

+ 80 - 0
app/src/main/java/com/uas/gdstorage/adapter/ListCollectNotAdapter.java

@@ -0,0 +1,80 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.table.TableLPRODIONEEDGET;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ListCollectNotAdapter extends BaseAdapter {
+
+    private List<TableLPRODIONEEDGET> objects = new ArrayList<TableLPRODIONEEDGET>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public ListCollectNotAdapter(Context context, List<TableLPRODIONEEDGET> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public TableLPRODIONEEDGET getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.layout_list_collect_not, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((TableLPRODIONEEDGET) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(TableLPRODIONEEDGET object, ViewHolder holder) {
+        holder.collectNotListOddTv.setText(object.getLPN_PRODCODE());
+        holder.collectNotListQuantityTv.setText(CommonUtil.doubleFormat(object.getLPN_RESTQTY()));
+        holder.collectNotListNameTv.setText(object.getLPN_PRDETAIL());
+        if (object.getLPN_BATCHCODE() == null) {
+            holder.collectNotListProdcodeTv.setVisibility(View.GONE);
+        } else {
+            holder.collectNotListProdcodeTv.setVisibility(View.VISIBLE);
+            holder.collectNotListProdcodeTv.setText(object.getLPN_BATCHCODE());
+        }
+    }
+
+    protected class ViewHolder {
+        private TextView collectNotListOddTv;
+        private TextView collectNotListQuantityTv;
+        private TextView collectNotListNameTv;
+        private TextView collectNotListProdcodeTv;
+
+        public ViewHolder(View view) {
+            collectNotListOddTv = (TextView) view.findViewById(R.id.collect_not_list_odd_tv);
+            collectNotListQuantityTv = (TextView) view.findViewById(R.id.collect_not_list_quantity_tv);
+            collectNotListNameTv = (TextView) view.findViewById(R.id.collect_not_list_name_tv);
+            collectNotListProdcodeTv = (TextView) view.findViewById(R.id.collect_not_list_prodcode_tv);
+        }
+    }
+}

+ 110 - 0
app/src/main/java/com/uas/gdstorage/adapter/ListSubmitNotAdapter.java

@@ -0,0 +1,110 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.table.TableLBARCODEIO;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ListSubmitNotAdapter extends BaseAdapter {
+
+    private List<TableLBARCODEIO> objects = new ArrayList<TableLBARCODEIO>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public ListSubmitNotAdapter(Context context, List<TableLBARCODEIO> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public TableLBARCODEIO getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.layout_list_submit_not, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((TableLBARCODEIO) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(TableLBARCODEIO object, ViewHolder holder) {
+        if (!TextUtils.isEmpty(object.getLBI_BARCODE())) {
+            if ("sncode".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("序列号:" + object.getLBI_BARCODE());
+            } else if ("package".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("箱号:" + object.getLBI_BARCODE());
+            } else if ("pallet".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("栈板号:" + object.getLBI_BARCODE());
+            } else if ("byBarcode".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("条码号:" + object.getLBI_BARCODE());
+            } else if ("byBox".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("外箱号:" + object.getLBI_BARCODE());
+            } else {
+                holder.listSubmitNotBarcodeTv.setText("料号:" + object.getLBI_BARCODE());
+            }
+        } else if (!TextUtils.isEmpty(object.getLBI_OUTBOXCODE())) {
+            if ("sncode".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("序列号:" + object.getLBI_OUTBOXCODE());
+            } else if ("package".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("箱号:" + object.getLBI_OUTBOXCODE());
+            } else if ("pallet".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("栈板号:" + object.getLBI_OUTBOXCODE());
+            } else if ("byBarcode".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("条码号:" + object.getLBI_OUTBOXCODE());
+            } else if ("byBox".equals(object.getLBI_BOXTYPE())) {
+                holder.listSubmitNotBarcodeTv.setText("外箱号:" + object.getLBI_OUTBOXCODE());
+            } else {
+                holder.listSubmitNotBarcodeTv.setText("料号:" + object.getLBI_OUTBOXCODE());
+            }
+        }
+        if (object.getLBI_INQTY() == 0 || (int)object.getLBI_INQTY() == -1) {
+            holder.listSubmitNotQuantityTv.setText(object.getLBI_OUTQTY() + "");
+            if (object.getLBI_OUTQTY() == 0 || (int)object.getLBI_OUTQTY() == -1) {
+                holder.listSubmitNotQuantityTv.setText("");
+            }
+        } else {
+            holder.listSubmitNotQuantityTv.setText(object.getLBI_INQTY() + "");
+        }
+        holder.listSubmitNotProdcodeTv.setText(object.getLBI_PRODCODE());
+        holder.listSubmitNotDetailTv.setText(object.getLBI_PRDETAIL());
+    }
+
+    protected class ViewHolder {
+        private TextView listSubmitNotBarcodeTv;
+        private TextView listSubmitNotQuantityTv;
+        private TextView listSubmitNotProdcodeTv;
+        private TextView listSubmitNotDetailTv;
+
+        public ViewHolder(View view) {
+            listSubmitNotBarcodeTv = (TextView) view.findViewById(R.id.list_submit_not_barcode_tv);
+            listSubmitNotQuantityTv = (TextView) view.findViewById(R.id.list_submit_not_quantity_tv);
+            listSubmitNotProdcodeTv = (TextView) view.findViewById(R.id.list_submit_not_prodcode_tv);
+            listSubmitNotDetailTv = (TextView) view.findViewById(R.id.list_submit_not_detail_tv);
+        }
+    }
+}

+ 51 - 0
app/src/main/java/com/uas/gdstorage/adapter/ListViewAdapter.java

@@ -0,0 +1,51 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+
+import com.uas.gdstorage.view.itemview.InMakeProdListItemView;
+
+import java.util.List;
+
+public class ListViewAdapter extends BaseAdapter {
+    List<String> itemList;
+    Context context;
+
+    public ListViewAdapter(Context context, List<String> items) {
+        this.context = context;
+        this.itemList = items;
+    }
+
+    @Override
+    public int getCount() {
+        return itemList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return itemList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return 0;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+
+//        RelativeLayout view = new RelativeLayout(context);
+//        tv.setText("444444");
+//        RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(60,30);
+//
+//        view.addView(tv,p);
+
+//        View view = LayoutInflater.from(context).inflate(
+//                R.layout.list_item_layout, null);
+        View view = new InMakeProdListItemView(context);
+        return view;
+    }
+
+}

+ 58 - 0
app/src/main/java/com/uas/gdstorage/adapter/MakePrepareAdapter.java

@@ -0,0 +1,58 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.bean.Mpcode;
+import com.uas.gdstorage.view.itemview.ScMakePrepareListItemView;
+
+import java.util.List;
+
+/**
+ * @note:工单备料localListAdapter
+ */
+public class MakePrepareAdapter extends BaseAdapter {
+    ScMakePrepareListItemView makeView;
+    List<Mpcode.Message> itemList;
+    Context context;
+
+    public MakePrepareAdapter(Context context, List itemList) {
+        this.itemList = itemList;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return itemList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return itemList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        TextView tvTitle, tvMakecode, tvLinecode;
+        makeView = new ScMakePrepareListItemView(context);
+
+        tvTitle = (TextView) makeView.findViewWithTag(ScMakePrepareListItemView.TAG_TVTITLE);
+        tvMakecode = (TextView) makeView.findViewWithTag(ScMakePrepareListItemView.TAG_TVMAKECODE);
+        tvLinecode = (TextView) makeView.findViewWithTag(ScMakePrepareListItemView.TAG_TVLINECODE);
+
+        Mpcode.Message message = itemList.get(position);
+
+        tvTitle.setText("备料单:"+message.getMp_code());
+        tvMakecode.setText("制造单:"+message.getMp_makecode());
+        tvLinecode.setText("产线:"+message.getMp_linecode());
+        return makeView;
+    }
+}

+ 74 - 0
app/src/main/java/com/uas/gdstorage/adapter/PdaioStorageOutAdapter.java

@@ -0,0 +1,74 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.PdaioProdoutBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PdaioStorageOutAdapter extends BaseAdapter {
+
+    private List<PdaioProdoutBean> objects = new ArrayList<PdaioProdoutBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public PdaioStorageOutAdapter(Context context, List<PdaioProdoutBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public PdaioProdoutBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_pdaio_storage_out, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((PdaioProdoutBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(PdaioProdoutBean object, ViewHolder holder) {
+        holder.mInoutnoTv.setText(object.getPI_INOUTNO());
+        holder.mClassTv.setText(object.getPI_CLASS());
+//        holder.mPdastatusTv.setText(object.getPI_PDASTATUS());
+        holder.mInvostatusTv.setText(object.getPI_INVOSTATUS());
+    }
+
+    protected class ViewHolder {
+        private TextView mInoutnoTv;
+        private TextView mClassTv;
+        private TextView mPdastatusTv;
+        private TextView mInvostatusTv;
+
+        public ViewHolder(View view) {
+            mInoutnoTv = (TextView) view.findViewById(R.id.list_pdaio_storage_out_inoutno_tv);
+            mClassTv = (TextView) view.findViewById(R.id.list_pdaio_storage_out_class_tv);
+            mPdastatusTv = (TextView) view.findViewById(R.id.list_pdaio_storage_out_pdastatus_tv);
+            mInvostatusTv = (TextView) view.findViewById(R.id.list_pdaio_storage_out_invostatus_tv);
+        }
+    }
+}

+ 31 - 0
app/src/main/java/com/uas/gdstorage/adapter/QualityManageAdapter.java

@@ -0,0 +1,31 @@
+package com.uas.gdstorage.adapter;
+
+import android.support.annotation.Nullable;
+import android.view.View;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.QualityManageBean;
+
+import java.util.List;
+
+public class QualityManageAdapter extends BaseQuickAdapter<QualityManageBean, QualityManageAdapter.MyViewHolder> {
+
+
+    public QualityManageAdapter(@Nullable List<QualityManageBean> data) {
+        super(R.layout.item_quality_manage, data);
+    }
+
+    @Override
+    protected void convert(MyViewHolder helper, QualityManageBean item) {
+
+    }
+
+    class MyViewHolder extends BaseViewHolder {
+
+        public MyViewHolder(View view) {
+            super(view);
+        }
+    }
+}

+ 100 - 0
app/src/main/java/com/uas/gdstorage/adapter/RevokeStockListAdapter.java

@@ -0,0 +1,100 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.RevokeStockListBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class RevokeStockListAdapter extends BaseAdapter {
+    private List<RevokeStockListBean> objects = new ArrayList<RevokeStockListBean>();
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private Handler mHandler;
+    private Map<Integer, Boolean> mCheckState;
+
+    public RevokeStockListAdapter(Context context, List<RevokeStockListBean> objects, Handler mHandler) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.mHandler = mHandler;
+        this.objects = objects;
+        mCheckState = new HashMap<>();
+    }
+
+    public List<RevokeStockListBean> getObjects() {
+        return objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public RevokeStockListBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_revoke_stock, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((RevokeStockListBean) getItem(position), (ViewHolder) convertView.getTag(), position);
+        return convertView;
+    }
+
+    private void initializeViews(final RevokeStockListBean object, final ViewHolder holder, final int position) {
+//        holder.itemRevokeStockSelectCb.setChecked(mCheckState.get(position) == null ? false : true);
+
+        if (object.getBAR_STATUS() == 1) {
+            holder.itemRevokeStockSelectCb.setVisibility(View.VISIBLE);
+            holder.itemRevokeStockSelectCb.setChecked(object.isChecked());
+
+            holder.itemRevokeStockSelectCb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+                @Override
+                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                    object.setIsChecked(isChecked);
+                    mCheckState.put(position, isChecked);
+                    mHandler.sendEmptyMessage(0xaa);
+                }
+            });
+        } else {
+            holder.itemRevokeStockSelectCb.setVisibility(View.GONE);
+        }
+
+        holder.itemRevokeStockBarcodeTv.setText(object.getBAR_CODE());
+        holder.itemRevokeStockQuantityTv.setText(CommonUtil.doubleFormat(object.getBAR_REMAIN()));
+    }
+
+    protected class ViewHolder {
+        private CheckBox itemRevokeStockSelectCb;
+        private TextView itemRevokeStockBarcodeTv;
+        private TextView itemRevokeStockQuantityTv;
+
+        public ViewHolder(View view) {
+            itemRevokeStockSelectCb = (CheckBox) view.findViewById(R.id.item_revoke_stock_select_cb);
+            itemRevokeStockBarcodeTv = (TextView) view.findViewById(R.id.item_revoke_stock_barcode_tv);
+            itemRevokeStockQuantityTv = (TextView) view.findViewById(R.id.item_revoke_stock_quantity_tv);
+        }
+    }
+}

+ 62 - 0
app/src/main/java/com/uas/gdstorage/adapter/SMTQueryListAdapter.java

@@ -0,0 +1,62 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.SMTQuery;
+
+import java.util.List;
+
+/**
+ * SMT查询ListAdapter
+ */
+public class SMTQueryListAdapter extends BaseAdapter {
+    Context context;
+    List itemList;
+    SMTQuery tmpQuery;
+
+    public SMTQueryListAdapter(Context context, List itemList) {
+        this.context = context;
+        this.itemList = itemList;
+    }
+
+    @Override
+    public int getCount() { return itemList.size();}
+
+    @Override
+    public Object getItem(int position) {
+        return itemList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        TextView tvLocation, tvFecode, tvProcode, tvBarcode, tvQty;
+        View itemView = View.inflate(context, R.layout.item_list_smtquery, null);
+
+        //获取组件
+        tvLocation = (TextView) itemView.findViewById(R.id.tv_location_smtquery);
+        tvFecode = (TextView) itemView.findViewById(R.id.tv_fecode_smtquery);
+        tvProcode = (TextView) itemView.findViewById(R.id.tv_procode_smtquery);
+        tvBarcode = (TextView) itemView.findViewById(R.id.tv_barcode_smtquery);
+        tvQty = (TextView) itemView.findViewById(R.id.tv_qty_smtquery);
+
+        //配置信息
+        tmpQuery = (SMTQuery) itemList.get(position);
+        tvLocation.setText("站位:"+tmpQuery.getMsl_location());
+        tvFecode.setText("飞达:"+tmpQuery.getMsl_fecode());
+        tvProcode.setText("料号:"+tmpQuery.getMsl_prodcode());
+        tvBarcode.setText("料卷号:"+tmpQuery.getMsl_barcode());
+        tvQty.setText("数量:"+tmpQuery.getMsl_getqty());
+
+        return itemView;
+    }
+}

+ 107 - 0
app/src/main/java/com/uas/gdstorage/adapter/ScMakeUncollectListAdapter.java

@@ -0,0 +1,107 @@
+package com.uas.gdstorage.adapter;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.content.Context;
+import android.graphics.drawable.BitmapDrawable;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.widget.BaseAdapter;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.UnCollect;
+import com.uas.gdstorage.view.itemview.ScMakeUncollectListItemView;
+
+import java.util.List;
+
+/**
+ * @note:工单备料:备料采集待采集物料列表
+ */
+public class ScMakeUncollectListAdapter extends BaseAdapter implements View.OnClickListener {
+    ScMakeUncollectListItemView itemView;
+    List<UnCollect> itemList;
+    Context context;
+
+    public ScMakeUncollectListAdapter(Context context, List itemList) {
+        this.itemList = itemList;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return itemList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return itemList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        itemView = new ScMakeUncollectListItemView(context);
+        //序号
+        TextView tvMdDetno = (TextView) itemView.findViewWithTag(ScMakeUncollectListItemView.TAG_TVMDDETNO);;
+        //料号
+        TextView tvMdProduct = (TextView) itemView.findViewWithTag(ScMakeUncollectListItemView.TAG_TVMDPRODUCT);
+        //替代料
+        TextView tvMdRepCode = (TextView) itemView.findViewWithTag(ScMakeUncollectListItemView.TAG_TVMDREPCODE);;
+        //储位
+        TextView tvPrWiplocation = (TextView) itemView.findViewWithTag(ScMakeUncollectListItemView.TAG_TVPRWIPLOCATION);
+        //数量
+        TextView tvMdNeedQty = (TextView) itemView.findViewWithTag(ScMakeUncollectListItemView.TAG_TVMDNEEDQTY);
+
+        UnCollect message = itemList.get(position);
+
+
+        //添加监听
+        tvMdRepCode.setOnClickListener(this);
+
+        textMdRep = message.getMd_repcode();
+
+        int no = position+1;
+        tvMdDetno.setText(""+no);
+        tvMdProduct.setText("料号:"+message.getMd_prodcode());
+        tvMdRepCode.setText("替代料:"+message.getMd_repcode());
+        tvPrWiplocation.setText("储位:"+message.getPr_wiplocation());
+        tvMdNeedQty.setText("数量:"+message.getMd_needqty());
+        return itemView;
+    }
+
+    String textMdRep;
+    @Override
+    public void onClick(View v) {
+        //点击替代料弹出替代料详细信息
+        showRepPopupWin();
+    }
+
+    /*==========================显示替代料详细信息==============================*/
+    private void showRepPopupWin(){
+        View contentView = LayoutInflater.from(context).inflate(R.layout.popupwin_rep_scmake, null);
+        PopupWindow repPopWin;
+        //获取组件
+        TextView tvRepDetail = (TextView) contentView.findViewById(R.id.tv_rep_detail);
+        //PopupWindow
+        repPopWin = new PopupWindow(contentView, ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.WRAP_CONTENT);
+        repPopWin.setBackgroundDrawable(new BitmapDrawable());
+        repPopWin.setFocusable(true);
+        repPopWin.setOutsideTouchable(true);
+
+        tvRepDetail.setText(textMdRep);
+
+        View parentView = ((Activity)context).getWindow().findViewById(Window.ID_ANDROID_CONTENT);
+        //当pop菜单超出屏幕时,平移位置
+        repPopWin.showAtLocation(parentView, Gravity.CENTER,0,0);
+    }
+
+}

+ 72 - 0
app/src/main/java/com/uas/gdstorage/adapter/SearchMaterialNumberAdapter.java

@@ -0,0 +1,72 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.table.TableLPRODIONEEDGET;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SearchMaterialNumberAdapter extends BaseAdapter {
+
+    private List<TableLPRODIONEEDGET> objects = new ArrayList<TableLPRODIONEEDGET>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public SearchMaterialNumberAdapter(Context context, List<TableLPRODIONEEDGET> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public TableLPRODIONEEDGET getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.layout_list_search_material, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((TableLPRODIONEEDGET) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(TableLPRODIONEEDGET object, ViewHolder holder) {
+        holder.searchMaterialListNumberTv.setText(object.getLPN_PRODCODE());
+        holder.searchMaterialListQuantityTv.setText(CommonUtil.doubleFormat(object.getLPN_RESTQTY()));
+        holder.searchMaterialListNameTv.setText(object.getLPN_PRDETAIL());
+    }
+
+    protected class ViewHolder {
+        private TextView searchMaterialListNumberTv;
+        private TextView searchMaterialListQuantityTv;
+        private TextView searchMaterialListNameTv;
+
+        public ViewHolder(View view) {
+            searchMaterialListNumberTv = (TextView) view.findViewById(R.id.search_material_list_number_tv);
+            searchMaterialListQuantityTv = (TextView) view.findViewById(R.id.search_material_list_quantity_tv);
+            searchMaterialListNameTv = (TextView) view.findViewById(R.id.search_material_list_name_tv);
+        }
+    }
+}

+ 64 - 0
app/src/main/java/com/uas/gdstorage/adapter/SingleSelectionAdapter.java

@@ -0,0 +1,64 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SingleSelectionAdapter extends BaseAdapter {
+
+    private List<String> objects = new ArrayList<String>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public SingleSelectionAdapter(Context context, List<String> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public String getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_single_selection, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((String) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(String object, ViewHolder holder) {
+        holder.listSingleSelectionValueTv.setText(object);
+    }
+
+    protected class ViewHolder {
+        private TextView listSingleSelectionValueTv;
+
+        public ViewHolder(View view) {
+            listSingleSelectionValueTv = (TextView) view.findViewById(R.id.list_single_selection_value_tv);
+        }
+    }
+}

+ 78 - 0
app/src/main/java/com/uas/gdstorage/adapter/SmtDownResultAdapter.java

@@ -0,0 +1,78 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.SmtQueryMaterialBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SmtDownResultAdapter extends BaseAdapter {
+
+    private List<SmtQueryMaterialBean> objects = new ArrayList<SmtQueryMaterialBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public SmtDownResultAdapter(Context context, List<SmtQueryMaterialBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public SmtQueryMaterialBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_smt_down_result, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((SmtQueryMaterialBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(SmtQueryMaterialBean object, ViewHolder holder) {
+        holder.itemSmtDownProdcodeTv.setText(object.getDSL_PRODCODE());
+        holder.itemSmtDownLocationTv.setText(object.getDSL_LOCATION());
+        holder.itemSmtDownBarcodeTv.setText(object.getDSL_BARCODE());
+        holder.itemSmtDownQuantityTv.setText(CommonUtil.doubleFormat(object.getDSL_REMAINQTY()));
+        holder.itemSmtDownFespecTv.setText(object.getDSL_FESPEC());
+    }
+
+    protected class ViewHolder {
+        private TextView itemSmtDownProdcodeTv;
+        private TextView itemSmtDownLocationTv;
+        private TextView itemSmtDownBarcodeTv;
+        private TextView itemSmtDownQuantityTv;
+        private TextView itemSmtDownFespecTv;
+
+        public ViewHolder(View view) {
+            itemSmtDownProdcodeTv = (TextView) view.findViewById(R.id.item_smt_down_prodcode_tv);
+            itemSmtDownLocationTv = (TextView) view.findViewById(R.id.item_smt_down_location_tv);
+            itemSmtDownBarcodeTv = (TextView) view.findViewById(R.id.item_smt_down_barcode_tv);
+            itemSmtDownQuantityTv = (TextView) view.findViewById(R.id.item_smt_down_quantity_tv);
+            itemSmtDownFespecTv = (TextView) view.findViewById(R.id.item_smt_down_fespec_tv);
+        }
+    }
+}

+ 114 - 0
app/src/main/java/com/uas/gdstorage/adapter/SmtQueryDiffListAdapter.java

@@ -0,0 +1,114 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.SmtQueryDiffBean;
+
+/**
+ * Created by RaoMeng on 2017/6/13.
+ */
+public class SmtQueryDiffListAdapter extends BaseAdapter {
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private SmtQueryDiffBean mSmtQueryDiffBean;
+
+    public SmtQueryDiffListAdapter(Context context, SmtQueryDiffBean mSmtQueryDiffBean) {
+        this.context = context;
+        this.mSmtQueryDiffBean = mSmtQueryDiffBean;
+        this.layoutInflater = LayoutInflater.from(context);
+    }
+
+    @Override
+    public int getCount() {
+        return mSmtQueryDiffBean.getErrorusedcount() + mSmtQueryDiffBean.getUnusecount() + 2;
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return null;
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public int getViewTypeCount() {
+        return 3;
+    }
+
+    /**
+     * {@link #VIEW_TYPE_TITLE}0、标题视图<br/>
+     * {@link #VIEW_TYPE_NOT} 1、未上料视图 <br/>
+     * {@link #VIEW_TYPE_ERROR} 2、错误上料视图<br/>
+     */
+    private static final int VIEW_TYPE_TITLE = 0;
+    private static final int VIEW_TYPE_NOT = 1;
+    private static final int VIEW_TYPE_ERROR = 2;
+
+    @Override
+    public int getItemViewType(int position) {
+        if (position == 0 || position == mSmtQueryDiffBean.getUnusecount() + 1) {
+            return VIEW_TYPE_TITLE;
+        } else if (mSmtQueryDiffBean.getUnusecount() > 0 && position > 0 && position <= mSmtQueryDiffBean.getUnusecount()) {
+            return VIEW_TYPE_NOT;
+        } else if (mSmtQueryDiffBean.getErrorusedcount() > 0) {
+            return VIEW_TYPE_ERROR;
+        } else {
+            return 3;
+        }
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        int viewType = getItemViewType(position);
+
+        if (viewType == VIEW_TYPE_TITLE) {
+            convertView = layoutInflater.inflate(R.layout.item_list_smtquery_diff_title, null);
+            TextView itemSmtQueryTitleTv = (TextView) convertView.findViewById(R.id.list_smt_query_diff_title_tv);
+            TextView itemSmtQueryCountTv = (TextView) convertView.findViewById(R.id.list_smt_query_diff_count_tv);
+            if (position == 0) {
+                itemSmtQueryTitleTv.setText("未上料站位");
+                itemSmtQueryCountTv.setText(mSmtQueryDiffBean.getUnusecount() + "");
+            } else {
+                itemSmtQueryTitleTv.setText("错误上料站位");
+                itemSmtQueryCountTv.setText(mSmtQueryDiffBean.getErrorusedcount() + "");
+            }
+        } else if (viewType == VIEW_TYPE_NOT) {
+            convertView = layoutInflater.inflate(R.layout.item_list_smtquery_diff_not, null);
+            TextView itemSmtQueryNotLocationTv = (TextView) convertView.findViewById(R.id.item_smtquery_diff_not_location_tv);
+            TextView itemSmtQueryNotFirstTv = (TextView) convertView.findViewById(R.id.item_smtquery_diff_not_first_tv);
+            TextView itemSmtQueryNotReplaceTv = (TextView) convertView.findViewById(R.id.item_smtquery_diff_not_replace_tv);
+
+            itemSmtQueryNotLocationTv.setText(mSmtQueryDiffBean.getUnuse().get(position - 1).getPSL_LOCATION());
+            itemSmtQueryNotFirstTv.setText(mSmtQueryDiffBean.getUnuse().get(position - 1).getPSL_PRODCODE());
+            itemSmtQueryNotReplaceTv.setText(mSmtQueryDiffBean.getUnuse().get(position - 1).getPSL_REPCODE());
+        } else if (viewType == VIEW_TYPE_ERROR) {
+            convertView = layoutInflater.inflate(R.layout.item_list_smtquery_diff_error, null);
+            TextView itemSmtQueryErrorLocationTv = (TextView) convertView.findViewById(R.id.item_smtquery_diff_error_location_tv);
+            TextView itemSmtQueryErrorProdcodeTv = (TextView) convertView.findViewById(R.id.item_smtquery_diff_error_prodcode_tv);
+
+            itemSmtQueryErrorLocationTv.setText(mSmtQueryDiffBean.getErrorused().get(position - mSmtQueryDiffBean.getUnusecount() - 2).getDSL_LOCATIION());
+            itemSmtQueryErrorProdcodeTv.setText(mSmtQueryDiffBean.getErrorused().get(position - mSmtQueryDiffBean.getUnusecount() - 2).getDSL_PRODCODE());
+        }
+
+        return convertView;
+    }
+
+    class ViewHolder {
+        TextView itemSmtQueryTitleTv;
+        TextView itemSmtQueryCountTv;
+        TextView itemSmtQueryNotLocationTv;
+        TextView itemSmtQueryNotFirstTv;
+        TextView itemSmtQueryNotReplaceTv;
+        TextView itemSmtQueryErrorLocationTv;
+        TextView itemSmtQueryErrorProdcodeTv;
+    }
+}

+ 111 - 0
app/src/main/java/com/uas/gdstorage/adapter/SmtQueryMaterialListAdapter.java

@@ -0,0 +1,111 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TableRow;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.SmtQueryMaterialBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SmtQueryMaterialListAdapter extends BaseAdapter {
+    private List<SmtQueryMaterialBean> objects = new ArrayList<SmtQueryMaterialBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private boolean isBarcodeHide, isJoinList;
+
+    public SmtQueryMaterialListAdapter(Context context, List<SmtQueryMaterialBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    public void setBarcodeHide(boolean barcodeHide) {
+        isBarcodeHide = barcodeHide;
+    }
+
+    public void setJoinList(boolean joinList) {
+        isJoinList = joinList;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public SmtQueryMaterialBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_smt_query, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((SmtQueryMaterialBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(SmtQueryMaterialBean object, ViewHolder holder) {
+        if (isJoinList) {
+            holder.inmanCaptionTv.setText("接料人:");
+        } else {
+            holder.inmanCaptionTv.setText("上料人:");
+        }
+
+        holder.itemSmtQueryLocationTv.setText(object.getDSL_LOCATION());
+        holder.itemSmtQueryFespecTv.setText(object.getDSL_FESPEC());
+        holder.itemSmtQueryProdcodeTv.setText(object.getDSL_PRODCODE());
+        if (isBarcodeHide) {
+            holder.barcodeTableRow.setVisibility(View.GONE);
+        } else {
+            holder.barcodeTableRow.setVisibility(View.VISIBLE);
+            holder.itemSmtQueryBarcodeTv.setText(object.getDSL_BARCODE());
+        }
+        holder.itemSmtQueryRemainqtyTv.setText(CommonUtil.doubleFormat(object.getDSL_REMAINQTY()));
+        holder.itemSmtQueryBaseqtyTv.setText(CommonUtil.doubleFormat(object.getDSL_BASEQTY()));
+        holder.itemSmtQueryInmanTv.setText(object.getDSL_INMAN());
+        holder.itemSmtQueryIndateTv.setText(object.getDSL_INDATE());
+    }
+
+    protected class ViewHolder {
+        private TextView itemSmtQueryLocationTv;
+        private TextView itemSmtQueryFespecTv;
+        private TextView itemSmtQueryProdcodeTv;
+        private TextView itemSmtQueryBarcodeTv;
+        private TextView itemSmtQueryRemainqtyTv;
+        private TextView itemSmtQueryBaseqtyTv;
+        private TextView itemSmtQueryInmanTv;
+        private TextView itemSmtQueryIndateTv;
+        private TableRow barcodeTableRow;
+        private TextView inmanCaptionTv;
+
+        public ViewHolder(View view) {
+            itemSmtQueryLocationTv = (TextView) view.findViewById(R.id.item_smt_query_location_tv);
+            itemSmtQueryFespecTv = (TextView) view.findViewById(R.id.item_smt_query_fespec_tv);
+            itemSmtQueryProdcodeTv = (TextView) view.findViewById(R.id.item_smt_query_prodcode_tv);
+            itemSmtQueryBarcodeTv = (TextView) view.findViewById(R.id.item_smt_query_barcode_tv);
+            itemSmtQueryRemainqtyTv = (TextView) view.findViewById(R.id.item_smt_query_remainqty_tv);
+            itemSmtQueryBaseqtyTv = (TextView) view.findViewById(R.id.item_smt_query_baseqty_tv);
+            itemSmtQueryInmanTv = (TextView) view.findViewById(R.id.item_smt_query_inman_tv);
+            itemSmtQueryIndateTv = (TextView) view.findViewById(R.id.item_smt_query_indate_tv);
+            barcodeTableRow = (TableRow) view.findViewById(R.id.item_smt_query_barcode_tr);
+            inmanCaptionTv = (TextView) view.findViewById(R.id.item_smt_query_inman_caption_tv);
+        }
+    }
+}

+ 68 - 0
app/src/main/java/com/uas/gdstorage/adapter/SmtqueryDiffErrorAdapter.java

@@ -0,0 +1,68 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.SmtQueryDiffBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SmtqueryDiffErrorAdapter extends BaseAdapter {
+
+    private List<SmtQueryDiffBean.ErrorusedBean> objects = new ArrayList<SmtQueryDiffBean.ErrorusedBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public SmtqueryDiffErrorAdapter(Context context, List<SmtQueryDiffBean.ErrorusedBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public SmtQueryDiffBean.ErrorusedBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_smtquery_diff_error, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((SmtQueryDiffBean.ErrorusedBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(SmtQueryDiffBean.ErrorusedBean object, ViewHolder holder) {
+        holder.itemSmtqueryDiffErrorLocationTv.setText(object.getDSL_LOCATIION());
+        holder.itemSmtqueryDiffErrorProdcodeTv.setText(object.getDSL_PRODCODE());
+    }
+
+    protected class ViewHolder {
+        private TextView itemSmtqueryDiffErrorLocationTv;
+        private TextView itemSmtqueryDiffErrorProdcodeTv;
+
+        public ViewHolder(View view) {
+            itemSmtqueryDiffErrorLocationTv = (TextView) view.findViewById(R.id.item_smtquery_diff_error_location_tv);
+            itemSmtqueryDiffErrorProdcodeTv = (TextView) view.findViewById(R.id.item_smtquery_diff_error_prodcode_tv);
+        }
+    }
+}

+ 71 - 0
app/src/main/java/com/uas/gdstorage/adapter/SmtqueryDiffNotAdapter.java

@@ -0,0 +1,71 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.SmtQueryDiffBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SmtqueryDiffNotAdapter extends BaseAdapter {
+
+    private List<SmtQueryDiffBean.UnuseBean> objects = new ArrayList<SmtQueryDiffBean.UnuseBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public SmtqueryDiffNotAdapter(Context context, List<SmtQueryDiffBean.UnuseBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public SmtQueryDiffBean.UnuseBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_smtquery_diff_not, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((SmtQueryDiffBean.UnuseBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(SmtQueryDiffBean.UnuseBean object, ViewHolder holder) {
+        holder.itemSmtqueryDiffNotLocationTv.setText(object.getPSL_LOCATION());
+        holder.itemSmtqueryDiffNotFirstTv.setText(object.getPSL_PRODCODE());
+        holder.itemSmtqueryDiffNotReplaceTv.setText(object.getPSL_REPCODE());
+    }
+
+    protected class ViewHolder {
+        private TextView itemSmtqueryDiffNotLocationTv;
+        private TextView itemSmtqueryDiffNotFirstTv;
+        private TextView itemSmtqueryDiffNotReplaceTv;
+
+        public ViewHolder(View view) {
+            itemSmtqueryDiffNotLocationTv = (TextView) view.findViewById(R.id.item_smtquery_diff_not_location_tv);
+            itemSmtqueryDiffNotFirstTv = (TextView) view.findViewById(R.id.item_smtquery_diff_not_first_tv);
+            itemSmtqueryDiffNotReplaceTv = (TextView) view.findViewById(R.id.item_smtquery_diff_not_replace_tv);
+        }
+    }
+}

+ 82 - 0
app/src/main/java/com/uas/gdstorage/adapter/StockAlreadyListAdapter.java

@@ -0,0 +1,82 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StockAlreadyItemBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StockAlreadyListAdapter extends BaseAdapter {
+
+    private List<StockAlreadyItemBean> objects = new ArrayList<StockAlreadyItemBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public StockAlreadyListAdapter(Context context, List<StockAlreadyItemBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StockAlreadyItemBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_stock_already_list, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StockAlreadyItemBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StockAlreadyItemBean object, ViewHolder holder) {
+//        holder.stockAlreadyListBarcode.setText((object.getBI_BARCODE() == null || "null".equals(object.getBI_BARCODE())) ? "箱号:" + object.getBI_OUTBOXCODE() : "条码:" + object.getBI_BARCODE());
+        holder.stockAlreadyListBarcode.setText((object.getBI_BARCODE() == null || "null".equals(object.getBI_BARCODE())) ? "条码:" + "" : "条码:" + object.getBI_BARCODE());
+        holder.stockAlreadyListOutqty.setText(((object.getBI_OUTQTY() + "") == null || "null".equals((object.getBI_OUTQTY() + ""))) ? "" : (CommonUtil.doubleFormat(object.getBI_OUTQTY())));
+        holder.stockAlreadyListProdcode.setText((object.getBI_PRODCODE() == null || "null".equals(object.getBI_PRODCODE())) ? "" : object.getBI_PRODCODE());
+        holder.stockAlreadyListDetail.setText((object.getPR_DETAIL() == null || "null".equals(object.getPR_DETAIL())) ? "" : object.getPR_DETAIL());
+        holder.stockAlreadyListBatchcode.setText((object.getBI_BATCHCODE() == null || "null".equals(object.getBI_BATCHCODE())) ? "" : object.getBI_BATCHCODE());
+        holder.stockAlreadyListLocation.setText((object.getBI_LOCATION() == null || "null".equals(object.getBI_LOCATION())) ? "" : object.getBI_LOCATION());
+    }
+
+    protected class ViewHolder {
+        private TextView stockAlreadyListBarcode;
+        private TextView stockAlreadyListOutqty;
+        private TextView stockAlreadyListProdcode;
+        private TextView stockAlreadyListDetail;
+        private TextView stockAlreadyListBatchcode;
+        private TextView stockAlreadyListLocation;
+
+        public ViewHolder(View view) {
+            stockAlreadyListBarcode = (TextView) view.findViewById(R.id.stock_already_list_barcode);
+            stockAlreadyListOutqty = (TextView) view.findViewById(R.id.stock_already_list_outqty);
+            stockAlreadyListProdcode = (TextView) view.findViewById(R.id.stock_already_list_prodcode);
+            stockAlreadyListDetail = (TextView) view.findViewById(R.id.stock_already_list_detail);
+            stockAlreadyListBatchcode = (TextView) view.findViewById(R.id.stock_already_list_batchcode);
+            stockAlreadyListLocation = (TextView) view.findViewById(R.id.stock_already_list_location);
+        }
+    }
+}

+ 80 - 0
app/src/main/java/com/uas/gdstorage/adapter/StockBarcodeListAdapter.java

@@ -0,0 +1,80 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StockBarcodeItemBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StockBarcodeListAdapter extends BaseAdapter {
+
+    private List<StockBarcodeItemBean> objects = new ArrayList<StockBarcodeItemBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public StockBarcodeListAdapter(Context context, List<StockBarcodeItemBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StockBarcodeItemBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_stock_barcode_list, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StockBarcodeItemBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StockBarcodeItemBean object, ViewHolder holder) {
+        holder.listStockBarcodeCodeTv.setText(object.getBS_CODE());
+        holder.listStockBarcodeDateTv.setText(object.getBS_INDATE());
+        holder.listStockBarcodeInmanTv.setText(object.getBS_INMAN());
+        holder.listStockBarcodeWhcodeTv.setText(object.getBS_WHCODE());
+        holder.listStockBarcodeCgyTv.setText(object.getWM_CGYNAME());
+    }
+
+    protected class ViewHolder {
+        private ImageView listStockBarcodeNextIv;
+        private TextView listStockBarcodeCodeTv;
+        private TextView listStockBarcodeDateTv;
+        private TextView listStockBarcodeInmanTv;
+        private TextView listStockBarcodeWhcodeTv;
+        private TextView listStockBarcodeCgyTv;
+
+        public ViewHolder(View view) {
+            listStockBarcodeNextIv = (ImageView) view.findViewById(R.id.list_stock_barcode_next_iv);
+            listStockBarcodeCodeTv = (TextView) view.findViewById(R.id.list_stock_barcode_code_tv);
+            listStockBarcodeDateTv = (TextView) view.findViewById(R.id.list_stock_barcode_date_tv);
+            listStockBarcodeInmanTv = (TextView) view.findViewById(R.id.list_stock_barcode_inman_tv);
+            listStockBarcodeWhcodeTv = (TextView) view.findViewById(R.id.list_stock_barcode_whcode_tv);
+            listStockBarcodeCgyTv = (TextView) view.findViewById(R.id.list_stock_barcode_cgy_tv);
+        }
+    }
+}

+ 87 - 0
app/src/main/java/com/uas/gdstorage/adapter/StockTaskAdapter.java

@@ -0,0 +1,87 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StockTaskItemBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StockTaskAdapter extends BaseAdapter {
+
+    private List<StockTaskItemBean> objects = new ArrayList<StockTaskItemBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public StockTaskAdapter(Context context, List<StockTaskItemBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StockTaskItemBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_stock_task, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StockTaskItemBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StockTaskItemBean object, ViewHolder holder) {
+        holder.stockTaskProdcode.setText(object.getPD_PRODCODE() == null || "null".equals(object.getPD_PRODCODE()) ? "" : object.getPD_PRODCODE());
+        holder.stockTaskWaitNum.setText(CommonUtil.doubleFormat(object.getPD_RESTQTY()));
+        holder.stockTaskSum.setText(CommonUtil.doubleFormat(object.getPD_OUTQTY()));
+        holder.stockTaskZxbzs.setText(CommonUtil.doubleFormat(object.getBA_REMAIN()));
+        holder.stockTaskBatchcode.setText(object.getPD_BATCHCODE() == null || "null".equals(object.getPD_BATCHCODE()) ? "" : object.getPD_BATCHCODE());
+        holder.stockTaskLocation.setText(object.getBAR_LOCATION() == null || "null".equals(object.getBAR_LOCATION()) ? "" : object.getBAR_LOCATION());
+        holder.stockTaskDetailSpec.setText(((object.getPR_DETAIL() == null || "null".equals(object.getPR_DETAIL())) ? "" : object.getPR_DETAIL()) + "  " + ((object.getPR_SPEC() == null || "null".equals(object.getPR_SPEC())) ? "" : object.getPR_SPEC()));
+        holder.stockTaskHave.setText((object.getHASBARCODE() == 0 ? "无" : "有"));
+    }
+
+    protected class ViewHolder {
+        private TextView stockTaskProdcode;
+        private TextView stockTaskWaitNum;
+        private TextView stockTaskSum;
+        private TextView stockTaskZxbzs;
+        private TextView stockTaskBatchcode;
+        private TextView stockTaskLocation;
+        private TextView stockTaskHave;
+        private TextView stockTaskDetailSpec;
+
+        public ViewHolder(View view) {
+            stockTaskProdcode = (TextView) view.findViewById(R.id.stock_task_prodcode);
+            stockTaskWaitNum = (TextView) view.findViewById(R.id.stock_task_wait_num);
+            stockTaskSum = (TextView) view.findViewById(R.id.stock_task_sum);
+            stockTaskZxbzs = (TextView) view.findViewById(R.id.stock_task_zxbzs);
+            stockTaskBatchcode = (TextView) view.findViewById(R.id.stock_task_batchcode);
+            stockTaskLocation = (TextView) view.findViewById(R.id.stock_task_location);
+            stockTaskHave = (TextView) view.findViewById(R.id.stock_task_have);
+            stockTaskDetailSpec = (TextView) view.findViewById(R.id.stock_task_detail_spec);
+        }
+    }
+}

+ 127 - 0
app/src/main/java/com/uas/gdstorage/adapter/StockTaskMultipleAdapter.java

@@ -0,0 +1,127 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StockTaskMultipleBean;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.view.MostListView;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StockTaskMultipleAdapter extends BaseAdapter {
+
+    private List<StockTaskMultipleBean> objects = new ArrayList<StockTaskMultipleBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private Drawable retractDrawable, spreadDrawable = null;
+
+    public StockTaskMultipleAdapter(Context context, List<StockTaskMultipleBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+        retractDrawable = context.getResources().getDrawable(R.drawable.ic_menu_retract);
+        spreadDrawable = context.getResources().getDrawable(R.drawable.ic_menu_spread);
+        retractDrawable.setBounds(0, 0, retractDrawable.getMinimumWidth(), retractDrawable.getMinimumHeight());
+        spreadDrawable.setBounds(0, 0, spreadDrawable.getMinimumWidth(), spreadDrawable.getMinimumHeight());
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StockTaskMultipleBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_stock_task_multiple, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StockTaskMultipleBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StockTaskMultipleBean object, final ViewHolder holder) {
+        holder.stockTaskMultipleProdcode.setText(object.getPD_PRODCODE());
+        holder.stockTaskMultipleWaitNum.setText(CommonUtil.doubleFormat(object.getPD_RESTQTY()));
+        holder.stockTaskMultipleSum.setText(CommonUtil.doubleFormat(object.getPD_OUTQTY()));
+        holder.stockTaskMultipleZxbzs.setText(CommonUtil.doubleFormat(object.getBAR_REMAIN()));
+        holder.stockTaskMultipleBatchcode.setText(object.getPD_BATCHCODE());
+        holder.stockTaskMultipleLocation.setText(object.getBAR_LOCATION());
+        holder.stockTaskMultipleHave.setText((object.getBA_HASBARCODE() == 0 ? "无" : "有"));
+        holder.stockTaskMultipleDetailSpec.setText(object.getPR_DETAIL() + "  " + object.getPR_SPEC());
+
+        if (object.getNOS().size() > 0) {
+            holder.stockTaskMultipleSpreadTv.setVisibility(View.VISIBLE);
+            StockTaskMultipleDetailAdapter stockTaskMultipleDetailAdapter = new StockTaskMultipleDetailAdapter(context, object.getNOS());
+            holder.stockTaskMultipleListLv.setAdapter(stockTaskMultipleDetailAdapter);
+
+            holder.stockTaskMultipleSuperLl.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (holder.stockTaskMultipleListLv.getVisibility() == View.VISIBLE) {
+                        holder.stockTaskMultipleListLv.setVisibility(View.GONE);
+                        holder.stockTaskMultipleSpreadTv.setText("展开");
+                        holder.stockTaskMultipleSpreadTv.setCompoundDrawables(null, null, retractDrawable, null);
+                        holder.stockTaskMultipleSpreadTv.setCompoundDrawablePadding(5);
+                    } else {
+                        holder.stockTaskMultipleListLv.setVisibility(View.VISIBLE);
+                        holder.stockTaskMultipleSpreadTv.setText("收起");
+                        holder.stockTaskMultipleSpreadTv.setCompoundDrawables(null, null, spreadDrawable, null);
+                        holder.stockTaskMultipleSpreadTv.setCompoundDrawablePadding(5);
+                    }
+                }
+            });
+        } else {
+            holder.stockTaskMultipleSpreadTv.setVisibility(View.GONE);
+        }
+
+    }
+
+    protected class ViewHolder {
+        private TextView stockTaskMultipleProdcode;
+        private TextView stockTaskMultipleWaitNum;
+        private TextView stockTaskMultipleSum;
+        private TextView stockTaskMultipleZxbzs;
+        private TextView stockTaskMultipleBatchcode;
+        private TextView stockTaskMultipleLocation;
+        private TextView stockTaskMultipleHave;
+        private TextView stockTaskMultipleDetailSpec;
+        private MostListView stockTaskMultipleListLv;
+        private LinearLayout stockTaskMultipleSuperLl;
+        private TextView stockTaskMultipleSpreadTv;
+
+        public ViewHolder(View view) {
+            stockTaskMultipleProdcode = (TextView) view.findViewById(R.id.stock_task_multiple_prodcode);
+            stockTaskMultipleWaitNum = (TextView) view.findViewById(R.id.stock_task_multiple_wait_num);
+            stockTaskMultipleSum = (TextView) view.findViewById(R.id.stock_task_multiple_sum);
+            stockTaskMultipleZxbzs = (TextView) view.findViewById(R.id.stock_task_multiple_zxbzs);
+            stockTaskMultipleBatchcode = (TextView) view.findViewById(R.id.stock_task_multiple_batchcode);
+            stockTaskMultipleLocation = (TextView) view.findViewById(R.id.stock_task_multiple_location);
+            stockTaskMultipleHave = (TextView) view.findViewById(R.id.stock_task_multiple_have);
+            stockTaskMultipleDetailSpec = (TextView) view.findViewById(R.id.stock_task_multiple_detail_spec);
+            stockTaskMultipleListLv = (MostListView) view.findViewById(R.id.stock_task_multiple_list_lv);
+            stockTaskMultipleSuperLl = (LinearLayout) view.findViewById(R.id.stock_task_multiple_super_ll);
+            stockTaskMultipleSpreadTv = (TextView) view.findViewById(R.id.stock_task_multiple_spread_tv);
+        }
+    }
+}

+ 72 - 0
app/src/main/java/com/uas/gdstorage/adapter/StockTaskMultipleDetailAdapter.java

@@ -0,0 +1,72 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StockTaskMultipleBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StockTaskMultipleDetailAdapter extends BaseAdapter {
+
+    private List<StockTaskMultipleBean.NOSBean> objects = new ArrayList<StockTaskMultipleBean.NOSBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public StockTaskMultipleDetailAdapter(Context context, List<StockTaskMultipleBean.NOSBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StockTaskMultipleBean.NOSBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_stock_task_multiple_detail, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StockTaskMultipleBean.NOSBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StockTaskMultipleBean.NOSBean object, ViewHolder holder) {
+        holder.outStockTaskMultipleDetailInoutnoTv.setText(object.getPI_INOUTNO());
+        holder.outStockTaskMultipleDetailRestqtyTv.setText(CommonUtil.doubleFormat(object.getPD_RESTQTY()));
+        holder.outStockTaskMultipleDetailOutqtyTv.setText(CommonUtil.doubleFormat(object.getPD_OUTQTY()));
+    }
+
+    protected class ViewHolder {
+        private TextView outStockTaskMultipleDetailInoutnoTv;
+        private TextView outStockTaskMultipleDetailRestqtyTv;
+        private TextView outStockTaskMultipleDetailOutqtyTv;
+
+        public ViewHolder(View view) {
+            outStockTaskMultipleDetailInoutnoTv = (TextView) view.findViewById(R.id.out_stock_task_multiple_detail_inoutno_tv);
+            outStockTaskMultipleDetailRestqtyTv = (TextView) view.findViewById(R.id.out_stock_task_multiple_detail_restqty_tv);
+            outStockTaskMultipleDetailOutqtyTv = (TextView) view.findViewById(R.id.out_stock_task_multiple_detail_outqty_tv);
+        }
+    }
+}

+ 96 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageCollectTableAdapter.java

@@ -0,0 +1,96 @@
+package com.uas.gdstorage.adapter;
+
+import android.support.annotation.Nullable;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+
+import com.alibaba.fastjson.JSON;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StorageCollectTableBean;
+import com.uas.gdstorage.view.ClearableEditText;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author RaoMeng
+ * @describe
+ * @date 2018/11/20 10:42
+ */
+public class StorageCollectTableAdapter extends BaseQuickAdapter<StorageCollectTableBean, BaseViewHolder> {
+
+    public void initAdapterData() {
+        List<StorageCollectTableBean> data = this.getData();
+        if (data != null) {
+            for (int i = 0; i < data.size(); i++) {
+                data.get(i).setValue("");
+            }
+
+            this.notifyDataSetChanged();
+        }
+    }
+
+    public boolean isAllInput() {
+        List<StorageCollectTableBean> data = this.getData();
+        if (data != null) {
+            for (int i = 0; i < data.size(); i++) {
+                if (TextUtils.isEmpty(data.get(i).getValue())) {
+                    return false;
+                }
+            }
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    public String getDataJson() {
+        List<StorageCollectTableBean> data = this.getData();
+        Map<String, Object> params = new HashMap<>();
+        if (data != null) {
+            for (int i = 0; i < data.size(); i++) {
+                StorageCollectTableBean storageCollectTableBean = data.get(i);
+                if (storageCollectTableBean != null && !TextUtils.isEmpty(storageCollectTableBean.getValue())) {
+                    params.put(storageCollectTableBean.getName(), storageCollectTableBean.getValue());
+                }
+            }
+            return JSON.toJSONString(params);
+        } else {
+            return "";
+        }
+    }
+
+    public StorageCollectTableAdapter(@Nullable List<StorageCollectTableBean> data) {
+        super(R.layout.item_storage_collect_table, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, StorageCollectTableBean item) {
+        helper.setIsRecyclable(false);
+        helper.setText(R.id.item_storage_collect_caption, item.getFieldLabel());
+        ClearableEditText valueEditText = (ClearableEditText) helper.getView(R.id.item_storage_collect_input);
+        valueEditText.setText(item.getValue());
+        valueEditText.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable editable) {
+                String result = editable.toString().trim();
+
+                item.setValue(result);
+            }
+        });
+    }
+}

+ 45 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageDetailListAdapter.java

@@ -0,0 +1,45 @@
+package com.uas.gdstorage.adapter;
+
+import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.CommonTableListBean;
+
+import java.util.List;
+
+/**
+ * @author RaoMeng
+ * @describe
+ * @date 2018/9/10 19:50
+ */
+public class StorageDetailListAdapter extends BaseMultiItemQuickAdapter<CommonTableListBean, BaseViewHolder> {
+
+    public StorageDetailListAdapter(List<CommonTableListBean> commonTableListBeans) {
+        super(commonTableListBeans);
+        addItemType(CommonTableListBean.TABLE_LIST_DIVIDER, R.layout.item_storage_detail_divider);
+        addItemType(CommonTableListBean.TABLE_LIST_DATA, R.layout.item_storage_detail_data);
+    }
+
+    public void bindGroupViewHolder(BaseViewHolder helper, CommonTableListBean commonTableListBean) {
+
+    }
+
+    public void bindSubViewHolder(BaseViewHolder helper, CommonTableListBean commonTableListBean) {
+        helper.setText(R.id.business_mine_child_caption_tv, commonTableListBean.getCaption());
+        helper.setText(R.id.business_mine_child_value_tv, commonTableListBean.getValue());
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, CommonTableListBean commonTableListBean) {
+        if (helper != null) {
+            switch (helper.getItemViewType()) {
+                case CommonTableListBean.TABLE_LIST_DIVIDER:
+                    bindGroupViewHolder(helper, commonTableListBean);
+                    break;
+                case CommonTableListBean.TABLE_LIST_DATA:
+                    bindSubViewHolder(helper, commonTableListBean);
+                    break;
+            }
+        }
+    }
+}

+ 98 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageInAddAdapter.java

@@ -0,0 +1,98 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StorageInBillBean;
+import com.uas.gdstorage.util.DateFormatUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StorageInAddAdapter extends BaseAdapter {
+
+    private List<StorageInBillBean> objects = new ArrayList<StorageInBillBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public StorageInAddAdapter(Context context, List<StorageInBillBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StorageInBillBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_storage_in_add, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StorageInBillBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StorageInBillBean object, ViewHolder holder) {
+        holder.InoutnoTv.setText(object.getPI_INOUTNO());
+        holder.ClassTv.setText(object.getPI_CLASS());
+        holder.WhcodeTv.setText(object.getPI_WHCODE());
+        holder.WhnameTv.setText(object.getPI_WHNAME());
+        holder.CardcodeTv.setText(object.getPI_CARDCODE());
+        holder.TitleTv.setText(object.getPI_TITLE());
+        holder.StatusTv.setText(object.getPI_PDASTATUS());
+        holder.InvostatusTv.setText(object.getPI_INVOSTATUS());
+        holder.RecordmanTv.setText(object.getPI_RECORDMAN());
+        try {
+            holder.RecorddateTv.setText(DateFormatUtils.long2Str(object.getPI_RECORDDATE(), DateFormatUtils.YMD));
+        } catch (Exception e) {
+            holder.RecorddateTv.setText("");
+        }
+    }
+
+    protected class ViewHolder {
+        private TextView InoutnoTv;
+        private TextView ClassTv;
+        private TextView WhcodeTv;
+        private TextView WhnameTv;
+        private TextView CardcodeTv;
+        private TextView TitleTv;
+        private TextView StatusTv;
+        private TextView InvostatusTv;
+        private TextView RecordmanTv;
+        private TextView RecorddateTv;
+
+        public ViewHolder(View view) {
+            InoutnoTv = (TextView) view.findViewById(R.id.list_storage_in_add_inoutno_tv);
+            ClassTv = (TextView) view.findViewById(R.id.list_storage_in_add_class_tv);
+            WhcodeTv = (TextView) view.findViewById(R.id.list_storage_in_add_whcode_tv);
+            WhnameTv = (TextView) view.findViewById(R.id.list_storage_in_add_whname_tv);
+            CardcodeTv = (TextView) view.findViewById(R.id.list_storage_in_add_cardcode_tv);
+            TitleTv = (TextView) view.findViewById(R.id.list_storage_in_add_title_tv);
+            StatusTv = (TextView) view.findViewById(R.id.list_storage_in_add_status_tv);
+            InvostatusTv = (TextView) view.findViewById(R.id.list_storage_in_add_invostatus_tv);
+            RecordmanTv = (TextView) view.findViewById(R.id.list_storage_in_add_recordman_tv);
+            RecorddateTv = (TextView) view.findViewById(R.id.list_storage_in_add_recorddate_tv);
+        }
+    }
+}
+

+ 100 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageInAddBarcodeAdapter.java

@@ -0,0 +1,100 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StorageInBarcodeBean;
+import com.uas.gdstorage.fragment.StorageInAddBarcodeListFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class StorageInAddBarcodeAdapter extends BaseAdapter {
+
+    private List<StorageInBarcodeBean> objects = new ArrayList<StorageInBarcodeBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private int mWhichPage;
+
+    public StorageInAddBarcodeAdapter(Context context, List<StorageInBarcodeBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    public void setWhichPage(int whichPage) {
+        mWhichPage = whichPage;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StorageInBarcodeBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_storage_in_add_barcode, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StorageInBarcodeBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StorageInBarcodeBean object, ViewHolder holder) {
+        holder.mProdcodeTv.setText(object.getBI_PRODCODE());
+        holder.mBrandTv.setText(object.getBI_BRAND());
+        if (mWhichPage == StorageInAddBarcodeListFragment.PAGE_IN_BARCODE_DETAIL) {
+            holder.mInqtyTv.setText(object.getBI_INQTY() + "");
+        } else {
+            holder.mInqtyTv.setText(object.getBI_OUTQTY() + "");
+        }
+        holder.mPoTv.setText(object.getBI_ORDERCODE());
+        holder.mDatecodeTv.setText(object.getBI_DATECODE());
+        holder.mLotnoTv.setText(object.getBI_LOTNO());
+        holder.mEmnameTv.setText(object.getEM_NAME());
+        holder.mStatusTv.setText(object.getBI_STATUS());
+        holder.mBarcodeTv.setText(object.getBI_BARCODE());
+    }
+
+    protected class ViewHolder {
+        private TextView mProdcodeTv;
+        private TextView mBrandTv;
+        private TextView mInqtyTv;
+        private TextView mPoTv;
+        private TextView mDatecodeTv;
+        private TextView mLotnoTv;
+        private TextView mEmnameTv;
+        private TextView mBarcodeTv;
+        private TextView mStatusTv;
+
+        public ViewHolder(View view) {
+            mProdcodeTv = (TextView) view.findViewById(R.id.list_storage_in_add_barcode_prodcode_tv);
+            mBrandTv = (TextView) view.findViewById(R.id.list_storage_in_add_barcode_brand_tv);
+            mInqtyTv = (TextView) view.findViewById(R.id.list_storage_in_add_barcode_inqty_tv);
+            mPoTv = (TextView) view.findViewById(R.id.list_storage_in_add_barcode_po_tv);
+            mDatecodeTv = (TextView) view.findViewById(R.id.list_storage_in_add_barcode_datecode_tv);
+            mLotnoTv = (TextView) view.findViewById(R.id.list_storage_in_add_barcode_lotno_tv);
+            mEmnameTv = (TextView) view.findViewById(R.id.list_storage_in_add_barcode_emname_tv);
+            mStatusTv = (TextView) view.findViewById(R.id.list_storage_in_add_barcode_status_tv);
+            mBarcodeTv = (TextView) view.findViewById(R.id.list_storage_in_add_barcode_barcode_tv);
+        }
+    }
+}

+ 103 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageInAddQuantityAdapter.java

@@ -0,0 +1,103 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.fragment.StorageInAddBarcodeListFragment;
+import com.uas.gdstorage.util.FastjsonUtil;
+
+public class StorageInAddQuantityAdapter extends BaseAdapter {
+
+    private JSONArray objects = new JSONArray();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private int mWhichPage;
+
+    public StorageInAddQuantityAdapter(Context context, JSONArray objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    public void setWhichPage(int whichPage) {
+        mWhichPage = whichPage;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public JSONObject getItem(int position) {
+        return objects.getJSONObject(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_storage_in_add_quantity, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((JSONObject) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(JSONObject object, ViewHolder holder) {
+        try {
+            if (object != null) {
+                if (mWhichPage == StorageInAddBarcodeListFragment.PAGE_IN_QUANTITY_SUM) {
+                    holder.mPoLl.setVisibility(View.VISIBLE);
+                    holder.mPoTv.setText(FastjsonUtil.getText(object, "BI_ORDERCODE"));
+                } else if (mWhichPage == StorageInAddBarcodeListFragment.PAGE_OUT_QUANTITY_SUM) {
+                    holder.mPoLl.setVisibility(View.GONE);
+                }
+                holder.mProdcodeTv.setText(FastjsonUtil.getText(object, "BI_PRODCODE"));
+                if (mWhichPage == StorageInAddBarcodeListFragment.PAGE_IN_QUANTITY_SUM) {
+                    holder.mInqtyTv.setText(FastjsonUtil.getDouble(object, "BI_INQTY") + "");
+                } else if (mWhichPage == StorageInAddBarcodeListFragment.PAGE_OUT_QUANTITY_SUM) {
+                    holder.mInqtyTv.setText(FastjsonUtil.getDouble(object, "BI_OUTQTY") + "");
+                }
+                holder.mBrandTv.setText(FastjsonUtil.getText(object, "BI_BRAND"));
+                holder.mDetailTv.setText(FastjsonUtil.getText(object, "PR_DETAIL"));
+                holder.mSpecTv.setText(FastjsonUtil.getText(object, "PR_SPEC"));
+            }
+        } catch (Exception e) {
+
+        }
+    }
+
+    protected class ViewHolder {
+        private LinearLayout mPoLl;
+        private TextView mPoTv;
+        private TextView mProdcodeTv;
+        private TextView mInqtyTv;
+        private TextView mDetailTv;
+        private TextView mBrandTv;
+        private TextView mSpecTv;
+
+        public ViewHolder(View view) {
+            mPoLl = (LinearLayout) view.findViewById(R.id.list_storage_in_add_quantity_po_ll);
+            mPoTv = (TextView) view.findViewById(R.id.list_storage_in_add_quantity_po_tv);
+            mProdcodeTv = (TextView) view.findViewById(R.id.list_storage_in_add_quantity_prodcode_tv);
+            mInqtyTv = (TextView) view.findViewById(R.id.list_storage_in_add_quantity_inqty_tv);
+            mDetailTv = (TextView) view.findViewById(R.id.list_storage_in_add_quantity_detail_tv);
+            mSpecTv = (TextView) view.findViewById(R.id.list_storage_in_add_quantity_spec_tv);
+            mBrandTv = (TextView) view.findViewById(R.id.list_storage_in_add_quantity_brand_tv);
+        }
+    }
+}

+ 80 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageIqcInListAdapter.java

@@ -0,0 +1,80 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StorageIqcInListBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StorageIqcInListAdapter extends BaseAdapter {
+
+    private List<StorageIqcInListBean> objects = new ArrayList<StorageIqcInListBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public StorageIqcInListAdapter(Context context, List<StorageIqcInListBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StorageIqcInListBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.list_storage_iqc_in, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StorageIqcInListBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StorageIqcInListBean object, ViewHolder holder) {
+        holder.listStorageIqcInCheckcodeTv.setText(object.getVeCode());
+        holder.listStorageIqcInProdcodeTv.setText(object.getProdcode());
+        holder.listStorageIqcInRechargecodeTv.setText(object.getVadCode());
+        holder.listStorageIqcInVendnameTv.setText(object.getVeVendName());
+        holder.listStorageIqcInRecorderTv.setText(object.getRecorder());
+        holder.listStorageIqcInStateTv.setText(object.getStatus());
+    }
+
+    protected class ViewHolder {
+        private TextView listStorageIqcInCheckcodeTv;
+        private TextView listStorageIqcInProdcodeTv;
+        private TextView listStorageIqcInRechargecodeTv;
+        private TextView listStorageIqcInVendnameTv;
+        private TextView listStorageIqcInRecorderTv;
+        private TextView listStorageIqcInStateTv;
+
+        public ViewHolder(View view) {
+            listStorageIqcInCheckcodeTv = (TextView) view.findViewById(R.id.list_storage_iqc_in_checkcode_tv);
+            listStorageIqcInProdcodeTv = (TextView) view.findViewById(R.id.list_storage_iqc_in_prodcode_tv);
+            listStorageIqcInRechargecodeTv = (TextView) view.findViewById(R.id.list_storage_iqc_in_rechargecode_tv);
+            listStorageIqcInVendnameTv = (TextView) view.findViewById(R.id.list_storage_iqc_in_vendname_tv);
+            listStorageIqcInRecorderTv = (TextView) view.findViewById(R.id.list_storage_iqc_in_recorder_tv);
+            listStorageIqcInStateTv = (TextView) view.findViewById(R.id.list_storage_iqc_in_state_tv);
+        }
+    }
+}

+ 77 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageRechargeAdapter.java

@@ -0,0 +1,77 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StorageRechargeListBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StorageRechargeAdapter extends BaseAdapter {
+
+    private List<StorageRechargeListBean> objects = new ArrayList<StorageRechargeListBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public StorageRechargeAdapter(Context context, List<StorageRechargeListBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StorageRechargeListBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_storage_recharge, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StorageRechargeListBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StorageRechargeListBean object, ViewHolder holder) {
+        holder.listStorageRechargeOrdercodeTv.setText(object.getOrdercode());
+        holder.listStorageRechargeOrdernoTv.setText(object.getOrderNo() + "");
+        holder.listStorageRechargeProdcodeTv.setText(object.getProdcode());
+        holder.listStorageRechargeQuantityTv.setText(object.getQuantity() + "");
+        holder.listStorageRechargeSpecTv.setText(object.getDetail() + "    " + object.getSpec());
+    }
+
+    protected class ViewHolder {
+        private TextView listStorageRechargeOrdercodeTv;
+        private TextView listStorageRechargeOrdernoTv;
+        private TextView listStorageRechargeProdcodeTv;
+        private TextView listStorageRechargeQuantityTv;
+        private TextView listStorageRechargeSpecTv;
+
+        public ViewHolder(View view) {
+            listStorageRechargeOrdercodeTv = (TextView) view.findViewById(R.id.list_storage_recharge_ordercode_tv);
+            listStorageRechargeOrdernoTv = (TextView) view.findViewById(R.id.list_storage_recharge_orderno_tv);
+            listStorageRechargeProdcodeTv = (TextView) view.findViewById(R.id.list_storage_recharge_prodcode_tv);
+            listStorageRechargeQuantityTv = (TextView) view.findViewById(R.id.list_storage_recharge_quantity_tv);
+            listStorageRechargeSpecTv = (TextView) view.findViewById(R.id.list_storage_recharge_spec_tv);
+        }
+    }
+}

+ 88 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageRechargeInspectionAdapter.java

@@ -0,0 +1,88 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StorageRechargeInspectionBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StorageRechargeInspectionAdapter extends BaseAdapter {
+    public static final int TYPE_STORAGE_RECHARGE = 111;
+    public static final int TYPE_STORAGE_INSPECTION = 112;
+
+    private List<StorageRechargeInspectionBean> objects = new ArrayList<StorageRechargeInspectionBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private int itemType = TYPE_STORAGE_RECHARGE;
+
+    public StorageRechargeInspectionAdapter(Context context, List<StorageRechargeInspectionBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    public void setItemType(int itemType) {
+        this.itemType = itemType;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StorageRechargeInspectionBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.list_storage_recharge_inspection, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StorageRechargeInspectionBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StorageRechargeInspectionBean object, ViewHolder holder) {
+        if (itemType == TYPE_STORAGE_RECHARGE) {
+            holder.codeCaptionTv.setText("通知单号:");
+        } else if (itemType == TYPE_STORAGE_INSPECTION) {
+            holder.codeCaptionTv.setText("收料单号:");
+        }
+        holder.listStorageInspectionCodeTv.setText(object.getCode());
+        holder.listStorageInspectionVendnameTv.setText(object.getVendname());
+        holder.listStorageInspectionRecorderTv.setText(object.getRecorder());
+        holder.listStorageInspectionStateTv.setText(object.getStates());
+    }
+
+    protected class ViewHolder {
+        private TextView listStorageInspectionCodeTv;
+        private TextView listStorageInspectionVendnameTv;
+        private TextView listStorageInspectionRecorderTv;
+        private TextView listStorageInspectionStateTv;
+        private TextView codeCaptionTv;
+
+        public ViewHolder(View view) {
+            listStorageInspectionCodeTv = (TextView) view.findViewById(R.id.list_storage_recharge_inspection_code_tv);
+            listStorageInspectionVendnameTv = (TextView) view.findViewById(R.id.list_storage_recharge_inspection_vendname_tv);
+            listStorageInspectionRecorderTv = (TextView) view.findViewById(R.id.list_storage_recharge_inspection_recorder_tv);
+            listStorageInspectionStateTv = (TextView) view.findViewById(R.id.list_storage_recharge_inspection_state_tv);
+            codeCaptionTv = (TextView) view.findViewById(R.id.list_storage_recharge_inspection_code_caption);
+        }
+    }
+}

+ 64 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageSearchModeAdapter.java

@@ -0,0 +1,64 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StorageSearchModeAdapter extends BaseAdapter {
+
+    private List<String> objects = new ArrayList<String>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public StorageSearchModeAdapter(Context context, List<String> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public String getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_cache_warehouse, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((String) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(String object, ViewHolder holder) {
+        holder.listWarehouseTv.setText(object);
+    }
+
+    protected class ViewHolder {
+        private TextView listWarehouseTv;
+
+        public ViewHolder(View view) {
+            listWarehouseTv = (TextView) view.findViewById(R.id.list_warehouse_tv);
+        }
+    }
+}

+ 84 - 0
app/src/main/java/com/uas/gdstorage/adapter/StorageStockTaskAdapter.java

@@ -0,0 +1,84 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.StorageStockTaskBean;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StorageStockTaskAdapter extends BaseAdapter {
+
+    private List<StorageStockTaskBean> objects = new ArrayList<StorageStockTaskBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public StorageStockTaskAdapter(Context context, List<StorageStockTaskBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public StorageStockTaskBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_storage_stock_task, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((StorageStockTaskBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(StorageStockTaskBean object, ViewHolder holder) {
+        holder.mProdcodeTv.setText(object.getPD_PRODCODE());
+        holder.mNeedTv.setText(CommonUtil.doubleFormat(object.getNEEDREADY()));
+        holder.mAlreadyTv.setText(CommonUtil.doubleFormat(object.getHAVEREADY()));
+        holder.mWhcodeTv.setText(object.getPD_WHCODE());
+        holder.mBrandTv.setText(object.getPD_BRAND());
+        holder.mSpecTv.setText(object.getPR_DETAIL() + "    " + object.getPR_SPEC());
+        holder.mPdnoTv.setText(object.getPD_PDNO()+"");
+    }
+
+    protected class ViewHolder {
+        private TextView mProdcodeTv;
+        private TextView mNeedTv;
+        private TextView mAlreadyTv;
+        private TextView mWhcodeTv;
+        private TextView mBrandTv;
+        private TextView mSpecTv;
+        private TextView mPdnoTv;
+
+        public ViewHolder(View view) {
+            mProdcodeTv = (TextView) view.findViewById(R.id.list_storage_stock_task_prodcode_tv);
+            mNeedTv = (TextView) view.findViewById(R.id.list_storage_stock_task_need_tv);
+            mAlreadyTv = (TextView) view.findViewById(R.id.list_storage_stock_task_already_tv);
+            mWhcodeTv = (TextView) view.findViewById(R.id.list_storage_stock_task_whcode_tv);
+            mBrandTv = (TextView) view.findViewById(R.id.list_storage_stock_task_brand_tv);
+            mSpecTv = (TextView) view.findViewById(R.id.list_storage_stock_task_spec_tv);
+            mPdnoTv = (TextView) view.findViewById(R.id.list_storage_stock_task_pdno_tv);
+        }
+    }
+}

+ 43 - 0
app/src/main/java/com/uas/gdstorage/adapter/TableListItemAdapter.java

@@ -0,0 +1,43 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.SimpleAdapter;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *@note:表格List的Adapter
+ */
+public class TableListItemAdapter extends SimpleAdapter {
+
+    /**
+     * Constructor
+     *
+     * @param context  The context where the View associated with this SimpleAdapter is running
+     * @param data     A List of Maps. Each entry in the List corresponds to one row in the list. The
+     *                 Maps contain the data for each row, and should include all the entries specified in
+     *                 "from"
+     * @param resource Resource identifier of a view layout that defines the views for this list
+     *                 item. The layout file should include at least those named views defined in "to"
+     * @param from     A list of column names that will be added to the Map associated with each
+     *                 item.
+     * @param to       The views that should display column in the "from" parameter. These should all be
+     *                 TextViews. The first N views in this list are given the values of the first N columns
+     */
+    public TableListItemAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
+        super(context, data, resource, from, to);
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        View view = null;
+            view =super.getView(position,convertView,parent);
+        int[] colors = {Color.WHITE, Color.rgb(219,238,244)};
+        view.setBackgroundColor(colors[position%2]);
+        return view;
+    }
+}

+ 72 - 0
app/src/main/java/com/uas/gdstorage/adapter/TransferLocationAdapter.java

@@ -0,0 +1,72 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.WHTransfer;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.List;
+
+/**
+ * @note:储位转移Adapter
+ */
+public class TransferLocationAdapter extends BaseAdapter {
+    List itemList;
+    Context context;
+
+    public TransferLocationAdapter(List itemList, Context context) {
+        this.itemList = itemList;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return itemList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return itemList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return 0;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        View view = View.inflate(context, R.layout.item_list_transfer, null);
+        TextView tvBarcode = (TextView) view.findViewById(R.id.tv_barcode);
+        TextView tvLocation = (TextView) view.findViewById(R.id.tv_barlocation);
+        TextView tvProdcode = (TextView) view.findViewById(R.id.tv_barprodcode);
+        TextView tvBarRemain = (TextView) view.findViewById(R.id.tv_barremain);
+
+        //配置数据
+        WHTransfer tmpTransfer = (WHTransfer) getItem(position);
+        //获取箱号
+        String strCode = tmpTransfer.getPA_OUTBOXCODE();
+        //如果箱号为空,就取条码号
+        if (TextUtils.isEmpty(strCode)) {
+            strCode = tmpTransfer.getBAR_CODE();
+        }
+        tvBarcode.setText("" + strCode);
+        //储位
+        String strLocation = tmpTransfer.getBAR_LOCATION();
+        if (TextUtils.isEmpty(strLocation)) {
+            strLocation = "无";
+        }
+        tvLocation.setText("" + strLocation);
+        //料号
+        tvProdcode.setText("" + tmpTransfer.getBAR_PRODCODE());
+        //数量
+        tvBarRemain.setText(CommonUtil.doubleFormat(tmpTransfer.getBAR_REMAIN()));
+        return view;
+    }
+}

+ 77 - 0
app/src/main/java/com/uas/gdstorage/adapter/WHCheckMakeDetailListAdapter.java

@@ -0,0 +1,77 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.util.Log;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.WHMakeMaterialDetail;
+import com.uas.gdstorage.util.CommonUtil;
+
+import java.util.List;
+
+/**
+ * @note:物料明细信息POPwinList
+ */
+public class WHCheckMakeDetailListAdapter extends BaseAdapter {
+    Context context;
+    List itemList;
+
+    public WHCheckMakeDetailListAdapter(Context context, List itemList) {
+        this.context = context;
+        this.itemList = itemList;
+    }
+
+    @Override
+    public int getCount() {
+        return itemList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return itemList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return 0;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        View view = View.inflate(context, R.layout.item_list_table_column4,null);
+        TextView tvColumn1 = (TextView) view.findViewById(R.id.tv_table_1);
+        TextView tvColumn2 = (TextView) view.findViewById(R.id.tv_table_2);
+        TextView tvColumn3 = (TextView) view.findViewById(R.id.tv_table_3);
+        TextView tvColumn4 = (TextView) view.findViewById(R.id.tv_table_4);
+        WHMakeMaterialDetail tmpProduct = (WHMakeMaterialDetail) getItem(position);
+        tvColumn1.measure(0, 0);
+        int width1 = tvColumn3.getMeasuredWidth();
+        tvColumn2.measure(0, 0);
+        int width2 = tvColumn3.getMeasuredWidth();
+        tvColumn3.measure(0, 0);
+        int width3 = tvColumn3.getMeasuredWidth();
+        tvColumn4.measure(0, 0);
+        int width4 = tvColumn3.getMeasuredWidth();
+        tvColumn1.setText("" + tmpProduct.getBar_code());
+        tvColumn2.setText("" + tmpProduct.getVe_shortname());
+        tvColumn3.setText("" + CommonUtil.transferLongToDate(tmpProduct.getBar_indate(),"yy-MM-dd"));
+        tvColumn4.setText("" + tmpProduct.getBar_remain());
+        tvColumn1.setWidth(width1);
+        tvColumn2.setWidth(width2);
+        tvColumn3.setWidth(width3);
+        tvColumn4.setWidth(width4);
+
+        Log.e("width1", "" + width1);
+        Log.e("width2", "" + width2);
+        Log.e("width3", "" + width3);
+        Log.e("width4", "" + width4);
+        int[] colors = {Color.WHITE, Color.rgb(219,238,244)};
+        view.setBackgroundColor(colors[position % 2]);
+        return view;
+    }
+}

+ 56 - 0
app/src/main/java/com/uas/gdstorage/adapter/WHCheckMakeMaterialListAdapter.java

@@ -0,0 +1,56 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.WHMakeMaterialProduct;
+
+import java.util.List;
+
+/**
+ * @note:仓库管理:物料存储详细数据表格ListAdapter
+ */
+public class WHCheckMakeMaterialListAdapter extends BaseAdapter {
+    List itemList;
+    Context context;
+
+    public WHCheckMakeMaterialListAdapter(List itemList, Context context) {
+        this.itemList = itemList;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return itemList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return itemList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return 0;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        View view = View.inflate(context, R.layout.item_list_table, null);
+        TextView tvColumn1 = (TextView) view.findViewById(R.id.tv_table_1);
+        TextView tvColumn2 = (TextView) view.findViewById(R.id.tv_table_2);
+        TextView tvColumn3 = (TextView) view.findViewById(R.id.tv_table_3);
+        WHMakeMaterialProduct tmpProduct = (WHMakeMaterialProduct) getItem(position);
+        tvColumn1.setText("" + tmpProduct.getBAR_WHCODE());
+        tvColumn2.setText("" + tmpProduct.getBAR_LOCATION());
+        tvColumn3.setText("" + tmpProduct.getBAR_REMAIN());
+        int[] colors = {Color.WHITE, Color.rgb(219, 238, 244)};
+        view.setBackgroundColor(colors[position % 2]);
+        return view;
+    }
+}

+ 74 - 0
app/src/main/java/com/uas/gdstorage/adapter/WarehouseCacheAdapter.java

@@ -0,0 +1,74 @@
+package com.uas.gdstorage.adapter;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.text.SpannableStringBuilder;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.bean.WarehouseCacheBean;
+import com.uas.gdstorage.util.SpanUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WarehouseCacheAdapter extends BaseAdapter {
+
+    private List<WarehouseCacheBean> objects = new ArrayList<WarehouseCacheBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+    private SpanUtils mSpanUtils;
+
+    public WarehouseCacheAdapter(Context context, List<WarehouseCacheBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public WarehouseCacheBean getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_list_cache_warehouse, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((WarehouseCacheBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(WarehouseCacheBean object, ViewHolder holder) {
+        String whcode = object.getWhcode();
+        String description = object.getDescription();
+
+        mSpanUtils = new SpanUtils();
+        SpannableStringBuilder result = mSpanUtils.append(whcode).setForegroundColor(Color.BLACK).append("(" + description + ")").setForegroundColor(Color.GRAY).create();
+        holder.listWarehouseTv.setText(result);
+    }
+
+    protected class ViewHolder {
+        private TextView listWarehouseTv;
+
+        public ViewHolder(View view) {
+            listWarehouseTv = (TextView) view.findViewById(R.id.list_warehouse_tv);
+        }
+    }
+}

+ 200 - 0
app/src/main/java/com/uas/gdstorage/application/PdaApplication.java

@@ -0,0 +1,200 @@
+package com.uas.gdstorage.application;
+
+import android.app.Application;
+import android.content.Context;
+import android.media.AudioAttributes;
+import android.media.SoundPool;
+import android.os.Build;
+
+import com.android.volley.RequestQueue;
+import com.android.volley.toolbox.Volley;
+import com.facebook.stetho.Stetho;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.util.AndroidUtil;
+import com.uas.gdstorage.util.FakeX509TrustManager;
+import com.uas.gdstorage.util.SoundUtil;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyManagementException;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManagerFactory;
+
+/**
+ * Created by RaoMeng on 2016/7/28.
+ */
+public class PdaApplication extends Application {
+    private static Map<String, Object> dataCacheMap;// 数据缓存的集合
+    public static RequestQueue mRequestQueue;
+    private static Context mContext;
+
+    public static AudioAttributes mAudioAttributes;
+    public static SoundPool mSoundPool;
+    public static HashMap<Integer, Integer> mSoundMap;
+    public static int mVersionCode = 1;
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        mContext = getApplicationContext();
+        FakeX509TrustManager.allowAllSSL();//去掉SSL证书验证
+        if (mRequestQueue == null)
+            mRequestQueue = Volley.newRequestQueue(this);
+        //Stetho调试工具初始化
+        Stetho.initializeWithDefaults(this);
+
+        mVersionCode = AndroidUtil.getVersionCode(this);
+
+        if (Build.VERSION.SDK_INT >= 21) {
+            mAudioAttributes = new AudioAttributes.Builder()
+                    .setUsage(AudioAttributes.USAGE_NOTIFICATION)
+                    .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
+                    .build();
+
+            mSoundPool = new SoundPool.Builder()
+                    .setAudioAttributes(mAudioAttributes)
+                    .setMaxStreams(4)
+                    .build();
+        } else {
+            mSoundPool = new SoundPool(4, AudioAttributes.CONTENT_TYPE_MUSIC, 0);
+        }
+
+
+        mSoundMap = new HashMap<>();
+        mSoundMap.put(SoundUtil.SOUND_ARIEL, mSoundPool.load(this, R.raw.ariel, 1));
+        mSoundMap.put(SoundUtil.SOUND_CARME, mSoundPool.load(this, R.raw.carme, 1));
+        mSoundMap.put(SoundUtil.SOUND_CERES, mSoundPool.load(this, R.raw.ceres, 1));
+        mSoundMap.put(SoundUtil.SOUND_ELARA, mSoundPool.load(this, R.raw.elara, 1));
+        mSoundMap.put(SoundUtil.SOUND_EUROPA, mSoundPool.load(this, R.raw.europa, 1));
+        mSoundMap.put(SoundUtil.SOUND_IAPETUS, mSoundPool.load(this, R.raw.iapetus, 1));
+        mSoundMap.put(SoundUtil.SOUND_IO, mSoundPool.load(this, R.raw.io, 1));
+        mSoundMap.put(SoundUtil.SOUND_RHEA, mSoundPool.load(this, R.raw.rhea, 1));
+        mSoundMap.put(SoundUtil.SOUND_SALACIA, mSoundPool.load(this, R.raw.salacia, 1));
+        mSoundMap.put(SoundUtil.SOUND_TETHYS, mSoundPool.load(this, R.raw.tethys, 1));
+        mSoundMap.put(SoundUtil.SOUND_TITAN, mSoundPool.load(this, R.raw.titan, 1));
+    }
+
+    @Override
+    public void onTerminate() {
+        super.onTerminate();
+        SoundUtil.close();
+    }
+
+    public static Context getmContext() {
+        return mContext;
+    }
+
+    /**
+     * 获取本地缓存
+     *
+     * @param key
+     * @return
+     */
+    public static Object getDataCacheFromMap(String key) {
+        if (dataCacheMap == null) {
+            return null;
+        }
+        return dataCacheMap.get(key);
+    }
+
+    /**
+     * 移除本地缓存
+     *
+     * @param key
+     */
+    public static void removeDataCacheFromMap(String key) {
+        if (dataCacheMap != null) {
+            dataCacheMap.remove(key);
+        }
+    }
+
+
+    /**
+     * 清除本地所有缓存
+     */
+    public static void removeAllDataCache() {
+        if (dataCacheMap != null) {
+            dataCacheMap.clear();
+        }
+    }
+
+    /**
+     * 存储本地缓存
+     *
+     * @param key
+     * @param value
+     */
+    public static void putDataCache2Map(String key, Object value) {
+        if (dataCacheMap == null) {
+            dataCacheMap = new HashMap<String, Object>();
+        }
+        dataCacheMap.put(key, value);
+    }
+
+    /**
+     * 生成SSLSocketFactory
+     *
+     * @return
+     */
+    private SSLSocketFactory initSSLSocketFactory() {
+        //生成证书:Certificate
+        CertificateFactory cf = null;
+        SSLSocketFactory factory = null;
+        try {
+            cf = CertificateFactory.getInstance("X.509");
+//            InputStream caInput = new ByteArrayInputStream(load.getBytes());
+            InputStream caInput = new ByteArrayInputStream("".getBytes());
+            java.security.cert.Certificate ca = null;
+            try {
+                ca = cf.generateCertificate(caInput);
+            } finally {
+                try {
+                    caInput.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+
+            //初始化公钥:keyStore
+            String keyType = KeyStore.getDefaultType();
+            KeyStore keyStore = KeyStore.getInstance(keyType);
+            keyStore.load(null, null);
+            keyStore.setCertificateEntry("ca", ca);
+
+            //初始化TrustManagerFactory
+            String algorithm = TrustManagerFactory.getDefaultAlgorithm();
+            TrustManagerFactory managerFactory = TrustManagerFactory.getInstance(algorithm);
+            managerFactory.init(keyStore);
+
+            //初始化sslContext
+            SSLContext sslContext = SSLContext.getInstance("TLS");
+            sslContext.init(null, managerFactory.getTrustManagers(), null);
+            factory = sslContext.getSocketFactory();
+
+        } catch (CertificateException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (KeyStoreException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (KeyManagementException e) {
+            e.printStackTrace();
+        }
+
+        return factory;
+    }
+
+
+}

+ 173 - 0
app/src/main/java/com/uas/gdstorage/bean/BarcodeDetailBean.java

@@ -0,0 +1,173 @@
+package com.uas.gdstorage.bean;
+
+/**
+ * @author RaoMeng
+ * @describe
+ * @date 2018/6/22 11:16
+ */
+public class BarcodeDetailBean {
+
+    /**
+     * BI_ID : 778644
+     * BI_BARID : null
+     * BI_BARCODE : 201805040002*20*2018062101*A*1806001*MP180500008
+     * BI_PIID : 50721846
+     * BI_PICLASS : 采购验收单
+     * BI_INOUTNO : YS180600034
+     * BI_PDNO : null
+     * BI_PDID : null
+     * BI_BATCHID : null
+     * BI_BATCHCODE : nulls
+     * BI_PRODCODE : 201805040002
+     * BI_WHCODE : A
+     * BI_INQTY : 20
+     * BI_DATECODE : 2018062101
+     * BI_LOTNO : 1806001
+     * RN : 1
+     */
+
+    private long BI_ID;
+    private Object BI_BARID;
+    private String BI_BARCODE;
+    private long BI_PIID;
+    private String BI_PICLASS;
+    private String BI_INOUTNO;
+    private Object BI_PDNO;
+    private Object BI_PDID;
+    private Object BI_BATCHID;
+    private Object BI_BATCHCODE;
+    private String BI_PRODCODE;
+    private String BI_WHCODE;
+    private double BI_INQTY;
+    private String BI_DATECODE;
+    private String BI_LOTNO;
+    private int RN;
+
+    public long getBI_ID() {
+        return BI_ID;
+    }
+
+    public void setBI_ID(long BI_ID) {
+        this.BI_ID = BI_ID;
+    }
+
+    public Object getBI_BARID() {
+        return BI_BARID;
+    }
+
+    public void setBI_BARID(Object BI_BARID) {
+        this.BI_BARID = BI_BARID;
+    }
+
+    public String getBI_BARCODE() {
+        return BI_BARCODE;
+    }
+
+    public void setBI_BARCODE(String BI_BARCODE) {
+        this.BI_BARCODE = BI_BARCODE;
+    }
+
+    public long getBI_PIID() {
+        return BI_PIID;
+    }
+
+    public void setBI_PIID(long BI_PIID) {
+        this.BI_PIID = BI_PIID;
+    }
+
+    public String getBI_PICLASS() {
+        return BI_PICLASS;
+    }
+
+    public void setBI_PICLASS(String BI_PICLASS) {
+        this.BI_PICLASS = BI_PICLASS;
+    }
+
+    public String getBI_INOUTNO() {
+        return BI_INOUTNO;
+    }
+
+    public void setBI_INOUTNO(String BI_INOUTNO) {
+        this.BI_INOUTNO = BI_INOUTNO;
+    }
+
+    public Object getBI_PDNO() {
+        return BI_PDNO;
+    }
+
+    public void setBI_PDNO(Object BI_PDNO) {
+        this.BI_PDNO = BI_PDNO;
+    }
+
+    public Object getBI_PDID() {
+        return BI_PDID;
+    }
+
+    public void setBI_PDID(Object BI_PDID) {
+        this.BI_PDID = BI_PDID;
+    }
+
+    public Object getBI_BATCHID() {
+        return BI_BATCHID;
+    }
+
+    public void setBI_BATCHID(Object BI_BATCHID) {
+        this.BI_BATCHID = BI_BATCHID;
+    }
+
+    public Object getBI_BATCHCODE() {
+        return BI_BATCHCODE;
+    }
+
+    public void setBI_BATCHCODE(Object BI_BATCHCODE) {
+        this.BI_BATCHCODE = BI_BATCHCODE;
+    }
+
+    public String getBI_PRODCODE() {
+        return BI_PRODCODE;
+    }
+
+    public void setBI_PRODCODE(String BI_PRODCODE) {
+        this.BI_PRODCODE = BI_PRODCODE;
+    }
+
+    public String getBI_WHCODE() {
+        return BI_WHCODE;
+    }
+
+    public void setBI_WHCODE(String BI_WHCODE) {
+        this.BI_WHCODE = BI_WHCODE;
+    }
+
+    public double getBI_INQTY() {
+        return BI_INQTY;
+    }
+
+    public void setBI_INQTY(double BI_INQTY) {
+        this.BI_INQTY = BI_INQTY;
+    }
+
+    public String getBI_DATECODE() {
+        return BI_DATECODE;
+    }
+
+    public void setBI_DATECODE(String BI_DATECODE) {
+        this.BI_DATECODE = BI_DATECODE;
+    }
+
+    public String getBI_LOTNO() {
+        return BI_LOTNO;
+    }
+
+    public void setBI_LOTNO(String BI_LOTNO) {
+        this.BI_LOTNO = BI_LOTNO;
+    }
+
+    public int getRN() {
+        return RN;
+    }
+
+    public void setRN(int RN) {
+        this.RN = RN;
+    }
+}

+ 89 - 0
app/src/main/java/com/uas/gdstorage/bean/BarcodeGenerationItemBean.java

@@ -0,0 +1,89 @@
+package com.uas.gdstorage.bean;
+
+import com.alibaba.fastjson.annotation.JSONField;
+
+/**
+ * Created by RaoMeng on 2017/3/30.
+ */
+public class BarcodeGenerationItemBean {
+    /**
+     * BSD_ID : 12
+     * RESTQTY : 12
+     * BA_CUSTVENDCODE : vend01
+     * PR_ZXBZS : 12
+     * BSD_BATCHCODE  : 10434
+     */
+
+    @JSONField(name = "BSD_ID")
+    private long BSD_ID;
+    @JSONField(name = "RESTQTY")
+    private double RESTQTY;
+    @JSONField(name = "BA_CUSTVENDCODE")
+    private String BA_CUSTVENDCODE;
+    @JSONField(name = "PR_ZXBZS")
+    private double PR_ZXBZS;
+    @JSONField(name = "BSD_BATCHCODE")
+    private String BSD_BATCHCODE;
+    @JSONField(name = "isChecked")
+    private boolean isChecked;
+
+    public boolean isChecked() {
+        return isChecked;
+    }
+
+    public void setIsChecked(boolean isChecked) {
+        this.isChecked = isChecked;
+    }
+
+    public long getBSD_ID() {
+        return BSD_ID;
+    }
+
+    public void setBSD_ID(long BSD_ID) {
+        this.BSD_ID = BSD_ID;
+    }
+
+    public double getRESTQTY() {
+        return RESTQTY;
+    }
+
+    public void setRESTQTY(double RESTQTY) {
+        this.RESTQTY = RESTQTY;
+    }
+
+    public String getBA_CUSTVENDCODE() {
+        return BA_CUSTVENDCODE;
+    }
+
+    public void setBA_CUSTVENDCODE(String BA_CUSTVENDCODE) {
+        this.BA_CUSTVENDCODE = BA_CUSTVENDCODE;
+    }
+
+    public double getPR_ZXBZS() {
+        return PR_ZXBZS;
+    }
+
+    public void setPR_ZXBZS(double PR_ZXBZS) {
+        this.PR_ZXBZS = PR_ZXBZS;
+    }
+
+    public String getBSD_BATCHCODE() {
+        return BSD_BATCHCODE;
+    }
+
+    public void setBSD_BATCHCODE(String BSD_BATCHCODE) {
+        this.BSD_BATCHCODE = BSD_BATCHCODE;
+    }
+
+    @Override
+    public String toString() {
+        return "BarcodeGenerationItemBean{" +
+                "BSD_ID=" + BSD_ID +
+                ", RESTQTY=" + RESTQTY +
+                ", BA_CUSTVENDCODE='" + BA_CUSTVENDCODE + '\'' +
+                ", PR_ZXBZS=" + PR_ZXBZS +
+                ", BSD_BATCHCODE='" + BSD_BATCHCODE + '\'' +
+                ", isChecked=" + isChecked +
+                '}';
+    }
+}

+ 81 - 0
app/src/main/java/com/uas/gdstorage/bean/BarcodeProdcodeItemBean.java

@@ -0,0 +1,81 @@
+package com.uas.gdstorage.bean;
+
+/**
+ * Created by RaoMeng on 2017/3/30.
+ */
+public class BarcodeProdcodeItemBean {
+
+    /**
+     * BSD_PRODCODE : 122090056
+     * RESTQTY : 12
+     * PR_DETAIL : 20170301
+     * PR_SPEC  : 小明
+     * PR_LOCATION  : XXX
+     * PR_WHNAME : 小明
+     * PR_ZXBZS  : 2
+     */
+
+    private String BSD_PRODCODE;
+    private double RESTQTY;
+    private String PR_DETAIL;
+    private String PR_SPEC;
+    private String PR_LOCATION;
+    private String PR_WHNAME;
+    private double PR_ZXBZS;
+
+    public String getBSD_PRODCODE() {
+        return BSD_PRODCODE;
+    }
+
+    public void setBSD_PRODCODE(String BSD_PRODCODE) {
+        this.BSD_PRODCODE = BSD_PRODCODE;
+    }
+
+    public double getRESTQTY() {
+        return RESTQTY;
+    }
+
+    public void setRESTQTY(double RESTQTY) {
+        this.RESTQTY = RESTQTY;
+    }
+
+    public String getPR_DETAIL() {
+        return PR_DETAIL;
+    }
+
+    public void setPR_DETAIL(String PR_DETAIL) {
+        this.PR_DETAIL = PR_DETAIL;
+    }
+
+    public String getPR_SPEC() {
+        return PR_SPEC;
+    }
+
+    public void setPR_SPEC(String PR_SPEC) {
+        this.PR_SPEC = PR_SPEC;
+    }
+
+    public String getPR_LOCATION() {
+        return PR_LOCATION;
+    }
+
+    public void setPR_LOCATION(String PR_LOCATION) {
+        this.PR_LOCATION = PR_LOCATION;
+    }
+
+    public String getPR_WHNAME() {
+        return PR_WHNAME;
+    }
+
+    public void setPR_WHNAME(String PR_WHNAME) {
+        this.PR_WHNAME = PR_WHNAME;
+    }
+
+    public double getPR_ZXBZS() {
+        return PR_ZXBZS;
+    }
+
+    public void setPR_ZXBZS(double PR_ZXBZS) {
+        this.PR_ZXBZS = PR_ZXBZS;
+    }
+}

+ 90 - 0
app/src/main/java/com/uas/gdstorage/bean/BarcodeSuppleBean.java

@@ -0,0 +1,90 @@
+package com.uas.gdstorage.bean;
+
+/**
+ * Created by RaoMeng on 2017/4/17.
+ */
+public class BarcodeSuppleBean {
+
+    /**
+     * BSD_ID : 12
+     * BSD_PRODCODE : 0210050299759
+     * BSD_BATCHCODE  : 10434
+     * BSD_BARCODEINQTY : 12
+     * PR_DETAIL : 贴片普通电阻
+     * PR_SPEC : 0603,100R,1/10W,J,SMD
+     * CN : 3
+     */
+
+    private long BSD_ID;
+    private String BSD_PRODCODE;
+    private String BSD_BATCHCODE;
+    private double BSD_BARCODEINQTY;
+    private String PR_DETAIL;
+    private String PR_SPEC;
+    private double CN;
+    private boolean isChecked;
+
+    public boolean isChecked() {
+        return isChecked;
+    }
+
+    public void setIsChecked(boolean isChecked) {
+        this.isChecked = isChecked;
+    }
+
+    public long getBSD_ID() {
+        return BSD_ID;
+    }
+
+    public void setBSD_ID(long BSD_ID) {
+        this.BSD_ID = BSD_ID;
+    }
+
+    public String getBSD_PRODCODE() {
+        return BSD_PRODCODE;
+    }
+
+    public void setBSD_PRODCODE(String BSD_PRODCODE) {
+        this.BSD_PRODCODE = BSD_PRODCODE;
+    }
+
+    public String getBSD_BATCHCODE() {
+        return BSD_BATCHCODE;
+    }
+
+    public void setBSD_BATCHCODE(String BSD_BATCHCODE) {
+        this.BSD_BATCHCODE = BSD_BATCHCODE;
+    }
+
+    public double getBSD_BARCODEINQTY() {
+        return BSD_BARCODEINQTY;
+    }
+
+    public void setBSD_BARCODEINQTY(double BSD_BARCODEINQTY) {
+        this.BSD_BARCODEINQTY = BSD_BARCODEINQTY;
+    }
+
+    public String getPR_DETAIL() {
+        return PR_DETAIL;
+    }
+
+    public void setPR_DETAIL(String PR_DETAIL) {
+        this.PR_DETAIL = PR_DETAIL;
+    }
+
+    public String getPR_SPEC() {
+        return PR_SPEC;
+    }
+
+    public void setPR_SPEC(String PR_SPEC) {
+        this.PR_SPEC = PR_SPEC;
+    }
+
+    public double getCN() {
+        return CN;
+    }
+
+    public void setCN(double CN) {
+        this.CN = CN;
+    }
+}

+ 27 - 0
app/src/main/java/com/uas/gdstorage/bean/BarcodeSuppleListBean.java

@@ -0,0 +1,27 @@
+package com.uas.gdstorage.bean;
+
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/4/17.
+ */
+public class BarcodeSuppleListBean {
+    private String mProdcodeKind;
+    private List<BarcodeSuppleBean> mBarcodeSuppleBeans;
+
+    public String getProdcodeKind() {
+        return mProdcodeKind;
+    }
+
+    public void setProdcodeKind(String prodcodeKind) {
+        mProdcodeKind = prodcodeKind;
+    }
+
+    public List<BarcodeSuppleBean> getBarcodeSuppleBeans() {
+        return mBarcodeSuppleBeans;
+    }
+
+    public void setBarcodeSuppleBeans(List<BarcodeSuppleBean> barcodeSuppleBeans) {
+        mBarcodeSuppleBeans = barcodeSuppleBeans;
+    }
+}

+ 37 - 0
app/src/main/java/com/uas/gdstorage/bean/CaptionValueBean.java

@@ -0,0 +1,37 @@
+package com.uas.gdstorage.bean;
+
+/**
+ * @author RaoMeng
+ * @describe
+ * @date 2018/4/25 11:24
+ */
+
+public class CaptionValueBean {
+    private String mCaption;
+    private String mValue;
+    private int mColor;
+
+    public String getCaption() {
+        return mCaption;
+    }
+
+    public void setCaption(String caption) {
+        mCaption = caption;
+    }
+
+    public String getValue() {
+        return mValue;
+    }
+
+    public void setValue(String value) {
+        mValue = value;
+    }
+
+    public int getColor() {
+        return mColor;
+    }
+
+    public void setColor(int color) {
+        mColor = color;
+    }
+}

+ 31 - 0
app/src/main/java/com/uas/gdstorage/bean/ChargingSummaryBean.java

@@ -0,0 +1,31 @@
+package com.uas.gdstorage.bean;
+
+public class ChargingSummaryBean {
+    private String MSS_PRODCODE;
+    private double MSS_QTY;
+    private double MSS_REMAIN;
+
+    public String getMSS_PRODCODE() {
+        return MSS_PRODCODE;
+    }
+
+    public void setMSS_PRODCODE(String MSS_PRODCODE) {
+        this.MSS_PRODCODE = MSS_PRODCODE;
+    }
+
+    public double getMSS_QTY() {
+        return MSS_QTY;
+    }
+
+    public void setMSS_QTY(double MSS_QTY) {
+        this.MSS_QTY = MSS_QTY;
+    }
+
+    public double getMSS_REMAIN() {
+        return MSS_REMAIN;
+    }
+
+    public void setMSS_REMAIN(double MSS_REMAIN) {
+        this.MSS_REMAIN = MSS_REMAIN;
+    }
+}

+ 212 - 0
app/src/main/java/com/uas/gdstorage/bean/CollectAlreadyBean.java

@@ -0,0 +1,212 @@
+package com.uas.gdstorage.bean;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2016/8/3.
+ * 已采集列表实体类
+ */
+public class CollectAlreadyBean {
+
+    private List<MessageBean> message;
+
+    public static CollectAlreadyBean objectFromData(String str) {
+
+        return new Gson().fromJson(str, CollectAlreadyBean.class);
+    }
+
+    public static CollectAlreadyBean objectFromData(String str, String key) {
+
+        try {
+            JSONObject jsonObject = new JSONObject(str);
+
+            return new Gson().fromJson(jsonObject.getString(key), CollectAlreadyBean.class);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+
+        return null;
+    }
+
+    public static List<CollectAlreadyBean> arrayCollectAlreadyBeanFromData(String str) {
+
+        Type listType = new TypeToken<ArrayList<CollectAlreadyBean>>() {
+        }.getType();
+
+        return new Gson().fromJson(str, listType);
+    }
+
+    public static List<CollectAlreadyBean> arrayCollectAlreadyBeanFromData(String str, String key) {
+
+        try {
+            JSONObject jsonObject = new JSONObject(str);
+            Type listType = new TypeToken<ArrayList<CollectAlreadyBean>>() {
+            }.getType();
+
+            return new Gson().fromJson(jsonObject.getString(key), listType);
+
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+
+        return new ArrayList();
+
+
+    }
+
+    public List<MessageBean> getMessage() {
+        return message;
+    }
+
+    public void setMessage(List<MessageBean> message) {
+        this.message = message;
+    }
+
+    public static class MessageBean {
+        private String BI_BARCODE;
+        private String BI_OUTBOXCODE;
+        private String BI_PRODCODE;
+        private String BI_INOUTNO;
+        private long BI_PIID;
+        private double BI_INQTY;
+        private double BI_OUTQTY;
+        private String PR_DETAIL;
+        private String BI_WHCODE;
+        private long PR_ID;
+        private String PR_SPEC;
+        private String BI_LOCATION;
+        private String BI_BATCHCODE;
+        private double PR_ZXBZS;
+        private String PR_IFBARCODECHECK;
+
+        public double getPR_ZXBZS() {
+            return PR_ZXBZS;
+        }
+
+        public void setPR_ZXBZS(double PR_ZXBZS) {
+            this.PR_ZXBZS = PR_ZXBZS;
+        }
+
+        public String getPR_IFBARCODECHECK() {
+            return PR_IFBARCODECHECK;
+        }
+
+        public void setPR_IFBARCODECHECK(String PR_IFBARCODECHECK) {
+            this.PR_IFBARCODECHECK = PR_IFBARCODECHECK;
+        }
+
+
+        public String getBI_BARCODE() {
+            return BI_BARCODE;
+        }
+
+        public void setBI_BARCODE(String BI_BARCODE) {
+            this.BI_BARCODE = BI_BARCODE;
+        }
+
+        public String getBI_OUTBOXCODE() {
+            return BI_OUTBOXCODE;
+        }
+
+        public void setBI_OUTBOXCODE(String BI_OUTBOXCODE) {
+            this.BI_OUTBOXCODE = BI_OUTBOXCODE;
+        }
+
+        public String getBI_PRODCODE() {
+            return BI_PRODCODE;
+        }
+
+        public void setBI_PRODCODE(String BI_PRODCODE) {
+            this.BI_PRODCODE = BI_PRODCODE;
+        }
+
+        public String getBI_INOUTNO() {
+            return BI_INOUTNO;
+        }
+
+        public void setBI_INOUTNO(String BI_INOUTNO) {
+            this.BI_INOUTNO = BI_INOUTNO;
+        }
+
+        public long getBI_PIID() {
+            return BI_PIID;
+        }
+
+        public void setBI_PIID(long BI_PIID) {
+            this.BI_PIID = BI_PIID;
+        }
+
+        public double getBI_INQTY() {
+            return BI_INQTY;
+        }
+
+        public void setBI_INQTY(double BI_INQTY) {
+            this.BI_INQTY = BI_INQTY;
+        }
+
+        public double getBI_OUTQTY() {
+            return BI_OUTQTY;
+        }
+
+        public void setBI_OUTQTY(double BI_OUTQTY) {
+            this.BI_OUTQTY = BI_OUTQTY;
+        }
+
+        public String getPR_DETAIL() {
+            return PR_DETAIL;
+        }
+
+        public void setPR_DETAIL(String PR_DETAIL) {
+            this.PR_DETAIL = PR_DETAIL;
+        }
+
+        public String getBI_WHCODE() {
+            return BI_WHCODE;
+        }
+
+        public void setBI_WHCODE(String BI_WHCODE) {
+            this.BI_WHCODE = BI_WHCODE;
+        }
+
+        public long getPR_ID() {
+            return PR_ID;
+        }
+
+        public void setPR_ID(long PR_ID) {
+            this.PR_ID = PR_ID;
+        }
+
+        public String getPR_SPEC() {
+            return PR_SPEC;
+        }
+
+        public void setPR_SPEC(String PR_SPEC) {
+            this.PR_SPEC = PR_SPEC;
+        }
+
+        public String getBI_LOCATION() {
+            return BI_LOCATION;
+        }
+
+        public void setBI_LOCATION(String BI_LOCATION) {
+            this.BI_LOCATION = BI_LOCATION;
+        }
+
+        public String getBI_BATCHCODE() {
+            return BI_BATCHCODE;
+        }
+
+        public void setBI_BATCHCODE(String BI_BATCHCODE) {
+            this.BI_BATCHCODE = BI_BATCHCODE;
+        }
+
+    }
+}

+ 232 - 0
app/src/main/java/com/uas/gdstorage/bean/CollectNotBean.java

@@ -0,0 +1,232 @@
+package com.uas.gdstorage.bean;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by PROD on 2016/8/3.
+ */
+public class CollectNotBean {
+
+    /**
+     * pr_ifbarcodecheck : null
+     * pr_zxbzs : 0
+     * pd_inoutno : YS16070124
+     * pr_id : 50689772
+     * pr_detail : 听筒
+     * pd_whcode : CK004
+     * pr_spec : 歌音美,型号:15*6*2.2mm,线长20mm(F311)
+     * pd_piid : 50701933
+     * pd_restqty : 1000
+     * pd_prodcode : A.RA00028
+     */
+
+    private List<MessageBean> message;
+
+    public static CollectNotBean objectFromData(String str) {
+
+        return new Gson().fromJson(str, CollectNotBean.class);
+    }
+
+    public static CollectNotBean objectFromData(String str, String key) {
+
+        try {
+            JSONObject jsonObject = new JSONObject(str);
+
+            return new Gson().fromJson(jsonObject.getString(key), CollectNotBean.class);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+
+        return null;
+    }
+
+    public static List<CollectNotBean> arrayCollectNotBeanFromData(String str) {
+
+        Type listType = new TypeToken<ArrayList<CollectNotBean>>() {
+        }.getType();
+
+        return new Gson().fromJson(str, listType);
+    }
+
+    public static List<CollectNotBean> arrayCollectNotBeanFromData(String str, String key) {
+
+        try {
+            JSONObject jsonObject = new JSONObject(str);
+            Type listType = new TypeToken<ArrayList<CollectNotBean>>() {
+            }.getType();
+
+            return new Gson().fromJson(jsonObject.getString(key), listType);
+
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+
+        return new ArrayList();
+
+
+    }
+
+    public List<MessageBean> getMessage() {
+        return message;
+    }
+
+    public void setMessage(List<MessageBean> message) {
+        this.message = message;
+    }
+
+    public static class MessageBean {
+        private Object pr_ifbarcodecheck;
+        private int pr_zxbzs;
+        private String pd_inoutno;
+        private int pr_id;
+        private String pr_detail;
+        private String pd_whcode;
+        private String pr_spec;
+        private int pd_piid;
+        private int pd_restqty;
+        private String pd_prodcode;
+        private String pd_batchcode;
+
+        public String getPd_batchcode() {
+            return pd_batchcode;
+        }
+
+        public void setPd_batchcode(String pd_batchcode) {
+            this.pd_batchcode = pd_batchcode;
+        }
+
+        public static MessageBean objectFromData(String str) {
+
+            return new Gson().fromJson(str, MessageBean.class);
+        }
+
+        public static MessageBean objectFromData(String str, String key) {
+
+            try {
+                JSONObject jsonObject = new JSONObject(str);
+
+                return new Gson().fromJson(jsonObject.getString(key), MessageBean.class);
+            } catch (JSONException e) {
+                e.printStackTrace();
+            }
+
+            return null;
+        }
+
+        public static List<MessageBean> arrayMessageBeanFromData(String str) {
+
+            Type listType = new TypeToken<ArrayList<MessageBean>>() {
+            }.getType();
+
+            return new Gson().fromJson(str, listType);
+        }
+
+        public static List<MessageBean> arrayMessageBeanFromData(String str, String key) {
+
+            try {
+                JSONObject jsonObject = new JSONObject(str);
+                Type listType = new TypeToken<ArrayList<MessageBean>>() {
+                }.getType();
+
+                return new Gson().fromJson(jsonObject.getString(key), listType);
+
+            } catch (JSONException e) {
+                e.printStackTrace();
+            }
+
+            return new ArrayList();
+
+
+        }
+
+
+
+        public Object getPr_ifbarcodecheck() {
+            return pr_ifbarcodecheck;
+        }
+
+        public void setPr_ifbarcodecheck(Object pr_ifbarcodecheck) {
+            this.pr_ifbarcodecheck = pr_ifbarcodecheck;
+        }
+
+        public int getPr_zxbzs() {
+            return pr_zxbzs;
+        }
+
+        public void setPr_zxbzs(int pr_zxbzs) {
+            this.pr_zxbzs = pr_zxbzs;
+        }
+
+        public String getPd_inoutno() {
+            return pd_inoutno;
+        }
+
+        public void setPd_inoutno(String pd_inoutno) {
+            this.pd_inoutno = pd_inoutno;
+        }
+
+        public int getPr_id() {
+            return pr_id;
+        }
+
+        public void setPr_id(int pr_id) {
+            this.pr_id = pr_id;
+        }
+
+        public String getPr_detail() {
+            return pr_detail;
+        }
+
+        public void setPr_detail(String pr_detail) {
+            this.pr_detail = pr_detail;
+        }
+
+        public String getPd_whcode() {
+            return pd_whcode;
+        }
+
+        public void setPd_whcode(String pd_whcode) {
+            this.pd_whcode = pd_whcode;
+        }
+
+        public String getPr_spec() {
+            return pr_spec;
+        }
+
+        public void setPr_spec(String pr_spec) {
+            this.pr_spec = pr_spec;
+        }
+
+        public int getPd_piid() {
+            return pd_piid;
+        }
+
+        public void setPd_piid(int pd_piid) {
+            this.pd_piid = pd_piid;
+        }
+
+        public int getPd_restqty() {
+            return pd_restqty;
+        }
+
+        public void setPd_restqty(int pd_restqty) {
+            this.pd_restqty = pd_restqty;
+        }
+
+        public String getPd_prodcode() {
+            return pd_prodcode;
+        }
+
+        public void setPd_prodcode(String pd_prodcode) {
+            this.pd_prodcode = pd_prodcode;
+        }
+    }
+}

+ 31 - 0
app/src/main/java/com/uas/gdstorage/bean/CommonCheckBean.java

@@ -0,0 +1,31 @@
+package com.uas.gdstorage.bean;
+
+public class CommonCheckBean {
+    private String display;
+    private String value;
+    private boolean isCheck;
+
+    public String getDisplay() {
+        return display;
+    }
+
+    public void setDisplay(String display) {
+        this.display = display;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public boolean isCheck() {
+        return isCheck;
+    }
+
+    public void setCheck(boolean check) {
+        isCheck = check;
+    }
+}

+ 69 - 0
app/src/main/java/com/uas/gdstorage/bean/CommonColumnsBean.java

@@ -0,0 +1,69 @@
+package com.uas.gdstorage.bean;
+
+public class CommonColumnsBean {
+
+
+    /**
+     * dataIndex : bc_address
+     * caption : 企业地址
+     * width : 200
+     * type : null
+     * format : null
+     * render : null
+     */
+
+    private String dataIndex;
+    private String caption;
+    private int width;
+    private String type;
+    private String format;
+    private String render;
+
+    public String getDataIndex() {
+        return dataIndex;
+    }
+
+    public void setDataIndex(String dataIndex) {
+        this.dataIndex = dataIndex;
+    }
+
+    public String getCaption() {
+        return caption;
+    }
+
+    public void setCaption(String caption) {
+        this.caption = caption;
+    }
+
+    public int getWidth() {
+        return width;
+    }
+
+    public void setWidth(int width) {
+        this.width = width;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getFormat() {
+        return format;
+    }
+
+    public void setFormat(String format) {
+        this.format = format;
+    }
+
+    public String getRender() {
+        return render;
+    }
+
+    public void setRender(String render) {
+        this.render = render;
+    }
+}

+ 55 - 0
app/src/main/java/com/uas/gdstorage/bean/CommonMenuBean.java

@@ -0,0 +1,55 @@
+package com.uas.gdstorage.bean;
+
+import android.os.Bundle;
+
+public class CommonMenuBean {
+    private String mName;
+    private int mIcon;
+    private Class mPage;
+    private Bundle mBundle;
+
+    public CommonMenuBean(String name, int icon, Class page) {
+        mName = name;
+        mIcon = icon;
+        mPage = page;
+    }
+
+    public CommonMenuBean(String name, int icon, Class page, Bundle bundle) {
+        mName = name;
+        mIcon = icon;
+        mPage = page;
+        mBundle = bundle;
+    }
+
+    public String getName() {
+        return mName;
+    }
+
+    public void setName(String name) {
+        mName = name;
+    }
+
+    public int getIcon() {
+        return mIcon;
+    }
+
+    public void setIcon(int icon) {
+        mIcon = icon;
+    }
+
+    public Class getPage() {
+        return mPage;
+    }
+
+    public void setPage(Class page) {
+        mPage = page;
+    }
+
+    public Bundle getBundle() {
+        return mBundle;
+    }
+
+    public void setBundle(Bundle bundle) {
+        mBundle = bundle;
+    }
+}

+ 9 - 0
app/src/main/java/com/uas/gdstorage/bean/CommonTableInputBean.java

@@ -0,0 +1,9 @@
+package com.uas.gdstorage.bean;
+
+public class CommonTableInputBean {
+    private String mKey;
+    private String mCaption;
+    private String mValue;
+    private int mInputType;
+
+}

+ 51 - 0
app/src/main/java/com/uas/gdstorage/bean/CommonTableListBean.java

@@ -0,0 +1,51 @@
+package com.uas.gdstorage.bean;
+
+import com.chad.library.adapter.base.entity.MultiItemEntity;
+
+/**
+ * @author RaoMeng
+ * @describe
+ * @date 2018/11/20 15:22
+ */
+public class CommonTableListBean implements MultiItemEntity {
+    public static final int TABLE_LIST_DATA = 1;
+    public static final int TABLE_LIST_DIVIDER = 2;
+
+    private int mItemType = -1;
+    private String mCaption;
+    private String mDataIndex;
+    private String mValue;
+
+    @Override
+    public int getItemType() {
+        return mItemType;
+    }
+
+    public void setItemType(int itemType) {
+        mItemType = itemType;
+    }
+
+    public String getCaption() {
+        return mCaption;
+    }
+
+    public void setCaption(String caption) {
+        mCaption = caption;
+    }
+
+    public String getDataIndex() {
+        return mDataIndex;
+    }
+
+    public void setDataIndex(String dataIndex) {
+        mDataIndex = dataIndex;
+    }
+
+    public String getValue() {
+        return mValue;
+    }
+
+    public void setValue(String value) {
+        mValue = value;
+    }
+}

+ 10 - 0
app/src/main/java/com/uas/gdstorage/bean/ErrorMsg.java

@@ -0,0 +1,10 @@
+package com.uas.gdstorage.bean;
+
+/**
+ * Created by Administrator on 2016/3/15.
+ */
+public class ErrorMsg {
+    public boolean success;
+    public int exceptionCode;
+    public String exceptionInfo;
+}

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