raomeng 8 роки тому
батько
коміт
a8fc9ee6f0
14 змінених файлів з 816 додано та 194 видалено
  1. 226 27
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/activity/DataInquiryListActivity.java
  2. 87 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/adapter/DataInquiryFlexAdapter.java
  3. 89 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/adapter/DataInquiryFlexChildAdapter.java
  4. 214 17
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/adapter/DataInquirySchemeConditionAdapter.java
  5. 69 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/adapter/ItemGridDataInquiryExactAdapter.java
  6. 0 66
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/adapter/ItemListDataInquiryAdapter.java
  7. 0 69
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/adapter/ItemListDataInquiryChildAdapter.java
  8. 69 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/bean/DataInquiryFlexBean.java
  9. 18 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/bean/SchemeConditionBean.java
  10. 2 1
      WeiChat/src/main/res/layout/activity_data_inquiry_list.xml
  11. 10 0
      WeiChat/src/main/res/layout/item_grid_data_inquiry_exact.xml
  12. 2 1
      WeiChat/src/main/res/layout/item_list_data_inquiry.xml
  13. 15 7
      WeiChat/src/main/res/layout/item_list_data_inquiry_child.xml
  14. 15 6
      WeiChat/src/main/res/layout/item_list_data_inquiry_exact_query.xml

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

@@ -26,8 +26,12 @@ import com.iflytek.cloud.ui.RecognizerDialogListener;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.audio.voicerecognition.JsonParser;
 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.DataInquirySchemeConditionAdapter;
 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.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.database.HistoricalRecordBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.database.HistoricalRecordBean;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.database.HistoricalRecordDao;
 import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.database.HistoricalRecordDao;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
@@ -76,6 +80,11 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
     private List<HistoricalRecordBean> mHistoricalRecordBeans;
     private List<HistoricalRecordBean> mHistoricalRecordBeans;
     private HistoricalRecordAdapter mHistoricalRecordAdapter;
     private HistoricalRecordAdapter mHistoricalRecordAdapter;
     private String mSearchField = "";
     private String mSearchField = "";
+    private List<SchemeConditionBean> mAllSchemeConditions, mAppSchemeConditions;
+    private DataInquirySchemeConditionAdapter mDataInquirySchemeConditionAdapter;
+    private List<DataInquiryFlexBean> mDataInquiryFlexBeans;
+    private DataInquiryFlexAdapter mDataInquiryFlexAdapter;
+    private List<DataInquiryFlexBean.RowBean.RowChildBean> mAllRowChildBeans;
 
 
     private Handler mHandler = new Handler() {
     private Handler mHandler = new Handler() {
         @Override
         @Override
@@ -85,7 +94,80 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
                     String result = msg.getData().getString("result");
                     String result = msg.getData().getString("result");
                     if (result != null) {
                     if (result != null) {
                         LogUtil.prinlnLongMsg("querycriteria", msg.getData().getString("result"));
                         LogUtil.prinlnLongMsg("querycriteria", msg.getData().getString("result"));
-
+                        try {
+                            JSONObject resultObject = new JSONObject(result);
+                            JSONArray dataArray = resultObject.optJSONArray("data");
+                            if (dataArray != null) {
+                                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 ("S".equals(type)) {
+                                                SchemeConditionBean.Property property = new SchemeConditionBean.Property();
+                                                properties.add(property);
+                                            } else 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();
+                                                    properties.add(property);
+                                                }
+                                            } else if ("CBG".equals(type) || "C".equals(type) || "R".equals(type)) {
+
+                                            }
+                                            schemeConditionBean.setProperties(properties);
+                                        }
+
+                                        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);
+                                        }
+                                    }
+                                }
+                                mDataInquirySchemeConditionAdapter.notifyDataSetChanged();
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
 
 
                     }
                     }
                     getSchemeData();
                     getSchemeData();
@@ -94,6 +176,7 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
                     progressDialog.dismiss();
                     progressDialog.dismiss();
                     result = msg.getData().getString("result");
                     result = msg.getData().getString("result");
                     if (result != null) {
                     if (result != null) {
+                        mDataInquiryFlexBeans.clear();
                         LogUtil.prinlnLongMsg("schemedata", msg.getData().getString("result"));
                         LogUtil.prinlnLongMsg("schemedata", msg.getData().getString("result"));
                         try {
                         try {
                             JSONObject resultObject = new JSONObject(result);
                             JSONObject resultObject = new JSONObject(result);
@@ -105,8 +188,93 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
                                     historicalRecordBean.setSchemeName(mSchemeName);
                                     historicalRecordBean.setSchemeName(mSchemeName);
                                     historicalRecordBean.setSearchField(mSearchField);
                                     historicalRecordBean.setSearchField(mSearchField);
                                     HistoricalRecordDao.getInstance().saveToHistoricalRecord(historicalRecordBean);
                                     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 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 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 {
+                                                    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);
+                                            }
+                                        }
+                                        for (int k = 0; k < longChildBeans.size(); k++) {
+                                            DataInquiryFlexBean.RowBean rowBean = new DataInquiryFlexBean.RowBean();
+
+                                            List<DataInquiryFlexBean.RowBean.RowChildBean> childBeans = new ArrayList<>();
+                                            childBeans.add(longChildBeans.get(k));
+
+                                            rowBean.setRowChildBeans(childBeans);
+
+                                            rowBeans.add(rowBean);
+                                        }
+
+                                        for (int k = 0; k < (shortChildBeans.size() / 2); k++) {
+                                            DataInquiryFlexBean.RowBean rowBean = new DataInquiryFlexBean.RowBean();
+
+                                            List<DataInquiryFlexBean.RowBean.RowChildBean> childBeans = new ArrayList<>();
+                                            childBeans.add(shortChildBeans.get(k * 2));
+                                            childBeans.add(shortChildBeans.get((k * 2) + 1));
+
+                                            rowBean.setRowChildBeans(childBeans);
+
+                                            rowBeans.add(rowBean);
+                                        }
+
+                                        if ((shortChildBeans.size() % 2) != 0) {
+                                            DataInquiryFlexBean.RowBean rowBean = new DataInquiryFlexBean.RowBean();
+
+                                            List<DataInquiryFlexBean.RowBean.RowChildBean> childBeans = new ArrayList<>();
+                                            childBeans.add(shortChildBeans.get(shortChildBeans.size() - 1));
+
+                                            rowBean.setRowChildBeans(childBeans);
+
+                                            rowBeans.add(rowBean);
+                                        }
+                                        dataInquiryFlexBean.setRowBeans(rowBeans);
+
+                                        mDataInquiryFlexBeans.add(dataInquiryFlexBean);
+                                    }
+                                }
+                                mDataInquiryFlexAdapter.notifyDataSetChanged();
                             }
                             }
                         } catch (JSONException e) {
                         } catch (JSONException e) {
                             e.printStackTrace();
                             e.printStackTrace();
@@ -133,6 +301,20 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
 
 
     private void initDatas() {
     private void initDatas() {
         mCondition = "1 = 1";
         mCondition = "1 = 1";
+
+        mHistoricalRecordAdapter = new HistoricalRecordAdapter(DataInquiryListActivity.this, mHistoricalRecordBeans);
+        mHistoryDataLv.setAdapter(mHistoricalRecordAdapter);
+
+        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();
+        }
+
         if (mQueryScheme != null) {
         if (mQueryScheme != null) {
             progressDialog.show();
             progressDialog.show();
             String url = Constants.getAppBaseUrl(this) + "mobile/qry/schemeCondition.action";
             String url = Constants.getAppBaseUrl(this) + "mobile/qry/schemeCondition.action";
@@ -169,9 +351,19 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
         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);
         mHistoricalRecordBeans = new ArrayList<>();
         mHistoricalRecordBeans = new ArrayList<>();
+        mAllSchemeConditions = new ArrayList<>();
+        mAppSchemeConditions = new ArrayList<>();
+        mDataInquiryFlexBeans = new ArrayList<>();
+        mAllRowChildBeans = 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);
 
 
+        mDataInquirySchemeConditionAdapter = new DataInquirySchemeConditionAdapter(this, mAppSchemeConditions);
+        mExactOptionLv.setAdapter(mDataInquirySchemeConditionAdapter);
+
+        mDataInquiryFlexAdapter = new DataInquiryFlexAdapter(this, mDataInquiryFlexBeans);
+        mDataListView.setAdapter(mDataInquiryFlexAdapter);
+
         Intent intent = getIntent();
         Intent intent = getIntent();
         if (intent != null) {
         if (intent != null) {
             mQueryScheme = (GridMenuDataInquiryBean.QueryScheme) intent.getSerializableExtra("scheme");
             mQueryScheme = (GridMenuDataInquiryBean.QueryScheme) intent.getSerializableExtra("scheme");
@@ -196,26 +388,14 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
             @Override
             @Override
             public void onFocusChange(View v, boolean hasFocus) {
             public void onFocusChange(View v, boolean hasFocus) {
                 if (hasFocus) {
                 if (hasFocus) {
-                    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));
-                            }
+                    if (mHistoricalRecordAdapter.getObjects().size() > 0) {
+                        if (mFuzzyWholeLl.getVisibility() == View.GONE) {
+                            mFuzzyHistoryLl.startAnimation(mInAnimation);
+                            mFuzzyWholeLl.setVisibility(View.VISIBLE);
                         }
                         }
-                        if (mHistoricalRecordBeans.size() > 0) {
-                            mHistoricalRecordAdapter = new HistoricalRecordAdapter(DataInquiryListActivity.this, mHistoricalRecordBeans);
-                            mHistoryDataLv.setAdapter(mHistoricalRecordAdapter);
-
-                            if (mFuzzyWholeLl.getVisibility() == View.GONE) {
-                                mFuzzyHistoryLl.startAnimation(mInAnimation);
-                                mFuzzyWholeLl.setVisibility(View.VISIBLE);
-                            }
-                        }
-
                     }
                     }
 
 
+
                     mExactWholeLl.setVisibility(View.GONE);
                     mExactWholeLl.setVisibility(View.GONE);
                 } else {
                 } else {
                     if (mFuzzyWholeLl.getVisibility() == View.VISIBLE)
                     if (mFuzzyWholeLl.getVisibility() == View.VISIBLE)
@@ -276,15 +456,18 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
     public void onClick(View v) {
     public void onClick(View v) {
         switch (v.getId()) {
         switch (v.getId()) {
             case R.id.data_inquiry_filter_iv:
             case R.id.data_inquiry_filter_iv:
-                mSearchEditText.clearFocus();
-                if (mFuzzyWholeLl.getVisibility() == View.VISIBLE) {
-                    mFuzzyWholeLl.setVisibility(View.GONE);
-                }
-                if (mExactWholeLl.getVisibility() == View.VISIBLE) {
-                    mExactOptionLl.startAnimation(mOutAnimation);
-                } else {
-                    mExactOptionLl.startAnimation(mInAnimation);
-                    mExactWholeLl.setVisibility(View.VISIBLE);
+                if (mAppSchemeConditions.size() > 0) {
+
+                    mSearchEditText.clearFocus();
+                    if (mFuzzyWholeLl.getVisibility() == View.VISIBLE) {
+                        mFuzzyWholeLl.setVisibility(View.GONE);
+                    }
+                    if (mExactWholeLl.getVisibility() == View.VISIBLE) {
+                        mExactOptionLl.startAnimation(mOutAnimation);
+                    } else {
+                        mExactOptionLl.startAnimation(mInAnimation);
+                        mExactWholeLl.setVisibility(View.VISIBLE);
+                    }
                 }
                 }
                 break;
                 break;
             case R.id.back:
             case R.id.back:
@@ -299,6 +482,7 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
                 mHistoricalRecordAdapter.notifyDataSetChanged();
                 mHistoricalRecordAdapter.notifyDataSetChanged();
                 break;
                 break;
             case R.id.data_inquiry_list_option_cancel_tv:
             case R.id.data_inquiry_list_option_cancel_tv:
+                mExactWholeLl.setVisibility(View.GONE);
                 break;
                 break;
             case R.id.data_inquiry_list_option_reset_tv:
             case R.id.data_inquiry_list_option_reset_tv:
                 break;
                 break;
@@ -361,4 +545,19 @@ public class DataInquiryListActivity extends BaseActivity implements View.OnClic
         ViewUtil.httpSendRequest(this, url, params, mHandler, headers, GET_DATA_RESULT, null, null, "post");
         ViewUtil.httpSendRequest(this, url, params, mHandler, headers, GET_DATA_RESULT, null, null, "post");
     }
     }
 
 
+    public String optStringNotNull(JSONObject json, String key) {
+        if (json.isNull(key)) {
+            return "";
+        } else {
+            return json.optString(key, "");
+        }
+    }
+
+    public static long optLongNotNull(JSONObject json, String key) {
+        if (json.isNull(key)) {
+            return 0;
+        } else {
+            return json.optLong(key, 0);
+        }
+    }
 }
 }

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

@@ -0,0 +1,87 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.DataInquiryFlexBean;
+import com.xzjmyk.pm.activity.view.MyListView;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DataInquiryFlexAdapter extends BaseAdapter {
+
+    private List<DataInquiryFlexBean> objects = new ArrayList<DataInquiryFlexBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public DataInquiryFlexAdapter(Context context, List<DataInquiryFlexBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public DataInquiryFlexBean 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, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((DataInquiryFlexBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(final DataInquiryFlexBean object, ViewHolder holder) {
+        List<DataInquiryFlexBean.RowBean> rowBeans = new ArrayList<>();
+        if (object.isFlex()) {
+            rowBeans = object.getRowBeans();
+            holder.itemDataInquiryFlexIv.setImageResource(R.drawable.ic_menu_spread);
+        } else {
+            holder.itemDataInquiryFlexIv.setImageResource(R.drawable.ic_menu_retract);
+            for (int i = 0; i < 2; i++) {
+                rowBeans.add(object.getRowBeans().get(i));
+            }
+        }
+        DataInquiryFlexChildAdapter dataInquiryFlexChildAdapter = new DataInquiryFlexChildAdapter(context, rowBeans);
+
+        holder.itemDataInquiryFlexLv.setAdapter(dataInquiryFlexChildAdapter);
+        holder.itemDataInquiryFlexIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                object.setIsFlex(!object.isFlex());
+                notifyDataSetChanged();
+            }
+        });
+    }
+
+    protected class ViewHolder {
+        private ImageView itemDataInquiryFlexIv;
+        private MyListView itemDataInquiryFlexLv;
+
+        public ViewHolder(View view) {
+            itemDataInquiryFlexIv = (ImageView) view.findViewById(R.id.item_data_inquiry_flex_iv);
+            itemDataInquiryFlexLv = (MyListView) view.findViewById(R.id.item_data_inquiry_flex_lv);
+        }
+    }
+}

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

@@ -0,0 +1,89 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.DataInquiryFlexBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DataInquiryFlexChildAdapter extends BaseAdapter {
+
+    private List<DataInquiryFlexBean.RowBean> objects = new ArrayList<DataInquiryFlexBean.RowBean>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public DataInquiryFlexChildAdapter(Context context, List<DataInquiryFlexBean.RowBean> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public DataInquiryFlexBean.RowBean 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_child, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((DataInquiryFlexBean.RowBean) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(DataInquiryFlexBean.RowBean object, ViewHolder holder) {
+        if (object.getRowChildBeans().size() == 1) {
+            holder.itemDataInquiryChildLl2.setVisibility(View.GONE);
+
+            holder.itemDataInquiryChildCaptionTv1.setText(object.getRowChildBeans().get(0).getCaption() + ":");
+            holder.itemDataInquiryChildValueTv1.setText(object.getRowChildBeans().get(0).getValue());
+        } else if (object.getRowChildBeans().size() == 2) {
+            holder.itemDataInquiryChildLl2.setVisibility(View.VISIBLE);
+
+            holder.itemDataInquiryChildCaptionTv1.setText(object.getRowChildBeans().get(0).getCaption() + ":");
+            holder.itemDataInquiryChildValueTv1.setText(object.getRowChildBeans().get(0).getValue());
+
+            holder.itemDataInquiryChildCaptionTv2.setText(object.getRowChildBeans().get(1).getCaption() + ":");
+            holder.itemDataInquiryChildValueTv2.setText(object.getRowChildBeans().get(1).getValue());
+        }
+    }
+
+    protected class ViewHolder {
+        private LinearLayout itemDataInquiryChildLl1;
+        private LinearLayout itemDataInquiryChildLl2;
+        private TextView itemDataInquiryChildCaptionTv1;
+        private TextView itemDataInquiryChildValueTv1;
+        private TextView itemDataInquiryChildCaptionTv2;
+        private TextView itemDataInquiryChildValueTv2;
+
+        public ViewHolder(View view) {
+            itemDataInquiryChildLl1 = (LinearLayout) view.findViewById(R.id.item_data_inquiry_child_ll1);
+            itemDataInquiryChildLl2 = (LinearLayout) view.findViewById(R.id.item_data_inquiry_child_ll2);
+            itemDataInquiryChildCaptionTv1 = (TextView) view.findViewById(R.id.item_data_inquiry_child_caption_tv1);
+            itemDataInquiryChildValueTv1 = (TextView) view.findViewById(R.id.item_data_inquiry_child_value_tv1);
+            itemDataInquiryChildCaptionTv2 = (TextView) view.findViewById(R.id.item_data_inquiry_child_caption_tv2);
+            itemDataInquiryChildValueTv2 = (TextView) view.findViewById(R.id.item_data_inquiry_child_value_tv2);
+        }
+    }
+}

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

@@ -1,9 +1,13 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter;
 package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter;
 
 
+import android.app.Activity;
 import android.content.Context;
 import android.content.Context;
+import android.text.Editable;
+import android.text.TextWatcher;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewGroup;
+import android.widget.AdapterView;
 import android.widget.BaseAdapter;
 import android.widget.BaseAdapter;
 import android.widget.EditText;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.ImageView;
@@ -13,24 +17,24 @@ import android.widget.TextView;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.R;
 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.view.MyGridView;
 import com.xzjmyk.pm.activity.view.MyGridView;
+import com.xzjmyk.pm.activity.view.wheel.DatePicker;
 
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.List;
 import java.util.List;
 
 
 public class DataInquirySchemeConditionAdapter extends BaseAdapter {
 public class DataInquirySchemeConditionAdapter extends BaseAdapter {
-
     private List<SchemeConditionBean> objects = new ArrayList<SchemeConditionBean>();
     private List<SchemeConditionBean> objects = new ArrayList<SchemeConditionBean>();
 
 
     private Context context;
     private Context context;
     private LayoutInflater layoutInflater;
     private LayoutInflater layoutInflater;
+    private boolean strChanged = true, numChanged1 = true, numChanged2 = true;
 
 
-    public DataInquirySchemeConditionAdapter(Context context) {
+    public DataInquirySchemeConditionAdapter(Context context, List<SchemeConditionBean> objects) {
         this.context = context;
         this.context = context;
         this.layoutInflater = LayoutInflater.from(context);
         this.layoutInflater = LayoutInflater.from(context);
-    }
-
-    public List<SchemeConditionBean> getObjects() {
-        return objects;
+        this.objects = objects;
     }
     }
 
 
     @Override
     @Override
@@ -50,24 +54,216 @@ public class DataInquirySchemeConditionAdapter extends BaseAdapter {
 
 
     @Override
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
     public View getView(int position, View convertView, ViewGroup parent) {
-        if (convertView == null) {
-            convertView = layoutInflater.inflate(R.layout.item_list_data_inquiry_exact_query, null);
-            convertView.setTag(new ViewHolder(convertView));
-        }
+//        if (convertView == null) {
+        convertView = layoutInflater.inflate(R.layout.item_list_data_inquiry_exact_query, null);
+        convertView.setTag(new ViewHolder(convertView));
+//        }
         initializeViews((SchemeConditionBean) getItem(position), (ViewHolder) convertView.getTag());
         initializeViews((SchemeConditionBean) getItem(position), (ViewHolder) convertView.getTag());
         return convertView;
         return convertView;
     }
     }
 
 
-    private void initializeViews(SchemeConditionBean object, ViewHolder holder) {
+    private void initializeViews(final SchemeConditionBean object, final ViewHolder holder) {
         holder.captionTv.setText(object.getCaption());
         holder.captionTv.setText(object.getCaption());
 
 
+        switch (object.getType()) {
+            case "S":
+                holder.stringEdittext.setVisibility(View.VISIBLE);
+                holder.numEdittextLl.setVisibility(View.GONE);
+                holder.textviewLl.setVisibility(View.GONE);
+                holder.gridview.setVisibility(View.GONE);
+                List<SchemeConditionBean.Property> mProperties = object.getProperties();
+
+                holder.stringEdittext.addTextChangedListener(new TextWatcher() {
+                    @Override
+                    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+                    }
+
+                    @Override
+                    public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+                    }
+
+                    @Override
+                    public void afterTextChanged(Editable s) {
+                        if (!strChanged && object.getProperties().size() == 1) {
+                            object.getProperties().get(0).setDisplay(s.toString());
+                        }
+                    }
+                });
+
+                strChanged = true;
+                if (mProperties != null && object.getProperties().size() == 1) {
+                    holder.stringEdittext.setText(mProperties.get(0).getDisplay());
+                    strChanged = false;
+                }
+                break;
+            case "N":
+                holder.stringEdittext.setVisibility(View.GONE);
+                holder.numEdittextLl.setVisibility(View.VISIBLE);
+                holder.textviewLl.setVisibility(View.GONE);
+                holder.gridview.setVisibility(View.GONE);
+                mProperties = object.getProperties();
+
+                holder.numEdittext1.addTextChangedListener(new TextWatcher() {
+                    @Override
+                    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+                    }
+
+                    @Override
+                    public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+                    }
+
+                    @Override
+                    public void afterTextChanged(Editable s) {
+                        if (!numChanged1 && object.getProperties().size() == 2) {
+                            object.getProperties().get(0).setDisplay(s.toString());
+                        }
+                    }
+                });
+
+                holder.numEdittext2.addTextChangedListener(new TextWatcher() {
+                    @Override
+                    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+                    }
+
+                    @Override
+                    public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+                    }
+
+                    @Override
+                    public void afterTextChanged(Editable s) {
+                        if (!numChanged2 && object.getProperties().size() == 2) {
+                            object.getProperties().get(1).setDisplay(s.toString());
+                        }
+                    }
+                });
+
+                numChanged1 = true;
+                numChanged2 = true;
+                if (mProperties != null && mProperties.size() == 2) {
+                    holder.numEdittext1.setText(mProperties.get(0).getDisplay());
+                    numChanged1 = false;
+
+                    holder.numEdittext2.setText(mProperties.get(1).getDisplay());
+                    numChanged2 = false;
+                }
+                break;
+            case "D":
+            case "CD":
+                holder.stringEdittext.setVisibility(View.GONE);
+                holder.numEdittextLl.setVisibility(View.GONE);
+                holder.textviewLl.setVisibility(View.VISIBLE);
+                holder.gridview.setVisibility(View.GONE);
+
+                holder.textview1.setText(getMonthFirstDay());
+                holder.textview2.setText(getMonthLastDay());
+                mProperties = object.getProperties();
+
+                holder.calendar1.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        showDateDialog(holder.textview1);
+                        if (object.getProperties().size() == 2) {
+                            object.getProperties().get(0).setDisplay(holder.textview1.getText().toString());
+                        }
+                    }
+                });
+
+                holder.calendar2.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        showDateDialog(holder.textview2);
+                        if (object.getProperties().size() == 2) {
+                            object.getProperties().get(1).setDisplay(holder.textview2.getText().toString());
+                        }
+                    }
+                });
+                break;
+            case "CBG":
+            case "C":
+            case "R":
+                holder.stringEdittext.setVisibility(View.GONE);
+                holder.numEdittextLl.setVisibility(View.GONE);
+                holder.textviewLl.setVisibility(View.GONE);
+                holder.gridview.setVisibility(View.VISIBLE);
+                mProperties = object.getProperties();
+
+                if (mProperties != null) {
+                    ItemGridDataInquiryExactAdapter itemGridDataInquiryExactAdapter
+                            = new ItemGridDataInquiryExactAdapter(context, mProperties);
+                    holder.gridview.setAdapter(itemGridDataInquiryExactAdapter);
+                }
+
+                holder.gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+                    @Override
+                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                        List<SchemeConditionBean.Property> properties = object.getProperties();
+                        for (int i = 0; i < properties.size(); i++) {
+                            if (i == position) {
+                                properties.get(i).setState(!properties.get(i).isState());
+                            }
+                        }
+                        if (holder.gridview.getAdapter() != null) {
+                            ((ItemGridDataInquiryExactAdapter) holder.gridview.getAdapter()).notifyDataSetChanged();
+                        }
+                    }
+                });
+                break;
+        }
+    }
+
+    /**
+     * 得到本月的第一天
+     */
+    public static String getMonthFirstDay() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.DAY_OF_MONTH, calendar
+                .getActualMinimum(Calendar.DAY_OF_MONTH));
+//        calendar.set( Calendar.DATE, 1);
+        SimpleDateFormat simpleFormate = new SimpleDateFormat("yyyy-MM-dd");
+        return simpleFormate.format(calendar.getTime());
+    }
+
+    /**
+     * 得到本月的最后一天
+     */
+    public static String getMonthLastDay() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.DAY_OF_MONTH, calendar
+                .getActualMaximum(Calendar.DAY_OF_MONTH));
+//        calendar.set( Calendar.DATE, 1);
+//        calendar.roll(Calendar.DATE, - 1);
+        SimpleDateFormat simpleFormate = new SimpleDateFormat("yyyy-MM-dd");
+        return simpleFormate.format(calendar.getTime());
+    }
+
+    private void showDateDialog(final TextView tv) {
+        DatePicker picker = new DatePicker((Activity) context);
+        picker.setRange(1950, 2030);
+        picker.setSelectedItem(
+                Calendar.getInstance().get(Calendar.YEAR),
+                Calendar.getInstance().get(Calendar.MONTH) + 1,
+                Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
+        picker.setOnDatePickListener(new DatePicker.OnYearMonthDayPickListener() {
+            @Override
+            public void onDatePicked(String year, String month, String day) {
+                tv.setText(year + "-" + month + "-" + day);
+            }
+        });
+        picker.show();
     }
     }
 
 
     protected class ViewHolder {
     protected class ViewHolder {
+        private EditText stringEdittext;
         private TextView captionTv;
         private TextView captionTv;
-        private LinearLayout edittextLl;
-        private EditText edittext1;
-        private EditText edittext2;
+        private LinearLayout numEdittextLl;
+        private EditText numEdittext1;
+        private EditText numEdittext2;
         private LinearLayout textviewLl;
         private LinearLayout textviewLl;
         private TextView textview1;
         private TextView textview1;
         private ImageView calendar1;
         private ImageView calendar1;
@@ -76,10 +272,11 @@ public class DataInquirySchemeConditionAdapter extends BaseAdapter {
         private MyGridView gridview;
         private MyGridView gridview;
 
 
         public ViewHolder(View view) {
         public ViewHolder(View view) {
+            stringEdittext = (EditText) view.findViewById(R.id.item_data_inquiry_exact_string_edittext);
             captionTv = (TextView) view.findViewById(R.id.item_data_inquiry_exact_caption_tv);
             captionTv = (TextView) view.findViewById(R.id.item_data_inquiry_exact_caption_tv);
-            edittextLl = (LinearLayout) view.findViewById(R.id.item_data_inquiry_exact_edittext_ll);
-            edittext1 = (EditText) view.findViewById(R.id.item_data_inquiry_exact_edittext1);
-            edittext2 = (EditText) view.findViewById(R.id.item_data_inquiry_exact_edittext2);
+            numEdittextLl = (LinearLayout) view.findViewById(R.id.item_data_inquiry_exact_num_edittext_ll);
+            numEdittext1 = (EditText) view.findViewById(R.id.item_data_inquiry_num_exact_edittext1);
+            numEdittext2 = (EditText) view.findViewById(R.id.item_data_inquiry_num_exact_edittext2);
             textviewLl = (LinearLayout) view.findViewById(R.id.item_data_inquiry_exact_textview_ll);
             textviewLl = (LinearLayout) view.findViewById(R.id.item_data_inquiry_exact_textview_ll);
             textview1 = (TextView) view.findViewById(R.id.item_data_inquiry_exact_textview1);
             textview1 = (TextView) view.findViewById(R.id.item_data_inquiry_exact_textview1);
             calendar1 = (ImageView) view.findViewById(R.id.item_data_inquiry_exact_calendar1);
             calendar1 = (ImageView) view.findViewById(R.id.item_data_inquiry_exact_calendar1);

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

@@ -0,0 +1,69 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean.SchemeConditionBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ItemGridDataInquiryExactAdapter extends BaseAdapter {
+    private List<SchemeConditionBean.Property> objects = new ArrayList<SchemeConditionBean.Property>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public ItemGridDataInquiryExactAdapter(Context context, List<SchemeConditionBean.Property> objects) {
+        this.context = context;
+        this.layoutInflater = LayoutInflater.from(context);
+        this.objects = objects;
+    }
+
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public SchemeConditionBean.Property 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_grid_data_inquiry_exact, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((SchemeConditionBean.Property) getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(SchemeConditionBean.Property object, ViewHolder holder) {
+        holder.itemDataInquiryExactGridTv.setText(object.getDisplay());
+        if (object.isState()) {
+            holder.itemDataInquiryExactGridTv.setTextColor(context.getResources().getColor(R.color.blue));
+        } else {
+            holder.itemDataInquiryExactGridTv.setTextColor(context.getResources().getColor(android.R.color.black));
+        }
+    }
+
+    protected class ViewHolder {
+        private TextView itemDataInquiryExactGridTv;
+
+        public ViewHolder(View view) {
+            itemDataInquiryExactGridTv = (TextView) view.findViewById(R.id.item_data_inquiry_exact_grid_tv);
+        }
+    }
+}

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

@@ -1,66 +0,0 @@
-package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.ImageView;
-
-import com.xzjmyk.pm.activity.R;
-import com.xzjmyk.pm.activity.view.MyListView;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ItemListDataInquiryAdapter extends BaseAdapter {
-
-    private List<T> objects = new ArrayList<T>();
-
-    private Context context;
-    private LayoutInflater layoutInflater;
-
-    public ItemListDataInquiryAdapter(Context context) {
-        this.context = context;
-        this.layoutInflater = LayoutInflater.from(context);
-    }
-
-    @Override
-    public int getCount() {
-        return objects.size();
-    }
-
-    @Override
-    public T 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, null);
-            convertView.setTag(new ViewHolder(convertView));
-        }
-        initializeViews((T) getItem(position), (ViewHolder) convertView.getTag());
-        return convertView;
-    }
-
-    private void initializeViews(T object, ViewHolder holder) {
-        //TODO implement
-    }
-
-    protected class ViewHolder {
-        private ImageView itemDataInquiryFlexIv;
-        private MyListView itemDataInquiryFlexLv;
-
-        public ViewHolder(View view) {
-            itemDataInquiryFlexIv = (ImageView) view.findViewById(R.id.item_data_inquiry_flex_iv);
-            itemDataInquiryFlexLv = (MyListView) view.findViewById(R.id.item_data_inquiry_flex_lv);
-        }
-    }
-}

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

@@ -1,69 +0,0 @@
-package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.adapter;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.TextView;
-
-import com.xzjmyk.pm.activity.R;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ItemListDataInquiryChildAdapter extends BaseAdapter {
-
-    private List<T> objects = new ArrayList<T>();
-
-    private Context context;
-    private LayoutInflater layoutInflater;
-
-    public ItemListDataInquiryChildAdapter(Context context) {
-        this.context = context;
-        this.layoutInflater = LayoutInflater.from(context);
-    }
-
-    @Override
-    public int getCount() {
-        return objects.size();
-    }
-
-    @Override
-    public T 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_child, null);
-            convertView.setTag(new ViewHolder(convertView));
-        }
-        initializeViews((T)getItem(position), (ViewHolder) convertView.getTag());
-        return convertView;
-    }
-
-    private void initializeViews(T object, ViewHolder holder) {
-        //TODO implement
-    }
-
-    protected class ViewHolder {
-        private TextView itemDataInquiryChildCaptionTv1;
-    private TextView itemDataInquiryChildValueTv1;
-    private TextView itemDataInquiryChildCaptionTv2;
-    private TextView itemDataInquiryChildValueTv2;
-
-        public ViewHolder(View view) {
-            itemDataInquiryChildCaptionTv1 = (TextView) view.findViewById(R.id.item_data_inquiry_child_caption_tv1);
-            itemDataInquiryChildValueTv1 = (TextView) view.findViewById(R.id.item_data_inquiry_child_value_tv1);
-            itemDataInquiryChildCaptionTv2 = (TextView) view.findViewById(R.id.item_data_inquiry_child_caption_tv2);
-            itemDataInquiryChildValueTv2 = (TextView) view.findViewById(R.id.item_data_inquiry_child_value_tv2);
-        }
-    }
-}

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

@@ -0,0 +1,69 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.datainquiry.bean;
+
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/8/19.
+ */
+public class DataInquiryFlexBean {
+    private List<RowBean> mRowBeans;
+    private boolean isFlex;
+
+    public List<RowBean> getRowBeans() {
+        return mRowBeans;
+    }
+
+    public void setRowBeans(List<RowBean> rowBeans) {
+        mRowBeans = rowBeans;
+    }
+
+    public boolean isFlex() {
+        return isFlex;
+    }
+
+    public void setIsFlex(boolean isFlex) {
+        this.isFlex = isFlex;
+    }
+
+    public static class RowBean {
+        private List<RowChildBean> mRowChildBeans;
+
+        public List<RowChildBean> getRowChildBeans() {
+            return mRowChildBeans;
+        }
+
+        public void setRowChildBeans(List<RowChildBean> rowChildBeans) {
+            mRowChildBeans = rowChildBeans;
+        }
+
+        public static class RowChildBean {
+            private String mCaption;
+            private String mValue;
+            private int width;
+
+            public int getWidth() {
+                return width;
+            }
+
+            public void setWidth(int width) {
+                this.width = width;
+            }
+
+            public String getCaption() {
+                return mCaption;
+            }
+
+            public void setCaption(String caption) {
+                mCaption = caption;
+            }
+
+            public String getValue() {
+                return mValue;
+            }
+
+            public void setValue(String value) {
+                mValue = value;
+            }
+        }
+    }
+}

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

@@ -6,13 +6,31 @@ import java.util.List;
  * Created by RaoMeng on 2017/8/17.
  * Created by RaoMeng on 2017/8/17.
  */
  */
 public class SchemeConditionBean {
 public class SchemeConditionBean {
+    private String mPosition;
     private String mCaption;
     private String mCaption;
     private String mField;
     private String mField;
     private String mType;
     private String mType;
     private int mWidth;
     private int mWidth;
     private boolean mAppCondition;
     private boolean mAppCondition;
+    private String mDefaultValue;
     private List<Property> mProperties;
     private List<Property> mProperties;
 
 
+    public String getPosition() {
+        return mPosition;
+    }
+
+    public void setPosition(String position) {
+        mPosition = position;
+    }
+
+    public String getDefaultValue() {
+        return mDefaultValue;
+    }
+
+    public void setDefaultValue(String defaultValue) {
+        mDefaultValue = defaultValue;
+    }
+
     public String getCaption() {
     public String getCaption() {
         return mCaption;
         return mCaption;
     }
     }

+ 2 - 1
WeiChat/src/main/res/layout/activity_data_inquiry_list.xml

@@ -105,7 +105,8 @@
                 android:paddingBottom="20dp"
                 android:paddingBottom="20dp"
                 android:paddingLeft="10dp"
                 android:paddingLeft="10dp"
                 android:paddingRight="10dp"
                 android:paddingRight="10dp"
-                android:paddingTop="10dp">
+                android:paddingTop="10dp"
+                android:background="@color/background">
 
 
                 <TextView
                 <TextView
                     android:id="@+id/data_inquiry_list_option_cancel_tv"
                     android:id="@+id/data_inquiry_list_option_cancel_tv"

+ 10 - 0
WeiChat/src/main/res/layout/item_grid_data_inquiry_exact.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView
+    android:id="@+id/item_data_inquiry_exact_grid_tv"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/selector_me_menu_item_bg"
+    android:gravity="center"
+    android:padding="6dp"
+    android:textAppearance="?android:attr/textAppearanceListItemSmall"/>

+ 2 - 1
WeiChat/src/main/res/layout/item_list_data_inquiry.xml

@@ -20,5 +20,6 @@
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_toLeftOf="@id/item_data_inquiry_flex_iv"
         android:layout_toLeftOf="@id/item_data_inquiry_flex_iv"
-        android:divider="@null"/>
+        android:divider="@null"
+        android:scrollbars="none"/>
 </RelativeLayout>
 </RelativeLayout>

+ 15 - 7
WeiChat/src/main/res/layout/item_list_data_inquiry_child.xml

@@ -2,46 +2,54 @@
 <LinearLayout
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
+    android:layout_height="wrap_content"
     android:orientation="horizontal">
     android:orientation="horizontal">
 
 
     <LinearLayout
     <LinearLayout
+        android:id="@+id/item_data_inquiry_child_ll1"
         android:layout_width="0dp"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:layout_weight="1"
-        android:padding="10dp">
+        android:padding="6dp">
 
 
         <TextView
         <TextView
             android:id="@+id/item_data_inquiry_child_caption_tv1"
             android:id="@+id/item_data_inquiry_child_caption_tv1"
             android:layout_width="60dp"
             android:layout_width="60dp"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center_vertical"
             android:textSize="14sp"
             android:textSize="14sp"
             />
             />
 
 
         <TextView
         <TextView
             android:id="@+id/item_data_inquiry_child_value_tv1"
             android:id="@+id/item_data_inquiry_child_value_tv1"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="6dp"
+            android:gravity="center_vertical"
             android:textSize="14sp"/>
             android:textSize="14sp"/>
     </LinearLayout>
     </LinearLayout>
 
 
     <LinearLayout
     <LinearLayout
+        android:id="@+id/item_data_inquiry_child_ll2"
         android:layout_width="0dp"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:layout_weight="1"
-        android:padding="10dp">
+        android:padding="6dp">
 
 
         <TextView
         <TextView
             android:id="@+id/item_data_inquiry_child_caption_tv2"
             android:id="@+id/item_data_inquiry_child_caption_tv2"
             android:layout_width="60dp"
             android:layout_width="60dp"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center_vertical"
             android:textSize="14sp"
             android:textSize="14sp"
             />
             />
 
 
         <TextView
         <TextView
             android:id="@+id/item_data_inquiry_child_value_tv2"
             android:id="@+id/item_data_inquiry_child_value_tv2"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="6dp"
+            android:gravity="center_vertical"
             android:textSize="14sp"/>
             android:textSize="14sp"/>
     </LinearLayout>
     </LinearLayout>
 
 

+ 15 - 6
WeiChat/src/main/res/layout/item_list_data_inquiry_exact_query.xml

@@ -16,8 +16,16 @@
         android:textSize="16sp"
         android:textSize="16sp"
         tools:text="caption"/>
         tools:text="caption"/>
 
 
+    <EditText
+        android:id="@+id/item_data_inquiry_exact_string_edittext"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:background="@drawable/shape_corner_white_bg"
+        android:gravity="center"
+        android:visibility="gone"/>
+
     <LinearLayout
     <LinearLayout
-        android:id="@+id/item_data_inquiry_exact_edittext_ll"
+        android:id="@+id/item_data_inquiry_exact_num_edittext_ll"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:gravity="center_vertical"
         android:gravity="center_vertical"
@@ -25,12 +33,13 @@
         android:visibility="gone">
         android:visibility="gone">
 
 
         <EditText
         <EditText
-            android:id="@+id/item_data_inquiry_exact_edittext1"
+            android:id="@+id/item_data_inquiry_num_exact_edittext1"
             android:layout_width="0dp"
             android:layout_width="0dp"
             android:layout_height="36dp"
             android:layout_height="36dp"
             android:layout_weight="1"
             android:layout_weight="1"
             android:background="@drawable/shape_corner_white_bg"
             android:background="@drawable/shape_corner_white_bg"
-            android:gravity="center"/>
+            android:gravity="center"
+            android:inputType="number"/>
 
 
         <TextView
         <TextView
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
@@ -42,12 +51,13 @@
             android:textSize="16sp"/>
             android:textSize="16sp"/>
 
 
         <EditText
         <EditText
-            android:id="@+id/item_data_inquiry_exact_edittext2"
+            android:id="@+id/item_data_inquiry_num_exact_edittext2"
             android:layout_width="0dp"
             android:layout_width="0dp"
             android:layout_height="36dp"
             android:layout_height="36dp"
             android:layout_weight="1"
             android:layout_weight="1"
             android:background="@drawable/shape_corner_white_bg"
             android:background="@drawable/shape_corner_white_bg"
-            android:gravity="center"/>
+            android:gravity="center"
+            android:inputType="number"/>
     </LinearLayout>
     </LinearLayout>
 
 
     <LinearLayout
     <LinearLayout
@@ -108,7 +118,6 @@
                 android:id="@+id/item_data_inquiry_exact_calendar2"
                 android:id="@+id/item_data_inquiry_exact_calendar2"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="match_parent"
                 android:layout_height="match_parent"
-                android:layout_marginRight="6dp"
                 android:src="@drawable/ic_blue_calendar"/>
                 android:src="@drawable/ic_blue_calendar"/>
         </LinearLayout>
         </LinearLayout>