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.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; import cn.com.basic.face.service.CheckInMng; import cn.com.basic.face.base.MainActivity; 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.text.SimpleDateFormat; import java.util.Date; import java.util.List; import cn.com.basic.face.discern.common.CommonVariables; import cn.com.basic.face.discern.entity.Visit; import cn.com.basic.face.discern.query.item.CheckInQueryItem; public class CheckInFragment extends LeftRightBaseFragment { private static CheckInFragment instance = new CheckInFragment(); public static CheckInFragment getInstance() { return instance; } @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 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_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 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) private RadioButton fragment_check_in_left_visitor_radio; @ViewInject(R.id.fragment_check_in_left_sort_by_dept_radio_button) 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(); @Override public int[] getLeftRightLayoutIds() { return new int[]{R.layout.fragment_check_in_left, R.layout.fragment_check_in_right}; } @Override protected void initListeners() { super.initListeners(); ((RadioGroup)getLeftView().findViewById(R.id.fragment_check_in_left_radio_group)) .setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { 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(); } } } }); ((RadioGroup)getLeftView().findViewById(R.id.fragment_check_in_left_sort_radio_group)) .setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { reloadCheckInLeftList(); } }); 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) { 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); 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); } } @Override public void setMenuVisibility(boolean menuVisible) { super.setMenuVisibility(menuVisible); if (menuVisible) { reloadCheckInLeftList(); } } @OnClick(R.id.fragment_check_in_left_back) public void fragment_check_in_left_back_click(View view) { MainActivity.selectPage(0); } @OnClick(R.id.fragment_check_in_right_print) 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) { 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) { 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(); 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.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()); 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().getDevice().getDeviceId()); CheckInMng.getInstance().add(params, visitReasonId); } @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) { fragment_check_in_left_interviewee_radio.performClick(); } public CheckInRightVisitorCell getFragment_check_in_right_visitor_cell() { return this.fragment_check_in_right_visitor_cell; } public CheckInRightIntervieweeCell getFragment_check_in_right_interviewee_cell() { return this.fragment_check_in_right_interviewee_cell; } 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); } }