Arison 9 سال پیش
والد
کامیت
ec5248f46b

+ 1 - 1
WeiChat/build.gradle

@@ -24,7 +24,7 @@ android {
     defaultConfig {
         applicationId "com.xzjmyk.pm.activity"
         minSdkVersion 9
-        targetSdkVersion 22
+        targetSdkVersion 23
         compileOptions {
             sourceCompatibility JavaVersion.VERSION_1_7
             targetCompatibility JavaVersion.VERSION_1_7

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

@@ -58,11 +58,9 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
     
     private  DataAdapter mAdapter;
     
-    private final int load_success=1;
+    private final int load_success=2;
     private ArrayList<Data> datas=new ArrayList<Data>();
     private ArrayList<GroupData> mDatas=new ArrayList<>();
-    //动态创建编辑框
-    private HashMap<Integer,String> mEditText=new HashMap<>();
     
     private  JSONArray grids;
 
@@ -75,7 +73,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
     private LinearLayout ll_item_add;
 
 
-    private GroupData groupData;
+    private GroupData groupData;//明细项
     private Handler mHandler=new Handler(){
 
         @Override
@@ -179,6 +177,16 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         }
                     }
                     break;
+                case Constants.HTTP_SUCCESS_INIT:
+                    LogUtil.d("result:"+result);
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    if (new JsonValidator().validate(result)){
+                        ToastMessage(JSON.parseObject(result).getString("exceptionInfo"));
+                    }else {
+                        ToastMessage(result);
+                    }
+                    break;
                 
             }
         }
@@ -192,9 +200,6 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         initListener();
         caller="Workovertime";//Workovertime
         initData();
-        
-       
-        
     }
 
     private void initView(){
@@ -221,7 +226,34 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()){
             case R.id.oa_signin_set:
+                if (ListUtils.isEmpty(mDatas)){ 
+                    break;
+                }
+                ArrayList<SelectBean<Data>> datas=new ArrayList<>();
+//                for (int i=0;i<mDatas.size();i++){
+                GroupData gData=mDatas.get(0);
+                for(int j=0;j<gData.getDatas().size();j++){
+                    Data mItem=gData.getDatas().get(j);
+                    SelectBean<Data> bean=new SelectBean<>();
+                    bean.setName(mItem.getName());
+                    bean.setClick(mItem.getIsNeed() == 0 ? false : true);
+                    bean.setObject(mItem);
+                    datas.add(bean);
+                }
+                   
+                  
+//                }
                 
+                //把数据传递到多选界面
+                Bundle bundle = new Bundle();
+                bundle.putParcelableArrayList("data",datas);
+                Intent intent = new Intent(ct, SelectActivity.class);
+                intent.putExtra("type", 2);
+                intent.putExtra("isSingle", false);
+                intent.putExtra("reid", R.style.OAThemeMeet);
+                intent.putExtras(bundle);
+                intent.putExtra("title", "高级配置");
+                startActivityForResult(intent, 0x23);
                 break;
         }
         return super.onOptionsItemSelected(item);
@@ -753,7 +785,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     JsonValidator validator = new JsonValidator();
                     if (validator.validate(b.getJson())) {
                         Toast.makeText(ct,"下拉项:" + datas.get(b.getId()-1).getName() + "返回值:" + b.getName(),Toast.LENGTH_LONG).show();
-                        mEditText.put(b.getId() - 1, b.getName());
+//                        mEditText.put(b.getId() - 1, b.getName());
                         mAdapter.notifyDataSetChanged();
                     }
                 }
@@ -761,23 +793,39 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             case 0x21://多选
                 ArrayList<SelectBean> muliData=data.getParcelableArrayListExtra("data");
                 int id=data.getIntExtra("id",0);
-                StringBuilder str=new StringBuilder("");
-                if (!ListUtils.isEmpty(muliData)){
-                    for (int i=0;i<muliData.size();i++){
-                        LogUtil.d(muliData.get(i).getName());
-                        if (i==(muliData.size()-1)) {
-                            str.append(muliData.get(i).getName());
-                        }else{
-                            str.append(muliData.get(i).getName()+",");
+                if (requestCode==0x23&&resultCode==0x21){//高级配置
+                    LogUtil.d(JSON.toJSONString(muliData));
+//                  for(int i=0;i<mDatas.get(0).getDatas().size();i++){
+//                      String name=mDatas.get(0).getDatas().get(i).getName();
+//                      String key=JSON.toJSONString(muliData);
+//                      
+//                      if (!key.contains(name)){
+//                          mDatas.get(0).getDatas().get(i).setIsDefault(0);
+//                      }else{
+//                          mDatas.get(0).getDatas().get(i).setIsDefault(1);
+//                      }
+//                  }
+//                    mAdapter.notifyDataSetChanged();
+                    
+                }else if (requestCode==id&& resultCode==0x21){//多选框
+                    StringBuilder str=new StringBuilder("");
+                    if (!ListUtils.isEmpty(muliData)){
+                        for (int i=0;i<muliData.size();i++){
+                            LogUtil.d(muliData.get(i).getName());
+                            if (i==(muliData.size()-1)) {
+                                str.append(muliData.get(i).getName());
+                            }else{
+                                str.append(muliData.get(i).getName()+",");
+                            }
+
                         }
-                        
                     }
+                    LogUtil.d(str.toString());
+
+                    Toast.makeText(ct,"下拉项:" + datas.get(id-1).getName() + "返回值:" + str.toString(),Toast.LENGTH_LONG).show();
+//                mEditText.put(id - 1, str.toString());
+                    mAdapter.notifyDataSetChanged();
                 }
-                LogUtil.d(str.toString());
-                
-                Toast.makeText(ct,"下拉项:" + datas.get(id-1).getName() + "返回值:" + str.toString(),Toast.LENGTH_LONG).show();
-                mEditText.put(id - 1, str.toString());
-                mAdapter.notifyDataSetChanged();
                 break;
         }
       
@@ -859,8 +907,8 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
       */
     public void commit(){
         LogUtil.d("提交操作:"+JSON.toJSONString(mDatas));
-        StringBuffer forStore=new StringBuffer("");
-        StringBuffer gridStore=new StringBuffer("");
+        StringBuffer forStore=new StringBuffer("{");
+        StringBuffer gridStore=new StringBuffer("[");
         //判断是否有明细项
         if (groupData!=null){//存在明细
             ArrayList<Data> items=  mDatas.get(0).getDatas();
@@ -870,7 +918,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     String key=item.getField();
                     String value=item.getValue();
                     if (i==items.size()-1){
-                        forStore.append("\""+key+"\":\""+value+"\"");
+                        forStore.append("\""+key+"\":\""+value+"\"}");
                     }else{
                         forStore.append("\""+key+"\":\""+value+"\",");
                     }
@@ -882,6 +930,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             for(int i=1;i<mDatas.size();i++){
                  items=  mDatas.get(i).getDatas();
                 if (!ListUtils.isEmpty(items)){
+                    gridStore.append("{");
                     for (int j=0;j<items.size();j++){
                         Data item=items.get(j);
                         String key=item.getField();
@@ -893,11 +942,17 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         }
 
                     }
+                    if (i==mDatas.size()-1){
+                        gridStore.append("}");
+                    }else{
+                        gridStore.append("},");
+                    }
+                   
                 }
-                
             }
-            LogUtil.d("girdStore:"+gridStore.toString());
-            
+            gridStore.append("]");
+            LogUtil.d("girdStore:" + gridStore.toString());
+            saveData(forStore.toString(), gridStore.toString());
         }else{
           ArrayList<Data> items=  mDatas.get(0).getDatas();
             if (!ListUtils.isEmpty(items)){
@@ -906,16 +961,37 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     String key=item.getField();
                     String value=item.getValue();
                     if (i==items.size()-1){
-                        forStore.append("\""+key+"\":\""+value+"\"");
+                        forStore.append("\""+key+"\":\""+value+"\"}");
                     }else{
                         forStore.append("\""+key+"\":\""+value+"\",");
                     }
                    
                 }
             }
-            LogUtil.d("forStore:"+forStore.toString());
+            LogUtil.d("forStore:" + forStore.toString());
+            
+            saveData(forStore.toString(),null);
         }
         
+        
+        
+        
+    }
+    
+    /**
+      * @desc:保存提交
+      * @author:Arison on 2016/11/21
+      */
+    public void saveData(String formStore,String gridStore){
+        progressDialog.show();
+        String url = Constants.getAppBaseUrl(ct) + "/mobile/oa/commonSaveAndSubmit.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("caller", caller);
+        params.put("formStore", formStore);
+        params.put("gridStore", gridStore);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, Constants.HTTP_SUCCESS_INIT, null, null, "post");
     }
 
 }

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

@@ -62,10 +62,11 @@ public class SelectActivity extends BaseActivity {
     private int type = -1;//1 网络  2.本地
     private String title = "";//标题
     private boolean isSingle = true;//是否单选
-    private int id;//数字标识符 字段
+   
     //location
     private List<SelectBean> formBeaan;//数据来源
     //net
+    private int id;//数字标识符 
     private String action;//网址
     private HashMap<String, Object> param;//参数
     private String key;//从网络请求的json对象中获取显示列表的key