From ae5a02a4428be27d69c1fe8791ec83bce3827e80 Mon Sep 17 00:00:00 2001
From: chenke <chenke@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 09 八月 2017 13:07:06 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java | 235 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 189 insertions(+), 46 deletions(-)
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
index b798445..b57d153 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
@@ -1,34 +1,42 @@
package cn.com.basic.face.fragment;
+import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
-import android.view.Gravity;
import android.view.View;
+import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
-import android.widget.TextView;
+import android.widget.Toast;
import com.bsk.zhangbo.demoforbsk.R;
+import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.base.LeftRightBaseFragment;
-import cn.com.basic.face.util.OkButtonClickedListener;
+import cn.com.basic.face.dialog.SelectDialog;
+import cn.com.basic.face.discern.entity.VisitDetail;
+import cn.com.basic.face.discern.query.item.OfflineVisitItem;
+import cn.com.basic.face.util.Constant;
+import cn.com.basic.face.util.OkClickedListener;
import cn.com.basic.face.service.DictionaryMng;
import cn.com.basic.face.service.CheckInMng;
import cn.com.basic.face.base.MainActivity;
-import cn.com.basic.face.widget.CheckInIntervieweeCell;
-import cn.com.basic.face.widget.CheckInLeftListView;
-import cn.com.basic.face.widget.CheckInRightVisitorCell;
-import cn.com.basic.face.dialog.VisitReasonDialog;
+import cn.com.basic.face.widget.checkin.CheckInLeftVisitor;
+import cn.com.basic.face.widget.checkin.CheckInRightIntervieweeCell;
+import cn.com.basic.face.widget.checkin.CheckInLeftInterviewee;
+import cn.com.basic.face.widget.checkin.CheckInRightVisitorCell;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import org.xutils.http.RequestParams;
-import java.util.ArrayList;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.List;
+import java.util.UUID;
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.entity.Visit;
@@ -41,21 +49,20 @@
return instance;
}
- private View fragment_check_in_left;
- private View fragment_check_in_right;
-
@ViewInject(R.id.fragment_check_in_left_sort_type_linear_layout)
private LinearLayout fragment_check_in_left_sort_type_linear_layout;
@ViewInject(R.id.fragment_check_in_right_interviewee_cell)
- private CheckInIntervieweeCell fragment_check_in_right_interviewee_cell;
+ private CheckInRightIntervieweeCell fragment_check_in_right_interviewee_cell;
@ViewInject(R.id.fragment_check_in_right_visitor_cell)
private CheckInRightVisitorCell fragment_check_in_right_visitor_cell;
- @ViewInject(R.id.fragment_check_in_left_list_view)
- private CheckInLeftListView fragment_check_in_left_list_view;
+ @ViewInject(R.id.fragment_check_in_left_visitor)
+ private CheckInLeftVisitor fragment_check_in_left_visitor;
+ @ViewInject(R.id.fragment_check_in_left_interviewee)
+ private CheckInLeftInterviewee fragment_check_in_left_interviewee;
@ViewInject(R.id.fragment_check_in_right_remark)
private EditText fragment_check_in_right_remark;
@ViewInject(R.id.fragment_check_in_right_visitor_reason)
- private TextView fragment_check_in_right_visitor_reason;
+ private EditText fragment_check_in_right_visitor_reason;
@ViewInject(R.id.fragment_check_in_left_search_edit_text)
private EditText fragment_check_in_left_search_edit_text;
@ViewInject(R.id.fragment_check_in_left_visitor_radio)
@@ -65,9 +72,13 @@
@ViewInject(R.id.fragment_check_in_left_interviewee_radio)
private RadioButton fragment_check_in_left_interviewee_radio;
- private CheckInMng manager = CheckInMng.getInstance();
+ private String visitorSearchText;
+ private String intervieweeSearchText;
+ private boolean ignoreSearchText = false;
- private List<String> visitPurposeList = new ArrayList<String>();
+ private int pageNum = 1;
+
+ private CheckInMng manager = CheckInMng.getInstance();
@Override
public int[] getLeftRightLayoutIds() {
@@ -82,7 +93,21 @@
.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
- reloadCheckInLeftList();
+ if (fragment_check_in_left_visitor_radio.isChecked()) {
+ List prevList = fragment_check_in_left_visitor.getPrevList();
+ if (prevList == null || prevList.size() == 0) {
+ reloadCheckInLeftList();
+ } else {
+ ignoreSearchText = true;
+ fragment_check_in_left_search_edit_text.setText(visitorSearchText);
+ }
+ } else {
+ fragment_check_in_left_search_edit_text.setText(intervieweeSearchText);
+ List prevList = fragment_check_in_left_interviewee.getPrevList();
+ if (prevList == null || prevList.size() == 0) {
+ reloadCheckInLeftList();
+ }
+ }
}
});
@@ -97,16 +122,48 @@
fragment_check_in_left_search_edit_text.addTextChangedListener(new TextWatcher() {
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
- public void afterTextChanged(Editable editable) { reloadCheckInLeftList(); }
+ public void afterTextChanged(Editable editable) {
+ if (fragment_check_in_left_visitor_radio.isChecked()) {
+ visitorSearchText = editable.toString();
+ } else {
+ intervieweeSearchText = editable.toString();
+ }
+ reloadCheckInLeftList();
+ }
});
+ setupUI(getView());
+ }
+ public void append() {
+ fragment_check_in_left_sort_type_linear_layout.setVisibility(!fragment_check_in_left_visitor_radio.isChecked()?View.VISIBLE:View.GONE);
+ fragment_check_in_left_interviewee.setVisibility(!fragment_check_in_left_visitor_radio.isChecked()?View.VISIBLE:View.GONE);
+ fragment_check_in_left_visitor.setVisibility(fragment_check_in_left_visitor_radio.isChecked()?View.VISIBLE:View.GONE);
+ manager.findCheckInLeftList(fragment_check_in_left_visitor_radio.isChecked(),
+ fragment_check_in_left_sort_by_dept_radio_button.isChecked(),
+ fragment_check_in_left_search_edit_text.getText().toString(), pageNum, true);
+ }
+
+ public void addPageNum() {
+ pageNum++;
}
private void reloadCheckInLeftList() {
fragment_check_in_left_sort_type_linear_layout.setVisibility(!fragment_check_in_left_visitor_radio.isChecked()?View.VISIBLE:View.GONE);
- manager.findCheckInLeftList(fragment_check_in_left_visitor_radio.isChecked(),
- fragment_check_in_left_sort_by_dept_radio_button.isChecked(),
- fragment_check_in_left_search_edit_text.getText().toString());
+ fragment_check_in_left_interviewee.setVisibility(!fragment_check_in_left_visitor_radio.isChecked()?View.VISIBLE:View.GONE);
+ fragment_check_in_left_visitor.setVisibility(fragment_check_in_left_visitor_radio.isChecked()?View.VISIBLE:View.GONE);
+ if (ignoreSearchText) {
+ ignoreSearchText = false;
+ } else {
+ pageNum = 1;
+ manager.findCheckInLeftList(fragment_check_in_left_visitor_radio.isChecked(),
+ fragment_check_in_left_sort_by_dept_radio_button.isChecked(),
+ fragment_check_in_left_search_edit_text.getText().toString(), pageNum, false);
+ }
+ }
+
+ public void selectVisiteeRadio() {
+ fragment_check_in_left_interviewee_radio.callOnClick();
+ fragment_check_in_left_interviewee_radio.setChecked(true);
}
@Override
@@ -126,56 +183,142 @@
public void fragment_check_in_right_print_click(View view) { }
@OnClick(R.id.fragment_check_in_right_add)
- public void fragment_check_in_right_add_click(View view) { }
+ public void fragment_check_in_right_add_click(View view) { resetForm(); }
@OnClick(R.id.fragment_check_in_right_save)
public void fragment_check_in_right_save_click(View view) {
CheckInQueryItem visitor = fragment_check_in_right_visitor_cell.getVisitor();
CheckInQueryItem interviewee = fragment_check_in_right_interviewee_cell.getInterviewee();
- if (visitor == null || interviewee == null) {
+ if (visitor == null) {
+ Toast.makeText(MainActivity.getInstance(), "璇烽�夋嫨鏉ヨ浜哄憳", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ if (interviewee == null) {
+ Toast.makeText(MainActivity.getInstance(), "璇烽�夋嫨琚浜哄憳", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ String right_visitor_reason = fragment_check_in_right_visitor_reason.getText().toString().trim();
+ if (right_visitor_reason.length() == 0) {
+ Toast.makeText(MainActivity.getInstance(), "鎷滆浜嬬敱涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
return;
}
RequestParams params = new RequestParams();
- params.addBodyParameter(Visit.FieldNames.matterId, DictionaryMng.getInstance().getId(CommonVariables.DictionaryType.VISIT_PURPOSE+ fragment_check_in_right_visitor_reason.getText().toString()));
- params.addBodyParameter(Visit.FieldNames.remark, fragment_check_in_right_remark.getText().toString());
- params.addBodyParameter(Visit.FieldNames.visitorPersonId, visitor.getId());
- params.addBodyParameter(Visit.FieldNames.visiteePersonId, interviewee.getId());
- params.addBodyParameter(Visit.FieldNames.visitorCompanyId, visitor.getCompanyId());
- params.addBodyParameter(Visit.FieldNames.visiteeCompanyId, interviewee.getCompanyId());
+ OfflineVisitItem offlineVisitItem = new OfflineVisitItem();
+ String visitReasonId = DictionaryMng.getInstance().getId(fragment_check_in_right_visitor_reason.getText().toString());
+ if(BaseApplication.getInstance().networkAvailable()) {
+ params.addBodyParameter(Visit.FieldNames.visitReasonId, visitReasonId);
+ params.addBodyParameter(Visit.FieldNames.visitReason, fragment_check_in_right_visitor_reason.getText().toString());
+ params.addBodyParameter(Visit.FieldNames.remark, fragment_check_in_right_remark.getText().toString());
+ params.addBodyParameter(Visit.FieldNames.visitorId, visitor.getRegisterId());
+ params.addBodyParameter(Visit.FieldNames.visiteeId, interviewee.getRegisterId());
+ params.addBodyParameter(Visit.FieldNames.visitorCompanyId, visitor.getCompanyId());
+ params.addBodyParameter(Visit.FieldNames.visiteeCompanyId, interviewee.getCompanyId());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ params.addBodyParameter(Visit.FieldNames.enterTime, sdf.format(new Date()));
+ params.addBodyParameter(Visit.FieldNames.currentStateId, ""+CommonVariables.VisitType.VISITOR_ENTERED);
+ params.addBodyParameter(Visit.FieldNames.warning, visitor.getWarning());
- CheckInMng.getInstance().add(params);
+ params.addBodyParameter(VisitDetail.FieldNames.stateId, ""+CommonVariables.VisitType.VISITOR_ENTERED);
+ params.addBodyParameter(VisitDetail.FieldNames.createTime, sdf.format(new Date()));
+ params.addBodyParameter(VisitDetail.FieldNames.deviceId, BaseApplication.getInstance().getAndroidDevice().getDeviceId());
+ } else {
+ offlineVisitItem.setVisitId(UUID.randomUUID().toString());
+ offlineVisitItem.setVisitReasonId(visitReasonId);
+ offlineVisitItem.setVisitReason(fragment_check_in_right_visitor_reason.getText().toString());
+ offlineVisitItem.setRemark(fragment_check_in_right_remark.getText().toString());
+ offlineVisitItem.setVisitorId(visitor.getRegisterId());
+ offlineVisitItem.setVisiteeId(interviewee.getRegisterId());
+ offlineVisitItem.setVisitorCompanyId(visitor.getCompanyId());
+ offlineVisitItem.setVisiteeCompanyId(interviewee.getCompanyId());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ offlineVisitItem.setEnterTime(sdf.format(new Date()));
+ offlineVisitItem.setCurrentStateId(""+CommonVariables.VisitType.VISITOR_ENTERED);
+ offlineVisitItem.setWarning(visitor.getWarning());
+ offlineVisitItem.setCreateTime(sdf.format(new Date()));
+ //offlineVisitItem.setDeviceId(BaseApplication.getInstance().getAndroidDevice().getDeviceId());
+ offlineVisitItem.setDeviceCompanyId(BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+ offlineVisitItem.setIsSynchron("N");
+ offlineVisitItem.setDeviceId(BaseApplication.getInstance().getAndroidDevice().getDeviceId());
+ }
+ CheckInMng.getInstance().add(params, visitReasonId, offlineVisitItem);
}
- @OnClick(R.id.fragment_check_in_right_visitor_reason)
+ @OnClick(R.id.fragment_check_in_right_visitor_reason_text_view)
+ public void fragment_check_in_right_visitor_reason_linear_layout_click(View view) {
+ //fragment_check_in_right_visitor_reason_click(view);
+ }
+
+ //@OnClick(R.id.fragment_check_in_right_visitor_reason)
public void fragment_check_in_right_visitor_reason_click(View view) {
- VisitReasonDialog visitReasonDialog = new VisitReasonDialog(getActivity(),visitPurposeList,"璇烽�夋嫨鎷滆浜嬬敱");
- visitReasonDialog.showAtLocation(getView(), Gravity.CENTER,0,0);
- visitReasonDialog.addOkButtonClickedListener(new OkButtonClickedListener() {
- @Override
- public void onItemSelected(int position, Object o, String item) {
- fragment_check_in_right_visitor_reason.setText(item);
+
+ }
+
+ @OnClick(R.id.fragment_check_in_right_visitor_reason_more)
+ public void fragment_check_in_right_visitor_reason_more_click(View view) {
+ InputMethodManager imm = (InputMethodManager)MainActivity.getInstance().getSystemService(
+ Context.INPUT_METHOD_SERVICE);
+ imm.hideSoftInputFromWindow(fragment_check_in_right_visitor_reason.getWindowToken(), 0);
+ new SelectDialog(getView(), Constant.DialogSelectType.VISIT_REASON, new OkClickedListener() {
+ public void onSelected(String value) {
+ fragment_check_in_right_visitor_reason.setText(value);
}
- });
+ }, fragment_check_in_right_visitor_reason.getText().toString());
+// fragment_check_in_right_visitor_reason.setFocusable(false);
+// fragment_check_in_right_visitor_reason.setClickable(false);
+ }
+
+ @OnClick(R.id.fragment_check_in_right_parent)
+ public void fragment_check_in_right_linear_layout_click(View view) {
+ InputMethodManager imm = (InputMethodManager)MainActivity.getInstance().getSystemService(
+ Context.INPUT_METHOD_SERVICE);
+ imm.hideSoftInputFromWindow(fragment_check_in_right_visitor_reason.getWindowToken(), 0);
+ }
+
+ @OnClick(R.id.fragment_check_in_left_parent)
+ public void fragment_check_in_left_parent_click(View view) {
+ InputMethodManager imm = (InputMethodManager)MainActivity.getInstance().getSystemService(
+ Context.INPUT_METHOD_SERVICE);
+ imm.hideSoftInputFromWindow(fragment_check_in_right_visitor_reason.getWindowToken(), 0);
+ }
+
+ @OnClick(R.id.fragment_check_in_right_visitor_reason_edit)
+ public void fragment_check_in_right_visitor_reason_edit_click(View view) {
+ fragment_check_in_right_visitor_reason.setFocusableInTouchMode(true);
+ fragment_check_in_right_visitor_reason.requestFocus();
+ InputMethodManager imm = (InputMethodManager)MainActivity.getInstance().getSystemService(Context.INPUT_METHOD_SERVICE);
+ imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
public void checkInFromHomePage(CheckInQueryItem item) {
+ getFragment_check_in_right_visitor_cell().setVisitorInfo(item);
fragment_check_in_left_interviewee_radio.performClick();
- }
-
- public void setVisitPurposeList(List<String> visitPurposeList) {
- this.visitPurposeList = visitPurposeList;
}
public CheckInRightVisitorCell getFragment_check_in_right_visitor_cell() {
return this.fragment_check_in_right_visitor_cell;
}
- public CheckInIntervieweeCell getFragment_check_in_right_interviewee_cell() {
+ public CheckInRightIntervieweeCell getFragment_check_in_right_interviewee_cell() {
return this.fragment_check_in_right_interviewee_cell;
}
- public CheckInLeftListView get_fragment_check_in_left_list_view() {
- return fragment_check_in_left_list_view;
+ public CheckInLeftInterviewee get_fragment_check_in_left_interviewee() {
+ return fragment_check_in_left_interviewee;
+ }
+
+ public CheckInLeftVisitor get_fragment_check_in_left_visitor() {
+ return fragment_check_in_left_visitor;
+ }
+
+ public void resetForm() {
+ fragment_check_in_right_visitor_reason.setText("");
+ fragment_check_in_right_remark.setText("");
+ fragment_check_in_right_interviewee_cell.resetForm();
+ fragment_check_in_right_visitor_cell.resetForm();
+ }
+
+ public void setVisitReasonText(String value) {
+ fragment_check_in_right_visitor_reason.setText(value);
}
}
--
Gitblit v1.8.0