Browse Source

Merge branch 'developer' of https://gitlab.com/Arisono/SkWeiChat-Baidu into fix_bug

# Conflicts:
#	WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CommonDocDetailsActivity.java
Arison 9 years ago
parent
commit
e3741fafb9

+ 2 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/CustomCrashActivity.java

@@ -8,8 +8,6 @@ import android.view.View;
 import android.widget.Button;
 import android.widget.ImageView;
 
-import com.afollestad.materialdialogs.MaterialDialog;
-
 import cat.ereza.customactivityoncrash.CustomActivityOnCrash;
 
 /**
@@ -35,8 +33,8 @@ public class CustomCrashActivity extends Activity {
         stackTraceString = CustomActivityOnCrash.getAllErrorDetailsFromIntent(this,intent);
         if (stackTraceString != null){
             //Toast.makeText(this, stackTraceString, Toast.LENGTH_LONG).show();
-            new MaterialDialog.Builder(this).content(stackTraceString)
-                    .build().show();
+//            new MaterialDialog.Builder(this).content(stackTraceString)
+//                    .build().show();
         }
         final Class<? extends Activity> activityClassFromIntent = CustomActivityOnCrash.getRestartActivityClassFromIntent(intent);
         final CustomActivityOnCrash.EventListener listenerFromIntent = CustomActivityOnCrash.getEventListenerFromIntent(intent);

+ 10 - 13
WeiChat/src/main/java/com/xzjmyk/pm/activity/MyApplication.java

@@ -33,7 +33,6 @@ import com.uuzuche.lib_zxing.activity.ZXingLibrary;
 import com.xzjmyk.pm.activity.bean.ConfigBean;
 import com.xzjmyk.pm.activity.bean.User;
 import com.xzjmyk.pm.activity.db.SQLiteHelper;
-import com.xzjmyk.pm.activity.ui.SplashActivity;
 import com.xzjmyk.pm.activity.util.Constants;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
 import com.xzjmyk.pm.activity.util.SharedUtil;
@@ -45,8 +44,6 @@ import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
 
-import cat.ereza.customactivityoncrash.CustomActivityOnCrash;
-
 public class MyApplication extends Application {
     /**
      * @注释:记录Cookie
@@ -81,16 +78,16 @@ public class MyApplication extends Application {
 
         //Stetho调试工具初始化
         Stetho.initializeWithDefaults(this);
-        //自定义闪退页面初始化
-        CustomActivityOnCrash.install(this);
-        //设置ErrorActivity在后台启动,默认为true
-        CustomActivityOnCrash.setLaunchErrorActivityWhenInBackground(true);
-        //设置展示详细错误信息,默认为true
-        CustomActivityOnCrash.setShowErrorDetails(true);
-        //启用APP Restart,默认为true
-        CustomActivityOnCrash.setEnableAppRestart(true);
-        //设置重新启动的activity
-        CustomActivityOnCrash.setRestartActivityClass(SplashActivity.class);
+//        //自定义闪退页面初始化
+//        CustomActivityOnCrash.install(this);
+//        //设置ErrorActivity在后台启动,默认为true
+//        CustomActivityOnCrash.setLaunchErrorActivityWhenInBackground(true);
+//        //设置展示详细错误信息,默认为true
+//        CustomActivityOnCrash.setShowErrorDetails(true);
+//        //启用APP Restart,默认为true
+//        CustomActivityOnCrash.setEnableAppRestart(true);
+//        //设置重新启动的activity
+//        CustomActivityOnCrash.setRestartActivityClass(SplashActivity.class);
 
         INSTANCE = this;
         ZXingLibrary.initDisplayOpinion(this);

+ 121 - 35
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/form/DataFormDetailActivity.java

@@ -86,6 +86,14 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
     private String detailkey_id = "";
     private String detailkey_did = "";
     private GroupData groupData;//明细项
+    
+    
+    //判断日期需要用到的字段
+    private String startDate;
+    private String endDate;
+    private String d_startDate;
+    private String d_endDate;
+    
 
     private Handler mHandler = new Handler() {
 
@@ -101,16 +109,25 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
 //                    if (formid!=0){
                     if ("Ask4Leave".equals(caller)) {
                         formidkey = "va_id";
+                        startDate="va_startime";
+                        endDate="va_endtime";
                         getSupportActionBar().setTitle("请假单");
                     } else if ("SpeAttendance".equals(caller)) {
                         formidkey = "sa_id";
                         getSupportActionBar().setTitle("特殊考勤");
                     } else if ("Workovertime".equals(caller)) {
+                        startDate="wod_startdate";
+                        endDate="wod_enddate";
                         formidkey = "wo_id";
                         detailkey_id = "wod_id";
                         detailkey_did = "wod_woid";
                         getSupportActionBar().setTitle("加班单");
                     } else if ("FeePlease!CCSQ".equals(caller)) {
+                        startDate="fp_prestartdate";
+                        endDate="fp_preenddate";
+                        d_startDate="fpd_date1";
+                        d_endDate="fpd_date2";
+                        
                         formidkey = "fp_id";
                         detailkey_id = "fpd_id";
                         detailkey_did = "fpd_fpid";
@@ -149,7 +166,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                 data.setReadonly(items.getString("fd_readonly"));
                                 data.setField(items.getString("fd_field"));
                                 data.setDetno(items.getIntValue("fd_detno"));
-
+                                data.setMaxlength(String.valueOf(items.getIntValue("fd_maxlength")));
                                 data.setFdid(items.getIntValue("fd_id"));
                                 data.setValue(items.getString("fd_value"));
                                 data.setGroupId(0);
@@ -232,6 +249,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                             //关联id
                                             key_did = items.getString("dg_value");
                                         }
+                                        data.setMaxlength(String.valueOf(items.getIntValue("fd_maxlength")));
                                         data.setName(items.getString("dg_caption"));
                                         data.setField(items.getString("dg_field"));
                                         data.setDetno(items.getIntValue("dg_sequence"));
@@ -297,6 +315,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                         //明细id
                                         key_did = items.getString("dg_value");
                                     }
+                                    data.setMaxlength(String.valueOf(items.getIntValue("fd_maxlength")));
                                     data.setName(items.getString("dg_caption"));
                                     data.setField(items.getString("dg_field"));
                                     data.setValue(items.getString("dg_value"));
@@ -567,16 +586,15 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         private static final int TYPE_CATEGORY_ITEM = 0;//分类
         private static final int TYPE_ITEM = 1;//分类下的item
         private ArrayList<GroupData> mListData;
-
         private ArrayList<Data> datas;
         private ArrayList<Integer> groupIndex;
-
+        
+        
         //在初始化的的时候,把分类处理完整
         public DataAdapter(Context ct, ArrayList<GroupData> mdata) {
             this.ct = ct;
             this.mListData = mdata;
             this.inflater = LayoutInflater.from(ct);
-
             groupIndex = new ArrayList<>();
             datas = new ArrayList<>();
             int index = 0;
@@ -589,7 +607,6 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                 datas.addAll(mdata.get(i).getDatas());
                 index = index + mdata.get(i).getDatas().size() + 1;
             }
-
             LogUtil.d(JSON.toJSONString(datas));
             LogUtil.d(JSON.toJSONString(groupIndex));
         }
@@ -764,19 +781,19 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     final Data itemValue = ((Data) getItem(position));
                     // final  int id= getGroupPosition(position);
                     textView.setText(itemValue.getGroup());
-                    if (StringUtils.isEmpty(itemValue.getGroup())) {
-                            header.setVisibility(View.GONE);
-                    } else {
-                        try {
-                            if (itemValue.getGroup().contains("明细") && !itemValue.getGroup().equals("明细项1")) {
-                                item_add.setVisibility(View.VISIBLE);
-                            } else {
-                                item_add.setVisibility(View.GONE);
-                            }
-                        } catch (Exception e) {
-                            e.printStackTrace();
+                    try {
+                        if (StringUtils.isEmpty(itemValue.getGroup())) {
+                                header.setVisibility(View.GONE);
+                        } else {
+                          
+                                if (itemValue.getGroup().contains("明细") && !itemValue.getGroup().equals("明细项1")) {
+                                    item_add.setVisibility(View.VISIBLE);
+                                } else {
+                                    item_add.setVisibility(View.GONE);
+                                }
                         }
-
+                    } catch (Exception e) {
+                        e.printStackTrace();
                     }
                     item_add.setOnClickListener(new View.OnClickListener() {
                         @Override
@@ -813,10 +830,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
 //                        lp.setMargins(0, 0, 0, CommonUtil.convertDip2Px(ct, 20));
 //                        model.ll_moment.setLayoutParams(lp);
 //                    }
-
-
                     model.text.setText(data.getName());
-//
 //
                     if ("F".equals(data.getReadonly())) {
                         model.editText.setHint("请输入(必填)");
@@ -912,31 +926,34 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
 
                         @Override
                         public void afterTextChanged(Editable s) {
-                            String type = data.getType();
-                            if ("N".equals(type) && !RegexUtil.checkRegex(s.toString(), "^[0-9]+(.[0-9]{1})?$")) {
-                                if (!StringUtils.isEmpty(s.toString()) && !StringUtils.isEmpty(text)) {
-                                    if (s.toString().length() >=text.length()) {
-                                        ToastMessage(data.getName() + "只能输入数值!");
-                                    } else {
-                                        ViewUtil.cancelToast();
+                            String type=data.getType();
+                            String length=data.getMaxlength();
+                            if ("N".equals(type)&&!StringUtils.isEmpty(s.toString())){
+                                if (!RegexUtil.checkRegex(s.toString(),"^[0-9]+(.[0-9]{1})?$")){
+                                    if (!StringUtils.isEmpty(s.toString()) && !StringUtils.isEmpty(text)) {
+                                        if (s.toString().length() >=text.length()) {
+                                            ToastMessage(data.getName() + "只能输入数值!");
+                                        } else {
+                                          
+                                        }
                                     }
-
                                 }else{
-                                    ToastMessage(data.getName() + "只能输入数值!");
+                                    //限制长度
+                                    if (s.toString().length()>Integer.valueOf(length)){
+                                        ToastMessage(data.getName() + "超出限制字符长度"+Integer.valueOf(length));
+                                    }else{
+                                        data.setValue(s.toString());
+                                    }
                                 }
-
-                            } else {
-                                ViewUtil.cancelToast();
+                            }else{
                                 data.setValue(s.toString());
-
                             }
-
                         }
                     });
+                    
                     if (!StringUtils.isEmpty(data.getValue())) {
                         model.editText.setText(data.getValue());
                     }
-
                     break;
             }
 
@@ -1145,6 +1162,9 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         if (groupData != null) {//存在明细
             ArrayList<Data> items = mDatas.get(0).getDatas();
             if (!ListUtils.isEmpty(items)) {
+                String start="";
+                String startName="";
+                String end="";
                 for (int i = 0; i < items.size(); i++) {
                     Data item = items.get(i);
                     String key = item.getField();
@@ -1154,6 +1174,27 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         ToastMessage(item.getName() + "不能为空!");
                         return;
                     }
+
+
+                    //日期格式判断
+                    if (!StringUtils.isEmpty(startDate)&&!StringUtils.isEmpty(endDate)){
+                        if (key.equals(startDate)){
+                            start=value;
+                            startName=item.getName();
+                        }
+                        if (key.equals(endDate)){
+                            end=value;
+                            //判断日期
+                            if (!StringUtils.isEmpty(start)&&!StringUtils.isEmpty(end)){
+                                if (end.compareTo(start)<0){
+                                    ToastMessage(item.getName()+"不能小于"+startName);
+                                    return;
+                                }
+                            }
+
+                        }
+                    }
+                    
                     if (i == items.size() - 1) {
                         forStore.append("\"" + key + "\":\"" + value + "\"}");
                     } else {
@@ -1164,6 +1205,9 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             }
             LogUtil.d("forStore:" + forStore.toString());
             //屏蔽第一项
+            String d_start="";
+            String startName="";
+            String d_end="";
             for (int i = 1; i < mDatas.size(); i++) {
                 items = mDatas.get(i).getDatas();
                 if (!ListUtils.isEmpty(items)) {
@@ -1177,6 +1221,27 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                             ToastMessage(item.getName() + "不能为空!");
                             return;
                         }
+                        
+                        //日期格式判断
+                        if (!StringUtils.isEmpty(d_startDate)&&!StringUtils.isEmpty(d_endDate)){
+                            if (key.equals(d_startDate)){
+                                d_start=value;
+                                startName=item.getName();
+                            }
+                            if (key.equals(d_endDate)){
+                                d_end=value;
+                                //判断日期
+                                if (!StringUtils.isEmpty(d_start)&&!StringUtils.isEmpty(d_end)){
+                                    if (d_end.compareTo(d_start)<0){
+                                        ToastMessage(item.getName()+"不能小于"+startName);
+                                        return;
+                                    } 
+                                }
+                               
+                            }
+                        }
+                     
+                            
                         if (j == items.size() - 1) {
                             gridStore.append("\"" + key + "\":\"" + value + "\"");
                         } else {
@@ -1198,6 +1263,9 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         } else {
             ArrayList<Data> items = mDatas.get(0).getDatas();
             if (!ListUtils.isEmpty(items)) {
+                String start="";
+                String startName="";
+                String end="";
                 for (int i = 0; i < items.size(); i++) {
                     Data item = items.get(i);
                     String key = item.getField();
@@ -1207,6 +1275,24 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         ToastMessage(item.getName() + "不能为空!");
                         return;
                     }
+                    //日期格式判断
+                    if (!StringUtils.isEmpty(startDate)&&!StringUtils.isEmpty(endDate)){
+                        if (key.equals(startDate)){
+                            start=value;
+                            startName=item.getName();
+                        }
+                        if (key.equals(endDate)){
+                            end=value;
+                            //判断日期
+                            if (!StringUtils.isEmpty(start)&&!StringUtils.isEmpty(end)){
+                                if (end.compareTo(start)<0){
+                                    ToastMessage(item.getName()+"不能小于"+startName);
+                                    return;
+                                }
+                            }
+
+                        }
+                    }
                     if (i == items.size() - 1) {
                         forStore.append("\"" + key + "\":\"" + value + "\"}");
                     } else {

+ 12 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/model/form/Data.java

@@ -24,6 +24,8 @@ public class Data implements Parcelable {
     private String formStoreKey;//formstore key 
     private int fdid;
     
+    private String maxlength;//最大长度
+    
     private String detailId;//关联主表id
     private String detailDid;//明细表id
 
@@ -148,6 +150,14 @@ public class Data implements Parcelable {
         this.fdid = fdid;
     }
 
+    public String getMaxlength() {
+        return maxlength;
+    }
+
+    public void setMaxlength(String maxlength) {
+        this.maxlength = maxlength;
+    }
+
 
     @Override
     public int describeContents() {
@@ -169,6 +179,7 @@ public class Data implements Parcelable {
         dest.writeString(this.field);
         dest.writeString(this.formStoreKey);
         dest.writeInt(this.fdid);
+        dest.writeString(this.maxlength);
         dest.writeString(this.detailId);
         dest.writeString(this.detailDid);
     }
@@ -190,6 +201,7 @@ public class Data implements Parcelable {
         this.field = in.readString();
         this.formStoreKey = in.readString();
         this.fdid = in.readInt();
+        this.maxlength = in.readString();
         this.detailId = in.readString();
         this.detailDid = in.readString();
     }

+ 1 - 11
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/ViewUtil.java

@@ -171,17 +171,7 @@ public class ViewUtil {
         }
 
     }
-
-   /**
-     * @desc:取消消息框
-     * @author:Arison on 2016/12/12
-     */
-    public static void cancelToast(){
-        if (crouton!=null){
-            crouton.cancel();
-        }
-    }
-
+    
     
     /**
      * 弹出Toast消息