xuxiuxi
2017-07-19 afdb5d648f8ddb87f2055f7d3a59b8725ec83d8e
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
@@ -1,18 +1,22 @@
package cn.com.basic.face.fragment;
import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
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.dialog.SelectDialog;
import cn.com.basic.face.discern.entity.VisitDetail;
import cn.com.basic.face.util.Constant;
import cn.com.basic.face.util.OkClickedListener;
import cn.com.basic.face.service.DictionaryMng;
@@ -28,7 +32,8 @@
import org.xutils.http.RequestParams;
import java.util.ArrayList;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import cn.com.basic.face.discern.common.CommonVariables;
@@ -55,7 +60,7 @@
    @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)
@@ -64,6 +69,12 @@
    private RadioButton fragment_check_in_left_sort_by_dept_radio_button;
    @ViewInject(R.id.fragment_check_in_left_interviewee_radio)
    private RadioButton fragment_check_in_left_interviewee_radio;
    private String visitorSearchText;
    private String intervieweeSearchText;
    private boolean ignoreSearchText = false;
    private int pageNum = 1;
    private CheckInMng manager = CheckInMng.getInstance();
@@ -80,7 +91,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();
                            }
                        }
                    }
                });
@@ -95,18 +120,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();
            }
        });
    }
    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);
        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());
        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,33 +181,89 @@
    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_REASON + fragment_check_in_right_visitor_reason.getText().toString()));
        String visitReasonId = DictionaryMng.getInstance().getId(fragment_check_in_right_visitor_reason.getText().toString());
        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.visitorPersonId, visitor.getId());
        params.addBodyParameter(Visit.FieldNames.visiteePersonId, interviewee.getId());
        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());
        CheckInMng.getInstance().add(params, visitReasonId);
    }
    @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) {
    }
    @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) {
@@ -175,4 +286,15 @@
        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);
    }
}