From d999731ac1ba495dbfea06cbb14dcfd3a53bcd64 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期六, 22 七月 2017 00:03:04 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java | 245 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 179 insertions(+), 66 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 e6a6c5b..11d8f56 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,63 +1,66 @@ 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.LayoutInflater; 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.MainUIBaseFragment; -import cn.com.basic.face.listeners.OkButtonClickedListener; +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.CheckInIntervieweeCell; -import cn.com.basic.face.widget.CheckInLeftListView; -import cn.com.basic.face.widget.CheckInRightVisitorCell; -import cn.com.basic.face.widget.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.ViewUtils; 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 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 MainUIBaseFragment { +public class CheckInFragment extends LeftRightBaseFragment { private static CheckInFragment instance = new CheckInFragment(); public static CheckInFragment getInstance() { 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) @@ -67,52 +70,98 @@ @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(); - private List<String> visitPurposeList = new ArrayList<String>(); + @Override + public int[] getLeftRightLayoutIds() { + return new int[]{R.layout.fragment_check_in_left, R.layout.fragment_check_in_right}; + } @Override - public View addLeftLayout() { - fragment_check_in_left = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_check_in_left,null); - ViewUtils.inject(this, fragment_check_in_left); + protected void initListeners() { + super.initListeners(); - ((RadioGroup)fragment_check_in_left.findViewById(R.id.fragment_check_in_left_radio_group)) + ((RadioGroup)getLeftView().findViewById(R.id.fragment_check_in_left_radio_group)) .setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup radioGroup, int i) { - reloadCheckInLeftList(); - } - }); + @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)fragment_check_in_left.findViewById(R.id.fragment_check_in_left_sort_radio_group)) + ((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(); - } - }); + @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) { reloadCheckInLeftList(); } + public void afterTextChanged(Editable editable) { + if (fragment_check_in_left_visitor_radio.isChecked()) { + visitorSearchText = editable.toString(); + } else { + intervieweeSearchText = editable.toString(); + } + reloadCheckInLeftList(); + } }); - return fragment_check_in_left; } - @Override - public View addRightLayout() { - fragment_check_in_right = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_check_in_right,null); - ViewUtils.inject(this, fragment_check_in_right); - return fragment_check_in_right; + 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 @@ -132,56 +181,120 @@ 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())); + 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) { - 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) { 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