Преглед изворни кода

创建项目,修改了出库界面,出库列表,入库界面,入库列表,移库

ChengJH пре 3 година
комит
c567da597c
100 измењених фајлова са 8489 додато и 0 уклоњено
  1. 11 0
      .gitignore
  2. BIN
      .idea/caches/build_file_checksums.ser
  3. 116 0
      .idea/codeStyles/Project.xml
  4. 6 0
      .idea/compiler.xml
  5. 25 0
      .idea/gradle.xml
  6. 65 0
      .idea/jarRepositories.xml
  7. 14 0
      .idea/misc.xml
  8. 13 0
      .idea/runConfigurations.xml
  9. 6 0
      .idea/vcs.xml
  10. 1 0
      app/.gitignore
  11. 92 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. 20 0
      app/src/androidTest/java/com/uas/yuejiahong/ExampleInstrumentedTest.java
  19. 75 0
      app/src/main/AndroidManifest.xml
  20. 77 0
      app/src/main/java/com/uas/yuejiahong/activity/BaseActivity.java
  21. 391 0
      app/src/main/java/com/uas/yuejiahong/activity/FunctionActivity.java
  22. 194 0
      app/src/main/java/com/uas/yuejiahong/activity/IndexActivity.java
  23. 157 0
      app/src/main/java/com/uas/yuejiahong/activity/MainActivity.java
  24. 169 0
      app/src/main/java/com/uas/yuejiahong/activity/SearchMaterialActivity.java
  25. 166 0
      app/src/main/java/com/uas/yuejiahong/activity/SplashActivity.java
  26. 30 0
      app/src/main/java/com/uas/yuejiahong/adapter/AdapterFactory.java
  27. 198 0
      app/src/main/java/com/uas/yuejiahong/adapter/BarcodeGenerationListAdapter.java
  28. 81 0
      app/src/main/java/com/uas/yuejiahong/adapter/BarcodeProdcodeListAdapter.java
  29. 103 0
      app/src/main/java/com/uas/yuejiahong/adapter/BarcodeSupplePrintAdapter.java
  30. 97 0
      app/src/main/java/com/uas/yuejiahong/adapter/BarcodeSupplePrintListAdapter.java
  31. 62 0
      app/src/main/java/com/uas/yuejiahong/adapter/BreakPackageTableListItemAdapter.java
  32. 68 0
      app/src/main/java/com/uas/yuejiahong/adapter/CaptionValueItemAdapter.java
  33. 22 0
      app/src/main/java/com/uas/yuejiahong/adapter/CommonSelectAdapter.java
  34. 148 0
      app/src/main/java/com/uas/yuejiahong/adapter/FormAdapter.java
  35. 49 0
      app/src/main/java/com/uas/yuejiahong/adapter/InmakeNetListAdapter.java
  36. 79 0
      app/src/main/java/com/uas/yuejiahong/adapter/InmakeProdListAdapter.java
  37. 61 0
      app/src/main/java/com/uas/yuejiahong/adapter/InmakeWhcodeListAdapter.java
  38. 82 0
      app/src/main/java/com/uas/yuejiahong/adapter/InventoryDetailAdapter.java
  39. 82 0
      app/src/main/java/com/uas/yuejiahong/adapter/InventorySummaryAdapter.java
  40. 115 0
      app/src/main/java/com/uas/yuejiahong/adapter/IpAddressAdapter.java
  41. 95 0
      app/src/main/java/com/uas/yuejiahong/adapter/IpHistoryAdapter.java
  42. 23 0
      app/src/main/java/com/uas/yuejiahong/adapter/JLTRevokeBoxAdapter.java
  43. 36 0
      app/src/main/java/com/uas/yuejiahong/adapter/JLTSearchWhcodeAdapter.java
  44. 171 0
      app/src/main/java/com/uas/yuejiahong/adapter/JLTStorageInDoneAdapter.java
  45. 143 0
      app/src/main/java/com/uas/yuejiahong/adapter/JLTStorageInTodoAdapter.java
  46. 93 0
      app/src/main/java/com/uas/yuejiahong/adapter/ListCollectAlreadyAdapter.java
  47. 80 0
      app/src/main/java/com/uas/yuejiahong/adapter/ListCollectNotAdapter.java
  48. 110 0
      app/src/main/java/com/uas/yuejiahong/adapter/ListSubmitNotAdapter.java
  49. 51 0
      app/src/main/java/com/uas/yuejiahong/adapter/ListViewAdapter.java
  50. 31 0
      app/src/main/java/com/uas/yuejiahong/adapter/LocationCheckAdapter.java
  51. 58 0
      app/src/main/java/com/uas/yuejiahong/adapter/MakePrepareAdapter.java
  52. 74 0
      app/src/main/java/com/uas/yuejiahong/adapter/PdaioStorageOutAdapter.java
  53. 100 0
      app/src/main/java/com/uas/yuejiahong/adapter/RevokeStockListAdapter.java
  54. 62 0
      app/src/main/java/com/uas/yuejiahong/adapter/SMTQueryListAdapter.java
  55. 107 0
      app/src/main/java/com/uas/yuejiahong/adapter/ScMakeUncollectListAdapter.java
  56. 72 0
      app/src/main/java/com/uas/yuejiahong/adapter/SearchMaterialNumberAdapter.java
  57. 299 0
      app/src/main/java/com/uas/yuejiahong/adapter/SecondaryListAdapter.java
  58. 64 0
      app/src/main/java/com/uas/yuejiahong/adapter/SingleSelectionAdapter.java
  59. 78 0
      app/src/main/java/com/uas/yuejiahong/adapter/SmtDownResultAdapter.java
  60. 114 0
      app/src/main/java/com/uas/yuejiahong/adapter/SmtQueryDiffListAdapter.java
  61. 111 0
      app/src/main/java/com/uas/yuejiahong/adapter/SmtQueryMaterialListAdapter.java
  62. 68 0
      app/src/main/java/com/uas/yuejiahong/adapter/SmtqueryDiffErrorAdapter.java
  63. 71 0
      app/src/main/java/com/uas/yuejiahong/adapter/SmtqueryDiffNotAdapter.java
  64. 82 0
      app/src/main/java/com/uas/yuejiahong/adapter/StockAlreadyListAdapter.java
  65. 80 0
      app/src/main/java/com/uas/yuejiahong/adapter/StockBarcodeListAdapter.java
  66. 87 0
      app/src/main/java/com/uas/yuejiahong/adapter/StockTaskAdapter.java
  67. 127 0
      app/src/main/java/com/uas/yuejiahong/adapter/StockTaskMultipleAdapter.java
  68. 72 0
      app/src/main/java/com/uas/yuejiahong/adapter/StockTaskMultipleDetailAdapter.java
  69. 98 0
      app/src/main/java/com/uas/yuejiahong/adapter/StorageInAddAdapter.java
  70. 100 0
      app/src/main/java/com/uas/yuejiahong/adapter/StorageInAddBarcodeAdapter.java
  71. 103 0
      app/src/main/java/com/uas/yuejiahong/adapter/StorageInAddQuantityAdapter.java
  72. 80 0
      app/src/main/java/com/uas/yuejiahong/adapter/StorageIqcInListAdapter.java
  73. 77 0
      app/src/main/java/com/uas/yuejiahong/adapter/StorageRechargeAdapter.java
  74. 88 0
      app/src/main/java/com/uas/yuejiahong/adapter/StorageRechargeInspectionAdapter.java
  75. 64 0
      app/src/main/java/com/uas/yuejiahong/adapter/StorageSearchModeAdapter.java
  76. 87 0
      app/src/main/java/com/uas/yuejiahong/adapter/StorageStockTaskAdapter.java
  77. 43 0
      app/src/main/java/com/uas/yuejiahong/adapter/TableListItemAdapter.java
  78. 72 0
      app/src/main/java/com/uas/yuejiahong/adapter/TransferLocationAdapter.java
  79. 77 0
      app/src/main/java/com/uas/yuejiahong/adapter/WHCheckMakeDetailListAdapter.java
  80. 56 0
      app/src/main/java/com/uas/yuejiahong/adapter/WHCheckMakeMaterialListAdapter.java
  81. 74 0
      app/src/main/java/com/uas/yuejiahong/adapter/WarehouseCacheAdapter.java
  82. 224 0
      app/src/main/java/com/uas/yuejiahong/application/PdaApplication.java
  83. 219 0
      app/src/main/java/com/uas/yuejiahong/bean/BarcodeDetailBean.java
  84. 89 0
      app/src/main/java/com/uas/yuejiahong/bean/BarcodeGenerationItemBean.java
  85. 81 0
      app/src/main/java/com/uas/yuejiahong/bean/BarcodeProdcodeItemBean.java
  86. 90 0
      app/src/main/java/com/uas/yuejiahong/bean/BarcodeSuppleBean.java
  87. 27 0
      app/src/main/java/com/uas/yuejiahong/bean/BarcodeSuppleListBean.java
  88. 5 0
      app/src/main/java/com/uas/yuejiahong/bean/BaseSelectEntity.java
  89. 37 0
      app/src/main/java/com/uas/yuejiahong/bean/CaptionValueBean.java
  90. 212 0
      app/src/main/java/com/uas/yuejiahong/bean/CollectAlreadyBean.java
  91. 232 0
      app/src/main/java/com/uas/yuejiahong/bean/CollectNotBean.java
  92. 10 0
      app/src/main/java/com/uas/yuejiahong/bean/ErrorMsg.java
  93. 61 0
      app/src/main/java/com/uas/yuejiahong/bean/FeederDetail.java
  94. 115 0
      app/src/main/java/com/uas/yuejiahong/bean/FormBean.java
  95. 55 0
      app/src/main/java/com/uas/yuejiahong/bean/IOCOutMakeMaterialFuzzySearch.java
  96. 217 0
      app/src/main/java/com/uas/yuejiahong/bean/IOCOutMakeMaterialOperMsd.java
  97. 147 0
      app/src/main/java/com/uas/yuejiahong/bean/IOCOutMakeMaterialSubmit.java
  98. 51 0
      app/src/main/java/com/uas/yuejiahong/bean/IOCOutmakeMaterialSplitBean.java
  99. 15 0
      app/src/main/java/com/uas/yuejiahong/bean/IPPORT.java
  100. 128 0
      app/src/main/java/com/uas/yuejiahong/bean/InventoryDetailBean.java

+ 11 - 0
.gitignore

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

BIN
.idea/caches/build_file_checksums.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>

+ 6 - 0
.idea/compiler.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <bytecodeTargetLevel target="1.8" />
+  </component>
+</project>

+ 25 - 0
.idea/gradle.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleMigrationSettings" migrationVersion="1" />
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="testRunner" value="PLATFORM" />
+        <option name="distributionType" value="LOCAL" />
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-4.4-all" />
+        <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="useQualifiedModuleNames" value="true" />
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>

+ 65 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="BintrayJCenter" />
+      <option name="name" value="BintrayJCenter" />
+      <option name="url" value="https://jcenter.bintray.com/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="Google2" />
+      <option name="name" value="Google2" />
+      <option name="url" value="https://maven.google.com/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="maven" />
+      <option name="name" value="maven" />
+      <option name="url" value="https://jitpack.io" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="Google" />
+      <option name="name" value="Google" />
+      <option name="url" value="https://dl.google.com/dl/android/maven2/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="D:\Android\android-sdk\extras\m2repository" />
+      <option name="name" value="D:\Android\android-sdk\extras\m2repository" />
+      <option name="url" value="file:/$PROJECT_DIR$/../../Android/android-sdk/extras/m2repository/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="D:\Android\android-sdk\extras\google\m2repository" />
+      <option name="name" value="D:\Android\android-sdk\extras\google\m2repository" />
+      <option name="url" value="file:/$PROJECT_DIR$/../../Android/android-sdk/extras/google/m2repository/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="D:\Android\android-sdk\extras\android\m2repository" />
+      <option name="name" value="D:\Android\android-sdk\extras\android\m2repository" />
+      <option name="url" value="file:/$PROJECT_DIR$/../../Android/android-sdk/extras/android/m2repository/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="D:\AndroidRel\AndroidSdk\extras\android\m2repository" />
+      <option name="name" value="D:\AndroidRel\AndroidSdk\extras\android\m2repository" />
+      <option name="url" value="file:/$PROJECT_DIR$/../../AndroidRel/AndroidSdk/extras/android/m2repository/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="D:\AndroidRel\AndroidSdk\extras\m2repository" />
+      <option name="name" value="D:\AndroidRel\AndroidSdk\extras\m2repository" />
+      <option name="url" value="file:/$PROJECT_DIR$/../../AndroidRel/AndroidSdk/extras/m2repository/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="D:\AndroidRel\AndroidSdk\extras\google\m2repository" />
+      <option name="name" value="D:\AndroidRel\AndroidSdk\extras\google\m2repository" />
+      <option name="url" value="file:/$PROJECT_DIR$/../../AndroidRel/AndroidSdk/extras/google/m2repository/" />
+    </remote-repository>
+  </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" default="true" 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>

+ 13 - 0
.idea/runConfigurations.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RunConfigurationProducerService">
+    <option name="ignoredProducers">
+      <set>
+        <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
+        <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
+        <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
+        <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
+      </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
app/.gitignore

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

+ 92 - 0
app/build.gradle

@@ -0,0 +1,92 @@
+apply plugin: 'com.android.application'
+
+apply plugin: 'kotlin-android'
+
+apply plugin: 'kotlin-android-extensions'
+
+android {
+    signingConfigs {
+        pda_storage {
+            keyAlias 'yt_yuejiahong_alias'
+            keyPassword 'pdakeystone'
+            storeFile file('C:/sigin/yt_yuejiahong.jks')
+            storePassword 'pdakeystone'
+        }
+    }
+    compileSdkVersion rootProject.ext.android.compileSdkVersion
+    buildToolsVersion rootProject.ext.android.buildToolsVersion
+    defaultConfig {
+        applicationId "com.uas.yuejiahong"
+        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_YUEJIAHONGE_RELEASE_${releaseInfo}.apk"
+
+                } else if (variant.buildType.name.equals('debug')) {
+                    def debugInfo = getVersionName()
+                    fileName = "UAS_YUEJIAHONG_DEBUG_${debugInfo}.apk"
+                }
+                outputFileName = fileName
+            }
+        }
+    }
+    compileOptions {
+        targetCompatibility 1.8
+        sourceCompatibility 1.8
+    }
+}
+
+dependencies {
+    implementation fileTree(include: ['*.jar'], dir: 'libs')
+    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
+    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
+    implementation deps.recyclerview
+    implementation deps.BaseRecyclerViewAdapterHelper
+    implementation deps.smartRefreshLayout
+    implementation deps.smartRefreshHeader
+    implementation deps.permisson
+    implementation deps.smartTable
+    implementation deps.basePopup
+    implementation  'com.umeng.umsdk:common:9.4.0'// 必选
+    implementation  'com.umeng.umsdk:asms:1.2.3'// 必选
+    implementation 'com.umeng.umsdk:apm:1.4.0' // 错误分析升级为独立SDK,看crash数据请一定集成,可选
+    implementation 'org.greenrobot:eventbus:3.1.1'
+}
+
+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

+ 20 - 0
app/src/androidTest/java/com/uas/yuejiahong/ExampleInstrumentedTest.java

@@ -0,0 +1,20 @@
+package com.uas.yuejiahong;
+
+import android.content.Context;
+
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+    @Test
+    public void useAppContext() {
+        // Context of the app under test.
+        Context appContext = InstrumentationRegistry.getTargetContext();
+
+        assertEquals("com.uas.yuejiahong", appContext.getPackageName());
+    }
+}

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

@@ -0,0 +1,75 @@
+<?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.yuejiahong"
+    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.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.VIBRATE" />
+    <uses-permission android:name="android.permission.CAMERA" />
+
+
+    <application
+        android:name="com.uas.yuejiahong.application.PdaApplication"
+        android:allowBackup="true"
+        android:icon="@mipmap/icon"
+        android:label="@string/my_app_name_test"
+        android:theme="@style/AppTheme"
+        android:usesCleartextTraffic="true"
+        tools:replace="android:allowBackup">
+
+        <uses-library
+            android:name="org.apache.http.legacy"
+            android:required="false" />
+
+        <activity
+            android:name="com.uas.yuejiahong.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="com.uas.yuejiahong.activity.MainActivity"
+            android:icon="@mipmap/icon"
+            android:label="@string/title_activity_menu"
+            android:screenOrientation="portrait"
+            android:windowSoftInputMode="adjustPan|stateHidden">
+        </activity>
+        <activity
+            android:name="com.uas.yuejiahong.activity.IndexActivity"
+            android:label="@string/title_activity_menu"
+            android:screenOrientation="portrait" />
+        <activity
+            android:name="com.uas.yuejiahong.activity.FunctionActivity"
+            android:label="@string/title_activity_function"
+            android:screenOrientation="portrait"
+            android:windowSoftInputMode="adjustUnspecified|stateHidden" />
+
+        <activity
+            android:name="com.uas.yuejiahong.activity.SearchMaterialActivity"
+            android:label="@string/material_number_search"
+            android:screenOrientation="portrait" />
+
+        <provider
+            android:name="android.support.v4.content.FileProvider"
+            android:authorities="com.uas.yuejiahong.fileprovider"
+            android:exported="false"
+            android:grantUriPermissions="true">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/file_paths" />
+        </provider>
+    </application>
+
+</manifest>

+ 77 - 0
app/src/main/java/com/uas/yuejiahong/activity/BaseActivity.java

@@ -0,0 +1,77 @@
+package com.uas.yuejiahong.activity;
+
+import android.graphics.Color;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+
+import com.uas.yuejiahong.global.GloableParams;
+import com.uas.yuejiahong.tools.DataSourceManager;
+import com.uas.yuejiahong.tools.SharedPreUtil;
+import com.uas.yuejiahong.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();
+            }
+        }
+
+    }
+
+    protected abstract void initViews();
+
+    protected abstract void initEvents();
+
+    protected abstract void initDatas();
+}

+ 391 - 0
app/src/main/java/com/uas/yuejiahong/activity/FunctionActivity.java

@@ -0,0 +1,391 @@
+package com.uas.yuejiahong.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.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.android.volley.toolbox.StringRequest;
+import com.uas.yuejiahong.R;
+import com.uas.yuejiahong.bean.StorageInBillBean;
+import com.uas.yuejiahong.fragment.BaseFragment;
+import com.uas.yuejiahong.fragment.IndexSettingFragment;
+import com.uas.yuejiahong.fragment.IndexWareHouseContentFragment;
+import com.uas.yuejiahong.fragment.JltStorageInFilterListFragment;
+import com.uas.yuejiahong.fragment.StorageInAddDetailFragment;
+import com.uas.yuejiahong.fragment.StorageInAddFragment;
+import com.uas.yuejiahong.fragment.StorageInAddListFragment;
+import com.uas.yuejiahong.fragment.StorageOutFilterListFragment;
+import com.uas.yuejiahong.global.GloableParams;
+import com.uas.yuejiahong.interfaces.BackHandlerInterface;
+import com.uas.yuejiahong.tools.DataSourceManager;
+import com.uas.yuejiahong.util.CameraUtil;
+import com.uas.yuejiahong.util.FastjsonUtil;
+import com.uas.yuejiahong.util.HttpCallback;
+import com.uas.yuejiahong.util.HttpParams;
+import com.uas.yuejiahong.util.VollyRequest;
+
+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;
+    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";
+
+    @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);
+
+        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);
+        //加载对应的Fragment
+        //防止系统内存不足将activity回收时产生Fragment重叠的问题
+        if (savedInstanceState == null) {
+            switch (funName) {
+                //入库
+                case GloableParams.GRIDNAME_INOUT_STORAGE:
+//                    mFragment = new StorageInAddFragment();
+//                    getLastestProdinout();
+                    mFragment = new JltStorageInFilterListFragment();
+                    break;
+                //出库
+                case GloableParams.GRIDNAME_SHOPCONTENT:
+                    mFragment = new StorageOutFilterListFragment();
+                    break;
+                //仓库管理
+                case GloableParams.GRIDNAME_keg_storageR:
+                    mFragment = new IndexWareHouseContentFragment();
+                    break;
+                //设置
+                case GloableParams.GRIDNAME_SETTING:
+                    mFragment = new IndexSettingFragment();
+                    break;
+            }
+            //添加Fragment
+            getSupportFragmentManager().beginTransaction()
+                    .add(R.id.container_function_fragment, mFragment).commitAllowingStateLoss();
+        }
+
+    }
+
+    private void getLastestProdinout() {
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_PDAIO_IN_GETLATESTPRODINOUT)
+                        .method(Request.Method.GET)
+                        .tag("getlastestprodinout")
+                        .flag(0)
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        try {
+                            progressDialog.dismiss();
+                            String result = o.toString();
+                            JSONObject resultObject = JSON.parseObject(result);
+                            boolean success = FastjsonUtil.getBoolean(resultObject, "success");
+                            JSONObject dataObject = resultObject.getJSONObject("data");
+                            if (success && dataObject != null) {
+                                String pi_class = FastjsonUtil.getText(dataObject, "PI_CLASS");
+                                String pi_whcode = FastjsonUtil.getText(dataObject, "PI_WHCODE");
+                                String pi_cardcode = FastjsonUtil.getText(dataObject, "PI_CARDCODE");
+                                long pi_id = FastjsonUtil.getLong(dataObject, "PI_ID");
+                                String pi_inoutno = FastjsonUtil.getText(dataObject, "PI_INOUTNO");
+                                String pi_status = FastjsonUtil.getText(dataObject, "PI_STATUS");
+                                String pi_invostatus = FastjsonUtil.getText(dataObject, "PI_INVOSTATUS");
+
+                                jumpToStorageInAddDetail(pi_class, pi_whcode, pi_cardcode, pi_id, pi_inoutno, pi_status, pi_invostatus, StorageInAddDetailFragment.PAGE_FUNCTION_ACTIVITY);
+                            } else {
+                                storageInAddFinish();
+                            }
+                        } catch (Exception e) {
+                            storageInAddFinish();
+                        }
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        storageInAddFinish();
+                    }
+                });
+    }
+
+    private void jumpToStorageInAddDetail(String pi_class, String pi_whcode, String pi_cardcode, long pi_id, String pi_inoutno, String pi_status, String pi_invostatus, int whichPage) {
+        mFragment = new StorageInAddDetailFragment();
+        Bundle bundle = new Bundle();
+        bundle.putString("pi_class", pi_class);
+        bundle.putString("pi_whcode", pi_whcode);
+        bundle.putString("pi_cardcode", pi_cardcode);
+        bundle.putLong("pi_id", pi_id);
+        bundle.putString("pi_inoutno", pi_inoutno);
+        bundle.putString("pi_status", pi_status);
+        bundle.putString("pi_invostatus", pi_invostatus);
+        bundle.putInt("whichPage", whichPage);
+        mFragment.setArguments(bundle);
+        getSupportFragmentManager().beginTransaction()
+                .add(R.id.container_function_fragment, mFragment).commitAllowingStateLoss();
+
+        ((StorageInAddDetailFragment) mFragment).setOnStorageInAddListener(new StorageInAddDetailFragment.OnStorageInAddListener() {
+            @Override
+            public void onStorageInAdd() {
+                storageInAddFinish();
+            }
+        });
+
+        if (whichPage == StorageInAddDetailFragment.PAGE_STORAGE_IN_ADD
+                || whichPage == StorageInAddDetailFragment.PAGE_STORAGE_IN_ADD_FINISH) {
+            ((StorageInAddDetailFragment) mFragment).setOnStorageInToListListener(new StorageInAddDetailFragment.OnStorageInToListListener() {
+                @Override
+                public void onStorageInToList() {
+                    StorageInAddListFragment storageInAddListFragment = new StorageInAddListFragment();
+                    Bundle bundle = new Bundle();
+                    bundle.putInt("whichPage", StorageInAddListFragment.PAGE_STORAGE_ADD);
+                    storageInAddListFragment.setArguments(bundle);
+                    getSupportFragmentManager().beginTransaction()
+                            .add(R.id.container_function_fragment, storageInAddListFragment).commitAllowingStateLoss();
+
+                    storageInAddListFragment.setOnListSelectListener(new StorageInAddListFragment.OnListSelectListener() {
+                        @Override
+                        public void onListSelect(StorageInBillBean storageInBillBean) {
+                            Fragment fragment = new StorageInAddDetailFragment();
+                            Bundle bundle = new Bundle();
+                            bundle.putString("pi_class", storageInBillBean.getPI_CLASS());
+                            bundle.putString("pi_whcode", storageInBillBean.getPI_WHCODE());
+                            bundle.putString("pi_cardcode", storageInBillBean.getPI_CARDCODE());
+                            bundle.putLong("pi_id", storageInBillBean.getPI_ID());
+                            bundle.putString("pi_inoutno", storageInBillBean.getPI_INOUTNO());
+                            bundle.putString("pi_status", storageInBillBean.getPI_STATUS());
+                            bundle.putString("pi_invostatus", storageInBillBean.getPI_INVOSTATUS());
+                            bundle.putInt("whichPage", StorageInAddDetailFragment.PAGE_STORAGE_IN_LIST);
+                            fragment.setArguments(bundle);
+                            getSupportFragmentManager().beginTransaction()
+                                    .add(R.id.container_function_fragment, mFragment).commitAllowingStateLoss();
+                        }
+                    });
+                }
+            });
+        }
+    }
+
+    private void storageInAddFinish() {
+        mFragment = new StorageInAddFragment();
+        getSupportFragmentManager().beginTransaction()
+                .add(R.id.container_function_fragment, mFragment).commitAllowingStateLoss();
+
+        ((StorageInAddFragment) mFragment).setOnFinishListener(new StorageInAddFragment.OnFinishListener() {
+            @Override
+            public void onFinish(String pi_class, String pi_whcode, String pi_cardcode, long pi_id, String pi_inoutno, String pi_status, String pi_invostatus) {
+                jumpToStorageInAddDetail(pi_class, pi_whcode, pi_cardcode, pi_id, pi_inoutno, pi_status, pi_invostatus, StorageInAddDetailFragment.PAGE_STORAGE_IN_ADD_FINISH);
+            }
+        });
+    }
+
+    @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);
+        }
+    }
+
+    @Override
+    public void onClick(View v) {
+        /*if (mFragment instanceof MaterialCollectionFragment) {
+            if (((MaterialCollectionFragment) mFragment).onFragmentBackPressed()) {
+                return;
+            }
+        }
+        if (mFragment instanceof IOCOutMakeMaterialOper) {
+            if (((IOCOutMakeMaterialOper) mFragment).onFragmentBackPressed()) {
+                return;
+            }
+        }
+        if (mFragment instanceof FinishedGoodsCollectFragment) {
+            if (((FinishedGoodsCollectFragment) mFragment).onFragmentBackPressed()) {
+                return;
+            }
+        }
+        if (mFragment instanceof FinishedGoodsOutCollectFragment) {
+            if (((FinishedGoodsOutCollectFragment) mFragment).onFragmentBackPressed()) {
+                return;
+            }
+        }*/
+        if (mFragment.onFragmentBackPressed()) {
+            return;
+        }
+        backEvent();
+
+    }
+
+    private void backEvent() {
+        if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
+            finish();
+        } else {
+            getSupportFragmentManager().popBackStack();
+        }
+    }
+
+    //键盘后退
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        Log.e("Functivity", "1onKeyDown:" + keyCode);
+//        if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
+//            //入库单页面:重新采集:确认对话框
+//            if(IOCInMakeMaterialFragment.CONFIRM_DIALOG_ISSHOWING){
+//                IOCInMakeMaterialFragment.CONFIRM_DIALOG_ISSHOWING = false;
+//                IOCInMakeMaterialFragment mFragment = (IOCInMakeMaterialFragment) getSupportFragmentManager().findFragmentByTag(TAG_INMAKE);
+//                mFragment.closeConfirmDialog();
+//                return true;
+//            }
+//            if(mFragment.POPWIN_IS_SHOWING){
+//                Log.e("POPWIN_IS_SHOWING")
+//                mFragment.POPWIN_IS_SHOWING = false;
+        if (mFragment.onKeyDown(keyCode, event)) {
+            Log.e("FunctionActivity", "onKeydown is true");
+            return true;
+        }
+//                return true;
+//            }
+//        }
+        Log.e("FunctionActivity", "onKeydown is false");
+        return super.onKeyDown(keyCode, event);
+    }
+
+    @Override
+    public void onBackPressed() {
+        /*if ((mFragment instanceof MaterialCollectionFragment) && ((MaterialCollectionFragment) mFragment).onFragmentBackPressed()) {
+            return;
+        }
+        if ((mFragment instanceof IOCOutMakeMaterialOper) && ((IOCOutMakeMaterialOper) mFragment).onFragmentBackPressed()) {
+            return;
+        }
+        if ((mFragment instanceof FinishedGoodsCollectFragment) && ((FinishedGoodsCollectFragment) mFragment).onFragmentBackPressed()) {
+            return;
+        }
+        if ((mFragment instanceof FinishedGoodsOutCollectFragment) && ((FinishedGoodsOutCollectFragment) mFragment).onFragmentBackPressed()) {
+            return;
+        }*/
+        if (mFragment.onFragmentBackPressed()) {
+            return;
+        }
+        super.onBackPressed();
+    }
+
+    @Override
+    public void setSelectedFragment(BaseFragment baseFragment) {
+        mFragment = baseFragment;
+    }
+}

+ 194 - 0
app/src/main/java/com/uas/yuejiahong/activity/IndexActivity.java

@@ -0,0 +1,194 @@
+package com.uas.yuejiahong.activity;
+
+import android.content.Intent;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.util.Log;
+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.uas.yuejiahong.R;
+import com.uas.yuejiahong.application.PdaApplication;
+import com.uas.yuejiahong.global.GloableParams;
+import com.uas.yuejiahong.tools.DataSourceManager;
+import com.uas.yuejiahong.tools.VolleyUtil;
+import com.uas.yuejiahong.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+/**
+ * @note:主菜单界面,与Application生命周期同步,在销毁时,清除App本地缓存
+ */
+public class IndexActivity 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缓存
+        Log.e("Indexactivity", "onDestroy remove cache");
+//        SharedPreUtil.removeAll(getApplicationContext());
+        VolleyUtil.distoryVolley();
+        super.onDestroy();
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        //请求储位
+        VolleyUtil.requestGetUseLocationOrNot(getApplicationContext(), GloableParams.ADDRESS_GET_FIELD_DATA,
+                VolleyUtil.METHOD_POST, pageType);
+        //原材料出库采集方式
+        VolleyUtil.requestProdOutType(getApplicationContext(), GloableParams.ADDRESS_GET_FIELD_DATA);
+    }
+
+    @Override
+    protected void initViews() {
+        setContentView(R.layout.activity_index);
+        menuGridView = (GridView) findViewById(R.id.grid_menu);
+        actionbarTextVeiw = (TextView) findViewById(R.id.actionbar);
+        actionbarTextVeiw.setText(getResources().getString(R.string.title_activity_menu));
+        gridItemList = DataSourceManager.getDataSourceManager().getIndexMainGridItemList();
+        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) {
+        //将选中的ItemName传递给功能Activity(FunctionActivity)
+        String itemName = (String) gridItemList.get(position).get(DataSourceManager.KEY_GRID_ITEMNAME);
+//        if (!itemName.equals(GloableParams.GRIDNAME_SHOPCONTENT)) {
+
+        /*List<String> powerList = (List<String>) PdaApplication.getDataCacheFromMap(Constants.FLAG.POWER_CALLER_CACHE);
+        boolean isPower = false;
+        if (powerList != null) {
+            for (int i = 0; i < powerList.size(); i++) {
+                String power = powerList.get(i);
+
+                if ((GloableParams.GRIDNAME_INOUT_STORAGE.equals(itemName)
+                        || GloableParams.GRIDNAME_keg_storageR.equals(itemName))
+                        && Constants.CONSTANT.AUTHORITY_PRODINOUT.equals(power)) {
+                    isPower = true;
+                    break;
+                }
+
+                if ((GloableParams.GRIDNAME_SHOPCONTENT.equals(itemName)
+                        || GloableParams.GRIDNAME_keg_storageR.equals(itemName))
+                        && Constants.CONSTANT.AUTHORITY_SHOP.equals(power)) {
+                    isPower = true;
+                    break;
+                }
+            }
+        }
+
+        if (itemName.equals(GloableParams.GRIDNAME_SETTING)) {
+            isPower = true;
+        }
+*/
+//        if (true) {
+        Intent intent = new Intent(IndexActivity.this, FunctionActivity.class);
+        intent.putExtra(DataSourceManager.KEY_GRID_ITEMNAME, itemName);
+        startActivity(intent);
+//        } else {
+//            CommonUtil.toastNoRepeat(this, getString(R.string.have_no_power));
+//        }
+
+//        } else {
+//        CommonUtil.toastNoRepeat(this, "该功能正在内测");
+//        }
+    }
+
+    @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);
+        }
+    }
+}

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

@@ -0,0 +1,157 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.fragment.BaseFragment;
+import com.uas.yuejiahong.fragment.ConnectServerFragment;
+import com.uas.yuejiahong.fragment.LoginFragment;
+import com.uas.yuejiahong.interfaces.BackHandlerInterface;
+import com.uas.yuejiahong.tools.DataSourceManager;
+import com.uas.yuejiahong.tools.SharedPreUtil;
+import com.uas.yuejiahong.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/yuejiahong/activity/SearchMaterialActivity.java

@@ -0,0 +1,169 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.adapter.SearchMaterialNumberAdapter;
+import com.uas.yuejiahong.database.DBManager;
+import com.uas.yuejiahong.table.TableLPRODIONEEDGET;
+import com.uas.yuejiahong.util.CommonUtil;
+import com.uas.yuejiahong.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();
+    }
+}

+ 166 - 0
app/src/main/java/com/uas/yuejiahong/activity/SplashActivity.java

@@ -0,0 +1,166 @@
+package com.uas.yuejiahong.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 com.uas.yuejiahong.R;
+import com.uas.yuejiahong.application.PdaApplication;
+import com.uas.yuejiahong.global.GloableParams;
+import com.uas.yuejiahong.tools.DataSourceManager;
+import com.uas.yuejiahong.tools.SharedPreUtil;
+import com.uas.yuejiahong.tools.VolleyUtil;
+import com.uas.yuejiahong.util.CommonUtil;
+import com.uas.yuejiahong.util.Constants;
+
+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);
+        intent.putExtra("isConnected", true);
+        startActivity(intent);
+        finish();
+    }
+
+    private void startServer() {
+        Intent intent = new Intent();
+        intent.setClass(SplashActivity.this, MainActivity.class);
+        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);
+    }
+
+    @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/yuejiahong/adapter/AdapterFactory.java

@@ -0,0 +1,30 @@
+package com.uas.yuejiahong.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/yuejiahong/adapter/BarcodeGenerationListAdapter.java

@@ -0,0 +1,198 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.BarcodeGenerationItemBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/BarcodeProdcodeListAdapter.java

@@ -0,0 +1,81 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.BarcodeProdcodeItemBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/BarcodeSupplePrintAdapter.java

@@ -0,0 +1,103 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.BarcodeSuppleBean;
+import com.uas.yuejiahong.util.CommonUtil;
+import com.uas.yuejiahong.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/yuejiahong/adapter/BarcodeSupplePrintListAdapter.java

@@ -0,0 +1,97 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.BarcodeSuppleBean;
+import com.uas.yuejiahong.bean.BarcodeSuppleListBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/BreakPackageTableListItemAdapter.java

@@ -0,0 +1,62 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/CaptionValueItemAdapter.java

@@ -0,0 +1,68 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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);
+        }
+    }
+}

+ 22 - 0
app/src/main/java/com/uas/yuejiahong/adapter/CommonSelectAdapter.java

@@ -0,0 +1,22 @@
+package com.uas.yuejiahong.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.yuejiahong.R;
+import com.uas.yuejiahong.bean.BaseSelectEntity;
+
+import java.util.List;
+
+public class CommonSelectAdapter<T extends BaseSelectEntity> extends BaseQuickAdapter<T, BaseViewHolder> {
+
+    public CommonSelectAdapter(@Nullable List<T> data) {
+        super(R.layout.item_common_select, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, T item) {
+        helper.setText(R.id.item_common_select_tv, item.getItemText());
+    }
+}

+ 148 - 0
app/src/main/java/com/uas/yuejiahong/adapter/FormAdapter.java

@@ -0,0 +1,148 @@
+package com.uas.yuejiahong.adapter;
+
+import android.text.Editable;
+import android.text.InputType;
+import android.text.TextWatcher;
+import android.widget.EditText;
+
+import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.yuejiahong.R;
+import com.uas.yuejiahong.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_STR, R.layout.item_form_input);
+        addItemType(FormBean.TYPE_NUM, R.layout.item_form_input);
+        addItemType(FormBean.TYPE_SELECT, R.layout.item_form_select);
+        addItemType(FormBean.TYPE_DATE, R.layout.item_form_date);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, FormBean item) {
+        if (helper != null) {
+            switch (helper.getItemViewType()) {
+                case FormBean.TYPE_STR:
+                case FormBean.TYPE_NUM:
+                    bindInput(helper, item);
+                    break;
+                case FormBean.TYPE_SELECT:
+                    bindSelect(helper, item);
+                    break;
+                case FormBean.TYPE_DATE:
+                    bindDate(helper, item);
+                    break;
+            }
+        }
+    }
+
+    /**
+     * 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());
+        }
+        if (item.getType() == FormBean.TYPE_STR) {
+            inputEditText.setInputType(InputType.TYPE_CLASS_TEXT);
+        } else if (item.getType() == FormBean.TYPE_NUM) {
+            inputEditText.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
+        } else {
+            inputEditText.setInputType(InputType.TYPE_CLASS_TEXT);
+        }
+        inputEditText.setText(item.getValue());
+        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.getValue());
+        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.getValue());
+        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) {
+            mData.get(position).setValue(s.toString().trim());
+        }
+    }
+}

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

@@ -0,0 +1,49 @@
+package com.uas.yuejiahong.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.yuejiahong.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/yuejiahong/adapter/InmakeProdListAdapter.java

@@ -0,0 +1,79 @@
+package com.uas.yuejiahong.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.yuejiahong.bean.ProductIn;
+import com.uas.yuejiahong.global.GloableParams;
+import com.uas.yuejiahong.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/yuejiahong/adapter/InmakeWhcodeListAdapter.java

@@ -0,0 +1,61 @@
+package com.uas.yuejiahong.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.yuejiahong.bean.Whcode;
+import com.uas.yuejiahong.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;
+    }
+}

+ 82 - 0
app/src/main/java/com/uas/yuejiahong/adapter/InventoryDetailAdapter.java

@@ -0,0 +1,82 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.InventoryDetailBean;
+import com.uas.yuejiahong.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class InventoryDetailAdapter extends BaseAdapter {
+    private List<InventoryDetailBean> objects = new ArrayList<InventoryDetailBean>();
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public InventoryDetailAdapter(Context context, List<InventoryDetailBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public InventoryDetailBean 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_inventory_detail, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((InventoryDetailBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(InventoryDetailBean object, ViewHolder holder) {
+        try {
+            if (object != null) {
+                holder.mProdcodeTv.setText(object.getBI_PRODCODE());
+                holder.mQuantityTv.setText(CommonUtil.doubleFormat(object.getBI_INQTY()));
+                holder.mBrandTv.setText(object.getBI_BRAND());
+                holder.mDatecodeTv.setText(object.getBI_DATECODE());
+                holder.mLotnoTv.setText(object.getBI_LOTNO());
+            }
+        } catch (Exception e) {
+
+        }
+    }
+
+    protected class ViewHolder {
+        private TextView mProdcodeTv;
+        private TextView mBrandTv;
+        private TextView mQuantityTv;
+        private TextView mDatecodeTv;
+        private TextView mLotnoTv;
+
+        public ViewHolder(View view) {
+            mProdcodeTv = (TextView) view.findViewById(R.id.list_inventory_detail_prodcode_tv);
+            mQuantityTv = (TextView) view.findViewById(R.id.list_inventory_detail_quantity_tv);
+            mDatecodeTv = (TextView) view.findViewById(R.id.list_inventory_detail_datecode_tv);
+            mLotnoTv = (TextView) view.findViewById(R.id.list_inventory_detail_lotno_tv);
+            mBrandTv = (TextView) view.findViewById(R.id.list_inventory_detail_brand_tv);
+        }
+    }
+}

+ 82 - 0
app/src/main/java/com/uas/yuejiahong/adapter/InventorySummaryAdapter.java

@@ -0,0 +1,82 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.InventorySummaryBean;
+import com.uas.yuejiahong.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class InventorySummaryAdapter extends BaseAdapter {
+    private List<InventorySummaryBean> objects = new ArrayList<InventorySummaryBean>();
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public InventorySummaryAdapter(Context context, List<InventorySummaryBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public InventorySummaryBean 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_inventory_summary, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((InventorySummaryBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(InventorySummaryBean object, ViewHolder holder) {
+        try {
+            if (object != null) {
+                holder.mProdcodeTv.setText(object.getBI_PRODCODE());
+                holder.mQuantityTv.setText(CommonUtil.doubleFormat(object.getBI_INQTY()));
+                holder.mBrandTv.setText(object.getBI_BRAND());
+                holder.mSpecTv.setText(object.getPR_SPEC());
+                holder.mDetailTv.setText(object.getPR_DETAIL());
+            }
+        } catch (Exception e) {
+
+        }
+    }
+
+    protected class ViewHolder {
+        private TextView mProdcodeTv;
+        private TextView mBrandTv;
+        private TextView mQuantityTv;
+        private TextView mSpecTv;
+        private TextView mDetailTv;
+
+        public ViewHolder(View view) {
+            mProdcodeTv = (TextView) view.findViewById(R.id.list_inventory_summary_prodcode_tv);
+            mQuantityTv = (TextView) view.findViewById(R.id.list_inventory_summary_quantity_tv);
+            mSpecTv = (TextView) view.findViewById(R.id.list_inventory_summary_spec_tv);
+            mDetailTv = (TextView) view.findViewById(R.id.list_inventory_summary_detail_tv);
+            mBrandTv = (TextView) view.findViewById(R.id.list_inventory_summary_brand_tv);
+        }
+    }
+}

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

@@ -0,0 +1,115 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.LoginDataBean;
+import com.uas.yuejiahong.tools.SharedPreUtil;
+import com.uas.yuejiahong.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/yuejiahong/adapter/IpHistoryAdapter.java

@@ -0,0 +1,95 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.tools.SharedPreUtil;
+import com.uas.yuejiahong.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);
+    }
+}

+ 23 - 0
app/src/main/java/com/uas/yuejiahong/adapter/JLTRevokeBoxAdapter.java

@@ -0,0 +1,23 @@
+package com.uas.yuejiahong.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.yuejiahong.R;
+import com.uas.yuejiahong.bean.JLTStorageModelBean;
+
+import java.util.List;
+
+public class JLTRevokeBoxAdapter extends BaseQuickAdapter<JLTStorageModelBean, BaseViewHolder> {
+
+    public JLTRevokeBoxAdapter(@Nullable List<JLTStorageModelBean> data) {
+        super(R.layout.item_revoke_box_list, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, JLTStorageModelBean item) {
+        helper.setText(R.id.item_jlt_revoke_box_model_tv, item.getModel());
+        helper.setText(R.id.item_jlt_revoke_box_quantity_tv, item.getQuantity());
+    }
+}

+ 36 - 0
app/src/main/java/com/uas/yuejiahong/adapter/JLTSearchWhcodeAdapter.java

@@ -0,0 +1,36 @@
+package com.uas.yuejiahong.adapter;
+
+import android.graphics.Color;
+import android.support.annotation.Nullable;
+import android.text.SpannableStringBuilder;
+import android.text.TextUtils;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.yuejiahong.R;
+import com.uas.yuejiahong.bean.WhcodeBean;
+import com.uas.yuejiahong.util.SpanUtils;
+
+import java.util.List;
+
+public class JLTSearchWhcodeAdapter extends BaseQuickAdapter<WhcodeBean, BaseViewHolder> {
+    private SpanUtils mSpanUtils;
+
+    public JLTSearchWhcodeAdapter(@Nullable List<WhcodeBean> data) {
+        super(R.layout.item_list_cache_warehouse, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, WhcodeBean item) {
+        String whcode = item.getWH_CODE();
+        String description = item.getWH_DESCRIPTION();
+
+        mSpanUtils = new SpanUtils();
+        mSpanUtils = mSpanUtils.append(whcode).setForegroundColor(Color.BLACK);
+        if (!TextUtils.isEmpty(description)) {
+            mSpanUtils = mSpanUtils.append("(" + description + ")").setForegroundColor(Color.GRAY);
+        }
+        SpannableStringBuilder result = mSpanUtils.create();
+        helper.setText(R.id.list_warehouse_tv, result);
+    }
+}

+ 171 - 0
app/src/main/java/com/uas/yuejiahong/adapter/JLTStorageInDoneAdapter.java

@@ -0,0 +1,171 @@
+package com.uas.yuejiahong.adapter;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.support.v7.app.AlertDialog;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.uas.yuejiahong.R;
+import com.uas.yuejiahong.bean.JLTStorageModelBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2019/3/4
+ * Desc: 吉利通 入库已采集列表
+ */
+public class JLTStorageInDoneAdapter extends SecondaryListAdapter<JLTStorageInDoneAdapter.GroupItemViewHolder, JLTStorageInDoneAdapter.SubItemViewHolder> {
+    private Context mContext;
+    private List<Integer> mFlags;
+    private List<SecondaryListBean<String, JLTStorageModelBean>> mDatas;
+    private OnSubItemClickListener mOnSubItemClickListener;
+
+    public JLTStorageInDoneAdapter(Context context) {
+        mContext = context;
+        mFlags = new ArrayList<>();
+    }
+
+
+    public List<SecondaryListBean<String, JLTStorageModelBean>> getDatas() {
+        return mDatas;
+    }
+
+    public void setDatas(List<SecondaryListBean<String, JLTStorageModelBean>> datas) {
+        mDatas = datas;
+        initSecondaryList(mDatas);
+        setGroupItemStatu(0, true);
+        for (int i = 0; i < mDatas.size(); i++) {
+            if (i == 0) {
+                mFlags.add(1);
+            } else {
+                mFlags.add(0);
+            }
+        }
+    }
+
+    public void setOnSubItemClickListener(OnSubItemClickListener onSubItemClickListener) {
+        mOnSubItemClickListener = onSubItemClickListener;
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateGroupViewHolder(ViewGroup parent) {
+        View groupView = LayoutInflater.from(mContext).inflate(R.layout.item_jlt_storage_in_todo_group, parent, false);
+        return new GroupItemViewHolder(groupView);
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateSubViewHolder(ViewGroup parent) {
+        View subView = LayoutInflater.from(mContext).inflate(R.layout.item_jlt_storage_in_done_sub, parent, false);
+        return new SubItemViewHolder(subView);
+    }
+
+    @Override
+    public void onBindGroupViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex) {
+        ((GroupItemViewHolder) holder).numTextView.setText(mDatas.get(groupItemIndex).getGroupItem());
+        Integer flag = mFlags.get(groupItemIndex);
+        if (flag % 2 == 0) {
+            ((GroupItemViewHolder) holder).arrowImageView.setImageResource(R.drawable.ic_menu_retract);
+        } else {
+            ((GroupItemViewHolder) holder).arrowImageView.setImageResource(R.drawable.ic_menu_spread);
+        }
+    }
+
+    @Override
+    public void onBindSubViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex, int subItemIndex) {
+        try {
+            JLTStorageModelBean jltStorageModelBean = mDatas.get(groupItemIndex).getSubItems().get(subItemIndex);
+            if (mOnSubItemClickListener != null && holder.itemView != null
+                    && (holder.itemView.getTag() == null
+                    || (holder.itemView.getTag() != null && !(holder.itemView.getTag() instanceof View.OnLongClickListener)))) {
+                View.OnLongClickListener subLongClick = new View.OnLongClickListener() {
+                    @Override
+                    public boolean onLongClick(View v) {
+                        new AlertDialog.Builder(mContext)
+                                .setTitle("提示")
+                                .setMessage("确定删除该条采集数据?")
+                                .setNegativeButton(R.string.cancel, null)
+                                .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
+                                    @Override
+                                    public void onClick(DialogInterface dialog, int which) {
+                                        mOnSubItemClickListener.onSubItemLongClick(holder.getAdapterPosition(),
+                                                groupItemIndex, subItemIndex, jltStorageModelBean);
+                                    }
+                                }).show();
+                        return true;
+                    }
+                };
+                holder.itemView.setOnLongClickListener(subLongClick);
+                holder.itemView.setTag(subLongClick);
+            }
+            ((SubItemViewHolder) holder).modelTextView.setText(jltStorageModelBean.getModel());
+            ((SubItemViewHolder) holder).quantityTextView.setText(jltStorageModelBean.getQuantity());
+            ((SubItemViewHolder) holder).doneTextView.setText(jltStorageModelBean.getDoneQty());
+            ((SubItemViewHolder) holder).cangTextView.setText(jltStorageModelBean.getLocation());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    @Override
+    public boolean onGroupItemClick(boolean isExpand, GroupItemViewHolder holder, int groupItemIndex) {
+//        ((GroupItemViewHolder) holder).numTextView.setText(mDatas.get(groupItemIndex).getGroupItem());
+
+        Integer flag = mFlags.get(groupItemIndex);
+        if (flag % 2 == 0) {
+            ((GroupItemViewHolder) holder).arrowImageView.setImageResource(R.drawable.ic_menu_spread);
+        } else {
+            ((GroupItemViewHolder) holder).arrowImageView.setImageResource(R.drawable.ic_menu_retract);
+        }
+        flag++;
+        mFlags.remove(groupItemIndex);
+        mFlags.add(groupItemIndex, flag);
+        return false;
+    }
+
+    @Override
+    public void onSubItemClick(SubItemViewHolder holder, int groupItemIndex, int subItemIndex) {
+
+    }
+
+    public class GroupItemViewHolder extends RecyclerView.ViewHolder {
+        TextView numTextView;
+        ImageView arrowImageView;
+
+        public GroupItemViewHolder(View itemView) {
+            super(itemView);
+
+            numTextView = (TextView) itemView.findViewById(R.id.item_jlt_storage_in_todo_group_num_tv);
+            arrowImageView = (ImageView) itemView.findViewById(R.id.item_jlt_storage_in_todo_group_iv);
+        }
+    }
+
+    public class SubItemViewHolder extends RecyclerView.ViewHolder {
+        TextView modelTextView;
+        TextView quantityTextView;
+        TextView doneTextView;
+        TextView cangTextView;
+
+
+        public SubItemViewHolder(View itemView) {
+            super(itemView);
+
+            modelTextView = (TextView) itemView.findViewById(R.id.item_jlt_storage_in_done_sub_model_tv);
+            quantityTextView = (TextView) itemView.findViewById(R.id.item_jlt_storage_in_done_sub_quantity_tv);
+            doneTextView = (TextView) itemView.findViewById(R.id.item_jlt_storage_in_done_sub_done_tv);
+            cangTextView = (TextView) itemView.findViewById(R.id.item_jlt_storage_in_done_sub_done_cang);
+        }
+    }
+
+    public interface OnSubItemClickListener {
+        void onSubItemClick(String message);
+
+        void onSubItemLongClick(int adapterPosition, int groupItemIndex, int subItemIndex, JLTStorageModelBean jltStorageModelBean);
+    }
+}

+ 143 - 0
app/src/main/java/com/uas/yuejiahong/adapter/JLTStorageInTodoAdapter.java

@@ -0,0 +1,143 @@
+package com.uas.yuejiahong.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.uas.yuejiahong.R;
+import com.uas.yuejiahong.bean.JLTStorageModelBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2019/3/4
+ * Desc: 吉利通 入库待采集列表
+ */
+public class JLTStorageInTodoAdapter extends SecondaryListAdapter<JLTStorageInTodoAdapter.GroupItemViewHolder, JLTStorageInTodoAdapter.SubItemViewHolder> {
+    private Context mContext;
+    private List<Integer> mFlags;
+    private List<SecondaryListBean<String, JLTStorageModelBean>> mDatas;
+    private OnSubItemClickListener mOnSubItemClickListener;
+
+    public JLTStorageInTodoAdapter(Context context) {
+        mContext = context;
+        mFlags = new ArrayList<>();
+    }
+
+    public List<SecondaryListBean<String, JLTStorageModelBean>> getDatas() {
+        return mDatas;
+    }
+
+    public void setDatas(List<SecondaryListBean<String, JLTStorageModelBean>> datas) {
+        mDatas = datas;
+        initSecondaryList(mDatas);
+        setGroupItemStatu(0, true);
+        for (int i = 0; i < mDatas.size(); i++) {
+            if (i == 0) {
+                mFlags.add(1);
+            } else {
+                mFlags.add(0);
+            }
+        }
+    }
+
+    public void setOnSubItemClickListener(OnSubItemClickListener onSubItemClickListener) {
+        mOnSubItemClickListener = onSubItemClickListener;
+    }
+
+
+    @Override
+    public RecyclerView.ViewHolder onCreateGroupViewHolder(ViewGroup parent) {
+        View groupView = LayoutInflater.from(mContext).inflate(R.layout.item_jlt_storage_in_todo_group, parent, false);
+        return new GroupItemViewHolder(groupView);
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateSubViewHolder(ViewGroup parent) {
+        View subView = LayoutInflater.from(mContext).inflate(R.layout.item_jlt_storage_in_todo_sub, parent, false);
+        return new SubItemViewHolder(subView);
+    }
+
+    @Override
+    public void onBindGroupViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex) {
+        ((GroupItemViewHolder) holder).numTextView.setText(mDatas.get(groupItemIndex).getGroupItem());
+        Integer flag = mFlags.get(groupItemIndex);
+        if (flag % 2 == 0) {
+            ((GroupItemViewHolder) holder).arrowImageView.setImageResource(R.drawable.ic_menu_retract);
+        } else {
+            ((GroupItemViewHolder) holder).arrowImageView.setImageResource(R.drawable.ic_menu_spread);
+        }
+    }
+
+    @Override
+    public void onBindSubViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex, int subItemIndex) {
+        try {
+            JLTStorageModelBean jltStorageModelBean = mDatas.get(groupItemIndex).getSubItems().get(subItemIndex);
+            ((SubItemViewHolder) holder).modelTextView.setText(jltStorageModelBean.getModel());
+            ((SubItemViewHolder) holder).quantityTextView.setText(jltStorageModelBean.getQuantity());
+            ((SubItemViewHolder) holder).doneQtyTextView.setText(jltStorageModelBean.getDoneQty());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    @Override
+    public boolean onGroupItemClick(boolean isExpand, GroupItemViewHolder holder, int groupItemIndex) {
+//        ((GroupItemViewHolder) holder).numTextView.setText(mDatas.get(groupItemIndex).getGroupItem());
+
+        Integer flag = mFlags.get(groupItemIndex);
+        if (flag % 2 == 0) {
+            ((GroupItemViewHolder) holder).arrowImageView.setImageResource(R.drawable.ic_menu_spread);
+        } else {
+            ((GroupItemViewHolder) holder).arrowImageView.setImageResource(R.drawable.ic_menu_retract);
+        }
+        flag++;
+        mFlags.remove(groupItemIndex);
+        mFlags.add(groupItemIndex, flag);
+        return false;
+    }
+
+    @Override
+    public void onSubItemClick(SubItemViewHolder holder, int groupItemIndex, int subItemIndex) {
+        if (mOnSubItemClickListener != null) {
+            JLTStorageModelBean jltStorageModelBean = mDatas.get(groupItemIndex).getSubItems().get(subItemIndex);
+            mOnSubItemClickListener.onSubItemClick(jltStorageModelBean);
+        }
+    }
+
+    public class GroupItemViewHolder extends RecyclerView.ViewHolder {
+        TextView numTextView;
+        ImageView arrowImageView;
+
+        public GroupItemViewHolder(View itemView) {
+            super(itemView);
+
+            numTextView = (TextView) itemView.findViewById(R.id.item_jlt_storage_in_todo_group_num_tv);
+            arrowImageView = (ImageView) itemView.findViewById(R.id.item_jlt_storage_in_todo_group_iv);
+        }
+    }
+
+    public class SubItemViewHolder extends RecyclerView.ViewHolder {
+        TextView modelTextView;
+        TextView quantityTextView;
+        TextView doneQtyTextView;
+
+        public SubItemViewHolder(View itemView) {
+            super(itemView);
+
+            modelTextView = (TextView) itemView.findViewById(R.id.item_jlt_storage_in_todo_sub_model_tv);
+            quantityTextView = (TextView) itemView.findViewById(R.id.item_jlt_storage_in_todo_sub_quantity_tv);
+            doneQtyTextView = (TextView) itemView.findViewById(R.id.item_jlt_storage_in_todo_sub_done_tv);
+        }
+    }
+
+    public interface OnSubItemClickListener {
+        void onSubItemClick(JLTStorageModelBean jltStorageModelBean);
+    }
+}

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

@@ -0,0 +1,93 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.CollectAlreadyBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/ListCollectNotAdapter.java

@@ -0,0 +1,80 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.table.TableLPRODIONEEDGET;
+import com.uas.yuejiahong.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/yuejiahong/adapter/ListSubmitNotAdapter.java

@@ -0,0 +1,110 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/ListViewAdapter.java

@@ -0,0 +1,51 @@
+package com.uas.yuejiahong.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+
+import com.uas.yuejiahong.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;
+    }
+
+}

+ 31 - 0
app/src/main/java/com/uas/yuejiahong/adapter/LocationCheckAdapter.java

@@ -0,0 +1,31 @@
+package com.uas.yuejiahong.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.yuejiahong.R;
+import com.uas.yuejiahong.bean.LocationCheckBean;
+
+import java.util.List;
+
+public class LocationCheckAdapter extends BaseQuickAdapter<LocationCheckBean, BaseViewHolder> {
+    private boolean mHasBarcode = true;
+
+    public LocationCheckAdapter(@Nullable List<LocationCheckBean> data) {
+        super(R.layout.item_location_check, data);
+    }
+
+    public void setHasBarcode(boolean hasBarcode) {
+        mHasBarcode = hasBarcode;
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, LocationCheckBean item) {
+        helper.setText(R.id.item_location_check_prodcode_caption, mHasBarcode ? "原厂型号" : "型号");
+        helper.setText(R.id.item_location_check_barcode_caption, mHasBarcode ? "品牌" : "条码");
+        helper.setText(R.id.item_location_check_prodcode_tv, item.getProdcode());
+        helper.setText(R.id.item_location_check_brand_tv, mHasBarcode ? item.getBrand() : item.getBarcode());
+        helper.setText(R.id.item_location_check_quantity_tv, item.getQuantity());
+    }
+}

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

@@ -0,0 +1,58 @@
+package com.uas.yuejiahong.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.yuejiahong.bean.Mpcode;
+import com.uas.yuejiahong.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/yuejiahong/adapter/PdaioStorageOutAdapter.java

@@ -0,0 +1,74 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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);
+        }
+    }
+}

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

@@ -0,0 +1,100 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.RevokeStockListBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/SMTQueryListAdapter.java

@@ -0,0 +1,62 @@
+package com.uas.yuejiahong.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/ScMakeUncollectListAdapter.java

@@ -0,0 +1,107 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.UnCollect;
+import com.uas.yuejiahong.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/yuejiahong/adapter/SearchMaterialNumberAdapter.java

@@ -0,0 +1,72 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.table.TableLPRODIONEEDGET;
+import com.uas.yuejiahong.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);
+        }
+    }
+}

+ 299 - 0
app/src/main/java/com/uas/yuejiahong/adapter/SecondaryListAdapter.java

@@ -0,0 +1,299 @@
+package com.uas.yuejiahong.adapter;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.view.ViewGroup;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/9/21.
+ * recyclerview二级列表适配器基类
+ */
+
+public abstract class SecondaryListAdapter<GVH, SVH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter {
+    private List<Boolean> mGroupItemStatus;
+    private List<SecondaryListBean> mSecondaryListBeen;
+
+    /**
+     * 创建分组布局ViewHolder
+     *
+     * @param parent
+     * @return
+     */
+    public abstract RecyclerView.ViewHolder onCreateGroupViewHolder(ViewGroup parent);
+
+    /**
+     * 创建子项布局ViewHolder
+     *
+     * @param parent
+     * @return
+     */
+    public abstract RecyclerView.ViewHolder onCreateSubViewHolder(ViewGroup parent);
+
+    /**
+     * 绑定分组布局ViewHolder
+     *
+     * @param holder
+     * @param groupItemIndex
+     */
+    public abstract void onBindGroupViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex);
+
+    /**
+     * 绑定子项布局ViewHolder
+     *
+     * @param holder
+     * @param groupItemIndex
+     * @param subItemIndex
+     */
+    public abstract void onBindSubViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex, int subItemIndex);
+
+    /**
+     * 一级列表点击事件
+     *
+     * @param isExpand
+     * @param holder
+     * @param groupItemIndex
+     */
+    public abstract boolean onGroupItemClick(boolean isExpand, GVH holder, int groupItemIndex);
+
+    /**
+     * 二级子项点击事件
+     *
+     * @param holder
+     * @param groupItemIndex
+     * @param subItemIndex
+     */
+    public abstract void onSubItemClick(SVH holder, int groupItemIndex, int subItemIndex);
+
+    /**
+     * 初始化数据源
+     *
+     * @param secondaryListBeen
+     */
+    public void initSecondaryList(List secondaryListBeen) {
+        initSecondaryList(secondaryListBeen, false);
+    }
+
+    public void initSecondaryList(List secondaryListBeen, boolean isExpand) {
+        mGroupItemStatus = new ArrayList<>();
+        mSecondaryListBeen = new ArrayList<>();
+
+        setSecondaryListBeen(secondaryListBeen, isExpand);
+    }
+
+    public void setSecondaryListBeen(List secondaryListBeen) {
+        setSecondaryListBeen(secondaryListBeen, false);
+    }
+
+    public void setSecondaryListBeen(List secondaryListBeen, boolean isExpand) {
+        mSecondaryListBeen = secondaryListBeen;
+        initGroupItemStatus(isExpand);
+        notifyDataSetChanged();
+    }
+
+    /**
+     * 初始化一级列表展开状态,默认全部收起
+     */
+    public void initGroupItemStatus(boolean isExpand) {
+        for (int i = 0; i < mSecondaryListBeen.size(); i++) {
+            mGroupItemStatus.add(isExpand);
+        }
+    }
+
+    /**
+     * 设置某项一级列表的展开装状态
+     *
+     * @param groupIndex
+     * @param isExpand
+     */
+    public void setGroupItemStatu(int groupIndex, boolean isExpand) {
+        if (mGroupItemStatus != null && mGroupItemStatus.size() > groupIndex) {
+            mGroupItemStatus.set(groupIndex, isExpand);
+            notifyDataSetChanged();
+        }
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        RecyclerView.ViewHolder viewHolder = null;
+        if (viewType == ItemStatus.TYPE_GROUPITEM) {
+            viewHolder = onCreateGroupViewHolder(parent);
+        } else if (viewType == ItemStatus.TYPE_SUBITEM) {
+            viewHolder = onCreateSubViewHolder(parent);
+        }
+
+        return viewHolder;
+    }
+
+    @Override
+    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
+        final ItemStatus itemStatus = getItemStatusByPosition(position);
+
+        if (itemStatus.getItemType() == ItemStatus.TYPE_GROUPITEM) {
+            onBindGroupViewHolder(holder, itemStatus.getGroupIndex());
+            holder.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    int groupIndex = itemStatus.getGroupIndex();
+                    boolean groupStatus = mGroupItemStatus.get(groupIndex);
+                    boolean unable = onGroupItemClick(groupStatus, (GVH) holder, groupIndex);
+
+                    if (!unable) {
+                        mGroupItemStatus.set(groupIndex, !groupStatus);
+                        //这里必须要用holder.getAdapterPosition()来确认点击的位置
+                        if (groupStatus) {
+                            notifyItemRangeRemoved(holder.getAdapterPosition() + 1, mSecondaryListBeen.get(groupIndex).getSubItems().size());
+                        } else {
+                            notifyItemRangeInserted(holder.getAdapterPosition() + 1, mSecondaryListBeen.get(groupIndex).getSubItems().size());
+                        }
+                    }
+                }
+            });
+        } else if (itemStatus.getItemType() == ItemStatus.TYPE_SUBITEM) {
+            onBindSubViewHolder(holder, itemStatus.getGroupIndex(), itemStatus.getSubIndex());
+            holder.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    onSubItemClick((SVH) holder, itemStatus.getGroupIndex(), itemStatus.getSubIndex());
+                }
+            });
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        int itemCount = 0;
+
+        if (mGroupItemStatus.size() == 0) {
+            return 0;
+        }
+
+        for (int i = 0; i < mGroupItemStatus.size(); i++) {
+            if (mGroupItemStatus.get(i)) {
+                itemCount += mSecondaryListBeen.get(i).getSubItems().size() + 1;
+            } else {
+                itemCount++;
+            }
+        }
+        return itemCount;
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        return getItemStatusByPosition(position).getItemType();
+    }
+
+    /**
+     * 获取条目状态信息
+     *
+     * @param position
+     * @return
+     */
+    private ItemStatus getItemStatusByPosition(int position) {
+        ItemStatus itemStatus = new ItemStatus();
+
+        int i = 0;
+        int groupItemPosition = 0;
+        for (i = 0; i < mGroupItemStatus.size(); i++) {
+            if (position == groupItemPosition) {
+                itemStatus.setItemType(ItemStatus.TYPE_GROUPITEM);
+                itemStatus.setGroupIndex(i);
+                break;
+            }
+
+            if (position < groupItemPosition) {
+                itemStatus.setItemType(ItemStatus.TYPE_SUBITEM);
+                itemStatus.setGroupIndex(i - 1);
+                itemStatus.setSubIndex(position - (groupItemPosition
+                        - mSecondaryListBeen.get(i - 1).getSubItems().size()));
+                break;
+            }
+
+            groupItemPosition++;
+
+            if (mGroupItemStatus.get(i)) {
+                groupItemPosition += mSecondaryListBeen.get(i).getSubItems().size();
+            }
+
+        }
+
+        if (i >= mGroupItemStatus.size()) {
+            itemStatus.setItemType(ItemStatus.TYPE_SUBITEM);
+            itemStatus.setGroupIndex(i - 1);
+            itemStatus.setSubIndex(position - (groupItemPosition
+                    - mSecondaryListBeen.get(i - 1).getSubItems().size()));
+        }
+
+        return itemStatus;
+    }
+
+    /**
+     * 条目状态类
+     */
+    private static class ItemStatus {
+        public static final int TYPE_GROUPITEM = 0;
+        public static final int TYPE_SUBITEM = 1;
+
+        private int itemType;
+        private int groupIndex = 0;
+        private int subIndex = -1;
+
+        public int getItemType() {
+            return itemType;
+        }
+
+        public void setItemType(int itemType) {
+            this.itemType = itemType;
+        }
+
+        public int getGroupIndex() {
+            return groupIndex;
+        }
+
+        public void setGroupIndex(int groupIndex) {
+            this.groupIndex = groupIndex;
+        }
+
+        public int getSubIndex() {
+            return subIndex;
+        }
+
+        public void setSubIndex(int subIndex) {
+            this.subIndex = subIndex;
+        }
+    }
+
+    /**
+     * 二级列表泛型实体类
+     *
+     * @param <G> 一级实体类
+     * @param <S> 二级实体类
+     */
+    public final static class SecondaryListBean<G, S> {
+        private G groupItem;
+        private List<S> subItems;
+
+        public SecondaryListBean(G groupItem, List<S> subItems) {
+            this.groupItem = groupItem;
+            this.subItems = subItems;
+        }
+
+        public G getGroupItem() {
+            return groupItem;
+        }
+
+        public void setGroupItem(G groupItem) {
+            this.groupItem = groupItem;
+        }
+
+        public List<S> getSubItems() {
+            return subItems;
+        }
+
+        public void setSubItems(List<S> subItems) {
+            this.subItems = subItems;
+        }
+    }
+}

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

@@ -0,0 +1,64 @@
+package com.uas.yuejiahong.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.yuejiahong.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/yuejiahong/adapter/SmtDownResultAdapter.java

@@ -0,0 +1,78 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.SmtQueryMaterialBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/SmtQueryDiffListAdapter.java

@@ -0,0 +1,114 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/SmtQueryMaterialListAdapter.java

@@ -0,0 +1,111 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.SmtQueryMaterialBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/SmtqueryDiffErrorAdapter.java

@@ -0,0 +1,68 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/SmtqueryDiffNotAdapter.java

@@ -0,0 +1,71 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StockAlreadyListAdapter.java

@@ -0,0 +1,82 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.StockAlreadyItemBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StockBarcodeListAdapter.java

@@ -0,0 +1,80 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StockTaskAdapter.java

@@ -0,0 +1,87 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.StockTaskItemBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StockTaskMultipleAdapter.java

@@ -0,0 +1,127 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.StockTaskMultipleBean;
+import com.uas.yuejiahong.util.CommonUtil;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StockTaskMultipleDetailAdapter.java

@@ -0,0 +1,72 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.StockTaskMultipleBean;
+import com.uas.yuejiahong.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);
+        }
+    }
+}

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

@@ -0,0 +1,98 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.StorageInBillBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StorageInAddBarcodeAdapter.java

@@ -0,0 +1,100 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.StorageInBarcodeBean;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StorageInAddQuantityAdapter.java

@@ -0,0 +1,103 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.fragment.StorageInAddBarcodeListFragment;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StorageIqcInListAdapter.java

@@ -0,0 +1,80 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StorageRechargeAdapter.java

@@ -0,0 +1,77 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StorageRechargeInspectionAdapter.java

@@ -0,0 +1,88 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/StorageSearchModeAdapter.java

@@ -0,0 +1,64 @@
+package com.uas.yuejiahong.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.yuejiahong.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);
+        }
+    }
+}

+ 87 - 0
app/src/main/java/com/uas/yuejiahong/adapter/StorageStockTaskAdapter.java

@@ -0,0 +1,87 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.StorageStockTaskBean;
+import com.uas.yuejiahong.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() + "");
+        holder.mLocationTv.setText(object.getBI_LOCATION());
+    }
+
+    protected class ViewHolder {
+        private TextView mProdcodeTv;
+        private TextView mNeedTv;
+        private TextView mAlreadyTv;
+        private TextView mWhcodeTv;
+        private TextView mBrandTv;
+        private TextView mSpecTv;
+        private TextView mPdnoTv;
+        private TextView mLocationTv;
+
+        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);
+            mLocationTv = view.findViewById(R.id.list_storage_stock_task_location_tv);
+        }
+    }
+}

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

@@ -0,0 +1,43 @@
+package com.uas.yuejiahong.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/yuejiahong/adapter/TransferLocationAdapter.java

@@ -0,0 +1,72 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.WHTransfer;
+import com.uas.yuejiahong.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/yuejiahong/adapter/WHCheckMakeDetailListAdapter.java

@@ -0,0 +1,77 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.WHMakeMaterialDetail;
+import com.uas.yuejiahong.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/yuejiahong/adapter/WHCheckMakeMaterialListAdapter.java

@@ -0,0 +1,56 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.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/yuejiahong/adapter/WarehouseCacheAdapter.java

@@ -0,0 +1,74 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.bean.WarehouseCacheBean;
+import com.uas.yuejiahong.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);
+        }
+    }
+}

+ 224 - 0
app/src/main/java/com/uas/yuejiahong/application/PdaApplication.java

@@ -0,0 +1,224 @@
+package com.uas.yuejiahong.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.yuejiahong.R;
+import com.uas.yuejiahong.util.AndroidUtil;
+import com.uas.yuejiahong.util.FakeX509TrustManager;
+import com.uas.yuejiahong.util.SoundUtil;
+import com.umeng.analytics.MobclickAgent;
+import com.umeng.commonsdk.UMConfigure;
+
+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));
+        initUmeng();
+    }
+
+    private void initUmeng() {
+        //2.在Application.oncreate()中调用预初始化函数
+        UMConfigure.preInit(this, "61949f88ba403559f32227ab","umeng");
+        UMConfigure.setLogEnabled(true);
+        //3.客户端用户同意隐私政策后,正式初始化友盟+SDK
+        UMConfigure.init(
+                this,
+                "61949f88ba403559f32227ab",
+                "umeng",
+                UMConfigure.DEVICE_TYPE_PHONE, ""
+        );
+        // 页面数据采集模式
+        // setPageCollectionMode接口参数说明:
+        // 1. MobclickAgent.PageMode.AUTO: 建议大多数用户使用本采集模式,SDK在此模式下自动采集Activity
+        // 页面访问路径,开发者不需要针对每一个Activity在onResume/onPause函数中进行手动埋点。在此模式下,
+        // 开发者如需针对Fragment、CustomView等自定义页面进行页面统计,直接调用MobclickAgent.onPageStart/
+        // MobclickAgent.onPageEnd手动埋点即可。此采集模式简化埋点工作,唯一缺点是在Android 4.0以下设备中
+        // 统计不到Activity页面数据和各类基础指标(提示:目前Android 4.0以下设备市场占比已经极小)。
+        MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
+    }
+
+    @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;
+    }
+
+
+}

+ 219 - 0
app/src/main/java/com/uas/yuejiahong/bean/BarcodeDetailBean.java

@@ -0,0 +1,219 @@
+package com.uas.yuejiahong.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 String BI_BRAND;
+    private String PR_DETAIL;
+    private String PR_SPEC;
+    private String QTY;
+    private String PN;
+    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;
+    }
+
+    public String getBI_BRAND() {
+        return BI_BRAND;
+    }
+
+    public void setBI_BRAND(String BI_BRAND) {
+        this.BI_BRAND = BI_BRAND;
+    }
+
+
+    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 getQTY() {
+        return QTY;
+    }
+
+    public void setQTY(String QTY) {
+        this.QTY = QTY;
+    }
+
+    public String getPN() {
+        return PN;
+    }
+
+    public void setPN(String PN) {
+        this.PN = PN;
+    }
+}

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

@@ -0,0 +1,89 @@
+package com.uas.yuejiahong.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/yuejiahong/bean/BarcodeProdcodeItemBean.java

@@ -0,0 +1,81 @@
+package com.uas.yuejiahong.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/yuejiahong/bean/BarcodeSuppleBean.java

@@ -0,0 +1,90 @@
+package com.uas.yuejiahong.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/yuejiahong/bean/BarcodeSuppleListBean.java

@@ -0,0 +1,27 @@
+package com.uas.yuejiahong.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;
+    }
+}

+ 5 - 0
app/src/main/java/com/uas/yuejiahong/bean/BaseSelectEntity.java

@@ -0,0 +1,5 @@
+package com.uas.yuejiahong.bean;
+
+public abstract class BaseSelectEntity {
+    public abstract String getItemText();
+}

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

@@ -0,0 +1,37 @@
+package com.uas.yuejiahong.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;
+    }
+}

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

@@ -0,0 +1,212 @@
+package com.uas.yuejiahong.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/yuejiahong/bean/CollectNotBean.java

@@ -0,0 +1,232 @@
+package com.uas.yuejiahong.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;
+        }
+    }
+}

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

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

+ 61 - 0
app/src/main/java/com/uas/yuejiahong/bean/FeederDetail.java

@@ -0,0 +1,61 @@
+package com.uas.yuejiahong.bean;
+
+/**
+ *@note:飞达上料详细信息
+ */
+public class FeederDetail {
+    String md_repcode;
+    int md_baseqty;
+    String md_location;
+    String md_prodcode;
+    String md_barcode;
+    int md_needqty;
+    String md_fespec;
+    int md_id;
+
+    @Override
+    public String toString() {
+        return "FeederDetail{" +
+                "md_repcode='" + md_repcode + '\'' +
+                ", md_baseqty=" + md_baseqty +
+                ", md_location='" + md_location + '\'' +
+                ", md_prodcode='" + md_prodcode + '\'' +
+                ", md_barcode='" + md_barcode + '\'' +
+                ", md_needqty=" + md_needqty +
+                ", md_fespec='" + md_fespec + '\'' +
+                ", md_id=" + md_id +
+                '}';
+    }
+
+    public String getMd_repcode() {
+        return md_repcode;
+    }
+
+    public int getMd_baseqty() {
+        return md_baseqty;
+    }
+
+    public String getMd_location() {
+        return md_location;
+    }
+
+    public String getMd_prodcode() {
+        return md_prodcode;
+    }
+
+    public String getMd_barcode() {
+        return md_barcode;
+    }
+
+    public int getMd_needqty() {
+        return md_needqty;
+    }
+
+    public String getMd_fespec() {
+        return md_fespec;
+    }
+
+    public int getMd_id() {
+        return md_id;
+    }
+}

+ 115 - 0
app/src/main/java/com/uas/yuejiahong/bean/FormBean.java

@@ -0,0 +1,115 @@
+package com.uas.yuejiahong.bean;
+
+import android.text.TextUtils;
+
+import com.chad.library.adapter.base.entity.MultiItemEntity;
+
+import java.io.Serializable;
+
+/**
+ * Created by RaoMeng on 2019/5/5
+ * Desc: 通用表单模型对象
+ */
+public class FormBean implements Serializable, MultiItemEntity {
+    public static final int TYPE_HIDE = 0x10;
+    public static final int TYPE_STR = 0x11;
+    public static final int TYPE_SELECT = 0x12;
+    public static final int TYPE_DATE = 0x13;
+    public static final int TYPE_NUM = 0x14;
+
+    private int id;
+    private int type;//字段类型
+    private String caption;//字段名称
+    private boolean readOnly;//是否只读
+    private String field;//字段
+    private String value;//显示值
+    private String display;//上传值
+    private String defaultValue;//默认值
+    private boolean allowEmpty;//是否允许为空
+    private boolean editable;//是否允许编辑
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public String getCaption() {
+        return caption;
+    }
+
+    public void setCaption(String caption) {
+        this.caption = caption;
+    }
+
+    public boolean isReadOnly() {
+        return readOnly;
+    }
+
+    public void setReadOnly(boolean readOnly) {
+        this.readOnly = readOnly;
+    }
+
+    public String getField() {
+        return field;
+    }
+
+    public void setField(String field) {
+        this.field = field;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public String getDisplay() {
+        return TextUtils.isEmpty(display) ? this.value : this.display;
+    }
+
+    public void setDisplay(String display) {
+        this.display = display;
+    }
+
+    public boolean isAllowEmpty() {
+        return allowEmpty;
+    }
+
+    public void setAllowEmpty(boolean allowEmpty) {
+        this.allowEmpty = allowEmpty;
+    }
+
+    public boolean isEditable() {
+        return editable;
+    }
+
+    public void setEditable(boolean editable) {
+        this.editable = editable;
+    }
+
+    public String getDefaultValue() {
+        return defaultValue;
+    }
+
+    public void setDefaultValue(String defaultValue) {
+        this.defaultValue = defaultValue;
+    }
+
+    @Override
+    public int getItemType() {
+        return type;
+    }
+}

+ 55 - 0
app/src/main/java/com/uas/yuejiahong/bean/IOCOutMakeMaterialFuzzySearch.java

@@ -0,0 +1,55 @@
+package com.uas.yuejiahong.bean;
+
+import java.util.List;
+
+/**
+ * Description:
+ * User: paceZhang(976709746qq.com)
+ * Date: 2016-04-07
+ */
+public class IOCOutMakeMaterialFuzzySearch {
+    /**
+     * success : true
+     * data : [{"PI_INOUTNO":"入库单号"}]
+     */
+
+    private boolean success;
+    private List<DataBean> data;
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public void setSuccess(boolean success) {
+        this.success = success;
+    }
+
+    public List<DataBean> getData() {
+        return data;
+    }
+
+    public void setData(List<DataBean> data) {
+        this.data = data;
+    }
+
+    public static class DataBean {
+
+        private String PI_INOUTNO;
+
+        public String getPI_INOUTNO() {
+            return PI_INOUTNO;
+        }
+
+        public void setPI_INOUTNO(String PI_INOUTNO) {
+            this.PI_INOUTNO = PI_INOUTNO;
+        }
+    }
+
+
+
+    /*public List<Data> data;
+    public class Data {
+        public String pi_inoutno;
+
+    }*/
+}

+ 217 - 0
app/src/main/java/com/uas/yuejiahong/bean/IOCOutMakeMaterialOperMsd.java

@@ -0,0 +1,217 @@
+package com.uas.yuejiahong.bean;
+
+import java.util.List;
+
+/**
+ * Created by usoft on 2016/6/8.
+ */
+public class IOCOutMakeMaterialOperMsd {
+
+    /**
+     * success : true
+     * data : {"next":null,"barcode":{"RESTQTY":1000,"BAR_REMAIN":1000,"ISMSD":true,"msd":{"MS_LEVEL":"3","STATUS":"已拆封","BAR_CODE":"43043548606160957","log":[{"MS_DATE":1497576876000,"MS_ACTION":"拆封","MS_MAN":"江俊卿","MS_LIFETIME":999,"MS_PRODCODE":"WLSHISHISHI"}],"MS_RESTTIME":997.71}}}
+     */
+
+    private boolean success;
+    private DataBean data;
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public void setSuccess(boolean success) {
+        this.success = success;
+    }
+
+    public DataBean getData() {
+        return data;
+    }
+
+    public void setData(DataBean data) {
+        this.data = data;
+    }
+
+    public static class DataBean {
+        /**
+         * next : null
+         * barcode : {"RESTQTY":1000,"BAR_REMAIN":1000,"ISMSD":true,"msd":{"MS_LEVEL":"3","STATUS":"已拆封","BAR_CODE":"43043548606160957","log":[{"MS_DATE":1497576876000,"MS_ACTION":"拆封","MS_MAN":"江俊卿","MS_LIFETIME":999,"MS_PRODCODE":"WLSHISHISHI"}],"MS_RESTTIME":997.71}}
+         */
+
+        private Object next;
+        private BarcodeBean barcode;
+
+        public Object getNext() {
+            return next;
+        }
+
+        public void setNext(Object next) {
+            this.next = next;
+        }
+
+        public BarcodeBean getBarcode() {
+            return barcode;
+        }
+
+        public void setBarcode(BarcodeBean barcode) {
+            this.barcode = barcode;
+        }
+
+        public static class BarcodeBean {
+            /**
+             * RESTQTY : 1000
+             * BAR_REMAIN : 1000
+             * ISMSD : true
+             * msd : {"MS_LEVEL":"3","STATUS":"已拆封","BAR_CODE":"43043548606160957","log":[{"MS_DATE":1497576876000,"MS_ACTION":"拆封","MS_MAN":"江俊卿","MS_LIFETIME":999,"MS_PRODCODE":"WLSHISHISHI"}],"MS_RESTTIME":997.71}
+             */
+
+            private double RESTQTY;
+            private double BAR_REMAIN;
+            private boolean ISMSD;
+            private MsdBean msd;
+
+            public double getRESTQTY() {
+                return RESTQTY;
+            }
+
+            public void setRESTQTY(double RESTQTY) {
+                this.RESTQTY = RESTQTY;
+            }
+
+            public double getBAR_REMAIN() {
+                return BAR_REMAIN;
+            }
+
+            public void setBAR_REMAIN(double BAR_REMAIN) {
+                this.BAR_REMAIN = BAR_REMAIN;
+            }
+
+            public boolean isISMSD() {
+                return ISMSD;
+            }
+
+            public void setISMSD(boolean ISMSD) {
+                this.ISMSD = ISMSD;
+            }
+
+            public MsdBean getMsd() {
+                return msd;
+            }
+
+            public void setMsd(MsdBean msd) {
+                this.msd = msd;
+            }
+
+            public static class MsdBean {
+                /**
+                 * MS_LEVEL : 3
+                 * STATUS : 已拆封
+                 * BAR_CODE : 43043548606160957
+                 * log : [{"MS_DATE":1497576876000,"MS_ACTION":"拆封","MS_MAN":"江俊卿","MS_LIFETIME":999,"MS_PRODCODE":"WLSHISHISHI"}]
+                 * MS_RESTTIME : 997.71
+                 */
+
+                private String MS_LEVEL;
+                private String STATUS;
+                private String BAR_CODE;
+                private double MS_RESTTIME;
+                private List<LogBean> log;
+
+                public String getMS_LEVEL() {
+                    return MS_LEVEL;
+                }
+
+                public void setMS_LEVEL(String MS_LEVEL) {
+                    this.MS_LEVEL = MS_LEVEL;
+                }
+
+                public String getSTATUS() {
+                    return STATUS;
+                }
+
+                public void setSTATUS(String STATUS) {
+                    this.STATUS = STATUS;
+                }
+
+                public String getBAR_CODE() {
+                    return BAR_CODE;
+                }
+
+                public void setBAR_CODE(String BAR_CODE) {
+                    this.BAR_CODE = BAR_CODE;
+                }
+
+                public double getMS_RESTTIME() {
+                    return MS_RESTTIME;
+                }
+
+                public void setMS_RESTTIME(double MS_RESTTIME) {
+                    this.MS_RESTTIME = MS_RESTTIME;
+                }
+
+                public List<LogBean> getLog() {
+                    return log;
+                }
+
+                public void setLog(List<LogBean> log) {
+                    this.log = log;
+                }
+
+                public static class LogBean {
+                    /**
+                     * MS_DATE : 1497576876000
+                     * MS_ACTION : 拆封
+                     * MS_MAN : 江俊卿
+                     * MS_LIFETIME : 999
+                     * MS_PRODCODE : WLSHISHISHI
+                     */
+
+                    private long MS_DATE;
+                    private String MS_ACTION;
+                    private String MS_MAN;
+                    private double MS_LIFETIME;
+                    private String MS_PRODCODE;
+
+                    public long getMS_DATE() {
+                        return MS_DATE;
+                    }
+
+                    public void setMS_DATE(long MS_DATE) {
+                        this.MS_DATE = MS_DATE;
+                    }
+
+                    public String getMS_ACTION() {
+                        return MS_ACTION;
+                    }
+
+                    public void setMS_ACTION(String MS_ACTION) {
+                        this.MS_ACTION = MS_ACTION;
+                    }
+
+                    public String getMS_MAN() {
+                        return MS_MAN;
+                    }
+
+                    public void setMS_MAN(String MS_MAN) {
+                        this.MS_MAN = MS_MAN;
+                    }
+
+                    public double getMS_LIFETIME() {
+                        return MS_LIFETIME;
+                    }
+
+                    public void setMS_LIFETIME(double MS_LIFETIME) {
+                        this.MS_LIFETIME = MS_LIFETIME;
+                    }
+
+                    public String getMS_PRODCODE() {
+                        return MS_PRODCODE;
+                    }
+
+                    public void setMS_PRODCODE(String MS_PRODCODE) {
+                        this.MS_PRODCODE = MS_PRODCODE;
+                    }
+                }
+            }
+        }
+    }
+}

+ 147 - 0
app/src/main/java/com/uas/yuejiahong/bean/IOCOutMakeMaterialSubmit.java

@@ -0,0 +1,147 @@
+package com.uas.yuejiahong.bean;
+
+import java.util.List;
+
+/**
+ * Description:
+ * User: paceZhang(976709746qq.com)
+ * Date: 2016-04-07
+ */
+public class IOCOutMakeMaterialSubmit {
+    /**
+     * success : true
+     * data : [{"PD_WHCODE":"1001","PD_WHNAME":"保税仓","PI_CLASS":"采购验收单","PI_INOUTNO":"YS15030011","PI_TITLE":"东莞市皓宇电子有限公司","PI_CARDCODE":"01.013","PI_ID":50689182,"PI_STATUSCODE":"UNPOST","ENAUDITSTATUS":"101"}]
+     */
+
+    private boolean success;
+    private List<DataBean> data;
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public void setSuccess(boolean success) {
+        this.success = success;
+    }
+
+    public List<DataBean> getData() {
+        return data;
+    }
+
+    public void setData(List<DataBean> data) {
+        this.data = data;
+    }
+
+    public static class DataBean {
+        /**
+         * PD_WHCODE : 1001
+         * PD_WHNAME : 保税仓
+         * PI_CLASS : 采购验收单
+         * PI_INOUTNO : YS15030011
+         * PI_TITLE : 东莞市皓宇电子有限公司
+         * PI_CARDCODE : 01.013
+         * PI_ID : 50689182
+         * PI_STATUSCODE : UNPOST
+         * ENAUDITSTATUS : 101
+         */
+
+        private String PD_WHCODE;
+        private String PD_WHNAME;
+        private String PI_CLASS;
+        private String PI_INOUTNO;
+        private String PI_TITLE;
+        private String PI_CARDCODE;
+        private long PI_ID;
+        private String PI_STATUSCODE;
+        private String ENAUDITSTATUS;
+
+        public String getPD_WHCODE() {
+            return PD_WHCODE;
+        }
+
+        public void setPD_WHCODE(String PD_WHCODE) {
+            this.PD_WHCODE = PD_WHCODE;
+        }
+
+        public String getPD_WHNAME() {
+            return PD_WHNAME;
+        }
+
+        public void setPD_WHNAME(String PD_WHNAME) {
+            this.PD_WHNAME = PD_WHNAME;
+        }
+
+        public String getPI_CLASS() {
+            return PI_CLASS;
+        }
+
+        public void setPI_CLASS(String PI_CLASS) {
+            this.PI_CLASS = PI_CLASS;
+        }
+
+        public String getPI_INOUTNO() {
+            return PI_INOUTNO;
+        }
+
+        public void setPI_INOUTNO(String PI_INOUTNO) {
+            this.PI_INOUTNO = PI_INOUTNO;
+        }
+
+        public String getPI_TITLE() {
+            return PI_TITLE;
+        }
+
+        public void setPI_TITLE(String PI_TITLE) {
+            this.PI_TITLE = PI_TITLE;
+        }
+
+        public String getPI_CARDCODE() {
+            return PI_CARDCODE;
+        }
+
+        public void setPI_CARDCODE(String PI_CARDCODE) {
+            this.PI_CARDCODE = PI_CARDCODE;
+        }
+
+        public long getPI_ID() {
+            return PI_ID;
+        }
+
+        public void setPI_ID(long PI_ID) {
+            this.PI_ID = PI_ID;
+        }
+
+        public String getPI_STATUSCODE() {
+            return PI_STATUSCODE;
+        }
+
+        public void setPI_STATUSCODE(String PI_STATUSCODE) {
+            this.PI_STATUSCODE = PI_STATUSCODE;
+        }
+
+        public String getENAUDITSTATUS() {
+            return ENAUDITSTATUS;
+        }
+
+        public void setENAUDITSTATUS(String ENAUDITSTATUS) {
+            this.ENAUDITSTATUS = ENAUDITSTATUS;
+        }
+    }
+
+
+
+    /*public List<Data> data;
+
+    public static class Data {
+        public String pi_statuscode;
+        public String pi_cardcode;
+        public String pi_inoutno;
+        public String enauditstatus;
+        public String pi_class;
+        public String pd_whname;
+        public String pd_whcode;
+        public String pi_id;
+        public String pi_title;
+
+    }*/
+}

+ 51 - 0
app/src/main/java/com/uas/yuejiahong/bean/IOCOutmakeMaterialSplitBean.java

@@ -0,0 +1,51 @@
+package com.uas.yuejiahong.bean;
+
+/**
+ * Created by RaoMeng on 2016/12/6.
+ */
+public class IOCOutmakeMaterialSplitBean {
+
+    /**
+     * ISMSD : false
+     * RESTQTY : 1234
+     * BAR_REMAIN : 1212
+     * BAR_CODE : DSAFEE32323
+     */
+
+    private boolean ISMSD;
+    private double RESTQTY;
+    private double BAR_REMAIN;
+    private String BAR_CODE;
+
+    public boolean isISMSD() {
+        return ISMSD;
+    }
+
+    public void setISMSD(boolean ISMSD) {
+        this.ISMSD = ISMSD;
+    }
+
+    public double getRESTQTY() {
+        return RESTQTY;
+    }
+
+    public void setRESTQTY(double RESTQTY) {
+        this.RESTQTY = RESTQTY;
+    }
+
+    public double getBAR_REMAIN() {
+        return BAR_REMAIN;
+    }
+
+    public void setBAR_REMAIN(double BAR_REMAIN) {
+        this.BAR_REMAIN = BAR_REMAIN;
+    }
+
+    public String getBAR_CODE() {
+        return BAR_CODE;
+    }
+
+    public void setBAR_CODE(String BAR_CODE) {
+        this.BAR_CODE = BAR_CODE;
+    }
+}

+ 15 - 0
app/src/main/java/com/uas/yuejiahong/bean/IPPORT.java

@@ -0,0 +1,15 @@
+package com.uas.yuejiahong.bean;
+
+import java.util.List;
+
+/**
+ * Created by Administrator on 2016/3/4.
+ */
+public class IPPORT {
+    public List<Uri> uriArray;
+    public class Uri{
+        public String port;//外箱编号
+        public String ip;//总数
+
+    }
+}

+ 128 - 0
app/src/main/java/com/uas/yuejiahong/bean/InventoryDetailBean.java

@@ -0,0 +1,128 @@
+package com.uas.yuejiahong.bean;
+
+public class InventoryDetailBean {
+
+    /**
+     * BI_ID : 91979
+     * BI_BARCODE : 1117QQ
+     * BI_CONTENT : 08052R684K250BL*3000*111*Y*11111*11111*1117QQ
+     * BI_PRODCODE : 08052R684K250BL
+     * BI_INQTY : 3000
+     * BI_INOUTNO : KC19030003
+     * BI_WHCODE : null
+     * BI_BRAND : Y
+     * BI_ORDERCODE : 11111
+     * BI_DATECODE : 111
+     * BI_LOTNO : 11111
+     * RN : 1
+     */
+
+    private long BI_ID;
+    private String BI_BARCODE;
+    private String BI_CONTENT;
+    private String BI_PRODCODE;
+    private double BI_INQTY;
+    private String BI_INOUTNO;
+    private Object BI_WHCODE;
+    private String BI_BRAND;
+    private String BI_ORDERCODE;
+    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 String getBI_BARCODE() {
+        return BI_BARCODE;
+    }
+
+    public void setBI_BARCODE(String BI_BARCODE) {
+        this.BI_BARCODE = BI_BARCODE;
+    }
+
+    public String getBI_CONTENT() {
+        return BI_CONTENT;
+    }
+
+    public void setBI_CONTENT(String BI_CONTENT) {
+        this.BI_CONTENT = BI_CONTENT;
+    }
+
+    public String getBI_PRODCODE() {
+        return BI_PRODCODE;
+    }
+
+    public void setBI_PRODCODE(String BI_PRODCODE) {
+        this.BI_PRODCODE = BI_PRODCODE;
+    }
+
+    public double getBI_INQTY() {
+        return BI_INQTY;
+    }
+
+    public void setBI_INQTY(double BI_INQTY) {
+        this.BI_INQTY = BI_INQTY;
+    }
+
+    public String getBI_INOUTNO() {
+        return BI_INOUTNO;
+    }
+
+    public void setBI_INOUTNO(String BI_INOUTNO) {
+        this.BI_INOUTNO = BI_INOUTNO;
+    }
+
+    public Object getBI_WHCODE() {
+        return BI_WHCODE;
+    }
+
+    public void setBI_WHCODE(Object BI_WHCODE) {
+        this.BI_WHCODE = BI_WHCODE;
+    }
+
+    public String getBI_BRAND() {
+        return BI_BRAND;
+    }
+
+    public void setBI_BRAND(String BI_BRAND) {
+        this.BI_BRAND = BI_BRAND;
+    }
+
+    public String getBI_ORDERCODE() {
+        return BI_ORDERCODE;
+    }
+
+    public void setBI_ORDERCODE(String BI_ORDERCODE) {
+        this.BI_ORDERCODE = BI_ORDERCODE;
+    }
+
+    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;
+    }
+}

Неке датотеке нису приказане због велике количине промена