|
|
@@ -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");
|
|
|
}
|
|
|
|
|
|
}
|