|
@@ -10,7 +10,10 @@ import android.view.ViewGroup;
|
|
|
import android.widget.LinearLayout;
|
|
import android.widget.LinearLayout;
|
|
|
import android.widget.TextView;
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
|
|
|
+import com.common.LogUtil;
|
|
|
|
|
+import com.common.data.DateFormatUtil;
|
|
|
import com.common.data.ListUtils;
|
|
import com.common.data.ListUtils;
|
|
|
|
|
+import com.common.system.DisplayUtil;
|
|
|
import com.uas.appworks.OA.erp.activity.ChangeMobileActivity;
|
|
import com.uas.appworks.OA.erp.activity.ChangeMobileActivity;
|
|
|
import com.uas.appworks.OA.erp.model.WorkLogs;
|
|
import com.uas.appworks.OA.erp.model.WorkLogs;
|
|
|
import com.uas.appworks.R;
|
|
import com.uas.appworks.R;
|
|
@@ -20,15 +23,20 @@ import java.util.List;
|
|
|
public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHolder> {
|
|
public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHolder> {
|
|
|
private final String LATE = "(迟到)";
|
|
private final String LATE = "(迟到)";
|
|
|
private final String NEGLECT_WORK = "旷工";
|
|
private final String NEGLECT_WORK = "旷工";
|
|
|
|
|
+ private final String APPRECORD = "申诉中";
|
|
|
|
|
+ private final String TO_APPRECORD = "申诉";
|
|
|
private final String EARLY_RETREAT = "(早退)";
|
|
private final String EARLY_RETREAT = "(早退)";
|
|
|
|
|
|
|
|
|
|
|
|
|
private Context ct;
|
|
private Context ct;
|
|
|
private List<WorkLogs> mWorkLogs;
|
|
private List<WorkLogs> mWorkLogs;
|
|
|
|
|
+ private long thisTimes;
|
|
|
|
|
|
|
|
public WorkLogsAdapter(Context ct, List<WorkLogs> mWorkLogs) {
|
|
public WorkLogsAdapter(Context ct, List<WorkLogs> mWorkLogs) {
|
|
|
this.ct = ct;
|
|
this.ct = ct;
|
|
|
this.mWorkLogs = mWorkLogs;
|
|
this.mWorkLogs = mWorkLogs;
|
|
|
|
|
+ thisTimes = DateFormatUtil.str2Long(DateFormatUtil.long2Str(DateFormatUtil.YMD), DateFormatUtil.YMD);
|
|
|
|
|
+ LogUtil.i("gong", "thisTimes=" + thisTimes);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void setWorkLogs(List<WorkLogs> mWorkLogs) {
|
|
public void setWorkLogs(List<WorkLogs> mWorkLogs) {
|
|
@@ -112,8 +120,9 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
|
|
|
case 3:
|
|
case 3:
|
|
|
setVisibility(View.VISIBLE, viewHolder.off3LL, viewHolder.w3LL);
|
|
setVisibility(View.VISIBLE, viewHolder.off3LL, viewHolder.w3LL);
|
|
|
shift = shifts.get(2);
|
|
shift = shifts.get(2);
|
|
|
- setTag(getTag(model.isWorkDate(), true, shift), viewHolder.w3TagTv, viewHolder.w3AllegedlyTv);
|
|
|
|
|
- setTag(getTag(model.isWorkDate(), false, shift), viewHolder.off3TagTv, viewHolder.off3AllegedlyTv);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), true, shift), viewHolder.w3TagTv, viewHolder.w3AllegedlyTv);
|
|
|
|
|
+ setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), false, shift), viewHolder.off3TagTv, viewHolder.off3AllegedlyTv);
|
|
|
viewHolder.w3SignTv.setText(shift.wSign == null ? "" : shift.wSign);
|
|
viewHolder.w3SignTv.setText(shift.wSign == null ? "" : shift.wSign);
|
|
|
viewHolder.off3SignTv.setText(shift.oSign == null ? "" : shift.oSign);
|
|
viewHolder.off3SignTv.setText(shift.oSign == null ? "" : shift.oSign);
|
|
|
bindOnClick(model, shift.work, viewHolder.w3AllegedlyTv);
|
|
bindOnClick(model, shift.work, viewHolder.w3AllegedlyTv);
|
|
@@ -121,8 +130,8 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
|
|
|
case 2:
|
|
case 2:
|
|
|
setVisibility(View.VISIBLE, viewHolder.off2LL, viewHolder.w2LL);
|
|
setVisibility(View.VISIBLE, viewHolder.off2LL, viewHolder.w2LL);
|
|
|
shift = shifts.get(1);
|
|
shift = shifts.get(1);
|
|
|
- setTag(getTag(model.isWorkDate(), true, shift), viewHolder.w2TagTv, viewHolder.w2AllegedlyTv);
|
|
|
|
|
- setTag(getTag(model.isWorkDate(), false, shift), viewHolder.off2TagTv, viewHolder.off2AllegedlyTv);
|
|
|
|
|
|
|
+ setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), true, shift), viewHolder.w2TagTv, viewHolder.w2AllegedlyTv);
|
|
|
|
|
+ setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), false, shift), viewHolder.off2TagTv, viewHolder.off2AllegedlyTv);
|
|
|
viewHolder.w2SignTv.setText(shift.wSign == null ? "" : shift.wSign);
|
|
viewHolder.w2SignTv.setText(shift.wSign == null ? "" : shift.wSign);
|
|
|
viewHolder.off2SignTv.setText(shift.oSign == null ? "" : shift.oSign);
|
|
viewHolder.off2SignTv.setText(shift.oSign == null ? "" : shift.oSign);
|
|
|
bindOnClick(model, shift.work, viewHolder.w2AllegedlyTv);
|
|
bindOnClick(model, shift.work, viewHolder.w2AllegedlyTv);
|
|
@@ -130,8 +139,8 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
|
|
|
case 1:
|
|
case 1:
|
|
|
setVisibility(View.VISIBLE, viewHolder.off1LL, viewHolder.w1LL);
|
|
setVisibility(View.VISIBLE, viewHolder.off1LL, viewHolder.w1LL);
|
|
|
shift = shifts.get(0);
|
|
shift = shifts.get(0);
|
|
|
- setTag(getTag(model.isWorkDate(), true, shift), viewHolder.w1TagTv, viewHolder.w1AllegedlyTv);
|
|
|
|
|
- setTag(getTag(model.isWorkDate(), false, shift), viewHolder.off1TagTv, viewHolder.off1AllegedlyTv);
|
|
|
|
|
|
|
+ setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), true, shift), viewHolder.w1TagTv, viewHolder.w1AllegedlyTv);
|
|
|
|
|
+ setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), false, shift), viewHolder.off1TagTv, viewHolder.off1AllegedlyTv);
|
|
|
viewHolder.w1SignTv.setText(shift.wSign == null ? "" : shift.wSign);
|
|
viewHolder.w1SignTv.setText(shift.wSign == null ? "" : shift.wSign);
|
|
|
viewHolder.off1SignTv.setText(shift.oSign == null ? "" : shift.oSign);
|
|
viewHolder.off1SignTv.setText(shift.oSign == null ? "" : shift.oSign);
|
|
|
bindOnClick(model, shift.work, viewHolder.w1AllegedlyTv);
|
|
bindOnClick(model, shift.work, viewHolder.w1AllegedlyTv);
|
|
@@ -142,7 +151,7 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void bindOnClick(WorkLogs model, String time, TextView allegedlyTv) {
|
|
private void bindOnClick(WorkLogs model, String time, TextView allegedlyTv) {
|
|
|
- if (allegedlyTv.getVisibility() == View.VISIBLE) {
|
|
|
|
|
|
|
+ if (allegedlyTv.getVisibility() == View.VISIBLE && TO_APPRECORD.equals(allegedlyTv.getText().toString())) {
|
|
|
allegedlyTv.setTag(R.id.tag_key, model);
|
|
allegedlyTv.setTag(R.id.tag_key, model);
|
|
|
allegedlyTv.setTag(R.id.tag_key2, time);
|
|
allegedlyTv.setTag(R.id.tag_key2, time);
|
|
|
allegedlyTv.setOnClickListener(mOnClickListener);
|
|
allegedlyTv.setOnClickListener(mOnClickListener);
|
|
@@ -186,6 +195,16 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
|
|
|
tagTv.setVisibility(View.VISIBLE);
|
|
tagTv.setVisibility(View.VISIBLE);
|
|
|
allegedlyTv.setVisibility(View.VISIBLE);
|
|
allegedlyTv.setVisibility(View.VISIBLE);
|
|
|
tagTv.setText(tag);
|
|
tagTv.setText(tag);
|
|
|
|
|
+ allegedlyTv.setText(TO_APPRECORD);
|
|
|
|
|
+ allegedlyTv.setBackgroundResource(R.drawable.bg_bule_btn);
|
|
|
|
|
+ allegedlyTv.setPadding(DisplayUtil.dip2px(ct, 6), DisplayUtil.dip2px(ct, 2), DisplayUtil.dip2px(ct, 6), DisplayUtil.dip2px(ct, 2));
|
|
|
|
|
+ } else if (APPRECORD.equals(tag)) {
|
|
|
|
|
+ tagTv.setVisibility(View.VISIBLE);
|
|
|
|
|
+ allegedlyTv.setVisibility(View.VISIBLE);
|
|
|
|
|
+ tagTv.setText(NEGLECT_WORK);
|
|
|
|
|
+ allegedlyTv.setText(APPRECORD);
|
|
|
|
|
+ allegedlyTv.setBackgroundResource(R.drawable.bg_text_pass);
|
|
|
|
|
+ allegedlyTv.setPadding(DisplayUtil.dip2px(ct, 6), DisplayUtil.dip2px(ct, 2), DisplayUtil.dip2px(ct, 6), DisplayUtil.dip2px(ct, 2));
|
|
|
} else if (LATE.equals(tag)) {
|
|
} else if (LATE.equals(tag)) {
|
|
|
tagTv.setVisibility(View.VISIBLE);
|
|
tagTv.setVisibility(View.VISIBLE);
|
|
|
allegedlyTv.setVisibility(View.GONE);
|
|
allegedlyTv.setVisibility(View.GONE);
|
|
@@ -203,19 +222,26 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
|
|
|
* @param shift
|
|
* @param shift
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
- private String getTag(boolean isWork, boolean w, WorkLogs.Shift shift) {
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ private String getTag(boolean isToday, boolean isWork, boolean w, WorkLogs.Shift shift) {
|
|
|
|
|
+ if (isToday) return "";
|
|
|
if (isWork) {
|
|
if (isWork) {
|
|
|
if (w) {
|
|
if (w) {
|
|
|
if (TextUtils.isEmpty(shift.wSign)) {
|
|
if (TextUtils.isEmpty(shift.wSign)) {
|
|
|
- return NEGLECT_WORK;
|
|
|
|
|
|
|
+ if (shift.wApprecord) {
|
|
|
|
|
+ return APPRECORD;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return NEGLECT_WORK;
|
|
|
|
|
+ }
|
|
|
} else if (shift.work.compareTo(shift.wSign) < 0) {
|
|
} else if (shift.work.compareTo(shift.wSign) < 0) {
|
|
|
return LATE;
|
|
return LATE;
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
if (TextUtils.isEmpty(shift.oSign)) {
|
|
if (TextUtils.isEmpty(shift.oSign)) {
|
|
|
- return NEGLECT_WORK;
|
|
|
|
|
|
|
+ if (shift.offApprecord) {
|
|
|
|
|
+ return APPRECORD;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return NEGLECT_WORK;
|
|
|
|
|
+ }
|
|
|
} else if (shift.off.compareTo(shift.oSign) > 0) {
|
|
} else if (shift.off.compareTo(shift.oSign) > 0) {
|
|
|
return EARLY_RETREAT;
|
|
return EARLY_RETREAT;
|
|
|
}
|
|
}
|