|
|
@@ -10,6 +10,7 @@ import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.Html;
|
|
|
import android.text.Spanned;
|
|
|
+import android.util.Log;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
import android.widget.ImageView;
|
|
|
@@ -21,6 +22,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baidu.mapapi.search.core.PoiInfo;
|
|
|
import com.lidroid.xutils.ViewUtils;
|
|
|
import com.lidroid.xutils.view.annotation.ViewInject;
|
|
|
+import com.xzjmyk.pm.activity.BdLocationHelper;
|
|
|
import com.xzjmyk.pm.activity.MyApplication;
|
|
|
import com.xzjmyk.pm.activity.R;
|
|
|
import com.xzjmyk.pm.activity.bean.oa.SigninBean;
|
|
|
@@ -34,6 +36,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.CodeUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.FlexJsonUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
|
|
|
+import com.xzjmyk.pm.activity.ui.tool.ThreadUtil;
|
|
|
import com.xzjmyk.pm.activity.util.BaiduMapUtil;
|
|
|
import com.xzjmyk.pm.activity.util.CalendarUtils;
|
|
|
import com.xzjmyk.pm.activity.util.TimeUtils;
|
|
|
@@ -89,8 +92,10 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
private String code;//账号员工编号
|
|
|
private boolean isToday = true;
|
|
|
private boolean isSignining = false;
|
|
|
+ private boolean onActivityResult = false;//返回
|
|
|
private long time = System.currentTimeMillis();
|
|
|
private long signinTime = -1;
|
|
|
+ BdLocationHelper locationHelper = null;//
|
|
|
private Handler handler = new Handler() {
|
|
|
@Override
|
|
|
public void handleMessage(Message msg) {
|
|
|
@@ -136,7 +141,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
break;
|
|
|
case 0x13:
|
|
|
//签到成功
|
|
|
- isSignining = false;
|
|
|
if (JSON.parseObject(message).containsKey("success") && JSON.parseObject(message).getBoolean("success"))
|
|
|
signinOK();
|
|
|
else
|
|
|
@@ -167,7 +171,11 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
public void onAttach(Context ct) {
|
|
|
super.onAttach(ct);
|
|
|
this.ct = (BaseActivity) ct;
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public void onStop() {
|
|
|
+ super.onStop();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -179,6 +187,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
if (data == null) return;
|
|
|
if (requestCode == 0x14 && resultCode == LocationMapActivity.REQUCODE) {
|
|
|
+ onActivityResult = true;
|
|
|
PoiInfo poi = data.getParcelableExtra(LocationMapActivity.REQUESTNAME);
|
|
|
if (poi == null) return;
|
|
|
loaction = poi.name == null ? "" : poi.name;
|
|
|
@@ -232,6 +241,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
back = (ImageView) view.findViewById(R.id.back);
|
|
|
title = (TextView) view.findViewById(R.id.title);
|
|
|
bar.setCustomView(view);
|
|
|
+ locationHelper = MyApplication.getInstance().getBdLocationHelper();//获取对象
|
|
|
init();
|
|
|
initView();
|
|
|
listener();
|
|
|
@@ -275,12 +285,40 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
}
|
|
|
|
|
|
private void init() {
|
|
|
+ ThreadUtil.getInstance().addTask(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ try {
|
|
|
+ while (isRunable) {
|
|
|
+ locationHelper.requestLocation();
|
|
|
+ Thread.sleep(3000);
|
|
|
+ }
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ setBaiduLocation();
|
|
|
+ locationHelper.setListener(new BdLocationHelper.OnBaiduResultListener() {
|
|
|
+ @Override
|
|
|
+ public void result(boolean isOk) {
|
|
|
+ Log.i("gongpengming", "gongepngming");
|
|
|
+ setBaiduLocation();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setBaiduLocation() {
|
|
|
+ if (onActivityResult) return;
|
|
|
longitude = MyApplication.getInstance().getBdLocationHelper().getLongitude();
|
|
|
latitude = MyApplication.getInstance().getBdLocationHelper().getLatitude();
|
|
|
loaction = MyApplication.getInstance().getBdLocationHelper().getName();
|
|
|
addr = MyApplication.getInstance().getBdLocationHelper().getAddress();
|
|
|
+ unoffice_mm.setText(setDistance());
|
|
|
+ office_addr.setText(Html.fromHtml("<font color=\'#575757\'>当前位置 " + "</font><font color=\'#000000\'>" + loaction + "</font>"));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private void initView() {
|
|
|
title.setText(TimeUtils.day_long_2_str(System.currentTimeMillis()) + " " + TimeUtils.getWeek(System.currentTimeMillis()));
|
|
|
listview.setLayoutManager(new LinearLayoutManager(ct));
|
|
|
@@ -310,6 +348,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
|
|
|
private boolean isPlay() {
|
|
|
if (isSignining) {
|
|
|
+ Crouton.makeText(ct, "请不要频繁打卡");
|
|
|
return false;
|
|
|
}
|
|
|
if (companyDistance == -1) {
|
|
|
@@ -351,6 +390,12 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
|
|
|
//签到成功
|
|
|
private void signinOK() {
|
|
|
+ handler.postDelayed(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ isSignining = false;
|
|
|
+ }
|
|
|
+ }, 5000);
|
|
|
ArrayList<Bean> beans = getDataByAdapter();
|
|
|
String time = TimeUtils.long2str(signinTime == -1 ? System.currentTimeMillis() : selectTime, "HH:mm");
|
|
|
for (int i = 0; i < beans.size(); i++) {
|