فهرست منبع

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

# Conflicts:
#	WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/OAListAdapter.java
Arison 9 سال پیش
والد
کامیت
43c3d1baa3

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

@@ -8,6 +8,8 @@ import android.view.View;
 import android.widget.Button;
 import android.widget.ImageView;
 
+import com.afollestad.materialdialogs.MaterialDialog;
+
 import cat.ereza.customactivityoncrash.CustomActivityOnCrash;
 
 /**
@@ -33,8 +35,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);

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

@@ -54,6 +54,7 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
+import java.util.List;
 import java.util.Map;
 
 
@@ -63,9 +64,9 @@ import java.util.Map;
  */
 public class DataFormDetailActivity extends BaseActivity implements View.OnClickListener {
 
-    
-    private boolean isLeave=true;
-    
+
+    private boolean isLeave = true;
+
     @ViewInject(R.id.lv_datas)
     private ListViewInScroller lv_datas;
     private String caller = "";
@@ -91,18 +92,18 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
     private LinearLayout ll_item_add;
     @ViewInject(R.id.ll_top)
     private LinearLayout ll_top;
-    
+
     private String formidkey = "";
     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 String startDate = "";
+    private String endDate = "";
+    private String d_startDate = "";
+    private String d_endDate = "";
     private int formGroupSize;
 
     private Handler mHandler = new Handler() {
@@ -129,7 +130,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         }
                         //过滤分组
                         Iterator<String> iter = set.iterator();
-                        formGroupSize= set.size();
+                        formGroupSize = set.size();
                         while (iter.hasNext()) {
                             GroupData groupData = new GroupData();//分组
                             GroupData groupDataNet = new GroupData();//传输给配置界面
@@ -148,14 +149,14 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                 data.setMaxlength(String.valueOf(items.getIntValue("fd_maxlength")));
                                 data.setFdid(items.getIntValue("fd_id"));
                                 data.setValue(items.getString("fd_value"));
-                                
-                                if (startDate.equals(items.getString("fd_field"))||
-                                        endDate .equals(items.getString("fd_field"))){
-                                    if (StringUtils.isEmpty(items.getString("fd_value"))){
-                                        data.setValue(DateFormatUtil.getStrDate4Date(new Date(),"yyyy-MM-dd HH:mm:ss"));
+
+                                if (startDate.equals(items.getString("fd_field")) ||
+                                        endDate.equals(items.getString("fd_field"))) {
+                                    if (StringUtils.isEmpty(items.getString("fd_value"))) {
+                                        data.setValue(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss"));
                                     }
                                 }
-                               
+
                                 data.setGroupId(0);
                                 data.setGroup(items.getString("fd_group"));
                                 data.setIsDefault(items.getIntValue("mfd_isdefault"));
@@ -234,12 +235,12 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                         }
                                         if (detailkey_did.equals(items.getString("dg_field"))) {
                                             //关联id
-                                            if (StringUtils.isEmpty(items.getString("dg_value"))){
+                                            if (StringUtils.isEmpty(items.getString("dg_value"))) {
                                                 key_did = String.valueOf(formid);
-                                            }else{
+                                            } else {
                                                 key_did = items.getString("dg_value");
                                             }
-                                       
+
                                         }
                                         data.setMaxlength(String.valueOf(items.getIntValue("dg_maxlength")));
                                         data.setName(items.getString("dg_caption"));
@@ -248,10 +249,10 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                         data.setDetno(items.getIntValue("dg_sequence"));
                                         data.setFdid(items.getIntValue("gd_id"));
                                         data.setValue(items.getString("dg_value"));
-                                        if (d_startDate.equals(items.getString("dg_field"))||
-                                                d_endDate .equals(items.getString("dg_field"))){
-                                            if (StringUtils.isEmpty(items.getString("dg_value"))){
-                                                data.setValue(DateFormatUtil.getStrDate4Date(new Date(),"yyyy-MM-dd HH:mm:ss"));
+                                        if (d_startDate.equals(items.getString("dg_field")) ||
+                                                d_endDate.equals(items.getString("dg_field"))) {
+                                            if (StringUtils.isEmpty(items.getString("dg_value"))) {
+                                                data.setValue(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss"));
                                             }
                                         }
                                         data.setIsDefault(items.getIntValue("mdg_isdefault"));
@@ -292,7 +293,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                     mDatasNet.add(groupDataNet);
 
                                 }
-                               if (ll_item_add!=null)ll_item_add.setVisibility(View.VISIBLE);
+                                if (ll_item_add != null) ll_item_add.setVisibility(View.VISIBLE);
                             } else {
                                 //不需要分組---减少循环
                                 groupData = new GroupData();//分组
@@ -312,9 +313,9 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                     }
                                     if (detailkey_did.equals(items.getString("dg_field"))) {
                                         //明细id
-                                        if (StringUtils.isEmpty(items.getString("dg_value"))){
+                                        if (StringUtils.isEmpty(items.getString("dg_value"))) {
                                             key_did = String.valueOf(formid);
-                                        }else{
+                                        } else {
                                             key_did = items.getString("dg_value");
                                         }
                                     }
@@ -323,13 +324,13 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                     data.setField(items.getString("dg_field"));
                                     data.setReadonly(items.getString("dg_logictype"));
                                     data.setValue(items.getString("dg_value"));
-                                    if (d_startDate.equals(items.getString("dg_field"))||
-                                            d_endDate .equals(items.getString("dg_field"))){
-                                        if (StringUtils.isEmpty(items.getString("dg_value"))){
-                                            data.setValue(DateFormatUtil.getStrDate4Date(new Date(),"yyyy-MM-dd HH:mm:ss"));
+                                    if (d_startDate.equals(items.getString("dg_field")) ||
+                                            d_endDate.equals(items.getString("dg_field"))) {
+                                        if (StringUtils.isEmpty(items.getString("dg_value"))) {
+                                            data.setValue(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss"));
                                         }
                                     }
-                                    
+
                                     data.setDetno(items.getIntValue("dg_sequence"));
                                     data.setFdid(items.getIntValue("gd_id"));
                                     data.setIsDefault(items.getIntValue("mdg_isdefault"));
@@ -358,34 +359,34 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                 mDatas.add(groupData);
                                 mDatasNet.add(groupDataNet);//传输给配置界面
 
-                                if (ll_item_add!=null) ll_item_add.setVisibility(View.VISIBLE);
+                                if (ll_item_add != null) ll_item_add.setVisibility(View.VISIBLE);
 
                             }
-                            if (ll_item_add!=null)ll_item_add.setVisibility(View.VISIBLE);
+                            if (ll_item_add != null) ll_item_add.setVisibility(View.VISIBLE);
                         } else {
-                            if (ll_item_add!=null)ll_item_add.setVisibility(View.GONE);
+                            if (ll_item_add != null) ll_item_add.setVisibility(View.GONE);
                         }
 
-                        if (mAdapter == null&&mContext!=null) {
+                        if (mAdapter == null && mContext != null) {
                             mAdapter = new DataAdapter(mContext, mDatas);
                             lv_datas.setAdapter(mAdapter);
-                        }else{
+                        } else {
                             mAdapter.setmListData(mDatas);
                             mAdapter.notifyDataSetChanged();
                         }
 
                         if (formid == 0) {
-                            if (btn_update!=null) btn_update.setVisibility(View.GONE);
-                            if (click_btn!=null) click_btn.setVisibility(View.VISIBLE);
+                            if (btn_update != null) btn_update.setVisibility(View.GONE);
+                            if (click_btn != null) click_btn.setVisibility(View.VISIBLE);
                         } else {
-                            if ( btn_update!=null) btn_update.setVisibility(View.VISIBLE);
-                            if (click_btn!=null) click_btn.setVisibility(View.GONE);
+                            if (btn_update != null) btn_update.setVisibility(View.VISIBLE);
+                            if (click_btn != null) click_btn.setVisibility(View.GONE);
                         }
-                    }else{
+                    } else {
                         click_btn.setVisibility(View.GONE);
                     }
 
-                  
+
                     break;
                 case Constants.HTTP_SUCCESS_INIT:
                     Boolean success = null;
@@ -399,12 +400,12 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                             mHandler.postDelayed(new Runnable() {
                                 @Override
                                 public void run() {
-                                    if (mContext==null)return;
+                                    if (mContext == null) return;
                                     startActivity(new Intent(mContext, CommonDocDetailsActivity.class)
                                             .putExtra("caller", caller)
                                             .putExtra("keyValue", va_id)
                                             .putExtra("status", "已提交"));
-                                   
+
                                     finish();
                                     overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
                                 }
@@ -431,7 +432,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                             mHandler.postDelayed(new Runnable() {
                                 @Override
                                 public void run() {
-                                  
+
                                     finish();
                                 }
                             }, 2000);
@@ -465,7 +466,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         setContentView(R.layout.activity_data_form_detail);
         initView();
         initListener();
-        
+
         initData();
     }
 
@@ -477,31 +478,28 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             formid = intent.getIntExtra("id", 0);
             if (!StringUtils.isEmpty(intent.getStringExtra("caller"))) {
                 caller = intent.getStringExtra("caller");
-//                String formidkey = "";
-//                String detailkey_id = "";
-//                String detailkey_did = "";
                 if ("Ask4Leave".equals(caller)) {
                     formidkey = "va_id";
-                    startDate="va_startime";
-                    endDate="va_endtime";
+                    startDate = "va_startime";
+                    endDate = "va_endtime";
                     getSupportActionBar().setTitle("请假单");
                 } else if ("SpeAttendance".equals(caller)) {
-                    startDate="sa_appdate";
-                    endDate="sa_enddate";
+                    startDate = "sa_appdate";
+                    endDate = "sa_enddate";
                     formidkey = "sa_id";
                     getSupportActionBar().setTitle("特殊考勤");
                 } else if ("Workovertime".equals(caller)) {
-                    d_startDate="wod_startdate";
-                    d_endDate="wod_enddate";
+                    d_startDate = "wod_startdate";
+                    d_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";
+                    startDate = "fp_prestartdate";
+                    endDate = "fp_preenddate";
+                    d_startDate = "fpd_date1";
+                    d_endDate = "fpd_date2";
 
                     formidkey = "fp_id";
                     detailkey_id = "fpd_id";
@@ -513,7 +511,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             LogUtil.d("更新caller:" + caller);
             LogUtil.d("更新id:" + formid);
         }
-       // mAdapter = new DataAdapter(mContext, mDatas);
+        // mAdapter = new DataAdapter(mContext, mDatas);
         //给该layout设置监听,监听其布局发生变化事件
         findViewById(R.id.sv_top).getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
             int heightDiff;
@@ -543,22 +541,6 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                 } else {
                     heightDiff = findViewById(R.id.sv_top).getRootView().getHeight() - findViewById(R.id.sv_top).getHeight();
                 }
-
-                //其实这个heightDiff换成dp更靠谱一些 
-//                LogUtil.d("heightdiff---+:"+findViewById(R.id.sv_top).getRootView().getHeight());
-//                LogUtil.d("heightdiff--->:"+findViewById(R.id.sv_top).getHeight());
-//               LogUtil.d("heightdiff:"+heightDiff);
-//                if(heightDiff >100){
-//
-//                    //大小超过100时,一般为显示虚拟键盘事件
-//                    ToastMessage("显示键盘");
-//                }else{
-//
-//                    //大小小于100时,为不显示虚拟键盘或虚拟键盘隐藏
-//
-//                    ToastMessage("隐藏键盘");
-//
-//                }
             }
         });
     }
@@ -609,7 +591,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                 if (formid != 0) {
                     finish();
                 }
-                
+
                 break;
         }
         return super.onOptionsItemSelected(item);
@@ -620,14 +602,12 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         if (caller == null) {
             caller = "Ask4Leave";
         }
-        ///mobile/getformandgriddetail.action?caller=" + caller+ "&condition=1=1" + "&sessionId=" + sessionId+"&id=0";
         String url = "";
         if (id == 0) {
             url = Constants.getAppBaseUrl(ct) + "mobile/common/getformandgriddetail.action";
         } else {
             url = Constants.getAppBaseUrl(ct) + "mobile/getformandgriddetail.action";
         }
-        // String url = "http://192.168.253.222/ERP/"+ "mobile/getformandgriddetail.action";
         Map<String, Object> params = new HashMap<>();
         params.put("caller", caller);
         params.put("condition", "1=1");
@@ -646,12 +626,10 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                 break;
             case R.id.click_btn:
                 if (formid == 0) {
-                 
                     commit();
                 }
                 break;
             case R.id.btn_update:
-              
                 updata();
                 break;
         }
@@ -660,7 +638,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
     @Override
     protected void onResume() {
         super.onResume();
-        if (mAdapter!=null){
+        if (mAdapter != null) {
             mAdapter.notifyDataSetChanged();
         }
     }
@@ -670,7 +648,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
      * @author:Arison on 2016/12/2
      */
     public class DataAdapter extends BaseAdapter {
-        private boolean isProtectState=false;
+        private boolean isProtectState = false;
         private Context ct;
         private LayoutInflater inflater;
         private static final int TYPE_CATEGORY_ITEM = 0;//分类
@@ -821,9 +799,9 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             final int itemViewType = getItemViewType(position);
             switch (itemViewType) {
                 case TYPE_CATEGORY_ITEM:
-                   // if (null == convertView) {
-                        convertView = inflater.inflate(R.layout.listview_item_header, null);
-                  //  }
+                    // if (null == convertView) {
+                    convertView = inflater.inflate(R.layout.listview_item_header, null);
+                    //  }
                     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);
@@ -866,7 +844,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     ViewModel model;
                     if (true) {
                         convertView = inflater.inflate(R.layout.listitem_businessless_edit, parent, false);
-                        model=new ViewModel();
+                        model = new ViewModel();
                         model.text = (TextView) convertView.findViewById(R.id.tv_less_key);
                         model.editText = (EditText) convertView.findViewById(R.id.tv_less_value);
                         model.ll_moment = (LinearLayout) convertView.findViewById(R.id.ll_moment);
@@ -874,7 +852,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         convertView.setTag(model);
                     } else {
                         //缓存问题
-                       // model= (ViewModel) convertView.getTag();
+                        // model= (ViewModel) convertView.getTag();
                     }
 
                     final Data data = (Data) getItem(position);
@@ -882,7 +860,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     final Integer categoryIndex = (Integer) results.get("categoryIndex");
 
                     model.text.setText(data.getName());
-                    if ("F".equals(data.getReadonly())||"necessaryField".equals(data.getReadonly())) {
+                    if ("F".equals(data.getReadonly()) || "necessaryField".equals(data.getReadonly())) {
                         model.editText.setHint("请输入(必填)");
                     } else {
                         model.editText.setHint("请输入");
@@ -896,12 +874,17 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         model.editText.setFocusable(false);
                         model.editText.setHint("请选择(必选)");
                     }
-                    if(data.getType().equals("N")){
+                    if (data.isEditing()){
+                        model.editText.setEnabled(true);
+                    }else{
+                        model.editText.setEnabled(false);
+                    }
+                    
+                    if (data.getType().equals("N")) {
                         model.editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
                     }
-                    final EditText editText=model.editText;
-                
-                   
+                    final EditText editText = model.editText;
+                    
                     editText.setOnClickListener(new View.OnClickListener() {
                         @Override
                         public void onClick(View v) {
@@ -926,7 +909,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                 intent.putExtra("id", categoryIndex);//需要把zum
                                 intent.putExtra("object", data);
                                 startActivityForResult(intent, categoryIndex);
-                                isLeave=true;
+                                isLeave = true;
                             }
 
                             if (data.getType().equals("MF") || data.getType().equals("SF")) {
@@ -956,35 +939,34 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                 intent.putExtra("id", categoryIndex);
                                 intent.putExtra("object", data);
                                 startActivityForResult(intent, categoryIndex);
-                                isLeave=true;
+                                isLeave = true;
                             }
-                            
-                            LogUtil.d("isLeave:"+isLeave);
-                                    
+
+                            LogUtil.d("isLeave:" + isLeave);
+
                         }
                     });
-                
-                    
+
+
                     editText.addTextChangedListener(new TextWatcher() {
                         private String text = "";
 
                         @Override
                         public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                             text = s.toString();
-                            // LogUtil.d(text);
                         }
 
                         @Override
                         public void onTextChanged(CharSequence s, int start, int before, int count) {
-                          
+
                         }
 
                         @Override
                         public void afterTextChanged(Editable s) {
-                            currentEditField=data.getName();
+                            currentEditField = data.getName();
                             String type = data.getType();
                             String length = data.getMaxlength();
-                            if ("0".equals(length))length="300";
+                            if ("0".equals(length)) length = "300";
                             if ("N".equals(type) && !StringUtils.isEmpty(s.toString())) {
                                 boolean falg = true;
                                 CommonUtil.counter = 0;
@@ -995,12 +977,12 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                 }
                                 if (!RegexUtil.checkRegex(s.toString(), "^[0-9]+(.[0-9]{1})?$") && falg) {
                                     editText.setText(text);
-                                }else{
+                                } else {
                                     data.setValue(s.toString());
                                 }
                             } else {
-                                if (!data.getType().equals("SF")&&! data.getType().equals("MF")&& !data.getType().equals("C")&&!"D".equals(type)
-                                        &&(s.toString().length() > Integer.valueOf(length))) {
+                                if (!data.getType().equals("SF") && !data.getType().equals("MF") && !data.getType().equals("C") && !"D".equals(type)
+                                        && (s.toString().length() > Integer.valueOf(length))) {
                                     ToastMessage(data.getName() + "超出限制字符长度" + Integer.valueOf(length));
                                 } else {
                                     data.setValue(s.toString());
@@ -1009,7 +991,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
 
                         }
                     });
-                    if (!StringUtils.isEmpty(data.getValue())&&isLeave) {
+                    if (!StringUtils.isEmpty(data.getValue()) && isLeave) {
                         model.editText.setText(data.getValue());
                     }
                     break;
@@ -1033,7 +1015,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (mAdapter!=null)mAdapter.setIsProtectState(true);
+        if (mAdapter != null) mAdapter.setIsProtectState(true);
         switch (resultCode) {
             case 0x20://单选
                 if (data == null) return;
@@ -1044,33 +1026,59 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     JsonValidator validator = new JsonValidator();
                     if (validator.validate(b.getJson())) {
                         Data vaules = JSON.parseObject(b.getObject(), Data.class);
-                        // Toast.makeText(ct, "下拉项:" + datas.get(b.getId() - 1).getName() + "返回值:" + b.getName(), Toast.LENGTH_LONG).show();
-//                        mEditText.put(b.getId() - 1, b.getName());
-                        // mAdapter.getmListData().get(0).getDatas().get(0).setValue("");
-                        String value=null;
-                        if ("C".equals(vaules.getType())){
-                            value= JSON.parseObject(b.getJson()).getString("VALUE");
+                        String value = null;
+                        if ("C".equals(vaules.getType())) {
+                            value = JSON.parseObject(b.getJson()).getString("VALUE");
                         }
                         LogUtil.d("id=" + b.getId());
                         LogUtil.d("groupId=" + vaules.getGroupId());
                         if (ListUtils.isEmpty(grids)) {
                             //主
                             mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(b.getId() - 1).setValue(b.getName());
-                            if(value!=null){
+                            if("Ask4Leave".equals(caller)){
+                                //va_alldays   天
+                                //va_alltimes  时
+                                int va_alldays=0;
+                                int va_alltimes=0;
+                                List<Data>  tempLists= mAdapter.getmListData().get(vaules.getGroupId()).getDatas();
+                                for(int i=0;i<tempLists.size();i++){
+                                    Data tempData=tempLists.get(i);
+                                    if (tempData.getField().equals("va_alldays")){
+                                        va_alldays=i+1;
+                                    }
+                                    if (tempData.getField().equals("va_alltimes")){
+                                        va_alltimes=i+1;
+                                    }
+                                }
+                                LogUtil.d("va_alldays:"+va_alldays);
+                                LogUtil.d("va_alltimes:"+va_alltimes);
+                                if ("按小时".equals(b.getName())){//4
+                                    //天的编辑框不可编辑,并赋值为0
+                                    mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(va_alldays - 1).setValue("0");
+                                    mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(va_alldays - 1).setIsEditing(false);
+                                    mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(va_alltimes - 1).setIsEditing(true);
+                                }else if ("按天".equals(b.getName())){//5
+                                    //小时的编辑框不可编辑,并赋值为0
+                                    mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(va_alltimes - 1).setValue("0");
+                                    mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(va_alltimes - 1).setIsEditing(false);
+                                    mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(va_alldays - 1).setIsEditing(true);
+                                }
+                            }
+                            if (value != null) {
                                 mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(b.getId() - 1).setDisplayValue(value);
                             }
                         } else {
                             //明细
                             mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(b.getId() - 1).setValue(b.getName());
-                           if(value!=null){
-                               mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(b.getId() - 1).setDisplayValue(value);  
-                           }
+                            if (value != null) {
+                                mAdapter.getmListData().get(vaules.getGroupId()).getDatas().get(b.getId() - 1).setDisplayValue(value);
+                            }
                         }
 
                         mAdapter.notifyDataSetChanged();
                     }
                 }
-                
+
 //                mHandler.postDelayed(new Runnable() {
 //                    @Override
 //                    public void run() {
@@ -1160,11 +1168,11 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     //关联id
                     key_did = items.getString("dg_value");
                 }
-                if (d_startDate.equals(items.getString("dg_field"))||
-                        d_endDate .equals(items.getString("dg_field"))){
-                    if (StringUtils.isEmpty(items.getString("dg_value"))){
-                        data.setValue(DateFormatUtil.getStrDate4Date(new Date(),"yyyy-MM-dd HH:mm:ss"));
-                    }else{
+                if (d_startDate.equals(items.getString("dg_field")) ||
+                        d_endDate.equals(items.getString("dg_field"))) {
+                    if (StringUtils.isEmpty(items.getString("dg_value"))) {
+                        data.setValue(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss"));
+                    } else {
                         data.setValue(items.getString("dg_value"));
                     }
                 }
@@ -1183,7 +1191,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     //录入
                     if (data.getIsNeed() == -1) {
                         data.setDetailDid(key_did);//更新时候,只添加关联id
-                        data.setGroup("明细项"+(mDatas.size()-(formGroupSize-1)));
+                        data.setGroup("明细项" + (mDatas.size() - (formGroupSize - 1)));
                         itemData.add(data);
                     }
                 } else {
@@ -1191,7 +1199,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     if (groupid == 1) {
                         if (data.getIsNeed() == -1) {
                             data.setDetailDid(String.valueOf(formid));//更新时候,只添加关联id---主表ID
-                            data.setGroup("明细项" + (mDatas.size()-(formGroupSize-1)));
+                            data.setGroup("明细项" + (mDatas.size() - (formGroupSize - 1)));
                             data.setDetailId("");
                             itemData.add(data);
                         }
@@ -1243,71 +1251,70 @@ 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("[");
-        mDatas=mAdapter.getmListData();
+        mDatas = mAdapter.getmListData();
         //判断是否有明细项
         LogUtil.d(JSON.toJSONString(mAdapter.getmListData()));
         if (groupData != null) {//存在明细
             ArrayList<Data> items = mAdapter.getmListData().get(0).getDatas();
             if (!ListUtils.isEmpty(items)) {
-                String start="";
-                String startName="";
-                String end="";
+                String start = "";
+                String startName = "";
+                String end = "";
                 for (int i = 0; i < items.size(); i++) {
                     Data item = items.get(i);
                     String key = item.getField();
                     String value = item.getValue();
-                    String disValue=item.getDisplayValue();
-                    if(!StringUtils.isEmpty(disValue))value=disValue;//下拉字段
+                    String disValue = item.getDisplayValue();
+                    if (!StringUtils.isEmpty(disValue)) value = disValue;//下拉字段
                     if (StringUtils.isEmpty(value)) value = "";
                     if (("F".equals(item.getReadonly()) && StringUtils.isEmpty(value))
-                            ||( "necessaryField".equals(item.getReadonly())&&StringUtils.isEmpty(value))) {
+                            || ("necessaryField".equals(item.getReadonly()) && StringUtils.isEmpty(value))) {
                         ToastMessage(item.getName() + "不能为空!");
                         return;
                     }
 
-                 
+
                     //日期格式判断
-                    if (!StringUtils.isEmpty(startDate)&&!StringUtils.isEmpty(endDate)){
-                        if (key.equals(startDate)){
-                            start=value;
-                            startName=item.getName();
+                    if (!StringUtils.isEmpty(startDate) && !StringUtils.isEmpty(endDate)) {
+                        if (key.equals(startDate)) {
+                            start = value;
+                            startName = item.getName();
                         }
-                        if (key.equals(endDate)){
-                            end=value;
+                        if (key.equals(endDate)) {
+                            end = value;
                             //判断日期
-                            if (!StringUtils.isEmpty(start)&&!StringUtils.isEmpty(end)){
-                                if (end.compareTo(start)<=0){
-                                    ToastMessage(item.getName()+"不能小于或等于"+startName);
+                            if (!StringUtils.isEmpty(start) && !StringUtils.isEmpty(end)) {
+                                if (end.compareTo(start) <= 0) {
+                                    ToastMessage(item.getName() + "不能小于或等于" + startName);
                                     return;
                                 }
                             }
 
                         }
-                    }else{
+                    } else {
                         LogUtil.d("startDate:" + startDate + "endDate:" + endDate);
                     }
 
                     if (i == items.size() - 1) {
-                        if (caller.equals("FeePlease!CCSQ")){
-                            forStore.append("\"" + "fp_auditdate" + "\":\"" + ""+ "\",");
+                        if (caller.equals("FeePlease!CCSQ")) {
+                            forStore.append("\"" + "fp_auditdate" + "\":\"" + "" + "\",");
                         }
                         forStore.append("\"" + key + "\":\"" + value + "\"}");
                     } else {
                         forStore.append("\"" + key + "\":\"" + value + "\",");
                     }
-                    
-                 
+
 
                 }
             }
             LogUtil.d("forStore:" + forStore.toString());
             //屏蔽第一项
-            String d_start="";
-            String startName="";
-            String d_end="";
+            String d_start = "";
+            String startName = "";
+            String d_end = "";
             for (int i = 1; i < mAdapter.getmListData().size(); i++) {
                 items = mAdapter.getmListData().get(i).getDatas();
                 if (!ListUtils.isEmpty(items)) {
@@ -1316,27 +1323,27 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         Data item = items.get(j);
                         String key = item.getField();
                         String value = item.getValue();
-                        String disValue=item.getDisplayValue();
-                        if(!StringUtils.isEmpty(disValue))value=disValue;//下拉字段
+                        String disValue = item.getDisplayValue();
+                        if (!StringUtils.isEmpty(disValue)) value = disValue;//下拉字段
                         if (StringUtils.isEmpty(value)) value = "";
                         if (("F".equals(item.getReadonly()) && StringUtils.isEmpty(value))
-                                ||( "necessaryField".equals(item.getReadonly())&&StringUtils.isEmpty(value))) {
+                                || ("necessaryField".equals(item.getReadonly()) && StringUtils.isEmpty(value))) {
                             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 (!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 (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);
+                                if (!StringUtils.isEmpty(d_start) && !StringUtils.isEmpty(d_end)) {
+                                    if (d_end.compareTo(d_start) <= 0) {
+                                        ToastMessage(item.getName() + "不能小于或等于" + startName);
                                         return;
                                     }
                                 }
@@ -1366,42 +1373,42 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         } else {
             ArrayList<Data> items = mAdapter.getmListData().get(0).getDatas();
             if (!ListUtils.isEmpty(items)) {
-                String start="";
-                String startName="";
-                String end="";
+                String start = "";
+                String startName = "";
+                String end = "";
                 for (int i = 0; i < items.size(); i++) {
                     Data item = items.get(i);
                     String key = item.getField();
                     String value = item.getValue();
-                    String disValue=item.getDisplayValue();
-                    if(!StringUtils.isEmpty(disValue))value=disValue;//下拉字段
+                    String disValue = item.getDisplayValue();
+                    if (!StringUtils.isEmpty(disValue)) value = disValue;//下拉字段
                     if (StringUtils.isEmpty(value)) value = "";
                     if (("F".equals(item.getReadonly()) && StringUtils.isEmpty(value))
-                            ||( "necessaryField".equals(item.getReadonly())&&StringUtils.isEmpty(value))) {
+                            || ("necessaryField".equals(item.getReadonly()) && StringUtils.isEmpty(value))) {
                         ToastMessage(item.getName() + "不能为空!");
                         return;
                     }
                     //日期格式判断
-                    if (!StringUtils.isEmpty(startDate)&&!StringUtils.isEmpty(endDate)){
-                        if (key.equals(startDate)){
-                            start=value;
-                            startName=item.getName();
+                    if (!StringUtils.isEmpty(startDate) && !StringUtils.isEmpty(endDate)) {
+                        if (key.equals(startDate)) {
+                            start = value;
+                            startName = item.getName();
                         }
-                        if (key.equals(endDate)){
-                            end=value;
+                        if (key.equals(endDate)) {
+                            end = value;
                             //判断日期
-                            if (!StringUtils.isEmpty(start)&&!StringUtils.isEmpty(end)){
-                                if (end.compareTo(start)<=0){
-                                    ToastMessage(item.getName()+"不能小于或等于"+startName);
+                            if (!StringUtils.isEmpty(start) && !StringUtils.isEmpty(end)) {
+                                if (end.compareTo(start) <= 0) {
+                                    ToastMessage(item.getName() + "不能小于或等于" + startName);
                                     return;
                                 }
                             }
 
                         }
-                    }else{
-                        LogUtil.d("startDate:"+startDate+"endDate:"+endDate);
+                    } else {
+                        LogUtil.d("startDate:" + startDate + "endDate:" + endDate);
                     }
-                    
+
                     if (i == items.size() - 1) {
                         forStore.append("\"" + key + "\":\"" + value + "\"}");
                     } else {
@@ -1457,7 +1464,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             detailkey_id = "fpd_id";
             detailkey_did = "fpd_fpid";
         }
-        mDatas=mAdapter.getmListData();
+        mDatas = mAdapter.getmListData();
         // LogUtil.d("提交操作:" + JSON.toJSONString(mDatas));
         StringBuffer forStore = new StringBuffer("{");
         StringBuffer gridStore = new StringBuffer("[");
@@ -1465,41 +1472,41 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         if (groupData != null) {//存在明细
             ArrayList<Data> items = mAdapter.getmListData().get(0).getDatas();
             if (!ListUtils.isEmpty(items)) {
-                String start="";
-                String startName="";
-                String end="";
+                String start = "";
+                String startName = "";
+                String end = "";
                 for (int i = 0; i < items.size(); i++) {
                     Data item = items.get(i);
                     String key = item.getField();
                     String value = item.getValue();
                     if (StringUtils.isEmpty(value)) value = "";
                     if (("F".equals(item.getReadonly()) && StringUtils.isEmpty(value))
-                            ||( "necessaryField".equals(item.getReadonly())&&StringUtils.isEmpty(value))) {
+                            || ("necessaryField".equals(item.getReadonly()) && StringUtils.isEmpty(value))) {
                         ToastMessage(item.getName() + "不能为空!");
                         return;
                     }
 
                     //日期格式判断
-                    if (!StringUtils.isEmpty(startDate)&&!StringUtils.isEmpty(endDate)){
-                        if (key.equals(startDate)){
-                            start=value;
-                            startName=item.getName();
+                    if (!StringUtils.isEmpty(startDate) && !StringUtils.isEmpty(endDate)) {
+                        if (key.equals(startDate)) {
+                            start = value;
+                            startName = item.getName();
                         }
-                        if (key.equals(endDate)){
-                            end=value;
+                        if (key.equals(endDate)) {
+                            end = value;
                             //判断日期
-                            if (!StringUtils.isEmpty(start)&&!StringUtils.isEmpty(end)){
-                                if (end.compareTo(start)<=0){
-                                    ToastMessage(item.getName()+"不能小于或等于"+startName);
+                            if (!StringUtils.isEmpty(start) && !StringUtils.isEmpty(end)) {
+                                if (end.compareTo(start) <= 0) {
+                                    ToastMessage(item.getName() + "不能小于或等于" + startName);
                                     return;
                                 }
                             }
 
                         }
-                    }else{
-                        LogUtil.d("startDate:"+startDate+"endDate:"+endDate);
+                    } else {
+                        LogUtil.d("startDate:" + startDate + "endDate:" + endDate);
                     }
-                    
+
                     if (i == items.size() - 1) {
                         forStore.append("\"" + key + "\":\"" + value + "\",")
                                 .append("\"" + formidkey + "\":\"" + formid + "\"}");
@@ -1515,9 +1522,10 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                 items = mAdapter.getmListData().get(i).getDatas();
                 if (!ListUtils.isEmpty(items)) {
                     //屏蔽第一项
-                    String d_start="";
-                    String startName="";
-                    String d_end="";;
+                    String d_start = "";
+                    String startName = "";
+                    String d_end = "";
+                    ;
                     gridStore.append("{");
                     for (int j = 0; j < items.size(); j++) {
                         Data item = items.get(j);
@@ -1527,32 +1535,32 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         String detailDid = item.getDetailDid();
                         if (StringUtils.isEmpty(value)) value = "";
                         if (("F".equals(item.getReadonly()) && StringUtils.isEmpty(value))
-                                ||( "necessaryField".equals(item.getReadonly())&&StringUtils.isEmpty(value))) {
+                                || ("necessaryField".equals(item.getReadonly()) && StringUtils.isEmpty(value))) {
                             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 (!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 (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);
+                                if (!StringUtils.isEmpty(d_start) && !StringUtils.isEmpty(d_end)) {
+                                    if (d_end.compareTo(d_start) <= 0) {
+                                        ToastMessage(item.getName() + "不能小于或等于" + startName);
                                         return;
                                     }
                                 }
 
                             }
-                        }else{
-                            LogUtil.d("d_startDate:"+d_startDate+"d_endDate:"+d_endDate);
+                        } else {
+                            LogUtil.d("d_startDate:" + d_startDate + "d_endDate:" + d_endDate);
                         }
-                        
+
                         if (j == items.size() - 1) {
                             gridStore.append("\"" + key + "\":\"" + value + "\",")
                                     .append("\"" + detailkey_id + "\":\"" + detailId + "\",")//主表id
@@ -1574,41 +1582,41 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             LogUtil.prinlnLongMsg("update", "girdStore:" + gridStore.toString());
             updateData(forStore.toString(), gridStore.toString());
         } else {
-            ArrayList<Data> items =mAdapter.getmListData().get(0).getDatas();
+            ArrayList<Data> items = mAdapter.getmListData().get(0).getDatas();
             if (!ListUtils.isEmpty(items)) {
-                String start="";
-                String startName="";
-                String end="";
+                String start = "";
+                String startName = "";
+                String end = "";
                 for (int i = 0; i < items.size(); i++) {
                     Data item = items.get(i);
                     String key = item.getField();
                     String value = item.getValue();
                     if (StringUtils.isEmpty(value)) value = "";
                     if (("F".equals(item.getReadonly()) && StringUtils.isEmpty(value))
-                            ||( "necessaryField".equals(item.getReadonly())&&StringUtils.isEmpty(value))) {
+                            || ("necessaryField".equals(item.getReadonly()) && StringUtils.isEmpty(value))) {
                         ToastMessage(item.getName() + "不能为空!");
                         return;
                     }
 
                     //日期格式判断
-                    if (!StringUtils.isEmpty(startDate)&&!StringUtils.isEmpty(endDate)){
-                        if (key.equals(startDate)){
-                            start=value;
-                            startName=item.getName();
+                    if (!StringUtils.isEmpty(startDate) && !StringUtils.isEmpty(endDate)) {
+                        if (key.equals(startDate)) {
+                            start = value;
+                            startName = item.getName();
                         }
-                        if (key.equals(endDate)){
-                            end=value;
+                        if (key.equals(endDate)) {
+                            end = value;
                             //判断日期
-                            if (!StringUtils.isEmpty(start)&&!StringUtils.isEmpty(end)){
-                                if (end.compareTo(start)<=0){
-                                    ToastMessage(item.getName()+"不能小于或等于"+startName);
+                            if (!StringUtils.isEmpty(start) && !StringUtils.isEmpty(end)) {
+                                if (end.compareTo(start) <= 0) {
+                                    ToastMessage(item.getName() + "不能小于或等于" + startName);
                                     return;
                                 }
                             }
 
                         }
-                    }else{
-                        LogUtil.d("startDate:"+startDate+"endDate:"+endDate);
+                    } else {
+                        LogUtil.d("startDate:" + startDate + "endDate:" + endDate);
                     }
                     if (i == items.size() - 1) {
                         forStore.append("\"" + key + "\":\"" + value + "\",")
@@ -1636,7 +1644,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         String url = Constants.getAppBaseUrl(ct) + "/mobile/commonUpdate.action";
         Map<String, Object> params = new HashMap<>();
         params.put("caller", caller);
-        params.put("keyid",String.valueOf(formid));
+        params.put("keyid", String.valueOf(formid));
         params.put("formStore", formStore);
         params.put("gridStore", gridStore);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();

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

@@ -21,9 +21,9 @@ public class Data implements Parcelable {
     private String value;//编辑框的内容-界面显示
     private String displayValue;//下拉字段隐藏的值
     private String field;//字段名
-    private String formStoreKey;//formstore key 
+    private String formStoreKey;//formstore key 上传需要用到的key
     private int fdid;
-    private boolean isEditing;//是否正在编辑
+    private boolean isEditing=true;//是否正在编辑
     private String maxlength;//最大长度
     private String detailId;//关联主表id
     private String detailDid;//明细表id

+ 1 - 0
WeiChat/src/main/res/layout/listitem_businessless_edit.xml

@@ -16,6 +16,7 @@
             android:layout_margin="10dp"
             android:layout_width="60dp"
             android:textSize="14sp"
+            android:textColor="@color/text_main"
             android:layout_gravity="center_vertical"
             android:text="商机阶段商机阶段阶段:" />
 <!--android:background="@drawable/shape_from_edit"-->