Browse Source

数据查询UI备份

raomeng 8 years ago
parent
commit
d31042dfc9
42 changed files with 1074 additions and 33 deletions
  1. 2 2
      WeiChat/build.gradle
  2. 1 0
      WeiChat/src/main/AndroidManifest.xml
  3. 22 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/Constants.java
  4. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/DataInquiryActivity.java
  5. 76 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/DataInquiryListActivity.java
  6. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/DataInquiryMenuListAdapter.java
  7. 13 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/DataInquiryMoreMenuActivity.java
  8. 176 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/PDFDownloadActivity.java
  9. 216 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/PDFUtils.java
  10. 90 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/ReportQueryCriteriaActivity.java
  11. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/ReportStatisticsActivity.java
  12. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/ReportStatisticsMenuListAdapter.java
  13. 12 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/ReportStatisticsMoreMenuActivity.java
  14. 7 0
      WeiChat/src/main/res/color/selector_cancel_text_color.xml
  15. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_action_back.png
  16. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_advanced_filter.png
  17. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_remind_bell.png
  18. BIN
      WeiChat/src/main/res/drawable-mdpi/ic_action_back.png
  19. BIN
      WeiChat/src/main/res/drawable-xhdpi/ic_action_back.png
  20. BIN
      WeiChat/src/main/res/drawable-xhdpi/ic_advanced_filter.png
  21. BIN
      WeiChat/src/main/res/drawable-xhdpi/ic_remind_bell.png
  22. BIN
      WeiChat/src/main/res/drawable-xxhdpi/ic_action_back.png
  23. BIN
      WeiChat/src/main/res/drawable-xxhdpi/ic_advanced_filter.png
  24. BIN
      WeiChat/src/main/res/drawable-xxhdpi/ic_remind_bell.png
  25. 35 0
      WeiChat/src/main/res/drawable/progressbar_diy.xml
  26. 7 0
      WeiChat/src/main/res/drawable/selector_cancel_bg.xml
  27. 7 0
      WeiChat/src/main/res/drawable/selector_confirm_bg.xml
  28. 6 0
      WeiChat/src/main/res/drawable/shape_corner_deep_blue_bg.xml
  29. 6 0
      WeiChat/src/main/res/drawable/shape_corner_shallow_blue_bg.xml
  30. 9 0
      WeiChat/src/main/res/drawable/shape_corner_white_bg.xml
  31. 54 5
      WeiChat/src/main/res/layout/action_data_inquiry_list.xml
  32. 101 4
      WeiChat/src/main/res/layout/activity_data_inquiry_list.xml
  33. 112 0
      WeiChat/src/main/res/layout/activity_pdf_download.xml
  34. 82 4
      WeiChat/src/main/res/layout/activity_report_query_criteria.xml
  35. 7 4
      WeiChat/src/main/res/layout/item_grid_data_inquiry_menu.xml
  36. 5 0
      WeiChat/src/main/res/values-en/strings.xml
  37. 5 0
      WeiChat/src/main/res/values-zh-rCN/strings.xml
  38. 5 0
      WeiChat/src/main/res/values-zh-rTW/strings.xml
  39. 5 0
      WeiChat/src/main/res/values/strings.xml
  40. 7 0
      WeiChat/src/main/res/values/styles.xml
  41. 1 1
      build.gradle
  42. 1 1
      settings.gradle

+ 2 - 2
WeiChat/build.gradle

@@ -139,6 +139,6 @@ dependencies {
     releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
     compile files('libs/core.jar')
     compile 'com.android.support:design:24.2.1'
-
-
+    compile 'com.squareup.okhttp3:okhttp:3.8.1'
+    compile project(':android-pdf-viewer')
 }

+ 1 - 0
WeiChat/src/main/AndroidManifest.xml

@@ -992,6 +992,7 @@
         <activity android:name=".ui.erp.activity.datainquiry.DataInquiryMoreMenuActivity"/>
         <activity android:name=".ui.erp.activity.datainquiry.ReportQueryCriteriaActivity"/>
         <activity android:name=".ui.erp.activity.datainquiry.ReportStatisticsMoreMenuActivity"/>
+        <activity android:name=".ui.erp.activity.datainquiry.PDFDownloadActivity"/>
     </application>
 
 </manifest>

+ 22 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/Constants.java

@@ -0,0 +1,22 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry;
+
+import android.os.Environment;
+
+/**
+ * Created by RaoMeng on 2017/8/16.
+ */
+public interface Constants {
+    interface CONSTANT {
+        String PDF_FILE_NAME = "statement.pdf";
+        String PDF_FILE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/UU/statementFile/";
+
+        //打印成功
+        int DOWNLOAD_SUCCESS = 1;
+        //打印失败
+        int DOWNLOAD_FAILED = 2;
+        //打印过载
+        int PDF_OVERLOAD = 3;
+        //打印进度
+        int DOWNLOAD_PROGRESS = 4;
+    }
+}

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/DataInquiryActivity.java

@@ -48,7 +48,7 @@ public class DataInquiryActivity extends BaseActivity {
 
     private void getMenuData() {
         progressDialog.show();
-        String url = Constants.getAppBaseUrl(this) + "/mobile/qry/queryJsp.action";
+        String url = Constants.getAppBaseUrl(this) + "mobile/qry/queryJsp.action";
         Map<String, Object> params = new HashMap<>();
         params.put("emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();

+ 76 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/DataInquiryListActivity.java

@@ -1,32 +1,104 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry;
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.v7.app.ActionBar;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
 
+import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.erp.view.VoiceSearchView;
+import com.xzjmyk.pm.activity.view.ClearEditText;
+import com.xzjmyk.pm.activity.view.MyListView;
 
 /**
  * Created by RaoMeng on 2017/8/3.
  * 数据查询列表页面
  */
-public class DataInquiryListActivity extends BaseActivity {
-    private VoiceSearchView mVoiceSearchView;
+public class DataInquiryListActivity extends BaseActivity implements View.OnClickListener {
+    private ImageView mBackImageView, mFilterImageView, mVoiceImageView;
+    private ClearEditText mSearchEditText;
+    private GridMenuDataInquiryBean.QueryScheme mQueryScheme;
+    private String mCaller, mId, mCondition;
+
+    private PullToRefreshListView mDataListView;
+    private LinearLayout mFuzzyWholeLl;
+    private LinearLayout mFuzzyHistoryLl;
+    private TextView mHistoryClearTv;
+    private MyListView mHistoryDataLv;
+    private LinearLayout mExactWholeLl;
+    private LinearLayout mExactOptionLl;
+    private MyListView mExactOptionLv;
+    private TextView mExactOptionCancelTv;
+    private TextView mExactOptionResetTv;
+    private TextView mExactOptionConfirmTv;
+    private View mFuzzyViewBg, mExactViewBg;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_data_inquiry_list);
 
+        initViews();
+        initEvents();
+        initDatas();
+    }
+
+    private void initDatas() {
+        progressDialog.show();
+
+    }
+
+    private void initViews() {
         View view = LayoutInflater.from(ct).inflate(R.layout.action_data_inquiry_list, null);
+        mBackImageView = (ImageView) view.findViewById(R.id.back);
+        mFilterImageView = (ImageView) view.findViewById(R.id.data_inquiry_filter_iv);
+        mVoiceImageView = (ImageView) view.findViewById(R.id.data_inquiry_voice_iv);
+        mSearchEditText = (ClearEditText) view.findViewById(R.id.data_inquiry_filter_et);
         ActionBar bar = this.getSupportActionBar();
         bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
-        mVoiceSearchView = (VoiceSearchView) view.findViewById(R.id.data_inquiry_searchview);
         bar.setCustomView(view);
+
+        mDataListView = (PullToRefreshListView) findViewById(R.id.data_inquiry_list_ptlv);
+        mFuzzyWholeLl = (LinearLayout) findViewById(R.id.data_inquiry_list_fuzzy_ll);
+        mFuzzyHistoryLl = (LinearLayout) findViewById(R.id.data_inquiry_list_history_ll);
+        mHistoryClearTv = (TextView) findViewById(R.id.data_inquiry_history_clear_tv);
+        mHistoryDataLv = (MyListView) findViewById(R.id.data_inquiry_list_history_data_lv);
+        mExactWholeLl = (LinearLayout) findViewById(R.id.data_inquiry_list_exact_ll);
+        mExactOptionLl = (LinearLayout) findViewById(R.id.data_inquiry_list_option_ll);
+        mExactOptionLv = (MyListView) findViewById(R.id.data_inquiry_list_option_lv);
+        mExactOptionCancelTv = (TextView) findViewById(R.id.data_inquiry_list_option_cancel_tv);
+        mExactOptionResetTv = (TextView) findViewById(R.id.data_inquiry_list_option_reset_tv);
+        mExactOptionConfirmTv = (TextView) findViewById(R.id.data_inquiry_list_option_confirm_tv);
+        mFuzzyViewBg = findViewById(R.id.data_inquiry_list_fuzzy_bg);
+        mExactViewBg = findViewById(R.id.data_inquiry_list_exact_bg);
+
+        Intent intent = getIntent();
+        if (intent != null) {
+            mQueryScheme = (GridMenuDataInquiryBean.QueryScheme) intent.getSerializableExtra("scheme");
+        }
     }
 
+    private void initEvents() {
+        mBackImageView.setOnClickListener(this);
+        mFilterImageView.setOnClickListener(this);
+        mVoiceImageView.setOnClickListener(this);
+    }
 
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.data_inquiry_filter_iv:
+                break;
+            case R.id.back:
+                onBackPressed();
+                break;
+            case R.id.data_inquiry_voice_iv:
+                break;
+        }
+    }
 }

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/DataInquiryMenuListAdapter.java

@@ -104,7 +104,7 @@ public class DataInquiryMenuListAdapter extends BaseAdapter {
                 } else {
                     intent = new Intent();
                     intent.setClass(context, DataInquiryListActivity.class);
-
+                    intent.putExtra("scheme", querySchemes.get(position));
                     context.startActivity(intent);
                 }
             }

+ 13 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/DataInquiryMoreMenuActivity.java

@@ -2,6 +2,8 @@ package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry;
 
 import android.content.Intent;
 import android.os.Bundle;
+import android.view.View;
+import android.widget.AdapterView;
 import android.widget.ListView;
 
 import com.xzjmyk.pm.activity.R;
@@ -13,7 +15,7 @@ import java.util.List;
 /**
  * Created by RaoMeng on 2017/8/14.
  */
-public class DataInquiryMoreMenuActivity extends BaseActivity {
+public class DataInquiryMoreMenuActivity extends BaseActivity implements AdapterView.OnItemClickListener {
     private ListView mMenuListView;
     private List<String> mMenuStrings;
     private DataInquiryMoreMenuAdapter mDataInquiryMoreMenuAdapter;
@@ -47,5 +49,15 @@ public class DataInquiryMoreMenuActivity extends BaseActivity {
                 mMenuListView.setAdapter(mDataInquiryMoreMenuAdapter);
             }
         }
+
+        mMenuListView.setOnItemClickListener(this);
+    }
+
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+        Intent intent = new Intent();
+        intent.setClass(this, DataInquiryListActivity.class);
+        intent.putExtra("scheme", mQuerySchemes.get(position));
+        startActivity(intent);
     }
 }

+ 176 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/PDFDownloadActivity.java

@@ -0,0 +1,176 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry;
+
+import android.graphics.Canvas;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.ProgressBar;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.github.barteksc.pdfviewer.PDFView;
+import com.github.barteksc.pdfviewer.listener.OnDrawListener;
+import com.github.barteksc.pdfviewer.listener.OnErrorListener;
+import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;
+import com.github.barteksc.pdfviewer.listener.OnPageChangeListener;
+import com.github.barteksc.pdfviewer.listener.OnPageScrollListener;
+import com.github.barteksc.pdfviewer.listener.OnRenderListener;
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+
+import java.io.File;
+
+/**
+ * Created by RaoMeng on 2017/8/17.
+ */
+public class PDFDownloadActivity extends BaseActivity implements View.OnClickListener, OnDrawListener, OnLoadCompleteListener, OnPageChangeListener, OnPageScrollListener, OnErrorListener, OnRenderListener {
+    private PDFView mPDFView;
+    private TextView mStateTextView, mRemainTextView, mReloadTextView, mExitTextView;
+    private ProgressBar mDownloadProgressBar;
+    private RelativeLayout mDownloadRelativeLayout;
+    private LinearLayout mErrorLinearLayout;
+    private String downloadUrl = "";
+
+
+    private Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case Constants.CONSTANT.DOWNLOAD_PROGRESS:
+                    try {
+                        int progress = (int) msg.obj;
+                        mStateTextView.setText(R.string.str_loading);
+                        mDownloadProgressBar.setProgress(progress);
+                        mRemainTextView.setText((100 - progress) + "");
+                    } catch (Exception e) {
+
+                    }
+                    break;
+                case Constants.CONSTANT.DOWNLOAD_SUCCESS:
+                    mStateTextView.setText("报表文件下载成功!");
+                    mDownloadProgressBar.setProgress(100);
+                    mRemainTextView.setText("0");
+                    mDownloadRelativeLayout.postDelayed(new Runnable() {
+                        @Override
+                        public void run() {
+                            mDownloadRelativeLayout.setVisibility(View.GONE);
+                        }
+                    }, 1000);
+                    displayFromFile(new File(Constants.CONSTANT.PDF_FILE_PATH, Constants.CONSTANT.PDF_FILE_NAME));
+                    break;
+                case Constants.CONSTANT.PDF_OVERLOAD:
+                    mErrorLinearLayout.setVisibility(View.VISIBLE);
+                    mStateTextView.setText("数据量过载,报表文件获取失败!");
+                    mDownloadProgressBar.setProgress(0);
+                    mRemainTextView.setText(100 + "");
+                    break;
+                case Constants.CONSTANT.DOWNLOAD_FAILED:
+                    mErrorLinearLayout.setVisibility(View.VISIBLE);
+                    mStateTextView.setText("报表文件下载失败");
+                    mDownloadProgressBar.setProgress(0);
+                    mRemainTextView.setText(100 + "");
+                    break;
+            }
+        }
+    };
+
+    private void displayFromFile(File fileName) {
+        mPDFView.fromFile(fileName)
+//                .pages(0, 2, 1, 3, 3, 3) // all pages are displayed by default
+                .enableSwipe(true) // allows to block changing pages using swipe
+                .swipeHorizontal(true)
+                .enableDoubletap(true)
+                .defaultPage(0)
+                        // allows to draw something on the current page, usually visible in the middle of the screen
+                .onDraw(this)
+                        // allows to draw something on all pages, separately for every page. Called only for visible pages
+                .onDrawAll(this)
+                .onLoad(this) // called after document is loaded and starts to be rendered
+                .onPageChange(this)
+                .onPageScroll(this)
+                .onError(this)
+                .onRender(this) // called after document is rendered for the first time
+                .enableAnnotationRendering(false) // render annotations (such as comments, colors or forms)
+                .password(null)
+                .scrollHandle(null)
+                .enableAntialiasing(true) // improve rendering a little bit on low-res screens
+                        // spacing between pages in dp. To define spacing color, set view background
+                .spacing(10)
+                .load();
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_pdf_download);
+
+        initViews();
+        initEvents();
+        downloadPDF();
+    }
+
+    private void downloadPDF() {
+        PDFUtils.downloadPDF(downloadUrl, mHandler);
+    }
+
+    private void initViews() {
+        mPDFView = (PDFView) findViewById(R.id.pdf_download_pdfview);
+        mStateTextView = (TextView) findViewById(R.id.pdf_download_state_tv);
+        mRemainTextView = (TextView) findViewById(R.id.pdf_download_remain_tv);
+        mDownloadProgressBar = (ProgressBar) findViewById(R.id.pdf_download_progress_pb);
+        mDownloadRelativeLayout = (RelativeLayout) findViewById(R.id.pdf_download_progress_rl);
+        mReloadTextView = (TextView) findViewById(R.id.pdf_download_reload_tv);
+        mExitTextView = (TextView) findViewById(R.id.pdf_download_exit_tv);
+        mErrorLinearLayout = (LinearLayout) findViewById(R.id.pdf_download_error_menu_ll);
+    }
+
+    private void initEvents() {
+        mExitTextView.setOnClickListener(this);
+        mReloadTextView.setOnClickListener(this);
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.pdf_download_exit_tv:
+                onBackPressed();
+                break;
+            case R.id.pdf_download_reload_tv:
+                mErrorLinearLayout.setVisibility(View.GONE);
+                PDFUtils.downloadPDF(downloadUrl, mHandler);
+                break;
+        }
+    }
+
+    @Override
+    public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {
+
+    }
+
+    @Override
+    public void loadComplete(int nbPages) {
+
+    }
+
+    @Override
+    public void onPageChanged(int page, int pageCount) {
+
+    }
+
+    @Override
+    public void onPageScrolled(int page, float positionOffset) {
+
+    }
+
+    @Override
+    public void onError(Throwable t) {
+
+    }
+
+    @Override
+    public void onInitiallyRendered(int nbPages, float pageWidth, float pageHeight) {
+
+    }
+}

+ 216 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/PDFUtils.java

@@ -0,0 +1,216 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry;
+
+import android.os.Handler;
+import android.os.Message;
+import android.text.TextUtils;
+import android.util.Base64;
+
+import org.json.JSONObject;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+
+import okhttp3.Call;
+import okhttp3.Callback;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+
+/**
+ * Created by RaoMeng on 2017/8/16.
+ */
+public class PDFUtils {
+    /**
+     * 下载pdf文件
+     *
+     * @param pdfUrl 文件地址
+     * @param mHandler
+     */
+    public static void downloadPDF(String pdfUrl, final Handler mHandler) {
+        if (pdfUrl == null) {
+            mHandler.sendEmptyMessage(Constants.CONSTANT.DOWNLOAD_FAILED);
+            return;
+        }
+//        try {
+//            pdfUrl = URLEncoder.encode(pdfUrl, "utf-8");
+//        } catch (UnsupportedEncodingException e) {
+//            e.printStackTrace();
+//        }
+        Request mRequest = new Request.Builder().url(pdfUrl).build();
+        OkHttpClient mOkHttpClient = new OkHttpClient.Builder()
+                .sslSocketFactory(createSSLSocketFactory(), new TrustAllCerts())
+                .hostnameVerifier(new TrustAllHostnameVerifier())
+                .build();
+        mOkHttpClient.newCall(mRequest).enqueue(new Callback() {
+            @Override
+            public void onFailure(Call call, IOException e) {
+                mHandler.sendEmptyMessage(Constants.CONSTANT.DOWNLOAD_FAILED);
+            }
+
+            @Override
+            public void onResponse(Call call, okhttp3.Response response) throws IOException {
+                InputStream inputStream = null;
+                byte[] buffer = new byte[2048];
+                int length = 0;
+                FileOutputStream fileOutputStream = null;
+                try {
+                    if (response.body() != null) {
+                        String responseStr = response.body().string();
+                        JSONObject responseObject = new JSONObject(responseStr);
+                        boolean overload = responseObject.optBoolean("overload");
+                        if (overload) {
+                            mHandler.sendEmptyMessage(Constants.CONSTANT.PDF_OVERLOAD);
+                        } else {
+                            File directory = new File(Constants.CONSTANT.PDF_FILE_PATH);
+                            if (!directory.exists() && !directory.isDirectory()) {
+                                directory.mkdirs();
+                            } else {
+                                delAllFile(Constants.CONSTANT.PDF_FILE_PATH);
+                            }
+                            String printData = responseObject.optString("data");
+                            if (TextUtils.isEmpty(printData)) {
+                                mHandler.sendEmptyMessage(Constants.CONSTANT.DOWNLOAD_FAILED);
+                            } else {
+                                inputStream = getStringStream(printData);
+                                if (inputStream != null) {
+                                    int available = inputStream.available();
+                                    File file = new File(Constants.CONSTANT.PDF_FILE_PATH, Constants.CONSTANT.PDF_FILE_NAME);
+                                    fileOutputStream = new FileOutputStream(file);
+                                    int count = 0;
+                                    while ((length = inputStream.read(buffer)) != -1) {
+                                        fileOutputStream.write(buffer, 0, length);
+                                        count += length;
+                                        int progress = (count / available) * 100;
+                                        Message message = Message.obtain();
+                                        message.what = Constants.CONSTANT.DOWNLOAD_PROGRESS;
+                                        message.obj = progress;
+                                        mHandler.sendMessage(message);
+                                    }
+                                    fileOutputStream.flush();
+                                    mHandler.sendEmptyMessage(Constants.CONSTANT.DOWNLOAD_SUCCESS);
+                                }
+                            }
+                        }
+                    } else {
+                        mHandler.sendEmptyMessage(Constants.CONSTANT.DOWNLOAD_FAILED);
+                    }
+
+                } catch (Exception e) {
+                    mHandler.sendEmptyMessage(Constants.CONSTANT.DOWNLOAD_FAILED);
+                    e.printStackTrace();
+                } finally {
+                    if (inputStream != null)
+                        inputStream.close();
+                    if (fileOutputStream != null)
+                        fileOutputStream.close();
+                }
+            }
+        });
+    }
+
+    public static boolean delAllFile(String path) {
+        boolean flag = false;
+        File file = new File(path);
+        if (!file.exists()) {
+            return flag;
+        }
+        if (!file.isDirectory()) {
+            return flag;
+        }
+        String[] tempList = file.list();
+        File temp = null;
+        for (int i = 0; i < tempList.length; i++) {
+            if (path.endsWith(File.separator)) {
+                temp = new File(path + tempList[i]);
+            } else {
+                temp = new File(path + File.separator + tempList[i]);
+            }
+            if (temp.isFile()) {
+                temp.delete();
+            }
+            if (temp.isDirectory()) {
+                delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件
+                delFolder(path + "/" + tempList[i]);//再删除空文件夹
+                flag = true;
+            }
+        }
+        return flag;
+    }
+
+    //删除文件夹
+    //param folderPath 文件夹完整绝对路径
+    public static void delFolder(String folderPath) {
+        try {
+            delAllFile(folderPath); //删除完里面所有内容
+            String filePath = folderPath;
+            filePath = filePath.toString();
+            java.io.File myFilePath = new java.io.File(filePath);
+            myFilePath.delete(); //删除空文件夹
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static InputStream getStringStream(String sInputString) {
+        if (!TextUtils.isEmpty(sInputString)) {
+            try {
+                ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(Base64.decode(sInputString, Base64.DEFAULT));
+                return tInputStringStream;
+            } catch (Exception ex) {
+                ex.printStackTrace();
+            }
+        }
+        return null;
+    }
+
+    public static SSLSocketFactory createSSLSocketFactory() {
+        SSLSocketFactory ssfFactory = null;
+
+        try {
+            SSLContext sc = SSLContext.getInstance("TLS");
+            sc.init(null, new TrustManager[]{new TrustAllCerts()}, new SecureRandom());
+
+            ssfFactory = sc.getSocketFactory();
+        } catch (Exception e) {
+        }
+
+        return ssfFactory;
+    }
+
+    //http://blog.csdn.net/u013686019/article/details/52856389  信任所有证书
+    public static class TrustAllCerts implements X509TrustManager {
+        @Override
+        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+        }
+
+        @Override
+        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+        }
+
+        @Override
+        public X509Certificate[] getAcceptedIssuers() {
+            return new X509Certificate[0];
+        }
+
+
+    }
+
+    public static class TrustAllHostnameVerifier implements HostnameVerifier {
+        @Override
+        public boolean verify(String hostname, SSLSession session) {
+            return true;
+        }
+    }
+}

+ 90 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/ReportQueryCriteriaActivity.java

@@ -1,20 +1,108 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry;
 
+import android.content.Intent;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.view.View;
+import android.widget.TextView;
 
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.Constants;
+import com.xzjmyk.pm.activity.view.MyListView;
+
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
 
 /**
  * Created by RaoMeng on 2017/8/16.
  */
-public class ReportQueryCriteriaActivity extends BaseActivity {
+public class ReportQueryCriteriaActivity extends BaseActivity implements View.OnClickListener {
+    private final int GET_OPTION_DATA = 0X11;
+    private MyListView mOptionListView;
+    private TextView mCancelTextView, mResetTextView, mConfirmTextView;
+    private GridMenuReportStatisticsBean.ListBean mReportInfo;
+    private String mPdfUrl;
+
+    private Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case GET_OPTION_DATA:
+                    progressDialog.dismiss();
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    progressDialog.dismiss();
+                    ToastMessage(msg.getData().getString("result"));
+                    break;
+            }
+        }
+    };
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_report_query_criteria);
 
-        getSupportActionBar().setTitle("报表查询");
+        initViews();
+        initEvents();
+        initDatas();
+    }
+
+    private void initViews() {
+        getSupportActionBar().setTitle(R.string.report_query);
+
+        mOptionListView = (MyListView) findViewById(R.id.report_query_criteria_lv);
+        mCancelTextView = (TextView) findViewById(R.id.report_query_criteria_cancel_btn);
+        mResetTextView = (TextView) findViewById(R.id.report_query_criteria_reset_btn);
+        mConfirmTextView = (TextView) findViewById(R.id.report_query_criteria_confirm_btn);
+
+        Intent intent = getIntent();
+        if (intent != null) {
+            mReportInfo = (GridMenuReportStatisticsBean.ListBean) intent.getSerializableExtra("reportinfo");
+        }
+    }
+
+    private void initEvents() {
+        mCancelTextView.setOnClickListener(this);
+        mResetTextView.setOnClickListener(this);
+        mConfirmTextView.setOnClickListener(this);
+    }
+
+    private void initDatas() {
+        if (mReportInfo != null) {
+            progressDialog.show();
+            String url = Constants.getAppBaseUrl(this) + "mobile/qry/reportCondition.action";
+            Map<String, Object> params = new HashMap<>();
+            params.put("caller", mReportInfo.getCaller());
+            params.put("title", mReportInfo.getTitle());
+            LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+            headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+            ViewUtil.httpSendRequest(this, url, params, mHandler, headers, GET_OPTION_DATA, null, null, "post");
+        } else {
+            ToastMessage("方案信息获取失败!");
+        }
+
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.report_query_criteria_confirm_btn:
+                Intent intent = new Intent();
+                intent.setClass(this, PDFDownloadActivity.class);
+
+                startActivity(intent);
+                break;
+            case R.id.report_query_criteria_reset_btn:
+                // TODO: 2017/8/17 重置条件
+                break;
+            case R.id.report_query_criteria_cancel_btn:
+                break;
+        }
     }
 }

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/ReportStatisticsActivity.java

@@ -48,7 +48,7 @@ public class ReportStatisticsActivity extends BaseActivity {
 
     private void getMenuData() {
         progressDialog.show();
-        String url = Constants.getAppBaseUrl(this) + "/mobile/qry/getReport.action";
+        String url = Constants.getAppBaseUrl(this) + "mobile/qry/getReport.action";
         Map<String, Object> params = new HashMap<>();
         params.put("emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/ReportStatisticsMenuListAdapter.java

@@ -103,7 +103,7 @@ public class ReportStatisticsMenuListAdapter extends BaseAdapter {
                 } else {
                     intent = new Intent();
                     intent.setClass(context, ReportQueryCriteriaActivity.class);
-
+                    intent.putExtra("reportinfo", listBeans.get(position));
                     context.startActivity(intent);
                 }
             }

+ 12 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/ReportStatisticsMoreMenuActivity.java

@@ -2,6 +2,8 @@ package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry;
 
 import android.content.Intent;
 import android.os.Bundle;
+import android.view.View;
+import android.widget.AdapterView;
 import android.widget.ListView;
 
 import com.xzjmyk.pm.activity.R;
@@ -13,7 +15,7 @@ import java.util.List;
 /**
  * Created by RaoMeng on 2017/8/14.
  */
-public class ReportStatisticsMoreMenuActivity extends BaseActivity {
+public class ReportStatisticsMoreMenuActivity extends BaseActivity implements AdapterView.OnItemClickListener {
     private ListView mMenuListView;
     private List<String> mMenuStrings;
     private DataInquiryMoreMenuAdapter mDataInquiryMoreMenuAdapter;
@@ -48,5 +50,14 @@ public class ReportStatisticsMoreMenuActivity extends BaseActivity {
             }
         }
 
+        mMenuListView.setOnItemClickListener(this);
+    }
+
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+        Intent intent = new Intent();
+        intent.setClass(this, ReportQueryCriteriaActivity.class);
+        intent.putExtra("reportinfo", mListBeans.get(position));
+        startActivity(intent);
     }
 }

+ 7 - 0
WeiChat/src/main/res/color/selector_cancel_text_color.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/white" android:state_selected="true"/>
+    <item android:color="@color/white" android:state_pressed="true"/>
+    <item android:color="@color/white" android:state_checked="true"/>
+    <item android:color="@color/titleBlue"/>
+</selector>

BIN
WeiChat/src/main/res/drawable-hdpi/ic_action_back.png


BIN
WeiChat/src/main/res/drawable-hdpi/ic_advanced_filter.png


BIN
WeiChat/src/main/res/drawable-hdpi/ic_remind_bell.png


BIN
WeiChat/src/main/res/drawable-mdpi/ic_action_back.png


BIN
WeiChat/src/main/res/drawable-xhdpi/ic_action_back.png


BIN
WeiChat/src/main/res/drawable-xhdpi/ic_advanced_filter.png


BIN
WeiChat/src/main/res/drawable-xhdpi/ic_remind_bell.png


BIN
WeiChat/src/main/res/drawable-xxhdpi/ic_action_back.png


BIN
WeiChat/src/main/res/drawable-xxhdpi/ic_advanced_filter.png


BIN
WeiChat/src/main/res/drawable-xxhdpi/ic_remind_bell.png


+ 35 - 0
WeiChat/src/main/res/drawable/progressbar_diy.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:id="@android:id/background">
+        <shape>
+            <corners android:radius="10dip" />
+            <solid android:color="#8083a4ae"/>
+        </shape>
+    </item>
+
+    <item android:id="@android:id/secondaryProgress">
+        <clip>
+            <shape>
+                <corners android:radius="10dip" />
+                <gradient
+                    android:startColor="#804d62b3"
+                    android:centerColor="#804360a4"
+                    android:centerY="0.75"
+                    android:endColor="#a0485aa1"
+                    android:angle="270"
+                    />
+            </shape>
+        </clip>
+    </item>
+
+    <item android:id="@android:id/progress">
+        <clip>
+            <shape>
+                <corners android:radius="10dip" />
+                <solid android:color="@android:color/holo_blue_light"/>
+            </shape>
+        </clip>
+    </item>
+
+</layer-list>

+ 7 - 0
WeiChat/src/main/res/drawable/selector_cancel_bg.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/shape_corner_shallow_blue_bg" android:state_selected="true"/>
+    <item android:drawable="@drawable/shape_corner_shallow_blue_bg" android:state_pressed="true"/>
+    <item android:drawable="@drawable/shape_corner_shallow_blue_bg" android:state_checked="true"/>
+    <item android:drawable="@drawable/shape_corner_white_bg"/>
+</selector>

+ 7 - 0
WeiChat/src/main/res/drawable/selector_confirm_bg.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/shape_corner_deep_blue_bg" android:state_selected="true"/>
+    <item android:drawable="@drawable/shape_corner_deep_blue_bg" android:state_pressed="true"/>
+    <item android:drawable="@drawable/shape_corner_deep_blue_bg" android:state_checked="true"/>
+    <item android:drawable="@drawable/shape_corner_shallow_blue_bg"/>
+</selector>

+ 6 - 0
WeiChat/src/main/res/drawable/shape_corner_deep_blue_bg.xml

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

+ 6 - 0
WeiChat/src/main/res/drawable/shape_corner_shallow_blue_bg.xml

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

+ 9 - 0
WeiChat/src/main/res/drawable/shape_corner_white_bg.xml

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

+ 54 - 5
WeiChat/src/main/res/layout/action_data_inquiry_list.xml

@@ -1,9 +1,58 @@
 <?xml version="1.0" encoding="utf-8"?>
-<com.xzjmyk.pm.activity.ui.erp.view.VoiceSearchView
+<RelativeLayout
+    android:id="@+id/top"
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/data_inquiry_searchview"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:layout_height="?attr/actionBarSize"
+    android:background="@color/antionbarcolor">
 
-</com.xzjmyk.pm.activity.ui.erp.view.VoiceSearchView>
+    <ImageView
+        android:id="@+id/back"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:src="@drawable/ic_action_back"/>
+
+    <ImageView
+        android:id="@+id/data_inquiry_filter_iv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentRight="true"
+        android:layout_centerVertical="true"
+        android:src="@drawable/ic_advanced_filter"/>
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:layout_centerInParent="true"
+        android:layout_marginLeft="40dp"
+        android:layout_marginRight="40dp"
+        android:visibility="visible">
+
+        <com.xzjmyk.pm.activity.view.ClearEditText
+            android:id="@+id/data_inquiry_filter_et"
+            android:layout_width="fill_parent"
+            android:layout_height="fill_parent"
+            android:layout_centerVertical="true"
+            android:background="@drawable/search_input"
+            android:drawableLeft="@drawable/search"
+            android:drawableRight="@drawable/search_clear"
+            android:hint="@string/search"
+            android:textColor="@color/dark_grey"
+            android:textColorHint="@color/grey"
+            android:textSize="15sp"/>
+
+        <ImageView
+            android:id="@+id/data_inquiry_voice_iv"
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:layout_alignParentRight="true"
+            android:layout_alignRight="@+id/search_edit"
+            android:layout_centerVertical="true"
+            android:layout_marginRight="10dp"
+            android:background="@drawable/btn_yuyin_nor"
+            android:visibility="visible"/>
+    </RelativeLayout>
+
+
+</RelativeLayout>

+ 101 - 4
WeiChat/src/main/res/layout/activity_data_inquiry_list.xml

@@ -4,16 +4,23 @@
                 android:layout_height="match_parent"
                 android:orientation="vertical">
 
-    <ListView
+    <com.handmark.pulltorefresh.library.PullToRefreshListView
+        android:id="@+id/data_inquiry_list_ptlv"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
+        android:layout_height="match_parent"
+        android:divider="@color/gray_light"
+        android:dividerHeight="1dp"
+        android:layerType="software"
+        android:scrollingCache="false"/>
 
     <LinearLayout
+        android:id="@+id/data_inquiry_list_fuzzy_ll"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical">
 
         <LinearLayout
+            android:id="@+id/data_inquiry_list_history_ll"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:background="@color/white"
@@ -30,18 +37,20 @@
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    android:text="搜索历史"
+                    android:text="@string/search_history"
                     android:textSize="16sp"/>
 
                 <TextView
+                    android:id="@+id/data_inquiry_history_clear_tv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:text="清空"
+                    android:text="@string/str_clear"
                     android:textColor="@color/LightBlue"
                     android:textSize="16sp"/>
             </LinearLayout>
 
             <com.xzjmyk.pm.activity.view.MyListView
+                android:id="@+id/data_inquiry_list_history_data_lv"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:background="@color/white"/>
@@ -49,9 +58,97 @@
         </LinearLayout>
 
         <View
+            android:id="@+id/data_inquiry_list_fuzzy_bg"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="#20000000"
+            />
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/data_inquiry_list_exact_ll"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="horizontal">
+
+        <LinearLayout
+            android:id="@+id/data_inquiry_list_option_ll"
+            android:layout_width="match_parent"
+            android:layout_height="260dp"
+            android:background="@color/white"
+            android:orientation="vertical">
+
+            <ScrollView
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="1">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent">
+
+                    <com.xzjmyk.pm.activity.view.MyListView
+                        android:id="@+id/data_inquiry_list_option_lv"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"/>
+                </LinearLayout>
+            </ScrollView>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:paddingBottom="20dp"
+                android:paddingLeft="10dp"
+                android:paddingRight="10dp"
+                android:paddingTop="10dp">
+
+                <TextView
+                    android:id="@+id/data_inquiry_list_option_cancel_tv"
+                    android:layout_width="0dp"
+                    android:layout_height="35dp"
+                    android:layout_marginLeft="30dp"
+                    android:layout_weight="1"
+                    android:background="@drawable/selector_cancel_bg"
+                    android:gravity="center"
+                    android:text="@string/cancel"
+                    android:textColor="@color/selector_cancel_text_color"
+                    android:textSize="14sp"/>
+
+                <TextView
+                    android:id="@+id/data_inquiry_list_option_reset_tv"
+                    android:layout_width="0dp"
+                    android:layout_height="35dp"
+                    android:layout_marginLeft="20dp"
+                    android:layout_marginRight="20dp"
+                    android:layout_weight="1"
+                    android:background="@drawable/selector_confirm_bg"
+                    android:gravity="center"
+                    android:text="@string/reset"
+                    android:textColor="@color/white"
+                    android:textSize="14sp"/>
+
+                <TextView
+                    android:id="@+id/data_inquiry_list_option_confirm_tv"
+                    android:layout_width="0dp"
+                    android:layout_height="35dp"
+                    android:layout_marginRight="30dp"
+                    android:layout_weight="1"
+                    android:background="@drawable/selector_confirm_bg"
+                    android:gravity="center"
+                    android:text="@string/app_dialog_ok"
+                    android:textColor="@color/white"
+                    android:textSize="14sp"/>
+            </LinearLayout>
+        </LinearLayout>
+
+        <View
+            android:id="@+id/data_inquiry_list_exact_bg"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:background="#20000000"
             />
+
     </LinearLayout>
+
 </RelativeLayout>

+ 112 - 0
WeiChat/src/main/res/layout/activity_pdf_download.xml

@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:fitsSystemWindows="true">
+
+    <com.github.barteksc.pdfviewer.PDFView
+        android:id="@+id/pdf_download_pdfview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
+
+    <RelativeLayout
+        android:id="@+id/pdf_download_progress_rl"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/white">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@+id/pdf_download_state_tv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:text="@string/str_loading"
+                android:textSize="16sp"/>
+
+            <ProgressBar
+                android:id="@+id/pdf_download_progress_pb"
+                style="@style/myprogressbar"
+                android:layout_width="match_parent"
+                android:layout_height="10dp"
+                android:layout_marginBottom="10dp"
+                android:layout_marginLeft="40dp"
+                android:layout_marginRight="40dp"
+                android:layout_marginTop="10dp"
+                android:max="100"
+                android:progress="0"
+                />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="剩余 "
+                    android:textSize="16sp"/>
+
+                <TextView
+                    android:id="@+id/pdf_download_remain_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textColor="@color/titleBlue"
+                    android:textSize="16sp"
+                    tools:text="80"/>
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text=" %"
+                    android:textSize="16sp"/>
+            </LinearLayout>
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/pdf_download_error_menu_ll"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:orientation="vertical"
+            android:padding="10dp"
+            android:visibility="gone">
+
+            <TextView
+                android:id="@+id/pdf_download_reload_tv"
+                android:layout_width="match_parent"
+                android:layout_height="40dp"
+                android:layout_marginBottom="10dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginRight="20dp"
+                android:background="@drawable/selector_confirm_bg"
+                android:gravity="center"
+                android:text="@string/re_download"
+                android:textColor="@color/white"
+                android:textSize="16sp"/>
+
+            <TextView
+                android:id="@+id/pdf_download_exit_tv"
+                android:layout_width="match_parent"
+                android:layout_height="40dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginRight="20dp"
+                android:background="@drawable/selector_cancel_bg"
+                android:gravity="center"
+                android:text="@string/exit"
+                android:textColor="@color/selector_cancel_text_color"
+                android:textSize="16sp"/>
+
+        </LinearLayout>
+
+    </RelativeLayout>
+</RelativeLayout>

+ 82 - 4
WeiChat/src/main/res/layout/activity_report_query_criteria.xml

@@ -1,7 +1,85 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:orientation="vertical">
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
 
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="140dp"
+        android:gravity="center">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:drawableLeft="@drawable/ic_remind_bell"
+            android:drawablePadding="10dp"
+            android:text="@string/report_query_prompt"/>
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@color/gray_light"/>
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <com.xzjmyk.pm.activity.view.MyListView
+                android:id="@+id/report_query_criteria_lv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"/>
+        </LinearLayout>
+    </ScrollView>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:paddingBottom="20dp"
+        android:paddingLeft="10dp"
+        android:paddingRight="10dp"
+        android:paddingTop="10dp">
+
+        <TextView
+            android:id="@+id/report_query_criteria_cancel_btn"
+            android:layout_width="0dp"
+            android:layout_height="35dp"
+            android:layout_marginLeft="30dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_cancel_bg"
+            android:gravity="center"
+            android:text="@string/cancel"
+            android:textColor="@color/selector_cancel_text_color"/>
+
+        <TextView
+            android:id="@+id/report_query_criteria_reset_btn"
+            android:layout_width="0dp"
+            android:layout_height="35dp"
+            android:layout_marginLeft="20dp"
+            android:layout_marginRight="20dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_confirm_bg"
+            android:gravity="center"
+            android:text="@string/reset"
+            android:textColor="@color/white"/>
+
+        <TextView
+            android:id="@+id/report_query_criteria_confirm_btn"
+            android:layout_width="0dp"
+            android:layout_height="35dp"
+            android:layout_marginRight="30dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_confirm_bg"
+            android:gravity="center"
+            android:text="@string/app_dialog_ok"
+            android:textColor="@color/white"/>
+    </LinearLayout>
 </LinearLayout>

+ 7 - 4
WeiChat/src/main/res/layout/item_grid_data_inquiry_menu.xml

@@ -13,17 +13,20 @@
         android:layout_width="50dp"
         android:layout_height="50dp"
         android:gravity="center"
-        android:textSize="20sp"
         android:textColor="@color/white"
+        android:textSize="18sp"
         app:backgroundColor="#4d70a6"
         tools:text="B"/>
 
     <TextView
         android:id="@+id/grid_data_inquiry_menu_content"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
+        android:layout_height="50dp"
         android:layout_marginTop="10dp"
-        android:gravity="center"
-        android:textSize="16sp"
+        android:gravity="center_horizontal"
+        android:maxHeight="200dp"
+        android:maxLines="3"
+        android:minHeight="20dp"
+        android:textSize="14sp"
         tools:text="BOM"/>
 </LinearLayout>

+ 5 - 0
WeiChat/src/main/res/values-en/strings.xml

@@ -1429,5 +1429,10 @@
     <string name="more_queries">更多查询</string>
     <string name="select_query_service">选择查询业务</string>
     <string name="report_query">报表查询</string>
+    <string name="report_query_prompt">报表查询结果是PDF文件,\n需要耗费您一些流量....</string>
+    <string name="str_loading">正在加载...</string>
+    <string name="re_download">重新下载</string>
+    <string name="search_history">搜索历史</string>
+    <string name="str_clear">清空</string>
 
 </resources>

+ 5 - 0
WeiChat/src/main/res/values-zh-rCN/strings.xml

@@ -1541,5 +1541,10 @@
     <string name="more_queries">更多查询</string>
     <string name="select_query_service">选择查询业务</string>
     <string name="report_query">报表查询</string>
+    <string name="report_query_prompt">报表查询结果是PDF文件,\n需要耗费您一些流量....</string>
+    <string name="str_loading">正在加载...</string>
+    <string name="re_download">重新下载</string>
+    <string name="search_history">搜索历史</string>
+    <string name="str_clear">清空</string>
 
 </resources>

+ 5 - 0
WeiChat/src/main/res/values-zh-rTW/strings.xml

@@ -1530,5 +1530,10 @@
     <string name="more_queries">更多查询</string>
     <string name="select_query_service">选择查询业务</string>
     <string name="report_query">报表查询</string>
+    <string name="report_query_prompt">报表查询结果是PDF文件,\n需要耗费您一些流量....</string>
+    <string name="str_loading">正在加载...</string>
+    <string name="re_download">重新下载</string>
+    <string name="search_history">搜索历史</string>
+    <string name="str_clear">清空</string>
 
 </resources>

+ 5 - 0
WeiChat/src/main/res/values/strings.xml

@@ -1872,4 +1872,9 @@
     <string name="more_queries">更多查询</string>
     <string name="select_query_service">选择查询业务</string>
     <string name="report_query">报表查询</string>
+    <string name="report_query_prompt">报表查询结果是PDF文件,\n需要耗费您一些流量....</string>
+    <string name="str_loading">正在加载...</string>
+    <string name="re_download">重新下载</string>
+    <string name="search_history">搜索历史</string>
+    <string name="str_clear">清空</string>
 </resources>

+ 7 - 0
WeiChat/src/main/res/values/styles.xml

@@ -1224,4 +1224,11 @@
         <item name="android:textColor">@color/text_normal</item>
     </style>
 
+    <style name="myprogressbar">
+        <item name="android:indeterminateOnly">false</item>
+        <item name="android:progressDrawable">@drawable/progressbar_diy</item><!-- progress_horizontal -->
+        <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item>
+        <item name="android:minHeight">20dip</item>
+        <item name="android:maxHeight">20dip</item>
+    </style>
 </resources>

+ 1 - 1
build.gradle

@@ -8,7 +8,7 @@ buildscript {
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:2.3.2'
-        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
+        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
         classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
     }
 }

+ 1 - 1
settings.gradle

@@ -1,5 +1,5 @@
 //主工程
-include ':WeiChat', 'message'
+include ':WeiChat', 'message', ':android-pdf-viewer'
 
 //核心模块
 include ':network'