|
|
@@ -107,7 +107,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
JSONObject jsonObject = JSON.parseObject(message);//返回对象
|
|
|
if (jsonObject.containsKey("success") && jsonObject.getBoolean("success")) {//返回正常
|
|
|
if (jsonObject.containsKey("comaddressset") ? jsonObject.getBoolean("comaddressset") : false) {//如果有分配公司
|
|
|
- companyDistance = Integer.parseInt(jsonObject.containsKey("distance") ? (StringUtils.isEmpty(jsonObject.getString("distance")) ? "0" : jsonObject.getString("distance")) : "0");
|
|
|
+ companyDistance = Integer.parseInt(jsonObject.containsKey("distance") ? (StringUtils.isEmpty(jsonObject.getString("distance")) ? "-1" : jsonObject.getString("distance")) : "-1");
|
|
|
companyX = Double.parseDouble(jsonObject.containsKey("longitude") ? (StringUtils.isEmpty(jsonObject.getString("longitude")) ? "0" : jsonObject.getString("longitude")) : "0");
|
|
|
companyY = Double.parseDouble(jsonObject.containsKey("latitude") ? (StringUtils.isEmpty(jsonObject.getString("latitude")) ? "0" : jsonObject.getString("latitude")) : "0");
|
|
|
unoffice_mm.setText(setDistance());
|
|
|
@@ -124,7 +124,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
} else {
|
|
|
//如果返回失败
|
|
|
Crouton.makeText(ct, "系统尚未找到您的班次,请联系管理员设置班次");
|
|
|
-
|
|
|
}
|
|
|
break;
|
|
|
case 0x12:
|
|
|
@@ -142,13 +141,8 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
Crouton.makeText(ct, "签到失败");
|
|
|
break;
|
|
|
case 0x19:
|
|
|
- final String str = msg.getData().getString("time");
|
|
|
- CodeUtil.getInstance().getCode(ct, "CardLog", new CodeUtil.OnCodeLinstener() {
|
|
|
- @Override
|
|
|
- public void callBack(String code) {
|
|
|
- doSignin(code, StringUtils.isEmpty(str) ? TimeUtils.f_long_2_str(time) : str);
|
|
|
- }
|
|
|
- });
|
|
|
+ String str = msg.getData().getString("time");
|
|
|
+ signinTime = StringUtils.isEmpty(str) ? TimeUtils.f_long_2_str(time) : str;
|
|
|
break;
|
|
|
default:
|
|
|
if ("网络未连接!".equals(message))
|
|
|
@@ -252,6 +246,12 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
Crouton.makeText(ct, "当前网络不可用,请检查网络连接");
|
|
|
return;
|
|
|
}
|
|
|
+ CodeUtil.getInstance().getCode(ct, "CardLog", new CodeUtil.OnCodeLinstener() {
|
|
|
+ @Override
|
|
|
+ public void callBack(String code) {
|
|
|
+ doSignin(code);
|
|
|
+ }
|
|
|
+ });
|
|
|
new Thread() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
@@ -306,8 +306,10 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
public void result(boolean isOk) {
|
|
|
int resultCode = MyApplication.getInstance().getBdLocationHelper().getResultCode();
|
|
|
if (isOk) {
|
|
|
- if (resultCode != 66)
|
|
|
- setBaiduLocation();
|
|
|
+ setBaiduLocation();
|
|
|
+ if (distance > companyDistance && !isOpenGps()) {
|
|
|
+ Crouton.makeText(ct, "如果发现定位不准,请及时打开gps并重新定位", 1000);
|
|
|
+ }
|
|
|
} else {
|
|
|
if (resultCode == 62) {
|
|
|
Crouton.makeText(ct, "定位失败,请查看是否开启定位权限", 2000);
|
|
|
@@ -324,7 +326,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
loaction = MyApplication.getInstance().getBdLocationHelper().getName();
|
|
|
addr = MyApplication.getInstance().getBdLocationHelper().getAddress();
|
|
|
unoffice_mm.setText(setDistance());
|
|
|
- Crouton.makeText(ct, "当前位置=" + addr + "距离=" + setDistance(), 2000);
|
|
|
office_addr.setText(Html.fromHtml("<font color=\'#575757\'>当前位置 " + "</font><font color=\'#000000\'>" + addr + "</font>"));
|
|
|
}
|
|
|
|
|
|
@@ -337,12 +338,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
office_addr.setText(Html.fromHtml("<font color=\'#575757\'>当前位置 " + "</font><font color=\'#000000\'>" + addr + "</font>"));
|
|
|
loadNetData(System.currentTimeMillis());//获取打卡班次信息
|
|
|
//判断是否有定位权限
|
|
|
-// PermissionUtil util = new PermissionUtil(ct);
|
|
|
-// String[] permission = {Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION};
|
|
|
-//
|
|
|
-// if (!util.hasPermissionGranted(permission)) {
|
|
|
-// Crouton.makeText(ct, "定位权限被禁止,请到设置中打开", 3000);
|
|
|
-// }
|
|
|
if (!isOpenGps()) {
|
|
|
Crouton.makeText(ct, "为了更好体验,请打开GPS", 3000);
|
|
|
}
|
|
|
@@ -368,7 +363,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
|
|
|
private boolean isPlay() {
|
|
|
if (!CommonUtil.isNetWorkConnected(ct)) {
|
|
|
- Crouton.makeText(ct, "网络错误");
|
|
|
+ Crouton.makeText(ct, "当前网络不可用,请检查网络连接");
|
|
|
return false;
|
|
|
}
|
|
|
if (isSignining) {
|
|
|
@@ -468,16 +463,16 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
Bean b = null;
|
|
|
//上午
|
|
|
b = new Bean();
|
|
|
- b.startTime = object.containsKey("as_amstarttime") ? object.getString("as_amstarttime") : "08:30";
|
|
|
+ b.startTime = object.containsKey("as_amstarttime") ? object.getString("as_amstarttime") : "00:00";
|
|
|
b.startSignin = getEndSignin(b.startTime, true);
|
|
|
- b.endTime = object.containsKey("as_amendtime") ? object.getString("as_amendtime") : "12:00";
|
|
|
+ b.endTime = object.containsKey("as_amendtime") ? object.getString("as_amendtime") : "00:00";
|
|
|
b.endSignnin = getEndSignin(b.endTime, false);
|
|
|
beans.add(b);
|
|
|
//下午
|
|
|
b = new Bean();
|
|
|
- b.startTime = object.containsKey("as_pmstarttime") ? object.getString("as_pmstarttime") : "13:30";
|
|
|
+ b.startTime = object.containsKey("as_pmstarttime") ? object.getString("as_pmstarttime") : "00:00";
|
|
|
b.startSignin = getEndSignin(b.startTime, true);
|
|
|
- b.endTime = object.containsKey("as_pmendtime") ? object.getString("as_pmendtime") : "18:00";
|
|
|
+ b.endTime = object.containsKey("as_pmendtime") ? object.getString("as_pmendtime") : "00:00";
|
|
|
b.endSignnin = getEndSignin(b.endTime, false);
|
|
|
beans.add(b);
|
|
|
setDataForAdapter(beans);
|
|
|
@@ -542,6 +537,9 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
|
|
|
//在设置完数据以后放到适配器中
|
|
|
private void setDataForAdapter(ArrayList<Bean> beans) {
|
|
|
+ if (companyDistance == -1 || (companyX == 0 && companyY == 0)) {
|
|
|
+ Crouton.makeText(ct, "未获取正确考勤地点,请重试或重新登陆");
|
|
|
+ }
|
|
|
if (adapter == null) {
|
|
|
adapter = new SigninAdapter(ct);
|
|
|
adapter.setBeans(beans, isToday);
|
|
|
@@ -587,9 +585,8 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
|
|
|
|
|
|
//签到
|
|
|
- private void doSignin(String code, String time) {
|
|
|
+ private void doSignin(String code) {
|
|
|
isSignining = true;
|
|
|
- signinTime = time;
|
|
|
signin_btn.setFocusable(false);
|
|
|
String url = "mobile/saveCardLog.action";
|
|
|
final Map<String, Object> param = new HashMap<>();
|
|
|
@@ -597,7 +594,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
|
|
|
bean.setCl_code(code);
|
|
|
bean.setCl_distance(distance);
|
|
|
bean.setCl_emcode(CommonUtil.getSharedPreferences(ct, "erp_username"));
|
|
|
-// bean.setCl_time(time);
|
|
|
bean.setCl_location(loaction);
|
|
|
bean.setCl_address(addr);
|
|
|
bean.setCl_emname(MyApplication.getInstance().mLoginUser.getNickName());
|