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.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.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 java.util.UUID;
|
|
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);
|
}
|
}
|
|
public void selectVisiteeRadio() {
|
fragment_check_in_left_interviewee_radio.callOnClick();
|
fragment_check_in_left_interviewee_radio.setChecked(true);
|
}
|
|
@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();
|
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());
|
|
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");
|
}
|
CheckInMng.getInstance().add(params, visitReasonId, offlineVisitItem);
|
}
|
|
@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) {
|
getFragment_check_in_right_visitor_cell().setVisitorInfo(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);
|
}
|
|
}
|