Browse Source

first commit

RaoMeng 6 years ago
commit
a616be6e65
100 changed files with 8649 additions and 0 deletions
  1. 8 0
      .gitignore
  2. 2 0
      app/.gitignore
  3. 163 0
      app/build.gradle
  4. BIN
      app/libs/butterknife-7.0.1.jar
  5. BIN
      app/libs/gson-2.2.4-javadoc.jar
  6. BIN
      app/libs/gson-2.2.4-sources.jar
  7. BIN
      app/libs/gson-2.2.4.jar
  8. BIN
      app/libs/volley.jar
  9. 169 0
      app/proguard-rules.pro
  10. 76 0
      app/src/main/AndroidManifest.xml
  11. BIN
      app/src/main/assets/PrinterShare.apk
  12. 77 0
      app/src/main/java/com/uas/pda_wms/activity/BaseActivity.java
  13. 267 0
      app/src/main/java/com/uas/pda_wms/activity/FunctionActivity.java
  14. 322 0
      app/src/main/java/com/uas/pda_wms/activity/IndexActivity.java
  15. 121 0
      app/src/main/java/com/uas/pda_wms/activity/MainActivity.java
  16. 169 0
      app/src/main/java/com/uas/pda_wms/activity/SearchMaterialActivity.java
  17. 170 0
      app/src/main/java/com/uas/pda_wms/activity/SplashActivity.java
  18. 30 0
      app/src/main/java/com/uas/pda_wms/adapter/AdapterFactory.java
  19. 198 0
      app/src/main/java/com/uas/pda_wms/adapter/BarcodeGenerationListAdapter.java
  20. 81 0
      app/src/main/java/com/uas/pda_wms/adapter/BarcodeProdcodeListAdapter.java
  21. 103 0
      app/src/main/java/com/uas/pda_wms/adapter/BarcodeSupplePrintAdapter.java
  22. 97 0
      app/src/main/java/com/uas/pda_wms/adapter/BarcodeSupplePrintListAdapter.java
  23. 184 0
      app/src/main/java/com/uas/pda_wms/adapter/BluetoothAdapter.java
  24. 62 0
      app/src/main/java/com/uas/pda_wms/adapter/BreakPackageTableListItemAdapter.java
  25. 68 0
      app/src/main/java/com/uas/pda_wms/adapter/CaptionValueItemAdapter.java
  26. 24 0
      app/src/main/java/com/uas/pda_wms/adapter/CommonMenuAdapter.java
  27. 22 0
      app/src/main/java/com/uas/pda_wms/adapter/CommonSelectAdapter.java
  28. 49 0
      app/src/main/java/com/uas/pda_wms/adapter/InmakeNetListAdapter.java
  29. 79 0
      app/src/main/java/com/uas/pda_wms/adapter/InmakeProdListAdapter.java
  30. 61 0
      app/src/main/java/com/uas/pda_wms/adapter/InmakeWhcodeListAdapter.java
  31. 115 0
      app/src/main/java/com/uas/pda_wms/adapter/IpAddressAdapter.java
  32. 95 0
      app/src/main/java/com/uas/pda_wms/adapter/IpHistoryAdapter.java
  33. 27 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTMaterialMoveAdapter.java
  34. 24 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTMaterialMoveDetailAdapter.java
  35. 26 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTMpqSelectAdapter.java
  36. 26 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTPickMaterialBoxAdapter.java
  37. 28 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTPickMaterialOutAdapter.java
  38. 23 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTRevokeBoxAdapter.java
  39. 36 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTSearchWhcodeAdapter.java
  40. 119 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTStockInquiryLocationAdapter.java
  41. 112 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTStockInquiryModelAdapter.java
  42. 140 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTStorageInDoneAdapter.java
  43. 140 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTStorageInTodoAdapter.java
  44. 54 0
      app/src/main/java/com/uas/pda_wms/adapter/JLTUpperShelfBoxAdapter.java
  45. 107 0
      app/src/main/java/com/uas/pda_wms/adapter/JltStorageInFilterAdapter.java
  46. 93 0
      app/src/main/java/com/uas/pda_wms/adapter/ListCollectAlreadyAdapter.java
  47. 80 0
      app/src/main/java/com/uas/pda_wms/adapter/ListCollectNotAdapter.java
  48. 110 0
      app/src/main/java/com/uas/pda_wms/adapter/ListSubmitNotAdapter.java
  49. 51 0
      app/src/main/java/com/uas/pda_wms/adapter/ListViewAdapter.java
  50. 58 0
      app/src/main/java/com/uas/pda_wms/adapter/MakePrepareAdapter.java
  51. 100 0
      app/src/main/java/com/uas/pda_wms/adapter/RevokeStockListAdapter.java
  52. 62 0
      app/src/main/java/com/uas/pda_wms/adapter/SMTQueryListAdapter.java
  53. 107 0
      app/src/main/java/com/uas/pda_wms/adapter/ScMakeUncollectListAdapter.java
  54. 72 0
      app/src/main/java/com/uas/pda_wms/adapter/SearchMaterialNumberAdapter.java
  55. 299 0
      app/src/main/java/com/uas/pda_wms/adapter/SecondaryListAdapter.java
  56. 78 0
      app/src/main/java/com/uas/pda_wms/adapter/SmtDownResultAdapter.java
  57. 114 0
      app/src/main/java/com/uas/pda_wms/adapter/SmtQueryDiffListAdapter.java
  58. 111 0
      app/src/main/java/com/uas/pda_wms/adapter/SmtQueryMaterialListAdapter.java
  59. 68 0
      app/src/main/java/com/uas/pda_wms/adapter/SmtqueryDiffErrorAdapter.java
  60. 71 0
      app/src/main/java/com/uas/pda_wms/adapter/SmtqueryDiffNotAdapter.java
  61. 82 0
      app/src/main/java/com/uas/pda_wms/adapter/StockAlreadyListAdapter.java
  62. 80 0
      app/src/main/java/com/uas/pda_wms/adapter/StockBarcodeListAdapter.java
  63. 87 0
      app/src/main/java/com/uas/pda_wms/adapter/StockTaskAdapter.java
  64. 127 0
      app/src/main/java/com/uas/pda_wms/adapter/StockTaskMultipleAdapter.java
  65. 72 0
      app/src/main/java/com/uas/pda_wms/adapter/StockTaskMultipleDetailAdapter.java
  66. 80 0
      app/src/main/java/com/uas/pda_wms/adapter/StorageIqcInListAdapter.java
  67. 114 0
      app/src/main/java/com/uas/pda_wms/adapter/StorageRechargeAdapter.java
  68. 88 0
      app/src/main/java/com/uas/pda_wms/adapter/StorageRechargeInspectionAdapter.java
  69. 43 0
      app/src/main/java/com/uas/pda_wms/adapter/TableListItemAdapter.java
  70. 79 0
      app/src/main/java/com/uas/pda_wms/adapter/TransferLocationAdapter.java
  71. 80 0
      app/src/main/java/com/uas/pda_wms/adapter/WHCheckMakeDetailListAdapter.java
  72. 56 0
      app/src/main/java/com/uas/pda_wms/adapter/WHCheckMakeMaterialListAdapter.java
  73. 74 0
      app/src/main/java/com/uas/pda_wms/adapter/WarehouseCacheAdapter.java
  74. 200 0
      app/src/main/java/com/uas/pda_wms/application/PdaApplication.java
  75. 89 0
      app/src/main/java/com/uas/pda_wms/bean/BarcodeGenerationItemBean.java
  76. 81 0
      app/src/main/java/com/uas/pda_wms/bean/BarcodeProdcodeItemBean.java
  77. 90 0
      app/src/main/java/com/uas/pda_wms/bean/BarcodeSuppleBean.java
  78. 27 0
      app/src/main/java/com/uas/pda_wms/bean/BarcodeSuppleListBean.java
  79. 7 0
      app/src/main/java/com/uas/pda_wms/bean/BaseSelectEntity.java
  80. 38 0
      app/src/main/java/com/uas/pda_wms/bean/BoxBean.java
  81. 37 0
      app/src/main/java/com/uas/pda_wms/bean/CaptionValueBean.java
  82. 212 0
      app/src/main/java/com/uas/pda_wms/bean/CollectAlreadyBean.java
  83. 232 0
      app/src/main/java/com/uas/pda_wms/bean/CollectNotBean.java
  84. 37 0
      app/src/main/java/com/uas/pda_wms/bean/CommonMenuBean.java
  85. 10 0
      app/src/main/java/com/uas/pda_wms/bean/ErrorMsg.java
  86. 61 0
      app/src/main/java/com/uas/pda_wms/bean/FeederDetail.java
  87. 55 0
      app/src/main/java/com/uas/pda_wms/bean/IOCOutMakeMaterialFuzzySearch.java
  88. 217 0
      app/src/main/java/com/uas/pda_wms/bean/IOCOutMakeMaterialOperMsd.java
  89. 147 0
      app/src/main/java/com/uas/pda_wms/bean/IOCOutMakeMaterialSubmit.java
  90. 51 0
      app/src/main/java/com/uas/pda_wms/bean/IOCOutmakeMaterialSplitBean.java
  91. 15 0
      app/src/main/java/com/uas/pda_wms/bean/IPPORT.java
  92. 148 0
      app/src/main/java/com/uas/pda_wms/bean/JLTBarcodeParseBean.java
  93. 71 0
      app/src/main/java/com/uas/pda_wms/bean/JLTBoxBean.java
  94. 117 0
      app/src/main/java/com/uas/pda_wms/bean/JLTBrandEntity.java
  95. 22 0
      app/src/main/java/com/uas/pda_wms/bean/JLTLocationBean.java
  96. 116 0
      app/src/main/java/com/uas/pda_wms/bean/JLTMaterialBean.java
  97. 20 0
      app/src/main/java/com/uas/pda_wms/bean/JLTMpqEntity.java
  98. 134 0
      app/src/main/java/com/uas/pda_wms/bean/JLTPickMaterialBean.java
  99. 67 0
      app/src/main/java/com/uas/pda_wms/bean/JLTPkgEntity.java
  100. 138 0
      app/src/main/java/com/uas/pda_wms/bean/JLTStorageInBean.java

+ 8 - 0
.gitignore

@@ -0,0 +1,8 @@
+.gradle
+/local.properties
+.idea
+.DS_Store
+build
+/captures
+*.iml
+*.jks

+ 2 - 0
app/.gitignore

@@ -0,0 +1,2 @@
+/build
+*.iml

+ 163 - 0
app/build.gradle

@@ -0,0 +1,163 @@
+apply plugin: 'com.android.application'
+//apply plugin: 'AndResGuard'
+
+android {
+    signingConfigs {
+        udapda {
+            keyAlias 'pda_wms_key'
+            keyPassword 'wmskeystone'
+            storeFile file('C:\\sigin\\pda_wms_store.jks')
+            storePassword 'wmskeystone'
+        }
+    }
+    compileSdkVersion rootProject.ext.android.compileSdkVersion
+    buildToolsVersion rootProject.ext.android.buildToolsVersion
+    defaultConfig {
+        applicationId "com.uas.pda_wms"
+        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'
+    }
+    lintOptions {
+        abortOnError false //不在error情况下中断
+        disable 'MissingTranslation' //无视字符串缺少本地化的情况
+        disable 'ExtraTranslation'//无视多做了本地化的字符串
+    }
+    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_PDA_WMS_RELEASE_${releaseInfo}.apk"
+
+                } else if (variant.buildType.name.equals('debug')) {
+                    def debugInfo = getVersionName()
+                    fileName = "UAS_PDA_WMS_DEBUG_${debugInfo}.apk"
+                }
+                outputFileName = fileName
+            }
+        }
+    }
+
+    compileOptions {
+        targetCompatibility 1.8
+        sourceCompatibility 1.8
+    }
+}
+
+dependencies {
+    implementation fileTree(include: ['*.jar'], dir: 'libs')
+    testImplementation 'junit:junit:4.12'
+    api files('libs/volley.jar')
+    api files('libs/gson-2.2.4.jar')
+    api project(':pulltoreflashlibrary')
+    api project(':progresslitelibrary')
+    api project(':lib-zxing')
+    implementation deps.appcompatV7
+    implementation deps.stetho
+    implementation deps.fastjson
+    implementation deps.xUtils
+    implementation deps.okhttp
+    implementation project(':bluetooth')
+    implementation deps.switchView
+    implementation deps.BaseRecyclerViewAdapterHelper
+    implementation deps.smartRefreshLayout
+    implementation deps.smartRefreshHeader
+    implementation deps.recyclerview
+    implementation deps.permisson
+    implementation deps.smartTable
+    implementation deps.basePopup
+}
+
+def getVersionName() {
+    return rootProject.ext.android.versionName
+}
+
+
+/*andResGuard {
+    // mappingFile = file("./resource_mapping.txt")
+    mappingFile = null
+    use7zip = true
+    useSign = true
+    // 打开这个开关,会keep住所有资源的原始路径,只混淆资源的名字
+    keepRoot = false
+    whiteList = [
+            // for your icon
+            "R.mipmap.icon",
+            // for fabric
+            "R.string.com.crashlytics.*",
+            // for google-services
+            "R.string.google_app_id",
+            "R.string.gcm_defaultSenderId",
+            "R.string.default_web_client_id",
+            "R.string.ga_trackingId",
+            "R.string.firebase_database_url",
+            "R.string.google_api_key",
+            "R.string.google_crash_reporting_api_key",
+            //for umeng
+            "R.anim.umeng*",
+            "R.string.umeng*",
+            "R.string.UM*",
+            "R.string.tb_*",
+            "R.layout.umeng*",
+            "R.layout.socialize_*",
+            "R.layout.*messager*",
+            "R.layout.tb_*",
+            "R.color.umeng*",
+            "R.color.tb_*",
+            "R.style.*UM*",
+            "R.style.umeng*",
+            "R.drawable.umeng*",
+            "R.drawable.tb_*",
+            "R.drawable.sina*",
+            "R.drawable.qq_*",
+            "R.drawable.tb_*",
+            "R.id.umeng*",
+            "R.id.*messager*",
+            "R.id.progress_bar_parent",
+            "R.id.socialize_*",
+            "R.id.webView",
+            //for jpush
+            "R.drawable.jpush_notification_icon"
+    ]
+    compressFilePattern = [
+            "*.png",
+            "*.jpg",
+            "*.jpeg",
+            "*.gif",
+    ]
+    sevenzip {
+        artifact = 'com.tencent.mm:SevenZip:1.2.13'
+        //path = "/usr/local/bin/7za"
+    }
+
+    *//**
+     * 可选: 如果不设置则会默认覆盖assemble输出的apk
+     **//*
+    // finalApkBackupPath = "${project.rootDir}/final.apk"
+
+    *//**
+     * 可选: 指定v1签名时生成jar文件的摘要算法
+     * 默认值为“SHA-1”
+     **//*
+    // digestalg = "SHA-256"
+}*/
+

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


+ 169 - 0
app/proguard-rules.pro

@@ -0,0 +1,169 @@
+## Add project specific ProGuard rules here.
+## By default, the flags in this file are appended to flags specified
+## in D:\Android\sdk/tools/proguard/proguard-android.txt
+## You can edit the include path and order by changing the proguardFiles
+## directive in build.gradle.
+#
+#
+################################
+##
+## 公共部分(固定不变)
+##
+################################
+##1.基本指令区
+## 代码混淆压缩比,在0~7之间,默认为5,一般不做修改
+#-optimizationpasses 5
+## 混合时不使用大小写混合,混合后的类名为小写
+#-dontusemixedcaseclassnames
+## 指定不去忽略非公共库的类
+#-dontskipnonpubliclibraryclasses
+## 这句话能够使我们的项目混淆后产生映射文件
+## 包含有类名->混淆后类名的映射关系
+#-verbose
+## 指定不去忽略非公共库的类成员
+#-dontskipnonpubliclibraryclassmembers
+## 不做预校验,preverify是proguard的四个步骤之一,Android不需要preverify,去掉这一步能够加快混淆速度。
+#-dontpreverify
+## 保留Annotation不混淆
+#-keepattributes *Annotation*,InnerClasses
+## 避免混淆泛型
+#-keepattributes Signature
+## 抛出异常时保留代码行号
+#-keepattributes SourceFile,LineNumberTable
+## 指定混淆是采用的算法,后面的参数是一个过滤器
+## 这个过滤器是谷歌推荐的算法,一般不做更改
+#-optimizations !code/simplification/cast,!field/*,!class/merging/*
+#
+##2.默认保留区
+## 保留我们使用的四大组件,自定义的Application等等这些类不被混淆
+## 因为这些子类都有可能被外部调用
+#-keep public class * extends android.app.Activity
+#-keep public class * extends android.app.Application
+#-keep public class * extends android.app.Service
+#-keep public class * extends android.content.BroadcastReceiver
+#-keep public class * extends android.content.ContentProvider
+#-keep public class * extends android.app.backup.BackupAgentHelper
+#-keep public class * extends android.preference.Preference
+#-keep public class * extends android.view.View
+#-keep public class com.android.vending.licensing.ILicensingService
+## 保留support下的所有类及其内部类
+#-keep class android.support.** {*;}
+## 保留继承的
+#-keep public class * extends android.support.v4.**
+#-keep public class * extends android.support.v7.**
+#-keep public class * extends android.support.annotation.**
+## 保留R下面的资源
+#-keep class **.R$* {*;}
+#
+## 保留本地native方法不被混淆
+#-keepclasseswithmembernames class * {
+#    native <methods>;
+#}
+## 保留在Activity中的方法参数是view的方法,
+## 这样以来我们在layout中写的onClick就不会被影响
+#-keepclassmembers class * extends android.app.Activity{
+#    public void *(android.view.View);
+#}
+## 保留枚举类不被混淆
+#-keepclassmembers enum * {
+#    public static **[] values();
+#    public static ** valueOf(java.lang.String);
+#}
+## 保留我们自定义控件(继承自View)不被混淆
+#-keep public class * extends android.view.View{
+#    *** get*();
+#    void set*(***);
+#    public <init>(android.content.Context);
+#    public <init>(android.content.Context, android.util.AttributeSet);
+#    public <init>(android.content.Context, android.util.AttributeSet, int);
+#}
+#-keepclasseswithmembers class * {
+#    public <init>(android.content.Context, android.util.AttributeSet);
+#    public <init>(android.content.Context, android.util.AttributeSet, int);
+#}
+#
+## 保留Parcelable序列化类不被混淆
+#-keep class * implements android.os.Parcelable {
+#    public static final android.os.Parcelable$Creator *;
+#}
+## 保留Serializable序列化的类不被混淆
+#-keepclassmembers class * implements java.io.Serializable {
+#    static final long serialVersionUID;
+#    private static final java.io.ObjectStreamField[] serialPersistentFields;
+#    !static !transient <fields>;
+#    !private <fields>;
+#    !private <methods>;
+#    private void writeObject(java.io.ObjectOutputStream);
+#    private void readObject(java.io.ObjectInputStream);
+#    java.lang.Object writeReplace();
+#    java.lang.Object readResolve();
+#}
+## 对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆
+#-keepclassmembers class * {
+#    void *(**On*Event);
+#}
+#
+##3.webview
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+#-keepclassmembers class * extends android.webkit.webViewClient {
+#    public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
+#    public boolean *(android.webkit.WebView, java.lang.String);
+#}
+#-keepclassmembers class * extends android.webkit.webViewClient {
+#    public void *(android.webkit.webView, jav.lang.String);
+#}
+##移除Log类打印各个等级日志的代码,打正式包的时候可以做为禁log使用
+##这里可以作为禁止log打印的功能使用,另外的一种实现方案是通过BuildConfig.DEBUG的变量来控制
+#-assumenosideeffects class android.util.Log {
+#    public static *** v(...);
+#    public static *** i(...);
+#    public static *** d(...);
+#    public static *** w(...);
+#    public static *** e(...);
+#}
+#
+#
+################################
+##
+## 第三方jar包
+##
+################################
+#-keep class com.uuzuche.lib_zxing.** {*;}
+#-keep class cc.cloudist.acplibrary.** {*;}
+#-keep class com.handmark.pulltorefresh.library.** {*;}
+#-keep class android.arch.core.internal.** {*;}
+#-keep class android.arch.lifecycle.** {*;}
+#-keep class com.alibaba.fastjson.** {*;}
+#-dontwarn com.alibaba.fastjson.**
+#-keep class android.support.graphics.drawable.** {*;}
+#-keep class com.facebook.stetho.** {*;}
+#-keep class javax.annotation.** {*;}
+#-keep class com.lidroid.xutils.** {*;}
+#-keep class okhttp3.** {*;}
+#-keep class okio.** {*;}
+#-dontwarn okio.**
+#-keep class org.apache.commons.cli.** {*;}
+#-keep class org.junit.** {*;}
+#-keep class junit.** {*;}
+#-keep class org.hamcrest.** {*;}
+#
+#-keep class sun.misc.Unsafe {*;}
+#-keep class com.google.gson.** {*;}
+#-keep class com.google.gson.stream.** {*;}
+#-keep class com.android.volley.** {*;}
+#
+#-keep class butterknife.** {*;}
+#-dontwarn butterknife.internal.**
+#-keep class **$$ViewBinder { *; }
+#
+################################
+##
+## 自己的代码
+## 引用的其他Module可以直接在app的这个混淆文件里配置
+##
+################################
+##实体类
+#-keep class com.uas.pda_wms.bean.** {*;}
+##-keep .** {*;}

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

@@ -0,0 +1,76 @@
+<?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.pda_wms"
+    android:versionCode="3"
+    android:versionName="v1.3">
+
+    <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" />
+
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+
+    <application
+        android:name=".application.PdaApplication"
+        android:allowBackup="true"
+        android:icon="@mipmap/icon"
+        android:label="@string/my_app_name"
+        android:theme="@style/AppTheme"
+        android:usesCleartextTraffic="true"
+        tools:replace="icon,label,theme">
+
+        <uses-library
+            android:name="org.apache.http.legacy"
+            android:required="false" />
+
+        <activity
+            android:name=".activity.SplashActivity"
+            android:icon="@mipmap/icon"
+            android:screenOrientation="portrait"
+            android:theme="@style/NoOverLayStyle">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+
+        <activity
+            android:name=".activity.MainActivity"
+            android:icon="@mipmap/icon"
+            android:label="@string/title_activity_menu"
+            android:screenOrientation="portrait"
+            android:windowSoftInputMode="adjustPan|stateHidden"></activity>
+        <activity
+            android:name=".activity.IndexActivity"
+            android:label="@string/title_activity_menu"
+            android:screenOrientation="portrait" />
+        <activity
+            android:name=".activity.FunctionActivity"
+            android:label="@string/title_activity_function"
+            android:screenOrientation="portrait"
+            android:windowSoftInputMode="adjustUnspecified|stateHidden" />
+
+        <activity
+            android:name=".activity.SearchMaterialActivity"
+            android:label="@string/material_number_search"
+            android:screenOrientation="portrait" />
+
+        <provider
+            android:name="android.support.v4.content.FileProvider"
+            android:authorities="com.pda_wms.fileprovider"
+            android:exported="false"
+            android:grantUriPermissions="true">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/file_paths" />
+        </provider>
+    </application>
+
+</manifest>

BIN
app/src/main/assets/PrinterShare.apk


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

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

+ 267 - 0
app/src/main/java/com/uas/pda_wms/activity/FunctionActivity.java

@@ -0,0 +1,267 @@
+package com.uas.pda_wms.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+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.uas.pda_wms.R;
+import com.uas.pda_wms.fragment.BaseFragment;
+import com.uas.pda_wms.fragment.IndexInOutContentFragment;
+import com.uas.pda_wms.fragment.IndexSettingFragment;
+import com.uas.pda_wms.fragment.IndexShopContentFragment;
+import com.uas.pda_wms.fragment.IndexWareHouseContentFragment;
+import com.uas.pda_wms.fragment.JLTInventoryFragment;
+import com.uas.pda_wms.fragment.JLTPickMaterialOutFragment;
+import com.uas.pda_wms.fragment.JLTStockInquiryFragment;
+import com.uas.pda_wms.fragment.JLTStorageInFragment;
+import com.uas.pda_wms.fragment.JLTUpperShelfFragment;
+import com.uas.pda_wms.fragment.JltStorageInFilterFragment;
+import com.uas.pda_wms.global.GloableParams;
+import com.uas.pda_wms.interfaces.BackHandlerInterface;
+import com.uas.pda_wms.tools.DataSourceManager;
+import com.uas.pda_wms.util.CameraUtil;
+
+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;
+    public BaseFragment fragment;
+
+    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);
+        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_IN_STORAGE:
+//                    fragment = new JLTStorageInFragment();
+                    fragment = new JltStorageInFilterFragment();
+                    break;
+                //上架
+                case GloableParams.GRIDNAME_UPPER_SHELF:
+                    fragment = new JLTUpperShelfFragment();
+                    break;
+                //出库捡料
+                case GloableParams.GRIDNAME_OUT_PICK_MATERIAL:
+                    fragment = new JLTPickMaterialOutFragment();
+                    break;
+                //库存查询
+                case GloableParams.GRIDNAME_STOCK_INQUIRY:
+                    fragment = new JLTStockInquiryFragment();
+                    break;
+                //盘点
+                case GloableParams.GRIDNAME_INVENTORY:
+                    fragment = new JLTInventoryFragment();
+                    break;
+                //设置
+                case GloableParams.GRIDNAME_SETTING:
+                    fragment = new IndexSettingFragment();
+//                    fragment = new BlueToothPrintFragment();
+                    break;
+            }
+            //添加Fragment
+            getSupportFragmentManager().beginTransaction()
+                    .add(R.id.container_function_fragment, fragment).commitAllowingStateLoss();
+        }
+    }
+
+    @Override
+    protected void initViews() {
+
+    }
+
+    @Override
+    protected void initEvents() {
+
+    }
+
+    @Override
+    protected void initDatas() {
+
+    }
+
+    //设置Actionbar标题
+    public static void setTitle(String title) {
+        actionBarTextView.setText(title);
+    }
+
+    public void setActionBarVisible(boolean isVisible) {
+        if (isVisible) {
+            mActionBarLayout.setVisibility(View.VISIBLE);
+        } else {
+            mActionBarLayout.setVisibility(View.GONE);
+        }
+    }
+
+    public void setSearchBtnVisible(boolean isVisible) {
+        if (isVisible) {
+            mSearchBtn.setVisibility(View.VISIBLE);
+        } else {
+            mSearchBtn.setVisibility(View.GONE);
+        }
+    }
+
+    public void setMoreBtnVisible(boolean isVisible) {
+        if (isVisible) {
+            mMoreBtn.setVisibility(View.VISIBLE);
+        } else {
+            mMoreBtn.setVisibility(View.GONE);
+        }
+    }
+
+    public void setSubmitBtnVisible(boolean isVisible) {
+        if (isVisible) {
+            mSubmitBtn.setVisibility(View.VISIBLE);
+        } else {
+            mSubmitBtn.setVisibility(View.GONE);
+        }
+    }
+
+    public void setPrintIvVisible(boolean isVisible) {
+        if (isVisible) {
+            mPrintImageView.setVisibility(View.VISIBLE);
+        } else {
+            mPrintImageView.setVisibility(View.GONE);
+        }
+    }
+
+    public void setScanIvVisible(boolean isVisible) {
+        if (isVisible && CameraUtil.hasCamera()) {
+            mScanImageView.setVisibility(View.VISIBLE);
+        } else {
+            mScanImageView.setVisibility(View.GONE);
+        }
+    }
+
+    public void setSmtQueryIvVisible(boolean isVisible) {
+        if (isVisible && CameraUtil.hasCamera()) {
+            mSmtQueryImageView.setVisibility(View.VISIBLE);
+        } else {
+            mSmtQueryImageView.setVisibility(View.GONE);
+        }
+    }
+
+    @Override
+    public void onClick(View v) {
+        /*if (fragment instanceof MaterialCollectionFragment) {
+            if (((MaterialCollectionFragment) fragment).onFragmentBackPressed()) {
+                return;
+            }
+        }
+        if (fragment instanceof IOCOutMakeMaterialOper) {
+            if (((IOCOutMakeMaterialOper) fragment).onFragmentBackPressed()) {
+                return;
+            }
+        }
+        if (fragment instanceof FinishedGoodsCollectFragment) {
+            if (((FinishedGoodsCollectFragment) fragment).onFragmentBackPressed()) {
+                return;
+            }
+        }
+        if (fragment instanceof FinishedGoodsOutCollectFragment) {
+            if (((FinishedGoodsOutCollectFragment) fragment).onFragmentBackPressed()) {
+                return;
+            }
+        }*/
+        if (fragment.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 fragment = (IOCInMakeMaterialFragment) getSupportFragmentManager().findFragmentByTag(TAG_INMAKE);
+//                fragment.closeConfirmDialog();
+//                return true;
+//            }
+//            if(fragment.POPWIN_IS_SHOWING){
+//                Log.e("POPWIN_IS_SHOWING")
+//                fragment.POPWIN_IS_SHOWING = false;
+        if (fragment.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 ((fragment instanceof MaterialCollectionFragment) && ((MaterialCollectionFragment) fragment).onFragmentBackPressed()) {
+            return;
+        }
+        if ((fragment instanceof IOCOutMakeMaterialOper) && ((IOCOutMakeMaterialOper) fragment).onFragmentBackPressed()) {
+            return;
+        }
+        if ((fragment instanceof FinishedGoodsCollectFragment) && ((FinishedGoodsCollectFragment) fragment).onFragmentBackPressed()) {
+            return;
+        }
+        if ((fragment instanceof FinishedGoodsOutCollectFragment) && ((FinishedGoodsOutCollectFragment) fragment).onFragmentBackPressed()) {
+            return;
+        }*/
+        if (fragment.onFragmentBackPressed()) {
+            return;
+        }
+        super.onBackPressed();
+    }
+
+    @Override
+    public void setSelectedFragment(BaseFragment baseFragment) {
+        fragment = baseFragment;
+    }
+}

+ 322 - 0
app/src/main/java/com/uas/pda_wms/activity/IndexActivity.java

@@ -0,0 +1,322 @@
+package com.uas.pda_wms.activity;
+
+import android.Manifest;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.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.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.android.volley.toolbox.StringRequest;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.application.PdaApplication;
+import com.uas.pda_wms.global.GloableParams;
+import com.uas.pda_wms.tools.DataSourceManager;
+import com.uas.pda_wms.tools.SharedPreUtil;
+import com.uas.pda_wms.tools.VolleyUtil;
+import com.uas.pda_wms.util.CommonUtil;
+import com.uas.pda_wms.util.Constants;
+import com.uas.pda_wms.util.FastjsonUtil;
+import com.uas.pda_wms.util.HttpCallback;
+import com.uas.pda_wms.util.HttpParams;
+import com.uas.pda_wms.util.PermissionUtil;
+import com.uas.pda_wms.util.VolleyRequest;
+
+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;
+    private StringRequest mStringRequest;
+
+    @Override
+    protected void onDestroy() {
+        //清除全部App缓存
+//        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);
+        //获取条码打印模板
+        getPrintTemplate();*/
+        getCheckSetting();
+
+        initPermissions();
+    }
+
+    private void getCheckSetting() {
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_JLT_JCOMMON_GETDBSETTING)
+                .method(Request.Method.GET)
+                .tag("getdbsetting")
+                .flag(0)
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                try {
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    if (resultObject == null) {
+                        return;
+                    }
+                    JSONObject dataObject = resultObject.getJSONObject("data");
+                    if (dataObject == null) {
+                        return;
+                    }
+                    int vldate = FastjsonUtil.getInt(dataObject, "VLDATE");
+                    if (vldate < 0) {
+                        vldate = 0;
+                    }
+                    String checkboxReg = FastjsonUtil.getText(dataObject, "CHECKBOX");
+
+                    SharedPreUtil.saveInt(IndexActivity.this, Constants.FLAG.JLT_VALID_DAYS_CACHE, vldate);
+                    SharedPreUtil.saveString(IndexActivity.this, Constants.FLAG.JLT_CHECK_BOX_REG_CACHE, checkboxReg);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+
+            }
+        });
+    }
+
+    private void getPrintTemplate() {
+        VolleyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_BARINFO_PRINTMODEL)
+                        .method(Request.Method.GET)
+                        .flag(0)
+                        .tag("barinfoPrint")
+                        .addParam("caller", "Barcode!PDAPrint")
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        try {
+                            String result = o.toString();
+                            Log.e("prints", result);
+                            if (FastjsonUtil.validate(result)) {
+                                JSONObject resultObject = JSON.parseObject(result);
+                                JSONArray dataArray = resultObject.getJSONArray("data");
+                                if (dataArray != null && dataArray.size() > 0) {
+                                    SharedPreUtil.saveString(IndexActivity.this, Constants.FLAG.PRINT_TEMPLATE_CACHE, dataArray.toJSONString());
+                                }
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        Log.e("printf", failStr);
+                    }
+                });
+    }
+
+    private void initPermissions() {
+        String[] permissions = {
+                Manifest.permission.CAMERA
+                , Manifest.permission.WRITE_EXTERNAL_STORAGE
+        };
+        for (String permission : permissions) {
+            if (PermissionUtil.lacksPermissions(this, permission)) {
+                PermissionUtil.requestPermission(this, PermissionUtil.DEFAULT_REQUEST, permission);
+            }
+        }
+    }
+
+    @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
+    protected void onResume() {
+        super.onResume();
+        SharedPreUtil.saveString(this, "printAddress", "");
+        SharedPreUtil.saveInt(this, "printConnect", 0);
+        SharedPreUtil.saveInt(this, "printDpi", 203);
+    }
+
+    @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_UPPER_SHELF)) {
+
+        /*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_IN_STORAGE.equals(itemName)
+                        || GloableParams.GRIDNAME_STOCK_INQUIRY.equals(itemName))
+                        && Constants.CONSTANT.AUTHORITY_PRODINOUT.equals(power)) {
+                    isPower = true;
+                    break;
+                }
+
+                if ((GloableParams.GRIDNAME_UPPER_SHELF.equals(itemName)
+                        || GloableParams.GRIDNAME_STOCK_INQUIRY.equals(itemName))
+                        && Constants.CONSTANT.AUTHORITY_SHOP.equals(power)) {
+                    isPower = true;
+                    break;
+                }
+            }
+        }
+
+        if (itemName.equals(GloableParams.GRIDNAME_SETTING)) {
+            isPower = true;
+        }*/
+
+        if (GloableParams.GRIDNAME_INVENTORY.equals(itemName)) {
+            return;
+        }
+        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 onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        if (requestCode == PermissionUtil.DEFAULT_REQUEST) {
+            if (grantResults.length != 1 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
+                //没有获取到权限
+            } else {
+
+            }
+        }
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (mExitPopupWindow.isShowing()) {
+            closeExitPopupWindow();
+        } else {
+            if (mExitPopupWindow != null) {
+                CommonUtil.setBackgroundAlpha(this, 0.5f);
+                mExitPopupWindow.showAtLocation(getWindow().getDecorView(), Gravity.CENTER, 0, 0);
+            }
+        }
+    }
+
+    private void closeExitPopupWindow() {
+        if (mExitPopupWindow != null) {
+            mExitPopupWindow.dismiss();
+            CommonUtil.setBackgroundAlpha(this, 1f);
+        }
+    }
+}

+ 121 - 0
app/src/main/java/com/uas/pda_wms/activity/MainActivity.java

@@ -0,0 +1,121 @@
+package com.uas.pda_wms.activity;
+
+import android.content.Intent;
+import android.os.Build;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.fragment.BaseFragment;
+import com.uas.pda_wms.fragment.ConnectServerFragment;
+import com.uas.pda_wms.fragment.LoginFragment;
+import com.uas.pda_wms.interfaces.BackHandlerInterface;
+import com.uas.pda_wms.tools.DataSourceManager;
+import com.uas.pda_wms.tools.SharedPreUtil;
+import com.uas.pda_wms.util.CommonUtil;
+
+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);
+
+        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() {
+
+    }
+
+
+    @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/pda_wms/activity/SearchMaterialActivity.java

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

+ 170 - 0
app/src/main/java/com/uas/pda_wms/activity/SplashActivity.java

@@ -0,0 +1,170 @@
+package com.uas.pda_wms.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.pda_wms.R;
+import com.uas.pda_wms.application.PdaApplication;
+import com.uas.pda_wms.global.GloableParams;
+import com.uas.pda_wms.tools.DataSourceManager;
+import com.uas.pda_wms.tools.SharedPreUtil;
+import com.uas.pda_wms.tools.VolleyUtil;
+import com.uas.pda_wms.util.CommonUtil;
+import com.uas.pda_wms.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 <= 2000) {
+                        mHandler.postDelayed(new Runnable() {
+                            @Override
+                            public void run() {
+                                startLogin();
+                            }
+                        }, 2000 - time);
+                    } else {
+                        startLogin();
+                    }
+                    break;
+                //连接失败
+                case VolleyUtil.FAILED_FAILED:
+                    String notice = (String) msg.obj;
+                    CommonUtil.toastNoRepeat(SplashActivity.this, notice);
+                    if (time <= 2000) {
+                        mHandler.postDelayed(new Runnable() {
+                            @Override
+                            public void run() {
+                                startServer();
+                            }
+                        }, 2000 - 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);
+
+    }
+
+    @Override
+    protected void initViews() {
+        if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
+            finish();
+            return;
+        }
+//        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() {
+        if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
+            finish();
+            return;
+        }
+        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();
+                }
+            }, 2000);
+        }
+    }
+
+    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/pda_wms/adapter/AdapterFactory.java

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

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

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

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

@@ -0,0 +1,97 @@
+package com.uas.pda_wms.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.pda_wms.R;
+import com.uas.pda_wms.bean.BarcodeSuppleBean;
+import com.uas.pda_wms.bean.BarcodeSuppleListBean;
+import com.uas.pda_wms.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);
+        }
+    }
+}

+ 184 - 0
app/src/main/java/com/uas/pda_wms/adapter/BluetoothAdapter.java

@@ -0,0 +1,184 @@
+package com.uas.pda_wms.adapter;
+
+import android.bluetooth.BluetoothClass;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.uas.bluetooth.ConnectHelper;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.util.ListUtils;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+public class BluetoothAdapter extends RecyclerView.Adapter<BluetoothAdapter.BlueTootViewHolder> {
+
+    private Context ct;
+    private List<BluetoothDevice> models;
+    private Comparator<BluetoothDevice> mComparator = new Comparator<BluetoothDevice>() {
+        @Override
+        public int compare(BluetoothDevice t1, BluetoothDevice t2) {
+            return 0;
+        }
+    };
+
+    public BluetoothAdapter(Context ct, List<BluetoothDevice> models) {
+        this.ct = ct;
+        this.models = models;
+        if (!ListUtils.isEmpty(models)) {
+            Collections.sort(models, mComparator);
+        }
+    }
+
+    public List<BluetoothDevice> getModels() {
+        return models;
+    }
+
+    public BluetoothDevice getModel(int position) {
+        if (position >= 0 && ListUtils.getSize(models) > position) {
+            return models.get(position);
+        }
+        return null;
+    }
+
+
+    public void setModels(List<BluetoothDevice> models) {
+        if (!ListUtils.isEmpty(models)) {
+            Collections.sort(models, mComparator);
+        }
+        this.models = models;
+        notifyDataSetChanged();
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        return position;
+    }
+
+    @NonNull
+    @Override
+    public BlueTootViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+
+        return new BlueTootViewHolder(parent);
+    }
+
+
+    @Override
+    public int getItemCount() {
+        return ListUtils.getSize(models);
+    }
+
+    private LayoutInflater mLayoutInflater;
+
+    public LayoutInflater getLayoutInflater() {
+        if (mLayoutInflater == null) {
+            mLayoutInflater = LayoutInflater.from(ct);
+        }
+        return mLayoutInflater;
+    }
+
+
+    class BlueTootViewHolder extends RecyclerView.ViewHolder {
+        private TextView mNameTv;
+        private TextView mMacTv;
+        private ImageView mDeviceIc;
+        private TextView mDoingTv;
+        private TextView mStatusTv;
+
+
+        public BlueTootViewHolder(ViewGroup vg) {
+            super(getLayoutInflater().inflate(R.layout.item_bluetooth_print, vg, false));
+            mNameTv = itemView.findViewById(R.id.nameTv);
+            mDeviceIc = itemView.findViewById(R.id.deviceIc);
+            mMacTv = itemView.findViewById(R.id.macTv);
+            mDoingTv = itemView.findViewById(R.id.doingTv);
+            mStatusTv = itemView.findViewById(R.id.statusTv);
+        }
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull BlueTootViewHolder holder, int position) {
+        BluetoothDevice model = models.get(position);
+        boolean isConnect = model.getBondState() == BluetoothDevice.BOND_BONDED;
+        holder.mNameTv.setText(TextUtils.isEmpty(model.getName()) ? "未知" : model.getName());
+        holder.mMacTv.setText(model.getAddress());
+        holder.mStatusTv.setText(isConnect ? "已连接" : "未连接");
+        holder.mDeviceIc.setImageResource(getTypeIcon(model));
+        holder.itemView.setTag(model);
+        holder.itemView.setOnClickListener(mOnClickListener);
+        if (isConnect) {
+            holder.mDoingTv.setTag(model);
+            holder.mDoingTv.setVisibility(View.VISIBLE);
+            holder.mDoingTv.setOnClickListener(mOnClickListener);
+        } else {
+            holder.mDoingTv.setVisibility(View.GONE);
+        }
+    }
+
+
+    private View.OnClickListener mOnClickListener = new View.OnClickListener() {
+        @Override
+        public void onClick(View view) {
+            Object tag = view.getTag();
+            if (mOnSendListener != null && tag != null && tag instanceof BluetoothDevice) {
+                if (view.getId() == R.id.doingTv) {
+                    mOnSendListener.send((BluetoothDevice) tag);
+                } else {
+                    mOnSendListener.itemClick((BluetoothDevice) tag);
+                }
+            }
+        }
+    };
+
+    /**
+     * 260-电脑
+     * 1664-打印机
+     * 524-智能手机
+     *
+     * @return
+     */
+    public int getTypeIcon(BluetoothDevice device) {
+        switch (device.getBluetoothClass().getDeviceClass()) {
+            case BluetoothClass.Device.COMPUTER_DESKTOP:
+            case BluetoothClass.Device.COMPUTER_HANDHELD_PC_PDA:
+            case BluetoothClass.Device.COMPUTER_LAPTOP:
+            case BluetoothClass.Device.COMPUTER_PALM_SIZE_PC_PDA:
+            case BluetoothClass.Device.COMPUTER_SERVER:
+            case BluetoothClass.Device.COMPUTER_UNCATEGORIZED:
+            case BluetoothClass.Device.COMPUTER_WEARABLE:
+                return R.drawable.ic_computer_black_24dp;
+            case BluetoothClass.Device.PHONE_CELLULAR:
+            case BluetoothClass.Device.PHONE_CORDLESS:
+            case BluetoothClass.Device.PHONE_ISDN:
+            case BluetoothClass.Device.PHONE_MODEM_OR_GATEWAY:
+            case BluetoothClass.Device.PHONE_SMART:
+            case BluetoothClass.Device.PHONE_UNCATEGORIZED:
+                return R.drawable.ic_phone_android_black_24dp;
+            case ConnectHelper.PRINT_TYPE:
+                return R.drawable.ic_local_printshop_black_24dp;
+            default:
+                return R.drawable.ic_issue;
+        }
+    }
+
+    private OnSendListener mOnSendListener;
+
+    public void setOnSendListener(OnSendListener mOnSendListener) {
+        this.mOnSendListener = mOnSendListener;
+    }
+
+    public interface OnSendListener {
+        void send(BluetoothDevice device);
+
+        void itemClick(BluetoothDevice device);
+    }
+}

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

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

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

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

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

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

@@ -0,0 +1,22 @@
+package com.uas.pda_wms.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.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());
+    }
+}

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

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

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

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

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

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

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

+ 27 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTMaterialMoveAdapter.java

@@ -0,0 +1,27 @@
+package com.uas.pda_wms.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.bean.JLTMaterialBean;
+import com.uas.pda_wms.util.CommonUtil;
+
+import java.util.List;
+
+public class JLTMaterialMoveAdapter extends BaseQuickAdapter<JLTMaterialBean, BaseViewHolder> {
+
+    public JLTMaterialMoveAdapter(@Nullable List<JLTMaterialBean> data) {
+        super(R.layout.item_jlt_material_move, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, JLTMaterialBean item) {
+        helper.setText(R.id.item_jlt_material_move_model_tv, item.getBAR_MPN());
+        helper.setText(R.id.item_jlt_material_move_mpq_tv, CommonUtil.doubleFormat(item.getBAR_ZXBZS()));
+        helper.setText(R.id.item_jlt_material_move_qty_tv, CommonUtil.doubleFormat(item.getBAR_REMAIN()));
+        helper.setText(R.id.item_jlt_material_move_brand_tv, item.getBAR_BRAND());
+        helper.setText(R.id.item_jlt_material_move_total_tv, CommonUtil.doubleFormat(item.getBAR_TRAYNO()));
+    }
+}

+ 24 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTMaterialMoveDetailAdapter.java

@@ -0,0 +1,24 @@
+package com.uas.pda_wms.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.bean.JLTLocationBean;
+import com.uas.pda_wms.util.CommonUtil;
+
+import java.util.List;
+
+public class JLTMaterialMoveDetailAdapter extends BaseQuickAdapter<JLTLocationBean, BaseViewHolder> {
+
+    public JLTMaterialMoveDetailAdapter(@Nullable List<JLTLocationBean> data) {
+        super(R.layout.item_jlt_material_move_detail, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, JLTLocationBean item) {
+        helper.setText(R.id.item_jlt_material_move_detail_location_tv, item.getLocation());
+        helper.setText(R.id.item_jlt_material_move_detail_qty_tv, CommonUtil.doubleFormat(item.getQty()));
+    }
+}

+ 26 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTMpqSelectAdapter.java

@@ -0,0 +1,26 @@
+package com.uas.pda_wms.adapter;
+
+import android.graphics.Color;
+import android.support.annotation.Nullable;
+import android.text.SpannableStringBuilder;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.bean.WhcodeBean;
+import com.uas.pda_wms.util.CommonUtil;
+import com.uas.pda_wms.util.SpanUtils;
+
+import java.util.List;
+
+public class JLTMpqSelectAdapter extends BaseQuickAdapter<Double, BaseViewHolder> {
+
+    public JLTMpqSelectAdapter(@Nullable List<Double> data) {
+        super(R.layout.item_list_cache_warehouse, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, Double item) {
+        helper.setText(R.id.list_warehouse_tv, CommonUtil.doubleFormat(item));
+    }
+}

+ 26 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTPickMaterialBoxAdapter.java

@@ -0,0 +1,26 @@
+package com.uas.pda_wms.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.bean.JLTBoxBean;
+import com.uas.pda_wms.util.CommonUtil;
+
+import java.util.List;
+
+public class JLTPickMaterialBoxAdapter extends BaseQuickAdapter<JLTBoxBean, BaseViewHolder> {
+
+    public JLTPickMaterialBoxAdapter(@Nullable List<JLTBoxBean> data) {
+        super(R.layout.item_jlt_pick_material_box, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, JLTBoxBean item) {
+        helper.setText(R.id.item_jlt_pick_material_box_location_tv, item.getLOCATION());
+        helper.setText(R.id.item_jlt_pick_material_box_box_tv, item.getBOXCODE());
+        helper.setText(R.id.item_jlt_pick_material_box_qty_tv, CommonUtil.doubleFormat(item.getQTY()));
+        helper.setText(R.id.item_jlt_pick_material_box_total_tv, CommonUtil.doubleFormat(item.getTRAYNO()));
+    }
+}

+ 28 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTPickMaterialOutAdapter.java

@@ -0,0 +1,28 @@
+package com.uas.pda_wms.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.bean.JLTPickMaterialBean;
+import com.uas.pda_wms.util.CommonUtil;
+
+import java.util.List;
+
+public class JLTPickMaterialOutAdapter extends BaseQuickAdapter<JLTPickMaterialBean, BaseViewHolder> {
+
+    public JLTPickMaterialOutAdapter(@Nullable List<JLTPickMaterialBean> data) {
+        super(R.layout.item_jlt_pick_material_out, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, JLTPickMaterialBean item) {
+        helper.setText(R.id.item_jlt_pick_material_out_order_tv, item.getRN() + "");
+        helper.setText(R.id.item_jlt_pick_material_out_model_tv, item.getPR_ORISPECCODE());
+        helper.setText(R.id.item_jlt_pick_material_out_qty_tv, CommonUtil.doubleFormat(item.getPD_OUTQTY()));
+        helper.setText(R.id.item_jlt_pick_material_out_remain_tv, CommonUtil.doubleFormat(item.getPD_RESTQTY()));
+        helper.setText(R.id.item_jlt_pick_material_out_mpq_tv, CommonUtil.doubleFormat(item.getPD_ZXBZS()));
+        helper.setText(R.id.item_jlt_pick_material_out_brand_tv, item.getPR_BRAND());
+    }
+}

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

@@ -0,0 +1,23 @@
+package com.uas.pda_wms.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.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/pda_wms/adapter/JLTSearchWhcodeAdapter.java

@@ -0,0 +1,36 @@
+package com.uas.pda_wms.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.pda_wms.R;
+import com.uas.pda_wms.bean.WhcodeBean;
+import com.uas.pda_wms.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.getWhCode();
+        String description = item.getWhDes();
+
+        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);
+    }
+}

+ 119 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTStockInquiryLocationAdapter.java

@@ -0,0 +1,119 @@
+package com.uas.pda_wms.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.pda_wms.R;
+import com.uas.pda_wms.bean.JLTLocationBean;
+import com.uas.pda_wms.bean.JLTStorageModelBean;
+import com.uas.pda_wms.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2019/3/4
+ * Desc: 吉利通 库存查询,仓位
+ */
+public class JLTStockInquiryLocationAdapter extends SecondaryListAdapter<JLTStockInquiryLocationAdapter.GroupItemViewHolder, JLTStockInquiryLocationAdapter.SubItemViewHolder> {
+    private Context mContext;
+    private List<SecondaryListBean<JLTLocationBean, JLTStorageModelBean>> mDatas;
+    private JLTStorageInTodoAdapter.OnSubItemClickListener mOnSubItemClickListener;
+
+    public JLTStockInquiryLocationAdapter(Context context) {
+        mContext = context;
+    }
+
+    public List<SecondaryListBean<JLTLocationBean, JLTStorageModelBean>> getDatas() {
+        return mDatas;
+    }
+
+    public void setDatas(List<SecondaryListBean<JLTLocationBean, JLTStorageModelBean>> datas) {
+        mDatas = datas;
+        initSecondaryList(mDatas, true);
+    }
+
+    public void setOnSubItemClickListener(JLTStorageInTodoAdapter.OnSubItemClickListener onSubItemClickListener) {
+        mOnSubItemClickListener = onSubItemClickListener;
+    }
+
+
+    @Override
+    public RecyclerView.ViewHolder onCreateGroupViewHolder(ViewGroup parent) {
+        View groupView = LayoutInflater.from(mContext).inflate(R.layout.item_jlt_stock_inquiry_location_group, parent, false);
+        return new GroupItemViewHolder(groupView);
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateSubViewHolder(ViewGroup parent) {
+        View subView = LayoutInflater.from(mContext).inflate(R.layout.item_jlt_stock_inquiry_location_sub, parent, false);
+        return new SubItemViewHolder(subView);
+    }
+
+    @Override
+    public void onBindGroupViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex) {
+        ((GroupItemViewHolder) holder).locationTextView.setText(mDatas.get(groupItemIndex).getGroupItem().getLocation());
+        ((GroupItemViewHolder) holder).qtyTextView.setText(CommonUtil.doubleFormat(mDatas.get(groupItemIndex).getGroupItem().getQty()));
+    }
+
+    @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).boxTextView.setText(jltStorageModelBean.getBox());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    @Override
+    public boolean onGroupItemClick(boolean isExpand, GroupItemViewHolder holder, int groupItemIndex) {
+        return true;
+    }
+
+    @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 locationTextView;
+        TextView qtyTextView;
+
+        public GroupItemViewHolder(View itemView) {
+            super(itemView);
+
+            locationTextView = (TextView) itemView.findViewById(R.id.item_jlt_stock_inquiry_location_group_location_tv);
+            qtyTextView = (TextView) itemView.findViewById(R.id.item_jlt_stock_inquiry_location_group_qty_tv);
+        }
+    }
+
+    public class SubItemViewHolder extends RecyclerView.ViewHolder {
+        TextView modelTextView;
+        TextView quantityTextView;
+        TextView boxTextView;
+
+        public SubItemViewHolder(View itemView) {
+            super(itemView);
+
+            modelTextView = (TextView) itemView.findViewById(R.id.item_jlt_stock_inquiry_location_sub_model_tv);
+            quantityTextView = (TextView) itemView.findViewById(R.id.item_jlt_stock_inquiry_location_sub_quantity_tv);
+            boxTextView = (TextView) itemView.findViewById(R.id.item_jlt_stock_inquiry_location_sub_box_tv);
+        }
+    }
+
+    public interface OnSubItemClickListener {
+        void onSubItemClick(String message);
+    }
+}

+ 112 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTStockInquiryModelAdapter.java

@@ -0,0 +1,112 @@
+package com.uas.pda_wms.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.pda_wms.R;
+import com.uas.pda_wms.bean.JLTLocationBean;
+import com.uas.pda_wms.bean.JLTStorageModelBean;
+import com.uas.pda_wms.util.CommonUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2019/3/4
+ * Desc: 吉利通 库存查询,型号
+ */
+public class JLTStockInquiryModelAdapter extends SecondaryListAdapter<JLTStockInquiryModelAdapter.GroupItemViewHolder, JLTStockInquiryModelAdapter.SubItemViewHolder> {
+    private Context mContext;
+    private List<SecondaryListBean<JLTLocationBean, JLTStorageModelBean>> mDatas;
+    private JLTStorageInTodoAdapter.OnSubItemClickListener mOnSubItemClickListener;
+
+    public JLTStockInquiryModelAdapter(Context context) {
+        mContext = context;
+    }
+
+    public List<SecondaryListBean<JLTLocationBean, JLTStorageModelBean>> getDatas() {
+        return mDatas;
+    }
+
+    public void setDatas(List<SecondaryListBean<JLTLocationBean, JLTStorageModelBean>> datas) {
+        mDatas = datas;
+        initSecondaryList(mDatas, true);
+    }
+
+    public void setOnSubItemClickListener(JLTStorageInTodoAdapter.OnSubItemClickListener onSubItemClickListener) {
+        mOnSubItemClickListener = onSubItemClickListener;
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateGroupViewHolder(ViewGroup parent) {
+        View groupView = LayoutInflater.from(mContext).inflate(R.layout.item_jlt_stock_inquiry_model_group, parent, false);
+        return new GroupItemViewHolder(groupView);
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateSubViewHolder(ViewGroup parent) {
+        View subView = LayoutInflater.from(mContext).inflate(R.layout.item_jlt_stock_inquiry_model_sub, parent, false);
+        return new SubItemViewHolder(subView);
+    }
+
+    @Override
+    public void onBindGroupViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex) {
+        ((GroupItemViewHolder) holder).whcodeTextView.setText(mDatas.get(groupItemIndex).getGroupItem().getLocation());
+        ((GroupItemViewHolder) holder).qtyTextView.setText(CommonUtil.doubleFormat(mDatas.get(groupItemIndex).getGroupItem().getQty()));
+    }
+
+    @Override
+    public void onBindSubViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex, int subItemIndex) {
+        try {
+            JLTStorageModelBean jltStorageModelBean = mDatas.get(groupItemIndex).getSubItems().get(subItemIndex);
+            ((SubItemViewHolder) holder).locationTextView.setText(jltStorageModelBean.getBox());
+            ((SubItemViewHolder) holder).quantityTextView.setText(jltStorageModelBean.getQuantity());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public boolean onGroupItemClick(boolean isExpand, GroupItemViewHolder holder, int groupItemIndex) {
+
+        return true;
+    }
+
+    @Override
+    public void onSubItemClick(SubItemViewHolder holder, int groupItemIndex, int subItemIndex) {
+
+    }
+
+    public class GroupItemViewHolder extends RecyclerView.ViewHolder {
+        TextView whcodeTextView;
+        TextView qtyTextView;
+
+        public GroupItemViewHolder(View itemView) {
+            super(itemView);
+
+            whcodeTextView = (TextView) itemView.findViewById(R.id.item_jlt_stock_inquiry_model_group_whcode_tv);
+            qtyTextView = (TextView) itemView.findViewById(R.id.item_jlt_stock_inquiry_model_group_qty_tv);
+        }
+    }
+
+    public class SubItemViewHolder extends RecyclerView.ViewHolder {
+        TextView locationTextView;
+        TextView quantityTextView;
+
+        public SubItemViewHolder(View itemView) {
+            super(itemView);
+
+            locationTextView = (TextView) itemView.findViewById(R.id.item_jlt_stock_inquiry_model_sub_location_tv);
+            quantityTextView = (TextView) itemView.findViewById(R.id.item_jlt_stock_inquiry_model_sub_quantity_tv);
+        }
+    }
+
+    public interface OnSubItemClickListener {
+        void onSubItemClick(String message);
+    }
+}

+ 140 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTStorageInDoneAdapter.java

@@ -0,0 +1,140 @@
+package com.uas.pda_wms.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.pda_wms.R;
+import com.uas.pda_wms.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_pda_wms_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_pda_wms_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);
+            ((SubItemViewHolder) holder).modelTextView.setText(jltStorageModelBean.getModel());
+            ((SubItemViewHolder) holder).quantityTextView.setText(jltStorageModelBean.getQuantity());
+            ((SubItemViewHolder) holder).boxTextView.setText(jltStorageModelBean.getBox());
+        } 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_pda_wms_in_todo_group_num_tv);
+            arrowImageView = (ImageView) itemView.findViewById(R.id.item_pda_wms_in_todo_group_iv);
+        }
+    }
+
+    public class SubItemViewHolder extends RecyclerView.ViewHolder {
+        TextView modelTextView;
+        TextView quantityTextView;
+        TextView boxTextView;
+
+        public SubItemViewHolder(View itemView) {
+            super(itemView);
+
+            modelTextView = (TextView) itemView.findViewById(R.id.item_pda_wms_in_done_sub_model_tv);
+            quantityTextView = (TextView) itemView.findViewById(R.id.item_pda_wms_in_done_sub_quantity_tv);
+            boxTextView = (TextView) itemView.findViewById(R.id.item_pda_wms_in_done_sub_box_tv);
+        }
+    }
+
+    public interface OnSubItemClickListener {
+        void onSubItemClick(String message);
+    }
+}

+ 140 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTStorageInTodoAdapter.java

@@ -0,0 +1,140 @@
+package com.uas.pda_wms.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.pda_wms.R;
+import com.uas.pda_wms.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_pda_wms_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_pda_wms_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());
+        } 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_pda_wms_in_todo_group_num_tv);
+            arrowImageView = (ImageView) itemView.findViewById(R.id.item_pda_wms_in_todo_group_iv);
+        }
+    }
+
+    public class SubItemViewHolder extends RecyclerView.ViewHolder {
+        TextView modelTextView;
+        TextView quantityTextView;
+
+        public SubItemViewHolder(View itemView) {
+            super(itemView);
+
+            modelTextView = (TextView) itemView.findViewById(R.id.item_pda_wms_in_todo_sub_model_tv);
+            quantityTextView = (TextView) itemView.findViewById(R.id.item_pda_wms_in_todo_sub_quantity_tv);
+        }
+    }
+
+    public interface OnSubItemClickListener {
+        void onSubItemClick(JLTStorageModelBean jltStorageModelBean);
+    }
+}

+ 54 - 0
app/src/main/java/com/uas/pda_wms/adapter/JLTUpperShelfBoxAdapter.java

@@ -0,0 +1,54 @@
+package com.uas.pda_wms.adapter;
+
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+import android.view.View;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.bean.BoxBean;
+
+import java.util.List;
+
+public class JLTUpperShelfBoxAdapter extends BaseQuickAdapter<BoxBean, BaseViewHolder> {
+    private OnDeleteListener mOnDeleteListener;
+
+    public void setOnDeleteListener(OnDeleteListener onDeleteListener) {
+        mOnDeleteListener = onDeleteListener;
+    }
+
+    public JLTUpperShelfBoxAdapter(@Nullable List<BoxBean> data) {
+        super(R.layout.item_jlt_upper_shelf_box, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, BoxBean item) {
+        if (item.getUpperStatus() == BoxBean.UPPER_STATUS_ERROR) {
+            helper.setTextColor(R.id.item_jlt_upper_shelf_box_box_tv, mContext.getResources().getColor(R.color.red));
+            helper.setTextColor(R.id.item_jlt_upper_shelf_box_error_tv, mContext.getResources().getColor(R.color.red));
+        } else if (item.getUpperStatus() == BoxBean.UPPER_STATUS_WARN) {
+            helper.setTextColor(R.id.item_jlt_upper_shelf_box_box_tv, mContext.getResources().getColor(R.color.orange));
+            helper.setTextColor(R.id.item_jlt_upper_shelf_box_error_tv, mContext.getResources().getColor(R.color.orange));
+        } else {
+            helper.setTextColor(R.id.item_jlt_upper_shelf_box_box_tv, mContext.getResources().getColor(R.color.value_text_color));
+            helper.setTextColor(R.id.item_jlt_upper_shelf_box_error_tv, mContext.getResources().getColor(R.color.value_text_color));
+        }
+        helper.setText(R.id.item_jlt_upper_shelf_box_box_tv, item.getBoxCode());
+        helper.setOnClickListener(R.id.item_jlt_upper_shelf_box_delete_iv, new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (mOnDeleteListener != null) {
+                    mOnDeleteListener.onDelete(helper.getAdapterPosition());
+                }
+            }
+        });
+
+        helper.setGone(R.id.item_jlt_upper_shelf_box_error_tv, (item.getUpperStatus() != BoxBean.UPPER_STATUS_NORMAL) && !TextUtils.isEmpty(item.getFailStr()));
+        helper.setText(R.id.item_jlt_upper_shelf_box_error_tv, item.getFailStr());
+    }
+
+    public interface OnDeleteListener {
+        void onDelete(int position);
+    }
+}

+ 107 - 0
app/src/main/java/com/uas/pda_wms/adapter/JltStorageInFilterAdapter.java

@@ -0,0 +1,107 @@
+package com.uas.pda_wms.adapter;
+
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+import android.util.Log;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.Filter;
+import android.widget.Filterable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.bean.JLTStorageInBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class JltStorageInFilterAdapter extends BaseQuickAdapter<JLTStorageInBean, BaseViewHolder> implements Filterable {
+    private List<JLTStorageInBean> mFilterList;
+    private OnItemCheckListener mOnItemCheckListener;
+
+    public List<JLTStorageInBean> getFilterList() {
+        return mFilterList;
+    }
+
+    public void setOnItemCheckListener(OnItemCheckListener onItemCheckListener) {
+        mOnItemCheckListener = onItemCheckListener;
+    }
+
+    public JltStorageInFilterAdapter(@Nullable List<JLTStorageInBean> data) {
+        super(R.layout.item_pda_wms_in_filter, data);
+        mFilterList = data;
+    }
+
+    @Nullable
+    @Override
+    public JLTStorageInBean getItem(int position) {
+        return mFilterList.get(position);
+    }
+
+    @Override
+    public int getItemCount() {
+        return mFilterList.size();
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, JLTStorageInBean item) {
+        helper.setText(R.id.item_pda_wms_in_filter_num_tv, item.getPI_INOUTNO());
+        helper.setText(R.id.item_pda_wms_in_filter_state_tv, item.getPI_STATUS());
+        helper.setText(R.id.item_pda_wms_in_filter_type_tv, item.getPI_CLASS());
+
+        helper.setImageResource(R.id.item_pda_wms_in_filter_spread_iv,
+                item.isSpread() ? R.drawable.ic_menu_spread : R.drawable.ic_menu_retract);
+
+        helper.setGone(R.id.item_pda_wms_in_filter_spread_ll, item.isSpread());
+
+        ((CheckBox) helper.getView(R.id.item_pda_wms_in_filter_select_cb)).setOnCheckedChangeListener(null);
+        helper.setChecked(R.id.item_pda_wms_in_filter_select_cb, item.isSelect());
+        helper.setOnCheckedChangeListener(R.id.item_pda_wms_in_filter_select_cb, new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                if (mOnItemCheckListener != null) {
+                    mOnItemCheckListener.onItemCheck(item.getPOS(), isChecked);
+                }
+            }
+        });
+
+        helper.addOnClickListener(R.id.item_pda_wms_in_filter_spread_iv);
+    }
+
+    @Override
+    public Filter getFilter() {
+        return new Filter() {
+            @Override
+            protected FilterResults performFiltering(CharSequence constraint) {
+                String filter = constraint.toString().trim();
+                if (TextUtils.isEmpty(filter)) {
+                    mFilterList = mData;
+                } else {
+                    List<JLTStorageInBean> filteredList = new ArrayList<>();
+                    for (JLTStorageInBean storageInBean : mData) {
+                        if (storageInBean.getPI_INOUTNO().contains(filter)) {
+                            filteredList.add(storageInBean);
+                        }
+                    }
+
+                    mFilterList = filteredList;
+                }
+
+                FilterResults filterResults = new FilterResults();
+                filterResults.values = mFilterList;
+                return filterResults;
+            }
+
+            @Override
+            protected void publishResults(CharSequence constraint, FilterResults results) {
+                mFilterList = (List<JLTStorageInBean>) results.values;
+                notifyDataSetChanged();
+            }
+        };
+    }
+
+    public interface OnItemCheckListener {
+        void onItemCheck(int positon, boolean isChecked);
+    }
+}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

+ 114 - 0
app/src/main/java/com/uas/pda_wms/adapter/StorageRechargeAdapter.java

@@ -0,0 +1,114 @@
+package com.uas.pda_wms.adapter;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.support.v7.app.AlertDialog;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.EditText;
+import android.widget.TextView;
+
+import com.uas.pda_wms.R;
+import com.uas.pda_wms.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;
+    private OnQuantityModifyListener mOnQuantityModifyListener;
+
+    public void setOnQuantityModifyListener(OnQuantityModifyListener onQuantityModifyListener) {
+        mOnQuantityModifyListener = onQuantityModifyListener;
+    }
+
+    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(), position);
+        return convertView;
+    }
+
+    private void initializeViews(StorageRechargeListBean object, ViewHolder holder, final int position) {
+        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());
+
+        holder.quantityModifyTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                View dialogView = View.inflate(context, R.layout.dialog_recharge_modify, null);
+                final EditText modifyEditText = dialogView.findViewById(R.id.recharge_modify_et);
+                final AlertDialog alertDialog = new AlertDialog.Builder(context).setTitle("修改数量")
+                        .setView(dialogView)
+                        .setNegativeButton(R.string.cancel, null)
+                        .setPositiveButton(R.string.confirm, null).create();
+
+                alertDialog.show();
+                alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        String s = modifyEditText.getText().toString();
+                        if (mOnQuantityModifyListener != null) {
+                            mOnQuantityModifyListener.onQuantityModify(alertDialog, s, position);
+                        }
+                    }
+                });
+            }
+        });
+    }
+
+    protected class ViewHolder {
+        private TextView listStorageRechargeOrdercodeTv;
+        private TextView listStorageRechargeOrdernoTv;
+        private TextView listStorageRechargeProdcodeTv;
+        private TextView listStorageRechargeQuantityTv;
+        private TextView listStorageRechargeSpecTv;
+        private TextView quantityModifyTv;
+
+        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);
+            quantityModifyTv = (TextView) view.findViewById(R.id.list_storage_recharge_quantity_modify_tv);
+        }
+    }
+
+    public interface OnQuantityModifyListener {
+        void onQuantityModify(DialogInterface dialogInterface, String text, int position);
+    }
+}

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

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

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

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

+ 79 - 0
app/src/main/java/com/uas/pda_wms/adapter/TransferLocationAdapter.java

@@ -0,0 +1,79 @@
+package com.uas.pda_wms.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.pda_wms.R;
+import com.uas.pda_wms.bean.WHTransfer;
+import com.uas.pda_wms.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);
+        TextView tvOrispeccode = (TextView) view.findViewById(R.id.transfer_orispeccode);
+        TextView tvDetail = (TextView) view.findViewById(R.id.transfer_detail);
+        TextView tvSpec = (TextView) view.findViewById(R.id.transfer_spec);
+
+        //配置数据
+        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()));
+
+        tvOrispeccode.setText(tmpTransfer.getPR_ORISPECCODE());
+        tvDetail.setText(tmpTransfer.getPR_DETAIL());
+        tvSpec.setText(tmpTransfer.getPR_SPEC());
+        return view;
+    }
+}

+ 80 - 0
app/src/main/java/com/uas/pda_wms/adapter/WHCheckMakeDetailListAdapter.java

@@ -0,0 +1,80 @@
+package com.uas.pda_wms.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.pda_wms.R;
+import com.uas.pda_wms.bean.WHMakeMaterialDetail;
+import com.uas.pda_wms.util.CommonUtil;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+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/pda_wms/adapter/WHCheckMakeMaterialListAdapter.java

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

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

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

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

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

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

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

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

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

+ 7 - 0
app/src/main/java/com/uas/pda_wms/bean/BaseSelectEntity.java

@@ -0,0 +1,7 @@
+package com.uas.pda_wms.bean;
+
+import com.chad.library.adapter.base.entity.MultiItemEntity;
+
+public abstract class BaseSelectEntity {
+    public abstract String getItemText();
+}

+ 38 - 0
app/src/main/java/com/uas/pda_wms/bean/BoxBean.java

@@ -0,0 +1,38 @@
+package com.uas.pda_wms.bean;
+
+import com.alibaba.fastjson.annotation.JSONField;
+
+public class BoxBean {
+    public static final int UPPER_STATUS_NORMAL = 11;
+    public static final int UPPER_STATUS_ERROR = 22;
+    public static final int UPPER_STATUS_WARN = 33;
+
+    @JSONField(name = "BoxCode")
+    private String BoxCode;
+    private int upperStatus;
+    private String failStr;
+
+    public String getBoxCode() {
+        return BoxCode;
+    }
+
+    public void setBoxCode(String boxCode) {
+        BoxCode = boxCode;
+    }
+
+    public int getUpperStatus() {
+        return upperStatus;
+    }
+
+    public void setUpperStatus(int upperStatus) {
+        this.upperStatus = upperStatus;
+    }
+
+    public String getFailStr() {
+        return failStr;
+    }
+
+    public void setFailStr(String failStr) {
+        this.failStr = failStr;
+    }
+}

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

@@ -0,0 +1,37 @@
+package com.uas.pda_wms.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/pda_wms/bean/CollectAlreadyBean.java

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

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

+ 37 - 0
app/src/main/java/com/uas/pda_wms/bean/CommonMenuBean.java

@@ -0,0 +1,37 @@
+package com.uas.pda_wms.bean;
+
+public class CommonMenuBean {
+    private String mName;
+    private int mIcon;
+    private Class mPage;
+
+    public CommonMenuBean(String name, int icon, Class page) {
+        mName = name;
+        mIcon = icon;
+        mPage = page;
+    }
+
+    public String getName() {
+        return mName;
+    }
+
+    public void setName(String name) {
+        mName = name;
+    }
+
+    public int getIcon() {
+        return mIcon;
+    }
+
+    public void setIcon(int icon) {
+        mIcon = icon;
+    }
+
+    public Class getPage() {
+        return mPage;
+    }
+
+    public void setPage(Class page) {
+        mPage = page;
+    }
+}

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

@@ -0,0 +1,10 @@
+package com.uas.pda_wms.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/pda_wms/bean/FeederDetail.java

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

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

@@ -0,0 +1,55 @@
+package com.uas.pda_wms.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/pda_wms/bean/IOCOutMakeMaterialOperMsd.java

@@ -0,0 +1,217 @@
+package com.uas.pda_wms.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/pda_wms/bean/IOCOutMakeMaterialSubmit.java

@@ -0,0 +1,147 @@
+package com.uas.pda_wms.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/pda_wms/bean/IOCOutmakeMaterialSplitBean.java

@@ -0,0 +1,51 @@
+package com.uas.pda_wms.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/pda_wms/bean/IPPORT.java

@@ -0,0 +1,15 @@
+package com.uas.pda_wms.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;//总数
+
+    }
+}

+ 148 - 0
app/src/main/java/com/uas/pda_wms/bean/JLTBarcodeParseBean.java

@@ -0,0 +1,148 @@
+package com.uas.pda_wms.bean;
+
+import com.alibaba.fastjson.annotation.JSONField;
+
+public class JLTBarcodeParseBean {
+
+    /**
+     * DATECODE : 2019
+     * LOTNO : lotnoB001
+     * QTY : 20
+     * PRCODE :
+     * ORDERCODE : null
+     * PN : C0603X7R102K100V
+     * MPQ :
+     * BRAND : null
+     */
+
+    @JSONField(name = "DATECODE")
+    private String DATECODE;
+    @JSONField(name = "LOTNO")
+    private String LOTNO;
+    @JSONField(name = "QTY")
+    private double QTY = -1;
+    @JSONField(name = "PRCODE")
+    private String PRCODE;
+    @JSONField(name = "ORDERCODE")
+    private String ORDERCODE;
+    @JSONField(name = "PN")
+    private String PN;
+    @JSONField(name = "MPQ")
+    private String MPQ;
+    @JSONField(name = "BRAND")
+    private String BRAND;
+    @JSONField(name = "OUTBOX")
+    private String OUTBOX;
+    @JSONField(name = "CHECKPO")
+    private String CHECKPO;
+    @JSONField(name = "DATA")
+    private String DATA;
+    @JSONField(name = "PAN")
+    private int PAN;
+    @JSONField(name = "PR_PKG")
+    private String PR_PKG;
+
+    public String getDATECODE() {
+        return DATECODE;
+    }
+
+    public void setDATECODE(String DATECODE) {
+        this.DATECODE = DATECODE;
+    }
+
+    public String getLOTNO() {
+        return LOTNO;
+    }
+
+    public void setLOTNO(String LOTNO) {
+        this.LOTNO = LOTNO;
+    }
+
+    public double getQTY() {
+        return QTY;
+    }
+
+    public void setQTY(double QTY) {
+        this.QTY = QTY;
+    }
+
+    public String getPRCODE() {
+        return PRCODE;
+    }
+
+    public void setPRCODE(String PRCODE) {
+        this.PRCODE = PRCODE;
+    }
+
+    public String getORDERCODE() {
+        return ORDERCODE;
+    }
+
+    public void setORDERCODE(String ORDERCODE) {
+        this.ORDERCODE = ORDERCODE;
+    }
+
+    public String getPN() {
+        return PN;
+    }
+
+    public void setPN(String PN) {
+        this.PN = PN;
+    }
+
+    public String getMPQ() {
+        return MPQ;
+    }
+
+    public void setMPQ(String MPQ) {
+        this.MPQ = MPQ;
+    }
+
+    public String getBRAND() {
+        return BRAND;
+    }
+
+    public void setBRAND(String BRAND) {
+        this.BRAND = BRAND;
+    }
+
+    public String getOUTBOX() {
+        return OUTBOX;
+    }
+
+    public void setOUTBOX(String OUTBOX) {
+        this.OUTBOX = OUTBOX;
+    }
+
+    public String getCHECKPO() {
+        return CHECKPO;
+    }
+
+    public void setCHECKPO(String CHECKPO) {
+        this.CHECKPO = CHECKPO;
+    }
+
+    public String getDATA() {
+        return DATA;
+    }
+
+    public void setDATA(String DATA) {
+        this.DATA = DATA;
+    }
+
+    public int getPAN() {
+        return PAN;
+    }
+
+    public void setPAN(int PAN) {
+        this.PAN = PAN;
+    }
+
+    public String getPR_PKG() {
+        return PR_PKG;
+    }
+
+    public void setPR_PKG(String PR_PKG) {
+        this.PR_PKG = PR_PKG;
+    }
+}

+ 71 - 0
app/src/main/java/com/uas/pda_wms/bean/JLTBoxBean.java

@@ -0,0 +1,71 @@
+package com.uas.pda_wms.bean;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.io.Serializable;
+
+public class JLTBoxBean implements Serializable {
+
+    /**
+     * “LOCATION” : ”H0234”
+     * “BOXCODE” : ”H0234”
+     * “QTY” : 12344
+     * “TRAYNO” : 13
+     * “CU_PRINT_LIMITEDDATE” : “”
+     */
+
+    private long POS;
+    private String LOCATION;
+    private String BOXCODE;
+    private double QTY;
+    private double TRAYNO;
+    private long CU_PRINT_LIMITEDDATE;
+
+    public long getPOS() {
+        return POS;
+    }
+
+    public void setPOS(long POS) {
+        this.POS = POS;
+    }
+
+    public String getLOCATION() {
+        return LOCATION;
+    }
+
+    public void setLOCATION(String LOCATION) {
+        this.LOCATION = LOCATION;
+    }
+
+    public String getBOXCODE() {
+        return BOXCODE;
+    }
+
+    public void setBOXCODE(String BOXCODE) {
+        this.BOXCODE = BOXCODE;
+    }
+
+    public double getQTY() {
+        return QTY;
+    }
+
+    public void setQTY(double QTY) {
+        this.QTY = QTY;
+    }
+
+    public double getTRAYNO() {
+        return TRAYNO;
+    }
+
+    public void setTRAYNO(double TRAYNO) {
+        this.TRAYNO = TRAYNO;
+    }
+
+    public long getCU_PRINT_LIMITEDDATE() {
+        return CU_PRINT_LIMITEDDATE;
+    }
+
+    public void setCU_PRINT_LIMITEDDATE(long CU_PRINT_LIMITEDDATE) {
+        this.CU_PRINT_LIMITEDDATE = CU_PRINT_LIMITEDDATE;
+    }
+}

+ 117 - 0
app/src/main/java/com/uas/pda_wms/bean/JLTBrandEntity.java

@@ -0,0 +1,117 @@
+package com.uas.pda_wms.bean;
+
+import java.util.List;
+
+public class JLTBrandEntity extends BaseSelectEntity {
+
+
+    /**
+     * BRAND : BRAND01
+     * ORDERCODE : ORDERCODE
+     * QTY : 10000
+     * DATECODE : 2019-01-01
+     * LOTNO : LOTNO
+     * OUTBOX : OUTBOX
+     * DATECODEBYPARSE : 2019-01-01
+     * isCheck : false
+     * PN : PN
+     * PKGLIST : [{"PR_CODE":"PR001","MPQ":[1000,1500,3000],"PR_PKG":"PKG01","PR_FBBZL_USER":0},{"PR_CODE":"PR002","MPQ":[1000,1500,3000],"PR_PKG":"PKG02","PR_FBBZL_USER":-1}]
+     */
+
+    private String BRAND;
+    private String ORDERCODE;
+    private double QTY = -1;
+    private String DATECODE;
+    private String LOTNO;
+    private String OUTBOX;
+    private String DATECODEBYPARSE;
+    private boolean isCheck;
+    private String PN;
+    private List<JLTPkgEntity> PKGLIST;
+
+    @Override
+    public String getItemText() {
+        return BRAND;
+    }
+
+    public String getBRAND() {
+        return BRAND;
+    }
+
+    public void setBRAND(String BRAND) {
+        this.BRAND = BRAND;
+    }
+
+    public String getORDERCODE() {
+        return ORDERCODE;
+    }
+
+    public void setORDERCODE(String ORDERCODE) {
+        this.ORDERCODE = ORDERCODE;
+    }
+
+    public double getQTY() {
+        return QTY;
+    }
+
+    public void setQTY(double QTY) {
+        this.QTY = QTY;
+    }
+
+    public String getDATECODE() {
+        return DATECODE;
+    }
+
+    public void setDATECODE(String DATECODE) {
+        this.DATECODE = DATECODE;
+    }
+
+    public String getLOTNO() {
+        return LOTNO;
+    }
+
+    public void setLOTNO(String LOTNO) {
+        this.LOTNO = LOTNO;
+    }
+
+    public String getOUTBOX() {
+        return OUTBOX;
+    }
+
+    public void setOUTBOX(String OUTBOX) {
+        this.OUTBOX = OUTBOX;
+    }
+
+    public String getDATECODEBYPARSE() {
+        return DATECODEBYPARSE;
+    }
+
+    public void setDATECODEBYPARSE(String DATECODEBYPARSE) {
+        this.DATECODEBYPARSE = DATECODEBYPARSE;
+    }
+
+    public boolean isIsCheck() {
+        return isCheck;
+    }
+
+    public void setIsCheck(boolean isCheck) {
+        this.isCheck = isCheck;
+    }
+
+    public String getPN() {
+        return PN;
+    }
+
+    public void setPN(String PN) {
+        this.PN = PN;
+    }
+
+    public List<JLTPkgEntity> getPKGLIST() {
+        return PKGLIST;
+    }
+
+    public void setPKGLIST(List<JLTPkgEntity> PKGLIST) {
+        this.PKGLIST = PKGLIST;
+    }
+
+}

+ 22 - 0
app/src/main/java/com/uas/pda_wms/bean/JLTLocationBean.java

@@ -0,0 +1,22 @@
+package com.uas.pda_wms.bean;
+
+public class JLTLocationBean {
+    private String mLocation;
+    private double mQty;
+
+    public String getLocation() {
+        return mLocation;
+    }
+
+    public void setLocation(String location) {
+        mLocation = location;
+    }
+
+    public double getQty() {
+        return mQty;
+    }
+
+    public void setQty(double qty) {
+        mQty = qty;
+    }
+}

+ 116 - 0
app/src/main/java/com/uas/pda_wms/bean/JLTMaterialBean.java

@@ -0,0 +1,116 @@
+package com.uas.pda_wms.bean;
+
+import java.io.Serializable;
+
+public class JLTMaterialBean implements Serializable {
+
+    /**
+     * BAR_PRODCODE : XXX
+     * BAR_MPN : XXXXX
+     * BAR_REMAIN : 23
+     * BAR_TRAYNO : 23
+     * BAR_ZXBZS : 100
+     * BAR_BRAND : XXX
+     * BAR_WHCODE : XXX
+     */
+
+    private long POS;
+    private String BAR_PRODCODE;
+    private String BAR_MPN;
+    private double BAR_REMAIN;
+    private double BAR_TRAYNO;
+    private double BAR_ZXBZS;
+    private String BAR_BRAND;
+    private String BAR_WHCODE;
+    private String BAR_LOCATION;
+    private String BAR_OUTBOXCODE1;
+    private String oldLocation;
+
+    public long getPOS() {
+        return POS;
+    }
+
+    public void setPOS(long POS) {
+        this.POS = POS;
+    }
+
+    public String getBAR_PRODCODE() {
+        return BAR_PRODCODE;
+    }
+
+    public void setBAR_PRODCODE(String BAR_PRODCODE) {
+        this.BAR_PRODCODE = BAR_PRODCODE;
+    }
+
+    public String getBAR_MPN() {
+        return BAR_MPN;
+    }
+
+    public void setBAR_MPN(String BAR_MPN) {
+        this.BAR_MPN = BAR_MPN;
+    }
+
+    public double getBAR_REMAIN() {
+        return BAR_REMAIN;
+    }
+
+    public void setBAR_REMAIN(double BAR_REMAIN) {
+        this.BAR_REMAIN = BAR_REMAIN;
+    }
+
+    public double getBAR_TRAYNO() {
+        return BAR_TRAYNO;
+    }
+
+    public void setBAR_TRAYNO(double BAR_TRAYNO) {
+        this.BAR_TRAYNO = BAR_TRAYNO;
+    }
+
+    public double getBAR_ZXBZS() {
+        return BAR_ZXBZS;
+    }
+
+    public void setBAR_ZXBZS(double BAR_ZXBZS) {
+        this.BAR_ZXBZS = BAR_ZXBZS;
+    }
+
+    public String getBAR_BRAND() {
+        return BAR_BRAND;
+    }
+
+    public void setBAR_BRAND(String BAR_BRAND) {
+        this.BAR_BRAND = BAR_BRAND;
+    }
+
+    public String getBAR_WHCODE() {
+        return BAR_WHCODE;
+    }
+
+    public void setBAR_WHCODE(String BAR_WHCODE) {
+        this.BAR_WHCODE = BAR_WHCODE;
+    }
+
+    public String getBAR_LOCATION() {
+        return BAR_LOCATION;
+    }
+
+    public void setBAR_LOCATION(String BAR_LOCATION) {
+        this.BAR_LOCATION = BAR_LOCATION;
+    }
+
+    public String getBAR_OUTBOXCODE1() {
+        return BAR_OUTBOXCODE1;
+    }
+
+    public void setBAR_OUTBOXCODE1(String BAR_OUTBOXCODE1) {
+        this.BAR_OUTBOXCODE1 = BAR_OUTBOXCODE1;
+    }
+
+    public String getOldLocation() {
+        return oldLocation;
+    }
+
+    public void setOldLocation(String oldLocation) {
+        this.oldLocation = oldLocation;
+    }
+}

+ 20 - 0
app/src/main/java/com/uas/pda_wms/bean/JLTMpqEntity.java

@@ -0,0 +1,20 @@
+package com.uas.pda_wms.bean;
+
+import com.uas.pda_wms.util.CommonUtil;
+
+public class JLTMpqEntity extends BaseSelectEntity {
+    private double MPQ;
+
+    @Override
+    public String getItemText() {
+        return CommonUtil.doubleFormat(MPQ);
+    }
+
+    public double getMPQ() {
+        return MPQ;
+    }
+
+    public void setMPQ(double MPQ) {
+        this.MPQ = MPQ;
+    }
+}

+ 134 - 0
app/src/main/java/com/uas/pda_wms/bean/JLTPickMaterialBean.java

@@ -0,0 +1,134 @@
+package com.uas.pda_wms.bean;
+
+public class JLTPickMaterialBean {
+
+    /**
+     * PIID : 50730932
+     * DETNO : 1
+     * PR_ORISPECCODE : 67-21S/KKW-H502633Z6/2T
+     * PD_OUTQTY : 1
+     * PD_RESTQTY : 1
+     * PD_ZXBZS : null
+     * PR_BRAND : EVERLIGHT
+     * PR_CODE : J-048025
+     * PD_WHCODE : TEST001
+     */
+
+    private long RN;
+    private long PIID;
+    private long DETNO;
+    private String PR_ORISPECCODE;
+    private double PD_OUTQTY;
+    private double PD_RESTQTY;
+    private double PD_ZXBZS;
+    private String PR_BRAND;
+    private String PR_CODE;
+    private String PD_WHCODE;
+    private int NOHBZ;//是否可以换包 0:可换包 1:不可换包
+    private long CU_PRINT_LIMITEDDATE;
+    private String PR_PKG;//封装形式
+
+    public long getRN() {
+        return RN;
+    }
+
+    public void setRN(long RN) {
+        this.RN = RN;
+    }
+
+    public long getPIID() {
+        return PIID;
+    }
+
+    public void setPIID(long PIID) {
+        this.PIID = PIID;
+    }
+
+    public long getDETNO() {
+        return DETNO;
+    }
+
+    public void setDETNO(long DETNO) {
+        this.DETNO = DETNO;
+    }
+
+    public String getPR_ORISPECCODE() {
+        return PR_ORISPECCODE;
+    }
+
+    public void setPR_ORISPECCODE(String PR_ORISPECCODE) {
+        this.PR_ORISPECCODE = PR_ORISPECCODE;
+    }
+
+    public double getPD_OUTQTY() {
+        return PD_OUTQTY;
+    }
+
+    public void setPD_OUTQTY(double PD_OUTQTY) {
+        this.PD_OUTQTY = PD_OUTQTY;
+    }
+
+    public double getPD_RESTQTY() {
+        return PD_RESTQTY;
+    }
+
+    public void setPD_RESTQTY(double PD_RESTQTY) {
+        this.PD_RESTQTY = PD_RESTQTY;
+    }
+
+    public double getPD_ZXBZS() {
+        return PD_ZXBZS;
+    }
+
+    public void setPD_ZXBZS(double PD_ZXBZS) {
+        this.PD_ZXBZS = PD_ZXBZS;
+    }
+
+    public String getPR_BRAND() {
+        return PR_BRAND;
+    }
+
+    public void setPR_BRAND(String PR_BRAND) {
+        this.PR_BRAND = PR_BRAND;
+    }
+
+    public String getPR_CODE() {
+        return PR_CODE;
+    }
+
+    public void setPR_CODE(String PR_CODE) {
+        this.PR_CODE = PR_CODE;
+    }
+
+    public String getPD_WHCODE() {
+        return PD_WHCODE;
+    }
+
+    public void setPD_WHCODE(String PD_WHCODE) {
+        this.PD_WHCODE = PD_WHCODE;
+    }
+
+    public int getNOHBZ() {
+        return NOHBZ;
+    }
+
+    public void setNOHBZ(int NOHBZ) {
+        this.NOHBZ = NOHBZ;
+    }
+
+    public long getCU_PRINT_LIMITEDDATE() {
+        return CU_PRINT_LIMITEDDATE;
+    }
+
+    public void setCU_PRINT_LIMITEDDATE(long CU_PRINT_LIMITEDDATE) {
+        this.CU_PRINT_LIMITEDDATE = CU_PRINT_LIMITEDDATE;
+    }
+
+    public String getPR_PKG() {
+        return PR_PKG;
+    }
+
+    public void setPR_PKG(String PR_PKG) {
+        this.PR_PKG = PR_PKG;
+    }
+}

+ 67 - 0
app/src/main/java/com/uas/pda_wms/bean/JLTPkgEntity.java

@@ -0,0 +1,67 @@
+package com.uas.pda_wms.bean;
+
+import android.graphics.Color;
+import android.text.SpannableStringBuilder;
+import android.text.TextUtils;
+
+import com.uas.pda_wms.util.SpanUtils;
+
+import java.util.List;
+
+public class JLTPkgEntity extends BaseSelectEntity {
+    /**
+     * PR_CODE : PR001
+     * MPQLIST : [1000,1500,3000]
+     * PR_PKG : PKG01
+     * PR_FBBZL_USER : 0
+     */
+
+    private String PR_CODE;
+    private String PR_PKG;
+    private int PR_FBBZL_USER;
+    private List<JLTMpqEntity> MPQLIST;
+    private SpanUtils mSpanUtils;
+
+    @Override
+    public String getItemText() {
+        mSpanUtils = new SpanUtils();
+        mSpanUtils = mSpanUtils.append(PR_PKG).setForegroundColor(Color.BLACK);
+        if (!TextUtils.isEmpty(PR_CODE)) {
+            mSpanUtils = mSpanUtils.append("(" + PR_CODE + ")").setForegroundColor(Color.GRAY);
+        }
+        SpannableStringBuilder result = mSpanUtils.create();
+        return result.toString();
+    }
+
+    public String getPR_CODE() {
+        return PR_CODE;
+    }
+
+    public void setPR_CODE(String PR_CODE) {
+        this.PR_CODE = PR_CODE;
+    }
+
+    public String getPR_PKG() {
+        return PR_PKG;
+    }
+
+    public void setPR_PKG(String PR_PKG) {
+        this.PR_PKG = PR_PKG;
+    }
+
+    public int getPR_FBBZL_USER() {
+        return PR_FBBZL_USER;
+    }
+
+    public void setPR_FBBZL_USER(int PR_FBBZL_USER) {
+        this.PR_FBBZL_USER = PR_FBBZL_USER;
+    }
+
+    public List<JLTMpqEntity> getMPQLIST() {
+        return MPQLIST;
+    }
+
+    public void setMPQLIST(List<JLTMpqEntity> MPQLIST) {
+        this.MPQLIST = MPQLIST;
+    }
+}

+ 138 - 0
app/src/main/java/com/uas/pda_wms/bean/JLTStorageInBean.java

@@ -0,0 +1,138 @@
+package com.uas.pda_wms.bean;
+
+/**
+ * Created by RaoMeng on 2019/3/5
+ * Desc: 吉利通入库单实体类
+ */
+public class JLTStorageInBean {
+
+    /**
+     * PI_INOUTNO  : YS190227001
+     * PI_ID : 134
+     * PI_CLASS : 采购验收单
+     * PI_TITLE : 供应商
+     * PI_WHCODE : 入库仓库
+     * PI_STATUS : 已提交
+     */
+
+    private int POS;
+    private String PI_INOUTNO;
+    private long PI_ID;
+    private String PI_CLASS;
+    private String PI_TITLE;
+    private String PI_WHCODE;
+    private String PI_WHNAME;
+    private String PI_STATUS;
+    private boolean isSelect = false;
+    private boolean isSpread = false;
+
+    public int getPOS() {
+        return POS;
+    }
+
+    public void setPOS(int POS) {
+        this.POS = POS;
+    }
+
+    public String getPI_INOUTNO() {
+        return PI_INOUTNO;
+    }
+
+    public void setPI_INOUTNO(String PI_INOUTNO) {
+        this.PI_INOUTNO = PI_INOUTNO;
+    }
+
+    public long getPI_ID() {
+        return PI_ID;
+    }
+
+    public void setPI_ID(long PI_ID) {
+        this.PI_ID = PI_ID;
+    }
+
+    public String getPI_CLASS() {
+        return PI_CLASS;
+    }
+
+    public void setPI_CLASS(String PI_CLASS) {
+        this.PI_CLASS = PI_CLASS;
+    }
+
+    public String getPI_TITLE() {
+        return PI_TITLE;
+    }
+
+    public void setPI_TITLE(String PI_TITLE) {
+        this.PI_TITLE = PI_TITLE;
+    }
+
+    public String getPI_WHCODE() {
+        return PI_WHCODE;
+    }
+
+    public void setPI_WHCODE(String PI_WHCODE) {
+        this.PI_WHCODE = PI_WHCODE;
+    }
+
+    public String getPI_STATUS() {
+        return PI_STATUS;
+    }
+
+    public void setPI_STATUS(String PI_STATUS) {
+        this.PI_STATUS = PI_STATUS;
+    }
+
+    public boolean isSelect() {
+        return isSelect;
+    }
+
+    public void setSelect(boolean select) {
+        isSelect = select;
+    }
+
+    public boolean isSpread() {
+        return isSpread;
+    }
+
+    public void setSpread(boolean spread) {
+        isSpread = spread;
+    }
+
+    public String getPI_WHNAME() {
+        return PI_WHNAME;
+    }
+
+    public void setPI_WHNAME(String PI_WHNAME) {
+        this.PI_WHNAME = PI_WHNAME;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        JLTStorageInBean that = (JLTStorageInBean) o;
+
+        if (PI_ID != that.PI_ID) return false;
+        if (PI_INOUTNO != null ? !PI_INOUTNO.equals(that.PI_INOUTNO) : that.PI_INOUTNO != null)
+            return false;
+        if (PI_CLASS != null ? !PI_CLASS.equals(that.PI_CLASS) : that.PI_CLASS != null)
+            return false;
+        if (PI_TITLE != null ? !PI_TITLE.equals(that.PI_TITLE) : that.PI_TITLE != null)
+            return false;
+        if (PI_WHCODE != null ? !PI_WHCODE.equals(that.PI_WHCODE) : that.PI_WHCODE != null)
+            return false;
+        return PI_STATUS != null ? PI_STATUS.equals(that.PI_STATUS) : that.PI_STATUS == null;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = PI_INOUTNO != null ? PI_INOUTNO.hashCode() : 0;
+        result = 31 * result + (int) (PI_ID ^ (PI_ID >>> 32));
+        result = 31 * result + (PI_CLASS != null ? PI_CLASS.hashCode() : 0);
+        result = 31 * result + (PI_TITLE != null ? PI_TITLE.hashCode() : 0);
+        result = 31 * result + (PI_WHCODE != null ? PI_WHCODE.hashCode() : 0);
+        result = 31 * result + (PI_STATUS != null ? PI_STATUS.hashCode() : 0);
+        return result;
+    }
+}

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