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