Просмотр исходного кода

提交分类: 打包版本;
提交内容: 1、解决通用表单dbfind赋值失败的bug
2、完成商机详情的字段排序
当前版本: 正式版本6.6.1
是否冲突: 否

RaoMeng 7 лет назад
Родитель
Сommit
9e7072486e

+ 3 - 3
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Sat Dec 29 10:01:39 CST 2018
+#Wed Jan 02 00:26:59 CST 2019
 debugName=971
-versionName=660
+versionName=661
 debugCode=971
-versionCode=215
+versionCode=216

+ 5 - 1
app_core/common/src/main/java/com/core/widget/view/Activity/SelectActivity.java

@@ -71,6 +71,7 @@ public class SelectActivity extends BaseActivity {
     private int type = -1;//1 网络  2.本地 3 网络(两个网络请求)
     private String title = "";//标题
     private boolean isSingle = true;//是否单选
+    private boolean isForm = true;//是否主表
 
     //location
     private List<SelectBean> formBeaan;//数据来源
@@ -282,7 +283,7 @@ public class SelectActivity extends BaseActivity {
         if (formBeaan == null) formBeaan = new ArrayList<>();
         else formBeaan.clear();
         SelectBean bean = null;
-        String dbfindsStr=JSON.toJSONString(dbfinds);
+        String dbfindsStr = JSON.toJSONString(dbfinds);
         if (fields != null) {
             ArrayList<String> values = new ArrayList<>();
             for (int i = 0; i < datas.size(); i++) {
@@ -407,6 +408,7 @@ public class SelectActivity extends BaseActivity {
         if (adapter == null || adapter.getFormBeaan() == null || adapter.getFormBeaan().size() <= 0) {
             Intent intent = new Intent();
             intent.putExtra("id", id);
+            intent.putExtra("isForm", isForm);
             setResult(0x21, intent);
             finish();
             return;
@@ -421,6 +423,7 @@ public class SelectActivity extends BaseActivity {
         Intent intent = new Intent();
         intent.putParcelableArrayListExtra("data", temps);
         intent.putExtra("id", id);
+        intent.putExtra("isForm", isForm);
         setResult(0x21, intent);
         finish();
     }
@@ -539,6 +542,7 @@ public class SelectActivity extends BaseActivity {
         fields = intent.getStringArrayExtra("fields");
         LogUtil.d(JSON.toJSONString(object));
         isSingle = intent.getBooleanExtra("isSingle", true);
+        isForm = intent.getBooleanExtra("isFrom", true);
         int reid = intent.getIntExtra("reid", -1);
 //        if (reid != -1)
 //            setTheme(getSharedPreferences("cons", MODE_PRIVATE).getInt("theme", reid));

+ 33 - 14
app_modular/apputils/src/main/java/com/modular/apputils/activity/BillInputActivity.java

@@ -239,6 +239,9 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
     private void findMore(int position, BillGroupModel.BillModel model) {
         HashMap param = new HashMap<>();
         String[] fields = new String[]{"sa_custname"};
+        BillGroupModel mGroupModel = mBillAdapter.getBillGroupModel(model.getGroupIndex());
+        boolean isForm = mGroupModel == null || mGroupModel.isForm();
+
         param.put("caller", mBillPresenter.getFormCaller());
         param.put("page", "1");
         param.put("which", "form");
@@ -258,6 +261,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
         intent.putExtra("action", "common/dbfind.action");
         intent.putExtra("title", model.getCaption());
         intent.putExtra("id", model.getGroupIndex());
+        intent.putExtra("isForm", isForm);
         startActivityForResult(intent, REQUEST_CODE_SELECT_MORE);
     }
 
@@ -433,6 +437,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
             case REQUEST_CODE_SELECT_MORE:
                 if (resultCode == 0x21) {//多选框
                     int groupIndex = data.getIntExtra("id", 0);
+                    boolean isForm = data.getBooleanExtra("isForm", true);
                     ArrayList<SelectBean> muliData = data.getParcelableArrayListExtra("data");
                     JSONObject object = null;
                     if (!ListUtils.isEmpty(muliData)) {
@@ -453,7 +458,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
                                     String dbGridField = JSONUtil.getText(fbFindArray.getJSONObject(i), "dbGridField");
                                     String field = JSONUtil.getText(fbFindArray.getJSONObject(i), "field");
                                     if (object.containsKey(dbGridField)) {
-                                        object.put(field,object.get(dbGridField));
+                                        object.put(field, object.get(dbGridField));
                                         object.remove(dbGridField);
                                     }
                                 }
@@ -463,7 +468,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
 //                    mBillAdapter.updateBillModelValues(id, values, values);
                     LogUtil.i("gong", "object=" + object);
                     LogUtil.i("gong", "groupIndex=" + groupIndex);
-                    handlerSelectDbFind(object, groupIndex);
+                    handlerSelectDbFind(object, groupIndex, isForm);
                 }
                 break;
             case REQUESTCODE_C_NET:
@@ -487,7 +492,8 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
             case REQUESTCODE_DB_FIND:
                 String json = data.getStringExtra("data");
                 int groupIndex = data.getIntExtra("groupId", 0);
-                handlerSelectDbFind(JSON.parseObject(json), groupIndex);
+                boolean isForm = data.getBooleanExtra("isForm", true);
+                handlerSelectDbFind(JSON.parseObject(json), groupIndex, isForm);
                 break;
             case 0x22:
                 SelectBean d = data.getParcelableExtra("data");
@@ -556,24 +562,37 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
         }
     }
 
-    protected void handlerSelectDbFind(JSONObject object, int groupId) {
-        BillGroupModel mBillGroupModel = mBillAdapter.getBillGroupModel(groupId);
-        if (mBillGroupModel != null) {
-            if (!ListUtils.isEmpty(mBillGroupModel.getShowBillFields())) {
-                for (BillGroupModel.BillModel e : mBillGroupModel.getShowBillFields()) {
-                    if (object.containsKey(e.getField())) {
-                        e.setValue(JSONUtil.getText(object, e.getField()));
+    protected void handlerSelectDbFind(JSONObject object, int groupId, boolean isForm) {
+        if (isForm){
+            List<BillGroupModel.BillModel> formBillModels = mBillAdapter.getFormBillModels();
+
+            if (!ListUtils.isEmpty(formBillModels)){
+                for (BillGroupModel.BillModel billModel : formBillModels) {
+                    if (object.containsKey(billModel.getField())) {
+                        billModel.setValue(JSONUtil.getText(object, billModel.getField()));
                     }
                 }
             }
-            if (!ListUtils.isEmpty(mBillGroupModel.getHideBillFields())) {
-                for (BillGroupModel.BillModel e : mBillGroupModel.getHideBillFields()) {
-                    if (object.containsKey(e.getField())) {
-                        e.setValue(JSONUtil.getText(object, e.getField()));
+        }else {
+            BillGroupModel mBillGroupModel = mBillAdapter.getBillGroupModel(groupId);
+            if (mBillGroupModel != null) {
+                if (!ListUtils.isEmpty(mBillGroupModel.getShowBillFields())) {
+                    for (BillGroupModel.BillModel e : mBillGroupModel.getShowBillFields()) {
+                        if (object.containsKey(e.getField())) {
+                            e.setValue(JSONUtil.getText(object, e.getField()));
+                        }
+                    }
+                }
+                if (!ListUtils.isEmpty(mBillGroupModel.getHideBillFields())) {
+                    for (BillGroupModel.BillModel e : mBillGroupModel.getHideBillFields()) {
+                        if (object.containsKey(e.getField())) {
+                            e.setValue(JSONUtil.getText(object, e.getField()));
+                        }
                     }
                 }
             }
         }
+
         mBillAdapter.notifyDataSetChanged();
     }
 

+ 6 - 1
app_modular/apputils/src/main/java/com/modular/apputils/activity/SelectNetAcitivty.java

@@ -124,6 +124,7 @@ public class SelectNetAcitivty extends OABaseActivity {
     }
 
     private boolean isDevice;
+    private boolean isForm;
 
     private void initView() {
 
@@ -137,6 +138,7 @@ public class SelectNetAcitivty extends OABaseActivity {
             isDevice = intent.getBooleanExtra("isDevice", false);
             groupId = intent.getIntExtra("groupId", 0);
             mDefCondition = intent.getStringExtra("mCondition");
+            isForm = intent.getBooleanExtra("isForm", true);
         }
         VoiceSearchView voiceSearchView = (VoiceSearchView) findViewById(R.id.voiceSearchView);
         refreshListView = (PullToRefreshListView) findViewById(R.id.refreshListView);
@@ -391,7 +393,10 @@ public class SelectNetAcitivty extends OABaseActivity {
                 public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                     if (mAdapter != null) {
                         Bean model = mAdapter.getModels((int) l);
-                        setResult(90, new Intent().putExtra("data", model.json).putExtra("groupId", groupId));
+                        setResult(90, new Intent()
+                                .putExtra("data", model.json)
+                                .putExtra("groupId", groupId)
+                                .putExtra("isForm", isForm));
                         finish();
 
                     }

+ 33 - 3
app_modular/apputils/src/main/java/com/modular/apputils/adapter/BillAdapter.java

@@ -40,6 +40,7 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
     public Context ct;
     protected List<BillGroupModel> mBillGroupModels;
     protected List<BillGroupModel.BillModel> mShowBillModels;
+    protected List<BillGroupModel.BillModel> mFormBillModels;
     protected OnAdapterListener mOnAdapterListener;
     protected int mTabIndex = -1;
     private int mTabPosition = 0;
@@ -97,6 +98,12 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
         } else {
             mShowBillModels.clear();
         }
+        if (mFormBillModels == null) {
+            mFormBillModels = new ArrayList<>();
+        } else {
+            mFormBillModels.clear();
+        }
+
         for (int i = 0; i < mBillGroupModels.size(); i++) {
             BillGroupModel e = mBillGroupModels.get(i);
             if (e != null) {
@@ -122,6 +129,15 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
                         mShowBillModels.add(getAddModel(i));
                     }
                 }
+
+                if (e.isForm()) {
+                    if (e.getShowBillFields() != null) {
+                        mFormBillModels.addAll(e.getShowBillFields());
+                    }
+                    if (e.getHideBillFields() != null) {
+                        mFormBillModels.addAll(e.getHideBillFields());
+                    }
+                }
             }
         }
     }
@@ -138,14 +154,28 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
         return mBillGroupModels;
     }
 
-    public BillGroupModel getBillGroupModel(int position) {
-        if (position >= 0 && ListUtils.getSize(mBillGroupModels) > position) {
-            return mBillGroupModels.get(position);
+    public BillGroupModel getBillGroupModel(int groupIndex) {
+        /*if (groupIndex >= 0 && ListUtils.getSize(mBillGroupModels) > groupIndex) {
+            return mBillGroupModels.get(groupIndex);
         } else {
             return null;
+        }*/
+        if (ListUtils.isEmpty(mBillGroupModels)) {
+            return null;
+        } else {
+            for (BillGroupModel billGroupModel : mBillGroupModels) {
+                if (billGroupModel.getGroupIndex() == groupIndex) {
+                    return billGroupModel;
+                }
+            }
+            return null;
         }
     }
 
+    public List<BillGroupModel.BillModel> getFormBillModels() {
+        return mFormBillModels;
+    }
+
     public List<BillGroupModel.BillModel> getShowBillModels() {
         return mShowBillModels;
     }

+ 13 - 1
app_modular/apputils/src/main/java/com/modular/apputils/presenter/BillPresenter.java

@@ -541,7 +541,19 @@ public class BillPresenter extends BaseNetPresenter implements OnSmartHttpListen
     private final Comparator<BillGroupModel> mComparator = new Comparator<BillGroupModel>() {
         @Override
         public int compare(BillGroupModel billGroupModel, BillGroupModel t1) {
-            return (billGroupModel.getMinDetno() > t1.getMinDetno()) ? 1 : -1;
+            int result = 1;
+            if (billGroupModel.getMinDetno() - t1.getMinDetno() > 0) {
+                result = 1;
+            } else if (billGroupModel.getMinDetno() - t1.getMinDetno() < 0) {
+                /*int bigIndex = billGroupModel.getGroupIndex();
+                billGroupModel.setGroupIndex(t1.getGroupIndex());
+                t1.setGroupIndex(bigIndex);*/
+
+                result = -1;
+            } else {
+                result = 0;
+            }
+            return result;
         }
     };
 

+ 36 - 15
app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessDetailActivity/BusinessDetailPresenterImpl.java

@@ -20,6 +20,8 @@ import com.uas.appworks.model.bean.BusinessStageBean;
 import com.uas.appworks.model.bean.CommonFormBean;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -325,7 +327,6 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
             getMvpView().requestMainDetailSuccess(allFormBeans, visibleFormBeans);
             return;
         }
-        Map<String, List<CommonFormBean>> stringListMap = new LinkedHashMap<>();
         for (int i = 0; i < formdetailArray.size(); i++) {
             JSONObject formdetailObject = formdetailArray.getJSONObject(i);
             if (formdetailObject != null) {
@@ -336,7 +337,7 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
                 commonFormBean.setField(JSONUtil.getText(formdetailObject, "fd_field"));
                 commonFormBean.setValue(JSONUtil.getText(formdetailObject, "fd_value"));
                 commonFormBean.setMaxlength(JSONUtil.getInt(formdetailObject, "fd_maxlength"));
-                commonFormBean.setDetno(JSONUtil.getInt(formdetailObject, "fd_detno"));
+                commonFormBean.setDetno(JSONUtil.getDouble(formdetailObject, "fd_detno"));
                 commonFormBean.setType(JSONUtil.getText(formdetailObject, "fd_type"));
                 commonFormBean.setReadonly(JSONUtil.getText(formdetailObject, "fd_readonly"));
                 commonFormBean.setId(JSONUtil.getInt(formdetailObject, "fd_id"));
@@ -346,23 +347,42 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
                 String fd_group = JSONUtil.getText(formdetailObject, "fd_group");
                 commonFormBean.setGroup(fd_group);
 
-                if (mfd_isdefault == -1) {
-                    if (stringListMap.containsKey(fd_group)) {
-                        List<CommonFormBean> cacheFormBeans = stringListMap.get(fd_group);
-                        if (cacheFormBeans != null) {
-                            cacheFormBeans.add(commonFormBean);
-                        }
-                        stringListMap.put(fd_group, cacheFormBeans);
-                    } else {
-                        List<CommonFormBean> mapFormBeans = new ArrayList<>();
-                        mapFormBeans.add(commonFormBean);
-                        stringListMap.put(fd_group, mapFormBeans);
-                    }
+                allFormBeans.add(commonFormBean);
+            }
+        }
+
+        Collections.sort(allFormBeans, new Comparator<CommonFormBean>() {
+            @Override
+            public int compare(CommonFormBean o1, CommonFormBean o2) {
+                if (o1.getDetno() - o2.getDetno() > 0) {
+                    return 1;
+                } else if (o1.getDetno() - o2.getDetno() < 0) {
+                    return -1;
+                } else {
+                    return 0;
                 }
+            }
+        });
 
-                allFormBeans.add(commonFormBean);
+        Map<String, List<CommonFormBean>> stringListMap = new LinkedHashMap<>();
+        for (int i = 0; i < allFormBeans.size(); i++) {
+            CommonFormBean commonFormBean = allFormBeans.get(i);
+            String fd_group = commonFormBean.getGroup();
+            if (commonFormBean.getIsdefault() == -1) {
+                if (stringListMap.containsKey(fd_group)) {
+                    List<CommonFormBean> cacheFormBeans = stringListMap.get(fd_group);
+                    if (cacheFormBeans != null) {
+                        cacheFormBeans.add(commonFormBean);
+                    }
+                    stringListMap.put(fd_group, cacheFormBeans);
+                } else {
+                    List<CommonFormBean> mapFormBeans = new ArrayList<>();
+                    mapFormBeans.add(commonFormBean);
+                    stringListMap.put(fd_group, mapFormBeans);
+                }
             }
         }
+
         Iterator<Map.Entry<String, List<CommonFormBean>>> iterator = stringListMap.entrySet().iterator();
         while (iterator.hasNext()) {
             Map.Entry<String, List<CommonFormBean>> next = iterator.next();
@@ -373,6 +393,7 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
             visibleFormBeans.add(commonFormBean);
             visibleFormBeans.addAll(value);
         }
+
         getMvpView().requestMainDetailSuccess(allFormBeans, visibleFormBeans);
     }
 }

+ 2 - 1
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerContactActivity.java

@@ -108,9 +108,10 @@ public class CustomerContactActivity extends BillInputActivity {
                 if (data == null) return;
                 String json = data.getStringExtra("data");
                 int groupIndex = data.getIntExtra("groupId", 0);
+                boolean isForm = data.getBooleanExtra("isForm", true);
                 JSONObject object = JSON.parseObject(json);
                 int cu_id = JSONUtil.getInt(object, "cu_id");
-                handlerSelectDbFind(object, groupIndex);
+                handlerSelectDbFind(object, groupIndex, isForm);
                 if (cu_id > 0) {
                     getPresenter().updateId(cu_id);
                 }

+ 2 - 2
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerVisitBillInputActivity.java

@@ -187,8 +187,8 @@ public class CustomerVisitBillInputActivity extends BillInputActivity {
     }
 
     @Override
-    protected void handlerSelectDbFind(JSONObject object, int groupId) {
-        super.handlerSelectDbFind(object, groupId);
+    protected void handlerSelectDbFind(JSONObject object, int groupId, boolean isForm) {
+        super.handlerSelectDbFind(object, groupId, isForm);
     }
 
 

+ 3 - 3
app_modular/appworks/src/main/java/com/uas/appworks/model/bean/CommonFormBean.java

@@ -41,7 +41,7 @@ public class CommonFormBean implements MultiItemEntity {
     @SerializedName("fd_group")
     private String group;
     @SerializedName("fd_detno")
-    private int detno;
+    private double detno;
     @SerializedName("fd_type")
     private String type;
     @SerializedName("fd_readonly")
@@ -103,11 +103,11 @@ public class CommonFormBean implements MultiItemEntity {
         this.group = group;
     }
 
-    public int getDetno() {
+    public double getDetno() {
         return detno;
     }
 
-    public void setDetno(int detno) {
+    public void setDetno(double detno) {
         this.detno = detno;
     }
 

+ 8 - 5
app_modular/appworks/src/main/res/layout/item_common_form_detail.xml

@@ -6,15 +6,18 @@
     android:layout_height="wrap_content"
     android:background="@color/white"
     android:orientation="horizontal"
-    android:padding="10dp">
+    android:paddingLeft="10dp"
+    android:paddingRight="10dp"
+    android:paddingTop="6dp"
+    android:paddingBottom="6dp">
 
     <TextView
         android:id="@+id/item_common_form_detail_caption"
-        android:layout_width="wrap_content"
+        android:layout_width="100dp"
         android:layout_height="wrap_content"
         android:textColor="#FF666666"
-        android:textSize="15sp"
-        tools:text="商机编号" />
+        android:textSize="14sp"
+        tools:text="商机编号定位低端" />
 
 
     <TextView
@@ -24,6 +27,6 @@
         android:layout_marginLeft="10dp"
         android:gravity="right"
         android:textColor="#FF333333"
-        android:textSize="15sp"
+        android:textSize="14sp"
         tools:text="英唐收购计划" />
 </LinearLayout>