raomeng 8 rokov pred
rodič
commit
6d9362fa05

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

@@ -31,8 +31,10 @@ import com.xzjmyk.pm.activity.audio.voicerecognition.JsonParser;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter.DataInquiryFlexAdapter;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter.DataInquiryFlexAdapter;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter.DataInquirySchemeConditionAdapter;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter.DataInquirySchemeConditionAdapter;
+import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter.DataInquiryTotalAdapter;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter.HistoricalRecordAdapter;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter.HistoricalRecordAdapter;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.DataInquiryFlexBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.DataInquiryFlexBean;
+import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.DataInquiryTotalBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.GridMenuDataInquiryBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.GridMenuDataInquiryBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.SchemeConditionBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.SchemeConditionBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.database.HistoricalRecordBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.database.HistoricalRecordBean;
@@ -70,7 +72,7 @@ import java.util.Map;
 public class DataInquiryListActivity extends BaseActivity implements View.OnClickListener, TextView.OnEditorActionListener {
 public class DataInquiryListActivity extends BaseActivity implements View.OnClickListener, TextView.OnEditorActionListener {
     private final int GET_DATA_RESULT = 0X11;
     private final int GET_DATA_RESULT = 0X11;
     private final int GET_QUERY_CRITERIA = 0X22;
     private final int GET_QUERY_CRITERIA = 0X22;
-    private ImageView mBackImageView, mFilterImageView, mVoiceImageView;
+    private ImageView mBackImageView, mFilterImageView, mVoiceImageView, mTotalHideImageView;
     private ClearEditText mSearchEditText;
     private ClearEditText mSearchEditText;
     private GridMenuDataInquiryBean.QueryScheme mQueryScheme;
     private GridMenuDataInquiryBean.QueryScheme mQueryScheme;
     private String mCaller, mSchemeName, mSchemeId, mCondition;
     private String mCaller, mSchemeName, mSchemeId, mCondition;
@@ -79,9 +81,8 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
     private LinearLayout mFuzzyWholeLl;
     private LinearLayout mFuzzyWholeLl;
     private LinearLayout mFuzzyHistoryLl;
     private LinearLayout mFuzzyHistoryLl;
     private TextView mHistoryClearTv;
     private TextView mHistoryClearTv;
-    private MyListView mHistoryDataLv;
-    private LinearLayout mExactWholeLl;
-    private LinearLayout mExactOptionLl;
+    private MyListView mHistoryDataLv, mTotalLv;
+    private LinearLayout mExactWholeLl, mExactOptionLl, mTotalLl;
     private ListView mExactOptionLv;
     private ListView mExactOptionLv;
     private TextView mExactOptionCancelTv;
     private TextView mExactOptionCancelTv;
     private TextView mExactOptionResetTv;
     private TextView mExactOptionResetTv;
@@ -99,6 +100,8 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
     private List<DataInquiryFlexBean.RowBean.RowChildBean> mAllRowChildBeans;
     private List<DataInquiryFlexBean.RowBean.RowChildBean> mAllRowChildBeans;
     private EmptyLayout mEmptyLayout;
     private EmptyLayout mEmptyLayout;
     private int mOldPosition = -1;
     private int mOldPosition = -1;
+    private DataInquiryTotalAdapter mDataInquiryTotalAdapter;
+    private List<DataInquiryTotalBean> mDataInquiryTotalBeans;
 
 
     private Handler mHandler = new Handler() {
     private Handler mHandler = new Handler() {
         @Override
         @Override
@@ -107,259 +110,306 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
                 case GET_QUERY_CRITERIA:
                 case GET_QUERY_CRITERIA:
                     if (mDataListView.isRefreshing())
                     if (mDataListView.isRefreshing())
                         mDataListView.onRefreshComplete();
                         mDataListView.onRefreshComplete();
-                    String result = msg.getData().getString("result");
-                    if (result != null) {
-                        LogUtil.prinlnLongMsg("querycriteria", msg.getData().getString("result"));
-                        try {
-                            JSONObject resultObject = new JSONObject(result);
-                            JSONArray dataArray = resultObject.optJSONArray("data");
-                            if (dataArray != null) {
-                                String fuzzyHint = "";
-                                for (int i = 0; i < dataArray.length(); i++) {
-                                    JSONObject dataObject = dataArray.optJSONObject(i);
-                                    if (dataObject != null) {
-                                        SchemeConditionBean schemeConditionBean = new SchemeConditionBean();
-                                        String position = optStringNotNull(dataObject, "position");
-                                        String field = optStringNotNull(dataObject, "field");
-                                        boolean appCondition = dataObject.optBoolean("appCondition");
-                                        int width = (int) optLongNotNull(dataObject, "width");
-                                        String caption = optStringNotNull(dataObject, "caption");
-                                        String defaultValue = optStringNotNull(dataObject, "defaultValue");
-                                        String type = optStringNotNull(dataObject, "type");
-
-                                        if (!dataObject.isNull("properties")) {
-                                            JSONArray properties = dataObject.optJSONArray("properties");
-                                            if (properties != null) {
-                                                List<SchemeConditionBean.Property> propertyList = new ArrayList<>();
-                                                for (int j = 0; j < properties.length(); j++) {
-                                                    JSONObject propertyObject = properties.optJSONObject(j);
-                                                    SchemeConditionBean.Property property = new SchemeConditionBean.Property();
-                                                    String value = optStringNotNull(propertyObject, "value");
-                                                    String display = optStringNotNull(propertyObject, "display");
-
-                                                    property.setDisplay(display);
-                                                    property.setValue(value);
-                                                    property.setState(false);
-
-                                                    propertyList.add(property);
-                                                }
-                                                schemeConditionBean.setProperties(propertyList);
-                                            }
-                                        } else {
-                                            ArrayList<SchemeConditionBean.Property> properties = new ArrayList<>();
-                                            if ("N".equals(type)) {
-                                                for (int m = 0; m < 2; m++) {
-                                                    SchemeConditionBean.Property property = new SchemeConditionBean.Property();
-                                                    properties.add(property);
-                                                }
-                                            } else if ("D".equals(type) || "CD".equals(type)) {
-                                                for (int m = 0; m < 2; m++) {
-                                                    SchemeConditionBean.Property property = new SchemeConditionBean.Property();
-                                                    if (m == 0) {
-                                                        property.setDisplay(getMonthFirstDay());
-                                                        property.setValue(getMonthFirstDay());
-                                                    } else if (m == 1) {
-                                                        property.setDisplay(getMonthLastDay());
-                                                        property.setValue(getMonthLastDay());
-                                                    }
-                                                    properties.add(property);
-                                                }
-                                            } else if ("CBG".equals(type) || "EC".equals(type) || "C".equals(type) || "R".equals(type)) {
-
-                                            } else {
-                                                SchemeConditionBean.Property property = new SchemeConditionBean.Property();
-                                                property.setValue(defaultValue);
-                                                property.setDisplay(defaultValue);
-                                                properties.add(property);
-                                            }
-                                            schemeConditionBean.setProperties(properties);
-                                        }
+                    analysisCondition(msg);
+                    getSchemeData();
+                    break;
+                case GET_DATA_RESULT:
+                    if (mDataListView.isRefreshing())
+                        mDataListView.onRefreshComplete();
+                    progressDialog.dismiss();
+                    analysisData(msg);
+                    break;
+                case 0x88:
+                    mTotalLl.setVisibility(View.GONE);
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    if (mDataListView.isRefreshing())
+                        mDataListView.onRefreshComplete();
+                    progressDialog.dismiss();
+                    ToastMessage(msg.getData().getString("result"));
+                    if (mPageIndex > 1) {
+                        mPageIndex--;
+                    }
+                    break;
+            }
+        }
+    };
 
 
-                                        schemeConditionBean.setPosition(position);
-                                        schemeConditionBean.setField(field);
-                                        schemeConditionBean.setAppCondition(appCondition);
-                                        schemeConditionBean.setWidth(width);
-                                        schemeConditionBean.setCaption(caption);
-                                        schemeConditionBean.setDefaultValue(defaultValue);
-                                        schemeConditionBean.setType(type);
-
-                                        mAllSchemeConditions.add(schemeConditionBean);
-
-                                        if (schemeConditionBean.isAppCondition()) {
-                                            mAppSchemeConditions.add(schemeConditionBean);
-                                            if ("S".equals(type)) {
-                                                mfuzzySchemeConditionBeans.add(schemeConditionBean);
-                                            }
-                                        }
-                                    }
-                                }
+    private void analysisData(Message msg) {
+        String result = msg.getData().getString("result");
+        if (result != null) {
+            mDataInquiryTotalBeans.clear();
+            if (mPageIndex == 1)
+                mDataInquiryFlexBeans.clear();
+            LogUtil.prinlnLongMsg("schemedata", msg.getData().getString("result"));
+            try {
+                JSONObject resultObject = new JSONObject(result);
+                JSONArray listArray = resultObject.optJSONArray("listdata");
+                JSONObject totalObject = resultObject.optJSONObject("summaryField");
+
+                if (totalObject != null) {
+                    for (int j = 0; j < mAllSchemeConditions.size(); j++) {
+                        String field = mAllSchemeConditions.get(j).getField();
+                        String caption = mAllSchemeConditions.get(j).getCaption();
+
+                        if (field != null) {
+                            if (!totalObject.isNull(field)) {
+                                DataInquiryTotalBean dataInquiryTotalBean = new DataInquiryTotalBean();
+                                double total = totalObject.optDouble(field);
+                                dataInquiryTotalBean.setCaption(caption);
+                                dataInquiryTotalBean.setField(field);
+                                dataInquiryTotalBean.setTotal(total);
+
+                                mDataInquiryTotalBeans.add(dataInquiryTotalBean);
+                            }
+                        }
+                    }
+                }
 
 
-                                Collections.sort(mAllSchemeConditions);
-                                Collections.sort(mAppSchemeConditions);
+                if (mDataInquiryTotalBeans.size() > 0) {
+                    mTotalLl.setVisibility(View.VISIBLE);
+                } else {
+                    mTotalLl.setVisibility(View.GONE);
+                }
 
 
-                                try {
-                                    mResetSchemeConditionBeans = deepCopy(mAppSchemeConditions);
-                                } catch (IOException e) {
-                                    e.printStackTrace();
-                                } catch (ClassNotFoundException e) {
-                                    e.printStackTrace();
+                mDataInquiryTotalAdapter.notifyDataSetChanged();
+
+                if (listArray != null && listArray.length() > 0) {
+                    if (!TextUtils.isEmpty(mSearchField)) {
+                        HistoricalRecordBean historicalRecordBean = new HistoricalRecordBean();
+                        historicalRecordBean.setSchemeId(mSchemeId);
+                        historicalRecordBean.setSchemeName(mSchemeName);
+                        historicalRecordBean.setSearchField(mSearchField);
+                        HistoricalRecordDao.getInstance().saveToHistoricalRecord(historicalRecordBean);
+
+                        mHistoricalRecordBeans.clear();
+                        List<HistoricalRecordBean> historicalRecordBeansById = HistoricalRecordDao.getInstance().getHistoricalRecordBeansById(mSchemeId);
+                        if (historicalRecordBeansById.size() > 0) {
+                            for (int i = 0; i < historicalRecordBeansById.size(); i++) {
+                                if (i < 6) {
+                                    mHistoricalRecordBeans.add(historicalRecordBeansById.get(i));
                                 }
                                 }
+                            }
+                            mHistoricalRecordAdapter.notifyDataSetChanged();
+                        }
+                    }
 
 
-                                mDataInquirySchemeConditionAdapter.notifyDataSetChanged();
-
-                                for (int i = 0; i < mAppSchemeConditions.size(); i++) {
-                                    if ("S".equals(mAppSchemeConditions.get(i).getType())) {
-                                        fuzzyHint = fuzzyHint + mAppSchemeConditions.get(i).getCaption() + "/";
+                    for (int i = 0; i < listArray.length(); i++) {
+                        mAllRowChildBeans = new ArrayList<>();
+                        JSONObject dataObject = listArray.optJSONObject(i);
+                        if (dataObject != null) {
+                            DataInquiryFlexBean dataInquiryFlexBean = new DataInquiryFlexBean();
+                            dataInquiryFlexBean.setIsFlex(false);
+
+                            List<DataInquiryFlexBean.RowBean> rowBeans = new ArrayList<>();
+
+                            for (int j = 0; j < mAllSchemeConditions.size(); j++) {
+                                String field = mAllSchemeConditions.get(j).getField();
+                                String type = mAllSchemeConditions.get(j).getType();
+                                String caption = mAllSchemeConditions.get(j).getCaption();
+                                String value = dataObject.getString(field);
+
+                                if (value != null) {
+                                    DataInquiryFlexBean.RowBean.RowChildBean rowChildBean = new DataInquiryFlexBean.RowBean.RowChildBean();
+                                    rowChildBean.setCaption(caption);
+                                    if ("null".equals(value)) {
+                                        rowChildBean.setValue("");
+                                    } else {
+                                        if ("D".equals(type) || "CD".equals(type)) {
+                                            value = value.substring(0, value.length() - 8);
+                                        }
+                                        rowChildBean.setValue(value);
                                     }
                                     }
+                                    rowChildBean.setWidth(mAllSchemeConditions.get(j).getWidth());
+
+                                    mAllRowChildBeans.add(rowChildBean);
                                 }
                                 }
-                                if (fuzzyHint.length() > 0) {
-                                    fuzzyHint = fuzzyHint.substring(0, fuzzyHint.length() - 1);
-                                    mSearchEditText.setHint(fuzzyHint);
+                            }
+                            List<DataInquiryFlexBean.RowBean.RowChildBean> shortChildBeans = new ArrayList<>();
+                            List<DataInquiryFlexBean.RowBean.RowChildBean> longChildBeans = new ArrayList<>();
+                            for (int k = 0; k < mAllRowChildBeans.size(); k++) {
+                                DataInquiryFlexBean.RowBean.RowChildBean rowChildBean = mAllRowChildBeans.get(k);
+                                if (rowChildBean.getWidth() <= 100) {
+                                    shortChildBeans.add(rowChildBean);
                                 } else {
                                 } else {
-                                    mSearchEditText.setHint("搜索");
+                                    longChildBeans.add(rowChildBean);
                                 }
                                 }
                             }
                             }
-                        } catch (JSONException e) {
-                            e.printStackTrace();
-                        }
 
 
-                    }
-                    getSchemeData();
-                    break;
-                case GET_DATA_RESULT:
-                    if (mDataListView.isRefreshing())
-                        mDataListView.onRefreshComplete();
-                    progressDialog.dismiss();
-                    result = msg.getData().getString("result");
-                    if (result != null) {
-                        if (mPageIndex == 1)
-                            mDataInquiryFlexBeans.clear();
-                        LogUtil.prinlnLongMsg("schemedata", msg.getData().getString("result"));
-                        try {
-                            JSONObject resultObject = new JSONObject(result);
-                            JSONArray listArray = resultObject.optJSONArray("listdata");
-                            if (listArray != null && listArray.length() > 0) {
-                                if (!TextUtils.isEmpty(mSearchField)) {
-                                    HistoricalRecordBean historicalRecordBean = new HistoricalRecordBean();
-                                    historicalRecordBean.setSchemeId(mSchemeId);
-                                    historicalRecordBean.setSchemeName(mSchemeName);
-                                    historicalRecordBean.setSearchField(mSearchField);
-                                    HistoricalRecordDao.getInstance().saveToHistoricalRecord(historicalRecordBean);
-
-                                    mHistoricalRecordBeans.clear();
-                                    List<HistoricalRecordBean> historicalRecordBeansById = HistoricalRecordDao.getInstance().getHistoricalRecordBeansById(mSchemeId);
-                                    if (historicalRecordBeansById.size() > 0) {
-                                        for (int i = 0; i < historicalRecordBeansById.size(); i++) {
-                                            if (i < 6) {
-                                                mHistoricalRecordBeans.add(historicalRecordBeansById.get(i));
-                                            }
-                                        }
-                                        mHistoricalRecordAdapter.notifyDataSetChanged();
-                                    }
-                                }
+                            for (int k = 0; k < (shortChildBeans.size() / 2); k++) {
+                                DataInquiryFlexBean.RowBean rowBean = new DataInquiryFlexBean.RowBean();
 
 
-                                for (int i = 0; i < listArray.length(); i++) {
-                                    mAllRowChildBeans = new ArrayList<>();
-                                    JSONObject dataObject = listArray.optJSONObject(i);
-                                    if (dataObject != null) {
-                                        DataInquiryFlexBean dataInquiryFlexBean = new DataInquiryFlexBean();
-                                        dataInquiryFlexBean.setIsFlex(false);
-
-                                        List<DataInquiryFlexBean.RowBean> rowBeans = new ArrayList<>();
-
-                                        for (int j = 0; j < mAllSchemeConditions.size(); j++) {
-                                            String field = mAllSchemeConditions.get(j).getField();
-                                            String type = mAllSchemeConditions.get(j).getType();
-                                            String value = dataObject.getString(field);
-                                            if (value != null) {
-                                                DataInquiryFlexBean.RowBean.RowChildBean rowChildBean = new DataInquiryFlexBean.RowBean.RowChildBean();
-                                                rowChildBean.setCaption(mAllSchemeConditions.get(j).getCaption());
-                                                if ("null".equals(value)) {
-                                                    rowChildBean.setValue("");
-                                                } else {
-                                                    if ("D".equals(type) || "CD".equals(type)) {
-                                                        value = value.substring(0, value.length() - 8);
-                                                    }
-                                                    rowChildBean.setValue(value);
-                                                }
-                                                rowChildBean.setWidth(mAllSchemeConditions.get(j).getWidth());
-
-                                                mAllRowChildBeans.add(rowChildBean);
-                                            }
-                                        }
-                                        List<DataInquiryFlexBean.RowBean.RowChildBean> shortChildBeans = new ArrayList<>();
-                                        List<DataInquiryFlexBean.RowBean.RowChildBean> longChildBeans = new ArrayList<>();
-                                        for (int k = 0; k < mAllRowChildBeans.size(); k++) {
-                                            DataInquiryFlexBean.RowBean.RowChildBean rowChildBean = mAllRowChildBeans.get(k);
-                                            if (rowChildBean.getWidth() <= 100) {
-                                                shortChildBeans.add(rowChildBean);
-                                            } else {
-                                                longChildBeans.add(rowChildBean);
-                                            }
-                                        }
+                                List<DataInquiryFlexBean.RowBean.RowChildBean> childBeans = new ArrayList<>();
+                                childBeans.add(shortChildBeans.get(k * 2));
+                                childBeans.add(shortChildBeans.get((k * 2) + 1));
 
 
-                                        for (int k = 0; k < (shortChildBeans.size() / 2); k++) {
-                                            DataInquiryFlexBean.RowBean rowBean = new DataInquiryFlexBean.RowBean();
+                                rowBean.setRowChildBeans(childBeans);
 
 
-                                            List<DataInquiryFlexBean.RowBean.RowChildBean> childBeans = new ArrayList<>();
-                                            childBeans.add(shortChildBeans.get(k * 2));
-                                            childBeans.add(shortChildBeans.get((k * 2) + 1));
+                                rowBeans.add(rowBean);
+                            }
 
 
-                                            rowBean.setRowChildBeans(childBeans);
+                            if ((shortChildBeans.size() % 2) != 0) {
+                                DataInquiryFlexBean.RowBean rowBean = new DataInquiryFlexBean.RowBean();
 
 
-                                            rowBeans.add(rowBean);
-                                        }
+                                List<DataInquiryFlexBean.RowBean.RowChildBean> childBeans = new ArrayList<>();
+                                childBeans.add(shortChildBeans.get(shortChildBeans.size() - 1));
 
 
-                                        if ((shortChildBeans.size() % 2) != 0) {
-                                            DataInquiryFlexBean.RowBean rowBean = new DataInquiryFlexBean.RowBean();
+                                rowBean.setRowChildBeans(childBeans);
 
 
-                                            List<DataInquiryFlexBean.RowBean.RowChildBean> childBeans = new ArrayList<>();
-                                            childBeans.add(shortChildBeans.get(shortChildBeans.size() - 1));
+                                rowBeans.add(rowBean);
+                            }
 
 
-                                            rowBean.setRowChildBeans(childBeans);
+                            for (int k = 0; k < longChildBeans.size(); k++) {
+                                DataInquiryFlexBean.RowBean rowBean = new DataInquiryFlexBean.RowBean();
 
 
-                                            rowBeans.add(rowBean);
-                                        }
+                                List<DataInquiryFlexBean.RowBean.RowChildBean> childBeans = new ArrayList<>();
+                                childBeans.add(longChildBeans.get(k));
 
 
-                                        for (int k = 0; k < longChildBeans.size(); k++) {
-                                            DataInquiryFlexBean.RowBean rowBean = new DataInquiryFlexBean.RowBean();
+                                rowBean.setRowChildBeans(childBeans);
 
 
-                                            List<DataInquiryFlexBean.RowBean.RowChildBean> childBeans = new ArrayList<>();
-                                            childBeans.add(longChildBeans.get(k));
+                                rowBeans.add(rowBean);
+                            }
 
 
-                                            rowBean.setRowChildBeans(childBeans);
+                            dataInquiryFlexBean.setRowBeans(rowBeans);
 
 
-                                            rowBeans.add(rowBean);
-                                        }
+                            mDataInquiryFlexBeans.add(dataInquiryFlexBean);
+                        }
+                    }
+
+                    mDataInquiryFlexAdapter.notifyDataSetChanged();
+                } else {
+                    mDataInquiryFlexAdapter.notifyDataSetChanged();
+                    mEmptyLayout.showEmpty();
+                }
 
 
-                                        dataInquiryFlexBean.setRowBeans(rowBeans);
+            } catch (JSONException e) {
+                mDataInquiryFlexAdapter.notifyDataSetChanged();
+                if (mDataInquiryFlexBeans.size() == 0)
+                    mEmptyLayout.showEmpty();
+                e.printStackTrace();
+            }
+        }
+    }
 
 
-                                        mDataInquiryFlexBeans.add(dataInquiryFlexBean);
+    private void analysisCondition(Message msg) {
+        String result = msg.getData().getString("result");
+        if (result != null) {
+            LogUtil.prinlnLongMsg("querycriteria", msg.getData().getString("result"));
+            try {
+                JSONObject resultObject = new JSONObject(result);
+                JSONArray dataArray = resultObject.optJSONArray("data");
+                if (dataArray != null) {
+                    String fuzzyHint = "";
+                    for (int i = 0; i < dataArray.length(); i++) {
+                        JSONObject dataObject = dataArray.optJSONObject(i);
+                        if (dataObject != null) {
+                            SchemeConditionBean schemeConditionBean = new SchemeConditionBean();
+                            String position = optStringNotNull(dataObject, "position");
+                            String field = optStringNotNull(dataObject, "field");
+                            boolean appCondition = dataObject.optBoolean("appCondition");
+                            int width = (int) optLongNotNull(dataObject, "width");
+                            String caption = optStringNotNull(dataObject, "caption");
+                            String defaultValue = optStringNotNull(dataObject, "defaultValue");
+                            String type = optStringNotNull(dataObject, "type");
+
+                            if (!dataObject.isNull("properties")) {
+                                JSONArray properties = dataObject.optJSONArray("properties");
+                                if (properties != null) {
+                                    List<SchemeConditionBean.Property> propertyList = new ArrayList<>();
+                                    for (int j = 0; j < properties.length(); j++) {
+                                        JSONObject propertyObject = properties.optJSONObject(j);
+                                        SchemeConditionBean.Property property = new SchemeConditionBean.Property();
+                                        String value = optStringNotNull(propertyObject, "value");
+                                        String display = optStringNotNull(propertyObject, "display");
+
+                                        property.setDisplay(display);
+                                        property.setValue(value);
+                                        property.setState(false);
+
+                                        propertyList.add(property);
                                     }
                                     }
+                                    schemeConditionBean.setProperties(propertyList);
                                 }
                                 }
-                                mDataInquiryFlexAdapter.notifyDataSetChanged();
                             } else {
                             } else {
-                                mDataInquiryFlexAdapter.notifyDataSetChanged();
-                                mEmptyLayout.showEmpty();
+                                ArrayList<SchemeConditionBean.Property> properties = new ArrayList<>();
+                                if ("N".equals(type)) {
+                                    for (int m = 0; m < 2; m++) {
+                                        SchemeConditionBean.Property property = new SchemeConditionBean.Property();
+                                        properties.add(property);
+                                    }
+                                } else if ("D".equals(type) || "CD".equals(type)) {
+                                    for (int m = 0; m < 2; m++) {
+                                        SchemeConditionBean.Property property = new SchemeConditionBean.Property();
+                                        if (m == 0) {
+                                            property.setDisplay(getMonthFirstDay());
+                                            property.setValue(getMonthFirstDay());
+                                        } else if (m == 1) {
+                                            property.setDisplay(getMonthLastDay());
+                                            property.setValue(getMonthLastDay());
+                                        }
+                                        properties.add(property);
+                                    }
+                                } else if ("CBG".equals(type) || "EC".equals(type) || "C".equals(type) || "R".equals(type)) {
+
+                                } else {
+                                    SchemeConditionBean.Property property = new SchemeConditionBean.Property();
+                                    property.setValue(defaultValue);
+                                    property.setDisplay(defaultValue);
+                                    properties.add(property);
+                                }
+                                schemeConditionBean.setProperties(properties);
                             }
                             }
 
 
-                        } catch (JSONException e) {
-                            e.printStackTrace();
+                            schemeConditionBean.setPosition(position);
+                            schemeConditionBean.setField(field);
+                            schemeConditionBean.setAppCondition(appCondition);
+                            schemeConditionBean.setWidth(width);
+                            schemeConditionBean.setCaption(caption);
+                            schemeConditionBean.setDefaultValue(defaultValue);
+                            schemeConditionBean.setType(type);
+
+                            mAllSchemeConditions.add(schemeConditionBean);
+
+                            if (schemeConditionBean.isAppCondition()) {
+                                mAppSchemeConditions.add(schemeConditionBean);
+                                if ("S".equals(type)) {
+                                    mfuzzySchemeConditionBeans.add(schemeConditionBean);
+                                }
+                            }
                         }
                         }
                     }
                     }
-                    break;
-                case Constants.APP_SOCKETIMEOUTEXCEPTION:
-                    if (mDataListView.isRefreshing())
-                        mDataListView.onRefreshComplete();
-                    progressDialog.dismiss();
-                    ToastMessage(msg.getData().getString("result"));
-                    if (mPageIndex > 1) {
-                        mPageIndex--;
+
+                    Collections.sort(mAllSchemeConditions);
+                    Collections.sort(mAppSchemeConditions);
+
+                    try {
+                        mResetSchemeConditionBeans = deepCopy(mAppSchemeConditions);
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    } catch (ClassNotFoundException e) {
+                        e.printStackTrace();
                     }
                     }
-                    break;
+
+                    mDataInquirySchemeConditionAdapter.notifyDataSetChanged();
+
+                    for (int i = 0; i < mAppSchemeConditions.size(); i++) {
+                        if ("S".equals(mAppSchemeConditions.get(i).getType())) {
+                            fuzzyHint = fuzzyHint + mAppSchemeConditions.get(i).getCaption() + "/";
+                        }
+                    }
+                    if (fuzzyHint.length() > 0) {
+                        fuzzyHint = fuzzyHint.substring(0, fuzzyHint.length() - 1);
+                        mSearchEditText.setHint(fuzzyHint);
+                    } else {
+                        mSearchEditText.setHint("搜索");
+                    }
+                }
+            } catch (JSONException e) {
+                e.printStackTrace();
             }
             }
+
         }
         }
-    };
+    }
 
 
     @Override
     @Override
     protected void onCreate(Bundle savedInstanceState) {
     protected void onCreate(Bundle savedInstanceState) {
@@ -427,6 +477,9 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
         mExactOptionCancelTv = (TextView) findViewById(R.id.data_inquiry_list_option_cancel_tv);
         mExactOptionCancelTv = (TextView) findViewById(R.id.data_inquiry_list_option_cancel_tv);
         mExactOptionResetTv = (TextView) findViewById(R.id.data_inquiry_list_option_reset_tv);
         mExactOptionResetTv = (TextView) findViewById(R.id.data_inquiry_list_option_reset_tv);
         mExactOptionConfirmTv = (TextView) findViewById(R.id.data_inquiry_list_option_confirm_tv);
         mExactOptionConfirmTv = (TextView) findViewById(R.id.data_inquiry_list_option_confirm_tv);
+        mTotalLl = (LinearLayout) findViewById(R.id.data_inquiry_list_total_ll);
+        mTotalHideImageView = (ImageView) findViewById(R.id.data_inquiry_list_total_hide_iv);
+        mTotalLv = (MyListView) findViewById(R.id.data_inquiry_list_total_lv);
         mFuzzyViewBg = findViewById(R.id.data_inquiry_list_fuzzy_bg);
         mFuzzyViewBg = findViewById(R.id.data_inquiry_list_fuzzy_bg);
         mExactViewBg = findViewById(R.id.data_inquiry_list_exact_bg);
         mExactViewBg = findViewById(R.id.data_inquiry_list_exact_bg);
 
 
@@ -440,6 +493,7 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
         mResetSchemeConditionBeans = new ArrayList<>();
         mResetSchemeConditionBeans = new ArrayList<>();
         mDataInquiryFlexBeans = new ArrayList<>();
         mDataInquiryFlexBeans = new ArrayList<>();
         mAllRowChildBeans = new ArrayList<>();
         mAllRowChildBeans = new ArrayList<>();
+        mDataInquiryTotalBeans = new ArrayList<>();
         mInAnimation = AnimationUtils.loadAnimation(this, R.anim.anim_search_popin);
         mInAnimation = AnimationUtils.loadAnimation(this, R.anim.anim_search_popin);
         mOutAnimation = AnimationUtils.loadAnimation(this, R.anim.anim_search_popout);
         mOutAnimation = AnimationUtils.loadAnimation(this, R.anim.anim_search_popout);
 
 
@@ -455,6 +509,10 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
         mDataInquiryFlexAdapter = new DataInquiryFlexAdapter(this, mDataInquiryFlexBeans);
         mDataInquiryFlexAdapter = new DataInquiryFlexAdapter(this, mDataInquiryFlexBeans);
         mDataListView.setAdapter(mDataInquiryFlexAdapter);
         mDataListView.setAdapter(mDataInquiryFlexAdapter);
 
 
+        mDataInquiryTotalAdapter = new DataInquiryTotalAdapter(this, mDataInquiryTotalBeans);
+        mDataInquiryTotalAdapter.setHandler(mHandler);
+        mTotalLv.setAdapter(mDataInquiryTotalAdapter);
+
         Intent intent = getIntent();
         Intent intent = getIntent();
         if (intent != null) {
         if (intent != null) {
             mQueryScheme = (GridMenuDataInquiryBean.QueryScheme) intent.getSerializableExtra("scheme");
             mQueryScheme = (GridMenuDataInquiryBean.QueryScheme) intent.getSerializableExtra("scheme");
@@ -479,8 +537,6 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
             @Override
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 int reallyPosition = (int) parent.getItemIdAtPosition(position);
                 int reallyPosition = (int) parent.getItemIdAtPosition(position);
-                Log.d("clickposition", reallyPosition + "");
-                Log.d("clickoldposition", mOldPosition + "");
                 if (CommonUtil.isRepeatClick()) {
                 if (CommonUtil.isRepeatClick()) {
                     if (mOldPosition == reallyPosition) {
                     if (mOldPosition == reallyPosition) {
                         mDataInquiryFlexAdapter.getObjects().get(reallyPosition).setIsFlex(!mDataInquiryFlexAdapter.getObjects().get(reallyPosition).isFlex());
                         mDataInquiryFlexAdapter.getObjects().get(reallyPosition).setIsFlex(!mDataInquiryFlexAdapter.getObjects().get(reallyPosition).isFlex());
@@ -583,28 +639,18 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
         mHistoryDataLv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
         mHistoryDataLv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                mFuzzyWholeLl.setVisibility(View.GONE);
-                mHistoryDataLv.setEnabled(false);
-                mSearchEditText.clearFocus();
                 HistoricalRecordBean historicalRecordBean = mHistoricalRecordAdapter.getObjects().get(position);
                 HistoricalRecordBean historicalRecordBean = mHistoricalRecordAdapter.getObjects().get(position);
                 mSearchEditText.setText(historicalRecordBean.getSearchField());
                 mSearchEditText.setText(historicalRecordBean.getSearchField());
-                mSearchField = historicalRecordBean.getSearchField();
 
 
-                if (!TextUtils.isEmpty(mSearchField)) {
-                    mCondition = "";
-                    for (int i = 0; i < mfuzzySchemeConditionBeans.size(); i++) {
-                        mCondition = mCondition + "(" + mfuzzySchemeConditionBeans.get(i).getField()
-                                + " like \'%" + mSearchField + "%\') or ";
-                    }
-                    if (mCondition.length() >= 4) {
-                        mCondition = mCondition.substring(0, mCondition.length() - 4);
-                        mCondition = "(" + mCondition + ")";
-                    }
-                    Log.d("fuzzyCondition", mCondition);
+                searchEvent();
+            }
+        });
 
 
-                    mPageIndex = 1;
-                    progressDialog.show();
-                    getSchemeData();
+        mTotalHideImageView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (mTotalLl.getVisibility() == View.VISIBLE) {
+                    mTotalLl.setVisibility(View.GONE);
                 }
                 }
             }
             }
         });
         });
@@ -776,17 +822,22 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
         } else {
         } else {
             String searchField = mSearchEditText.getText().toString().trim();
             String searchField = mSearchEditText.getText().toString().trim();
             if (!TextUtils.isEmpty(searchField)) {
             if (!TextUtils.isEmpty(searchField)) {
-                mCondition = "";
-                for (int i = 0; i < mfuzzySchemeConditionBeans.size(); i++) {
-                    mCondition = mCondition + "(" + mfuzzySchemeConditionBeans.get(i).getField()
-                            + " like \'%" + searchField + "%\') or ";
-                }
-                if (mCondition.length() >= 4) {
-                    mCondition = mCondition.substring(0, mCondition.length() - 4);
-                    mCondition = "(" + mCondition + ")";
-                }
+                if (mfuzzySchemeConditionBeans.size() == 0) {
+                    ToastMessage("该方案没有可用于模糊查询的字段!");
+                    mSearchEditText.setText("");
+                } else {
+                    mCondition = "";
+                    for (int i = 0; i < mfuzzySchemeConditionBeans.size(); i++) {
+                        mCondition = mCondition + "(" + mfuzzySchemeConditionBeans.get(i).getField()
+                                + " like \'%" + searchField + "%\') or ";
+                    }
+                    if (mCondition.length() >= 4) {
+                        mCondition = mCondition.substring(0, mCondition.length() - 4);
+                        mCondition = "(" + mCondition + ")";
+                    }
 
 
-                Log.d("fuzzyCondition", mCondition);
+                    Log.d("fuzzyCondition", mCondition);
+                }
 
 
             } else {
             } else {
                 mCondition = "1 = 1";
                 mCondition = "1 = 1";

+ 48 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/adapter/DataInquirySchemeConditionAdapter.java

@@ -215,17 +215,55 @@ public class DataInquirySchemeConditionAdapter extends BaseAdapter {
 
 
                 mProperties = object.getProperties();
                 mProperties = object.getProperties();
 
 
+                holder.textview1.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        String time1 = holder.textview1.getText().toString();
+                        String[] times1 = time1.split("-");
+                        if (times1.length >= 3) {
+                            showDateDialog(times1[0], times1[1], times1[2], holder.textview1, object, 0);
+                        } else {
+                            showDateDialog(null, null, null, holder.textview1, object, 0);
+                        }
+                    }
+                });
+
+                holder.textview2.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        String time2 = holder.textview2.getText().toString();
+                        String[] times2 = time2.split("-");
+                        if (times2.length >= 3) {
+                            showDateDialog(times2[0], times2[1], times2[2], holder.textview2, object, 1);
+                        } else {
+                            showDateDialog(null, null, null, holder.textview2, object, 1);
+                        }
+                    }
+                });
+
                 holder.calendar1.setOnClickListener(new View.OnClickListener() {
                 holder.calendar1.setOnClickListener(new View.OnClickListener() {
                     @Override
                     @Override
                     public void onClick(View v) {
                     public void onClick(View v) {
-                        showDateDialog(holder.textview1, object, 0);
+                        String time1 = holder.textview1.getText().toString();
+                        String[] times1 = time1.split("-");
+                        if (times1.length >= 3) {
+                            showDateDialog(times1[0], times1[1], times1[2], holder.textview1, object, 0);
+                        } else {
+                            showDateDialog(null, null, null, holder.textview1, object, 0);
+                        }
                     }
                     }
                 });
                 });
 
 
                 holder.calendar2.setOnClickListener(new View.OnClickListener() {
                 holder.calendar2.setOnClickListener(new View.OnClickListener() {
                     @Override
                     @Override
                     public void onClick(View v) {
                     public void onClick(View v) {
-                        showDateDialog(holder.textview2, object, 1);
+                        String time2 = holder.textview2.getText().toString();
+                        String[] times2 = time2.split("-");
+                        if (times2.length >= 3) {
+                            showDateDialog(times2[0], times2[1], times2[2], holder.textview2, object, 1);
+                        } else {
+                            showDateDialog(null, null, null, holder.textview2, object, 1);
+                        }
                     }
                     }
                 });
                 });
                 break;
                 break;
@@ -387,10 +425,14 @@ public class DataInquirySchemeConditionAdapter extends BaseAdapter {
         return simpleFormate.format(calendar.getTime());
         return simpleFormate.format(calendar.getTime());
     }
     }
 
 
-    private void showDateDialog(final TextView tv, SchemeConditionBean object, int i) {
-        OASigninPicker picker = new OASigninPicker((Activity) context);
-        picker.setRange(CalendarUtils.getCurrentYear(), CalendarUtils.getCurrentMonth(), CalendarUtils.getCurrentDate());
-        picker.setSelectedItem(CalendarUtils.getCurrentYear(), CalendarUtils.getCurrentMonth(), CalendarUtils.getCurrentDate());
+    private void showDateDialog(String year, String month, String day, final TextView tv, SchemeConditionBean object, int i) {
+        OASigninPicker picker = new OASigninPicker((Activity) context, 2000, 2030);
+        picker.setRange(2030, 12, 31);
+        try {
+            picker.setSelectedItem(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
+        } catch (Exception e) {
+            picker.setSelectedItem(CalendarUtils.getCurrentYear(), CalendarUtils.getCurrentMonth(), CalendarUtils.getCurrentDate());
+        }
         picker.setOnDateTimePickListener(new OASigninPicker.OnDateTimePickListener() {
         picker.setOnDateTimePickListener(new OASigninPicker.OnDateTimePickListener() {
             @Override
             @Override
             public void setTime(String year, String month, String day) {
             public void setTime(String year, String month, String day) {

+ 91 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/adapter/DataInquiryTotalAdapter.java

@@ -0,0 +1,91 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.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.ImageView;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.DataInquiryTotalBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DataInquiryTotalAdapter extends BaseAdapter {
+    private List<DataInquiryTotalBean> objects = new ArrayList<DataInquiryTotalBean>();
+    private Handler mHandler;
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public DataInquiryTotalAdapter(Context context, List<DataInquiryTotalBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    public List<DataInquiryTotalBean> getObjects() {
+        return objects;
+    }
+
+    public void setHandler(Handler handler) {
+        mHandler = handler;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public DataInquiryTotalBean 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_data_inquiry_total, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((DataInquiryTotalBean) getItem(position), (ViewHolder) convertView.getTag(), position);
+        return convertView;
+    }
+
+    private void initializeViews(DataInquiryTotalBean object, ViewHolder holder, int position) {
+        holder.dataInquiryItemTotalCaption.setText("当前合计" + object.getCaption() + ":");
+        holder.dataInquiryItemTotalValue.setText(object.getTotal() + "");
+
+        holder.dataInquiryItemTotalDeleteIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                objects.remove(position);
+                notifyDataSetChanged();
+                if (objects.size() == 0 && mHandler != null) {
+                    mHandler.sendEmptyMessage(0x88);
+                }
+            }
+        });
+    }
+
+    protected class ViewHolder {
+        private TextView dataInquiryItemTotalCaption;
+        private TextView dataInquiryItemTotalValue;
+        private ImageView dataInquiryItemTotalDeleteIv;
+
+        public ViewHolder(View view) {
+            dataInquiryItemTotalCaption = (TextView) view.findViewById(R.id.data_inquiry_item_total_caption);
+            dataInquiryItemTotalValue = (TextView) view.findViewById(R.id.data_inquiry_item_total_value);
+            dataInquiryItemTotalDeleteIv = (ImageView) view.findViewById(R.id.data_inquiry_item_total_delete_iv);
+        }
+    }
+}

+ 48 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/adapter/ReportQueryConditionAdapter.java

@@ -192,17 +192,55 @@ public class ReportQueryConditionAdapter extends BaseAdapter {
 
 
                 mProperties = object.getProperties();
                 mProperties = object.getProperties();
 
 
+                holder.textview1.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        String time1 = holder.textview1.getText().toString();
+                        String[] times1 = time1.split("-");
+                        if (times1.length >= 3) {
+                            showDateDialog(times1[0], times1[1], times1[2], holder.textview1, object, 0);
+                        } else {
+                            showDateDialog(null, null, null, holder.textview1, object, 0);
+                        }
+                    }
+                });
+
+                holder.textview2.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        String time2 = holder.textview2.getText().toString();
+                        String[] times2 = time2.split("-");
+                        if (times2.length >= 3) {
+                            showDateDialog(times2[0], times2[1], times2[2], holder.textview2, object, 1);
+                        } else {
+                            showDateDialog(null, null, null, holder.textview2, object, 1);
+                        }
+                    }
+                });
+
                 holder.calendar1.setOnClickListener(new View.OnClickListener() {
                 holder.calendar1.setOnClickListener(new View.OnClickListener() {
                     @Override
                     @Override
                     public void onClick(View v) {
                     public void onClick(View v) {
-                        showDateDialog(holder.textview1, object, 0);
+                        String time1 = holder.textview1.getText().toString();
+                        String[] times1 = time1.split("-");
+                        if (times1.length >= 3) {
+                            showDateDialog(times1[0], times1[1], times1[2], holder.textview1, object, 0);
+                        } else {
+                            showDateDialog(null, null, null, holder.textview1, object, 0);
+                        }
                     }
                     }
                 });
                 });
 
 
                 holder.calendar2.setOnClickListener(new View.OnClickListener() {
                 holder.calendar2.setOnClickListener(new View.OnClickListener() {
                     @Override
                     @Override
                     public void onClick(View v) {
                     public void onClick(View v) {
-                        showDateDialog(holder.textview2, object, 1);
+                        String time2 = holder.textview2.getText().toString();
+                        String[] times2 = time2.split("-");
+                        if (times2.length >= 3) {
+                            showDateDialog(times2[0], times2[1], times2[2], holder.textview2, object, 1);
+                        } else {
+                            showDateDialog(null, null, null, holder.textview2, object, 1);
+                        }
                     }
                     }
                 });
                 });
                 break;
                 break;
@@ -355,10 +393,14 @@ public class ReportQueryConditionAdapter extends BaseAdapter {
         return simpleFormate.format(calendar.getTime());
         return simpleFormate.format(calendar.getTime());
     }
     }
 
 
-    private void showDateDialog(final TextView tv, ReportConditionBean object, int i) {
-        OASigninPicker picker = new OASigninPicker((Activity) context);
-        picker.setRange(CalendarUtils.getCurrentYear(), CalendarUtils.getCurrentMonth(), CalendarUtils.getCurrentDate());
-        picker.setSelectedItem(CalendarUtils.getCurrentYear(), CalendarUtils.getCurrentMonth(), CalendarUtils.getCurrentDate());
+    private void showDateDialog(String year, String month, String day, final TextView tv, ReportConditionBean object, int i) {
+        OASigninPicker picker = new OASigninPicker((Activity) context, 2000, 2030);
+        picker.setRange(2030, 12, 31);
+        try {
+            picker.setSelectedItem(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
+        } catch (Exception e) {
+            picker.setSelectedItem(CalendarUtils.getCurrentYear(), CalendarUtils.getCurrentMonth(), CalendarUtils.getCurrentDate());
+        }
         picker.setOnDateTimePickListener(new OASigninPicker.OnDateTimePickListener() {
         picker.setOnDateTimePickListener(new OASigninPicker.OnDateTimePickListener() {
             @Override
             @Override
             public void setTime(String year, String month, String day) {
             public void setTime(String year, String month, String day) {

+ 34 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/bean/DataInquiryTotalBean.java

@@ -0,0 +1,34 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean;
+
+/**
+ * Created by RaoMeng on 2017/9/2.
+ */
+public class DataInquiryTotalBean {
+    private String mField;
+    private String mCaption;
+    private double mTotal;
+
+    public String getField() {
+        return mField;
+    }
+
+    public void setField(String field) {
+        mField = field;
+    }
+
+    public String getCaption() {
+        return mCaption;
+    }
+
+    public void setCaption(String caption) {
+        mCaption = caption;
+    }
+
+    public double getTotal() {
+        return mTotal;
+    }
+
+    public void setTotal(double total) {
+        mTotal = total;
+    }
+}

+ 14 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/wheel/OASigninPicker.java

@@ -52,6 +52,20 @@ public class OASigninPicker extends WheelPicker {
         }
         }
     }
     }
 
 
+    public OASigninPicker(Activity activity, int startYear, int endYear) {
+        super(activity);
+        textSize = 16;//年月日时分,比较宽,设置字体小一点才能显示完整
+        for (int i = startYear; i <= endYear; i++) {
+            years.add(String.valueOf(i));
+        }
+        for (int i = 1; i <= 12; i++) {
+            months.add(DateUtils.fillZero(i));
+        }
+        for (int i = 1; i <= 31; i++) {
+            days.add(DateUtils.fillZero(i));
+        }
+    }
+
     @NonNull
     @NonNull
     @Override
     @Override
     protected View makeCenterView() {
     protected View makeCenterView() {

+ 29 - 0
WeiChat/src/main/res/layout/activity_data_inquiry_list.xml

@@ -15,6 +15,35 @@
         android:layerType="software"
         android:layerType="software"
         android:scrollingCache="false"/>
         android:scrollingCache="false"/>
 
 
+    <LinearLayout
+        android:id="@+id/data_inquiry_list_total_ll"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
+        android:background="#80FFFFFF"
+        android:orientation="vertical"
+        android:visibility="gone">
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:padding="6dp">
+
+            <ImageView
+                android:id="@+id/data_inquiry_list_total_hide_iv"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_alignParentRight="true"
+                android:layout_marginRight="12dp"
+                android:src="@drawable/node_delete"/>
+        </RelativeLayout>
+
+        <com.xzjmyk.pm.activity.view.MyListView
+            android:id="@+id/data_inquiry_list_total_lv"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"/>
+    </LinearLayout>
+
     <LinearLayout
     <LinearLayout
         android:id="@+id/data_inquiry_list_fuzzy_ll"
         android:id="@+id/data_inquiry_list_fuzzy_ll"
         android:layout_width="match_parent"
         android:layout_width="match_parent"

+ 36 - 0
WeiChat/src/main/res/layout/item_list_data_inquiry_total.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="horizontal"
+    android:padding="10dp">
+
+    <TextView
+        android:id="@+id/data_inquiry_item_total_caption"
+        android:layout_width="0dp"
+        android:layout_height="match_parent"
+        android:layout_weight="1"
+        android:gravity="right|center_vertical"
+        android:textSize="14sp"
+        tools:text="current whoal:"/>
+
+    <TextView
+        android:id="@+id/data_inquiry_item_total_value"
+        android:layout_width="0dp"
+        android:layout_height="match_parent"
+        android:layout_weight="1"
+        android:gravity="center_vertical"
+        android:textColor="@color/titleBlue"
+        android:layout_marginLeft="6dp"
+        android:textSize="14sp"
+        tools:text="349013718.270345"/>
+
+    <ImageView
+        android:id="@+id/data_inquiry_item_total_delete_iv"
+        android:layout_width="20dp"
+        android:layout_height="20dp"
+        android:layout_marginRight="6dp"
+        android:src="@drawable/to_back"/>
+</LinearLayout>