Browse Source

数据校验问题。

Arison 9 years ago
parent
commit
f1fff72523

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

@@ -113,6 +113,8 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         endDate="va_endtime";
                         getSupportActionBar().setTitle("请假单");
                     } else if ("SpeAttendance".equals(caller)) {
+                        startDate="sa_appdate";
+                        endDate="sa_enddate";
                         formidkey = "sa_id";
                         getSupportActionBar().setTitle("特殊考勤");
                     } else if ("Workovertime".equals(caller)) {
@@ -775,7 +777,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                    // if (null == convertView) {
                         convertView = inflater.inflate(R.layout.listview_item_header, null);
                   //  }
-                    TextView textView = (TextView) convertView.findViewById(R.id.tv_title);
+                    final TextView textView = (TextView) convertView.findViewById(R.id.tv_title);
                     TextView item_add = (TextView) convertView.findViewById(R.id.iv_item_add);
                     RelativeLayout header = (RelativeLayout) convertView.findViewById(R.id.rl_item_header);
                     final Data itemValue = ((Data) getItem(position));
@@ -910,35 +912,46 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     });
 
                     model.editText.addTextChangedListener(new TextWatcher() {
-                        private String text;
+                        private String text="";
 
                         @Override
                         public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-                            if (!StringUtils.isEmpty(s.toString())) {
-                                text = s.toString();
-                            }
+                            text=s.toString();
+                            LogUtil.d(text);
                         }
 
                         @Override
                         public void onTextChanged(CharSequence s, int start, int before, int count) {
-
+                           //text=s.toString();
+                            LogUtil.d(s.toString());
                         }
 
                         @Override
                         public void afterTextChanged(Editable s) {
+                            LogUtil.d(s.toString());
                             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 {
-                                          
-                                        }
-                                    }
+                                boolean falg=true;
+                                
+                                 CommonUtil.counter=0;
+                                if (s.toString().length()==2&&CommonUtil.countStr(s.toString(),".")==1){
+                                   
+                                    falg=false;
+                                }
+                                LogUtil.d(s.toString().length()+"");
+                                LogUtil.d(CommonUtil.countStr(s.toString(), ".")+"");
+                                    //true&&true
+                                if (!RegexUtil.checkRegex(s.toString(), "^[0-9]+(.[0-9]{1})?$")&&falg){
+                                      LogUtil.d("表达式验证不通过............"+s.toString());
+                                      //验证不通过的
+                                    model.editText.setText(text);
+                                   
+                                    model.editText.setSelection(model.editText.getText().length());
+                                    
+                                    
                                 }else{
-                                    //限制长度
+                                    LogUtil.d("表达式验证通过............"+s.toString());
                                     if (s.toString().length()>Integer.valueOf(length)){
                                         ToastMessage(data.getName() + "超出限制字符长度"+Integer.valueOf(length));
                                     }else{
@@ -948,7 +961,14 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                             }else{
                                 data.setValue(s.toString());
                             }
+                            
+                            
                         }
+                        
+                        
+                        
+                        
+                        
                     });
                     
                     if (!StringUtils.isEmpty(data.getValue())) {
@@ -1155,12 +1175,12 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
      * @author:Arison on 2016/11/17
      */
     public void commit() {
-        LogUtil.d("提交操作:" + JSON.toJSONString(mDatas));
+       //LogUtil.d("提交操作:" + JSON.toJSONString(mDatas));
         StringBuffer forStore = new StringBuffer("{");
         StringBuffer gridStore = new StringBuffer("[");
         //判断是否有明细项
         if (groupData != null) {//存在明细
-            ArrayList<Data> items = mDatas.get(0).getDatas();
+            ArrayList<Data> items = mAdapter.getmListData().get(0).getDatas();
             if (!ListUtils.isEmpty(items)) {
                 String start="";
                 String startName="";
@@ -1208,8 +1228,8 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             String d_start="";
             String startName="";
             String d_end="";
-            for (int i = 1; i < mDatas.size(); i++) {
-                items = mDatas.get(i).getDatas();
+            for (int i = 1; i < mAdapter.getmListData().size(); i++) {
+                items = mAdapter.getmListData().get(i).getDatas();
                 if (!ListUtils.isEmpty(items)) {
                     gridStore.append("{");
                     for (int j = 0; j < items.size(); j++) {
@@ -1249,7 +1269,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         }
 
                     }
-                    if (i == mDatas.size() - 1) {
+                    if (i == mAdapter.getmListData().size() - 1) {
                         gridStore.append("}");
                     } else {
                         gridStore.append("},");
@@ -1261,7 +1281,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             LogUtil.d("girdStore:" + gridStore.toString());
             saveData(forStore.toString(), gridStore.toString());
         } else {
-            ArrayList<Data> items = mDatas.get(0).getDatas();
+            ArrayList<Data> items = mAdapter.getmListData().get(0).getDatas();
             if (!ListUtils.isEmpty(items)) {
                 String start="";
                 String startName="";
@@ -1459,15 +1479,15 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
      * @desc:重新提交
      * @author:Arison on 2016/12/8
      */
-    public void commitAfter() {
-        String url = Constants.getAppBaseUrl(ct) + "/mobile/commonres.action";
-        Map<String, Object> params = new HashMap<>();
-        params.put("caller", caller);
-        params.put("id", formid);
-        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, 0x20, null, null, "post");
-    }
+//    public void commitAfter() {
+//        String url = Constants.getAppBaseUrl(ct) + "/mobile/commonres.action";
+//        Map<String, Object> params = new HashMap<>();
+//        params.put("caller", caller);
+//        params.put("id", formid);
+//        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+//        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+//        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, 0x20, null, null, "post");
+//    }
 
     /**
      * 监听Back键按下事件,方法2:

+ 3 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/form/FormListSelectActivity.java

@@ -18,7 +18,6 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.AdapterView;
 import android.widget.BaseAdapter;
-import android.widget.EditText;
 import android.widget.Filter;
 import android.widget.Filterable;
 import android.widget.ImageView;
@@ -48,6 +47,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.FlexJsonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.view.EmptyLayout;
+import com.xzjmyk.pm.activity.view.ClearEditText;
 
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -65,7 +65,7 @@ public class FormListSelectActivity extends BaseActivity implements View.OnClick
     @ViewInject(R.id.lv_sale_list)
     private PullToRefreshListView mlistview;
     @ViewInject(R.id.et_Search)
-    private EditText etSearch;
+    private ClearEditText etSearch;
     private EmptyLayout mEmptyLayout;
     private EmptyLayout mEmptyMenu;
 
@@ -758,6 +758,7 @@ public class FormListSelectActivity extends BaseActivity implements View.OnClick
                         mEmptyLayout.showEmpty();
                     }
                     notifyDataSetChanged();
+                    mlistview.getRefreshableView().setSelection(0);
                 }
 
             };

+ 4 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectActivity.java

@@ -257,16 +257,17 @@ public class SelectActivity extends BaseActivity {
             public void afterTextChanged(Editable editable) {
                 if (ListUtils.isEmpty(formBeaan)) return;
                 String str = editable.toString().trim();
-                ArrayList<SelectBean> list = new ArrayList<>();
+                ArrayList<SelectBean> lists = new ArrayList<>();
                 for (SelectBean e : formBeaan) {
                     if (!StringUtils.isEmpty(e.getName()) && StringUtils.isInclude(e.getName(), str)) {
-                        list.add(e);
+                        lists.add(e);
                     }
                 }
                 if (adapter != null) {
-                    adapter.setFormBeaan(list);
+                    adapter.setFormBeaan(lists);
                     adapter.notifyDataSetChanged();
                 }
+                list.setSelection(0);
             }
         });
         emptyLayout = new EmptyLayout(ct, list);

+ 20 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java

@@ -19,8 +19,6 @@ import android.content.pm.PackageManager.NameNotFoundException;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.graphics.Matrix;
-import android.graphics.Typeface;
-import android.graphics.drawable.BitmapDrawable;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.net.Uri;
@@ -34,17 +32,14 @@ import android.text.Spannable;
 import android.text.SpannableStringBuilder;
 import android.text.TextUtils;
 import android.text.style.ForegroundColorSpan;
-import android.text.style.StyleSpan;
 import android.text.style.UnderlineSpan;
 import android.util.DisplayMetrics;
 import android.util.Log;
 import android.util.Patterns;
 import android.view.Gravity;
-import android.view.View;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
-import android.widget.PopupWindow;
 import android.widget.TextView;
 import android.widget.Toast;
 
@@ -103,7 +98,7 @@ import java.util.regex.Pattern;
 @SuppressLint("NewApi")
 public class CommonUtil {
     private final static String AppShareName = "setting";
-
+    public static int counter = 0;
 
     // 获取ApiKey
     public static String getMetaValue(Context context, String metaKey) {
@@ -127,7 +122,25 @@ public class CommonUtil {
         }
         return apiKey;
     }
-    
+
+    /**
+     * 判断str1中包含str2的个数 
+     * @param str1
+     * @param str2
+     * @return counter
+     */
+    public static int countStr(String str1, String str2) {
+        if (str1.indexOf(str2) == -1) {
+            return 0;
+        } else if (str1.indexOf(str2) != -1) {
+            counter++;
+            countStr(str1.substring(str1.indexOf(str2) +
+                    str2.length()), str2);
+            return counter;
+        }
+        return 0;
+    }
+
     /**
       * @desc:公共对话框,选择日期
       * @author:Arison on 2016/11/9

+ 25 - 1
WeiChat/src/main/res/layout/act_sale_select_list.xml

@@ -5,7 +5,31 @@
     android:layout_height="match_parent"
     android:background="@drawable/bg_main"
     android:orientation="vertical">
+    <RelativeLayout
+        android:id="@+id/top"
+        android:background="@drawable/bg_bar"
+        android:layout_width="match_parent"
+        android:layout_height="48dp"
+        android:orientation="horizontal"
+        android:paddingBottom="5dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="15dp"
+        android:paddingTop="5dp" >
 
+        <com.xzjmyk.pm.activity.view.ClearEditText
+            android:id="@+id/et_Search"
+            android:layout_width="fill_parent"
+            android:layout_height="fill_parent"
+            android:layout_centerVertical="true"
+            android:background="@drawable/search_input"
+            android:drawableLeft="@drawable/search"
+            android:drawableRight="@drawable/search_clear"
+            android:hint="@string/search"
+            android:textColor="@color/dark_grey"
+            android:textColorHint="@color/grey"
+            android:textSize="15sp" />
+    </RelativeLayout>
+    <!--
     <RelativeLayout
         android:id="@+id/top"
         android:layout_width="fill_parent"
@@ -59,7 +83,7 @@
                 android:paddingStart="20dp"
                 android:visibility="gone" />
         </RelativeLayout>
-    </RelativeLayout>
+    </RelativeLayout>-->
 
     <View
         android:id="@+id/view_v1"

+ 2 - 2
WeiChat/src/main/res/layout/activity_data_form_detail.xml

@@ -62,7 +62,7 @@
                 android:text="提交"
                 android:visibility="gone"
                 android:textColor="@color/white"
-                android:layout_marginBottom="150dp"
+                android:layout_marginBottom="80dp"
                 android:textSize="@dimen/text_main" />
 
            <Button
@@ -78,7 +78,7 @@
                android:visibility="gone"
                 android:text="更新"
                 android:textColor="@color/white"
-                android:layout_marginBottom="150dp"
+                android:layout_marginBottom="80dp"
                 android:textSize="@dimen/text_main" />
             <!--    <Button