Просмотр исходного кода

个人消息首页部分显示服务预约内容
修改手机的判断
修复手动外勤bug

Bitliker 8 лет назад
Родитель
Сommit
7e06aa7157

+ 2 - 1
WeiChat/src/main/AndroidManifest.xml

@@ -1046,7 +1046,8 @@
         <activity android:name=".ui.erp.activity.datainquiry.activity.ReportQuerySearchActivity" />
 
         <activity android:name="com.core.widget.view.selectcalendar.SelectCalendarActivity" />
-        <activity android:name=".ui.erp.activity.oa.NavigationActivity">
+        <activity android:name=".ui.erp.activity.oa.NavigationActivity"
+            android:label="@string/navigation">
             <intent-filter>
                 <action android:name="com.modular.appworks.NavigationActivity" />
                 <category android:name="android.intent.category.DEFAULT" />

+ 10 - 0
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/MessagePresenter.java

@@ -962,6 +962,7 @@ public class MessagePresenter implements OnHttpResultListener {
 	public List<MessageHeader> getHeaderModels() {
 		List<MessageHeader> models = new ArrayList<>();
 		MessageHeader model = null;
+
 		if (CommonUtil.getUserRole().equals("1")) {//个人用户
 			model = new MessageHeader(StringUtil.getMessage(R.string.booking_menu));
 			model.setIcon(R.drawable.icon_yuyue3);
@@ -1043,6 +1044,15 @@ public class MessagePresenter implements OnHttpResultListener {
 			model.setType(6);
 			model.setTag("");
 			models.add(model);
+
+
+			model = new MessageHeader(StringUtil.getMessage(R.string.booking_menu));
+			model.setIcon(R.drawable.icon_yuyue3);
+			model.setSubDoc("");
+			model.setRedKey(Constants.MESSAGE_YUYUE);
+			model.setType(2);
+			model.setTag("");
+			models.add(model);
 		}
 
 		model = new MessageHeader(StringUtil.getMessage(R.string.set_sport));

+ 238 - 218
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/adapter/MissionAdapter.java

@@ -19,227 +19,247 @@ import com.uas.appworks.R;
 import java.text.DecimalFormat;
 import java.util.List;
 
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
 /**
  * Created by Bitliker on 2016/12/19.
  */
 
 public class MissionAdapter extends RecyclerView.Adapter<MissionAdapter.BaseViewHolder> {
-    private BaseActivity ct;
-    private List<MissionModel> models;
-    private OnitemClickListener onitemClickListener;
-
-    public MissionAdapter(BaseActivity ct, OnitemClickListener onitemClickListener) {
-        this.ct = ct;
-        this.onitemClickListener = onitemClickListener;
-    }
-
-    public List<MissionModel> getModels() {
-        return models;
-    }
-
-    public void setModels(List<MissionModel> models) {
-        this.models = models;
-    }
-
-    @Override
-    public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-        View view = LayoutInflater.from(ct).inflate(R.layout.item_mission,null);
-        return new BaseViewHolder(view);
-    }
-
-    @Override
-    public void onBindViewHolder(BaseViewHolder holder, int position) {
-        if (holder instanceof BaseViewHolder) {
-            try {
-                initView(holder, position);
-                initEvent(holder, position);
-            } catch (Exception e) {
-                if (e != null)
-                    Log.i("gongpengming", "onBindViewHolder Exception " + e.getMessage());
-                else Log.i("gongpengming", "Exception==null");
-            }
-        }
-    }
-
-    private void initView(BaseViewHolder holder, int position) {
-        MissionModel entity = models.get(position);
-        if (entity == null) return;
-        holder.item_title_tv.setText("");
-        holder.item_delete_tv.setVisibility((entity.getStatus() != 1 && position != 0) ? View.VISIBLE : View.GONE);
-        if (entity.getDistance() != 0) {
-            holder.item_length_tv.setText(getKm(entity.getDistance()) + "km");
-            holder.navigation_tv.setVisibility(View.VISIBLE);
-        } else {
-            holder.navigation_tv.setVisibility(View.GONE);
-            holder.item_length_tv.setText("");
-        }
-        if (entity.getLatLng() != null) {
-            holder.item_long_tv.setText(getKm(BaiduMapUtil.getInstence().getDistance(entity.getLatLng())) + "km");
-        } else {
-            holder.item_long_tv.setText("");
-        }
-        holder.item_reckontime_tv.setText(getStringNotNull(entity.getVisitTime()));
-        holder.item_realtime_tv.setText(getStringNotNull(entity.getRealTime()));
-        if (!getStringNotNull(entity.getRealTime()).equals(getStringNotNull(entity.getRealLeave())))
-            holder.item_realleave_tv.setText(getStringNotNull(entity.getRealLeave()));
-        else holder.item_realleave_tv.setText("");
-        holder.item_company_tv.setText(getStringNotNull(entity.getCompanyName()));
-        holder.item_companyaddr_tv.setText(getStringNotNull(entity.getCompanyAddr()));
-        holder.item_time_tv.setText(getStringNotNull(entity.getRecorddate()));
-        holder.item_location_tv.setText(getStringNotNull(entity.getLocation()));
-        holder.item_remark_tv.setText(getStringNotNull(entity.getRemark()));
-        boolean focusable = entity.getStatus() != 1;
-        setViewFocusable(holder.item_remark_tv, focusable);
-        setViewFocusable(holder.item_half_rb, focusable);
-        setViewFocusable(holder.item_all_rb, focusable);
-        setViewFocusable(holder.item_reckontime_tv, focusable);
-        setViewFocusable(holder.item_company_tv, focusable);
-        setViewFocusable(holder.item_companyaddr_tv, focusable);
-        if (entity.getType() == 1) {//半天
-            holder.item_half_rb.setChecked(true);
-            holder.item_all_rb.setChecked(false);
-        } else {//全天
-            holder.item_half_rb.setChecked(false);
-            holder.item_all_rb.setChecked(true);
-        }
-        holder.item_all_rb.setEnabled(focusable);
-        holder.item_half_rb.setEnabled(focusable);
-    }
-
-
-    private void setViewFocusable(View view, boolean focusable) {
-        view.setFocusable(focusable);
-        view.setClickable(focusable);
-    }
-
-    private void initEvent(final BaseViewHolder holder, final int position) {
-        holder.item_company_tv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (onitemClickListener != null) {
-                    onitemClickListener.click(position, models.get(position), holder.item_company_tv);
-                }
-            }
-        });
-        holder.item_companyaddr_tv.setOnClickListener(new View.OnClickListener() {
-
-            @Override
-            public void onClick(View view) {
-                if (onitemClickListener != null) {
-                    onitemClickListener.click(position, models.get(position), holder.item_companyaddr_tv);
-                }
-            }
-        });
-        holder.item_delete_tv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (onitemClickListener != null) {
-                    onitemClickListener.click(position, models.get(position), holder.item_delete_tv);
-                }
-            }
-        });
-        holder.item_reckontime_tv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (onitemClickListener != null)
-                    onitemClickListener.click(position, models.get(position), holder.item_reckontime_tv);
-            }
-        });
-        holder.item_remark_tv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (onitemClickListener != null)
-                    onitemClickListener.click(position, models.get(position), holder.item_remark_tv);
-            }
-        });
-        holder.navigation_tv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (onitemClickListener != null)
-                    onitemClickListener.click(position, models.get(position), holder.navigation_tv);
-            }
-        });
-
-        holder.item_half_rb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-            @Override
-            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
-                if (models.get(position).getStatus() == 1) return;
-                if (b)
-                    models.get(position).setType(1);
-                else models.get(position).setType(2);
-            }
-        });
-    }
-
-
-    @Override
-    public int getItemCount() {
-        return ListUtils.isEmpty(models) ? 0 : models.size();
-    }
-
-    class BaseViewHolder extends RecyclerView.ViewHolder {
-        TextView item_title_tv,//标题
-                item_delete_tv,//删除按钮
-                item_length_tv,//里程
-                item_reckontime_tv,//预计到达时间
-                item_realtime_tv,//实际到达时间
-                item_realleave_tv,//实际离开时间
-                item_companyaddr_tv,//公司地址
-                item_location_tv,//创建地点
-                item_time_tv,//创建时间
-                item_long_tv,
-                item_company_tv, //公司名称
-                navigation_tv, //公司名称
-                item_remark_tv;//目的
-        RadioButton item_half_rb, item_all_rb;
-
-        public BaseViewHolder(View itemView) {
-            super(itemView);
-            item_title_tv = (TextView) itemView.findViewById(R.id.item_title_tv);//标题
-            item_delete_tv = (TextView) itemView.findViewById(R.id.item_delete_tv);
-            item_length_tv = (TextView) itemView.findViewById(R.id.item_length_tv);
-            item_reckontime_tv = (TextView) itemView.findViewById(R.id.item_reckontime_tv);
-            item_realtime_tv = (TextView) itemView.findViewById(R.id.item_realtime_tv);
-            item_realleave_tv = (TextView) itemView.findViewById(R.id.item_realleave_tv);
-            item_company_tv = (TextView) itemView.findViewById(R.id.item_company_tv);
-            item_companyaddr_tv = (TextView) itemView.findViewById(R.id.item_companyaddr_tv);
-            item_location_tv = (TextView) itemView.findViewById(R.id.item_location_tv);
-            item_time_tv = (TextView) itemView.findViewById(R.id.item_time_tv);
-            item_long_tv = (TextView) itemView.findViewById(R.id.item_long_tv);
-            item_remark_tv = (TextView) itemView.findViewById(R.id.item_remark_tv);
-            item_half_rb = (RadioButton) itemView.findViewById(R.id.item_half_rb);
-            item_all_rb = (RadioButton) itemView.findViewById(R.id.item_all_rb);
-            navigation_tv = (TextView) itemView.findViewById(R.id.navigation_tv);
-        }
-    }
-
-    private String getStringNotNull(String str) {
-        if (StringUtil.isEmpty(str)) return "";
-        return str;
-    }
-
-    private String getKm(double dis) {
-        try {
-            return getKm(String.valueOf(dis));
-        } catch (Exception e) {
-            return String.valueOf(0);
-        }
-    }
-
-    private String getKm(String dis) {
-        if (StringUtil.isEmpty(dis)) return String.valueOf(0);
-        try {
-            DecimalFormat fnum = new DecimalFormat("##0.00");
-            String dd = fnum.format(Float.valueOf(dis) / 1000);
-            return dd;
-        } catch (ClassCastException e) {
-            return String.valueOf(0);
-        } catch (Exception e) {
-            return String.valueOf(0);
-        }
-    }
-
-    public interface OnitemClickListener {
-        void click(int position, MissionModel model, View view);
-    }
+	private BaseActivity ct;
+	private List<MissionModel> models;
+	private OnitemClickListener onitemClickListener;
+
+	public MissionAdapter(BaseActivity ct, OnitemClickListener onitemClickListener) {
+		this.ct = ct;
+		this.onitemClickListener = onitemClickListener;
+	}
+
+	public List<MissionModel> getModels() {
+		return models;
+	}
+
+	public void setModels(List<MissionModel> models) {
+		this.models = models;
+	}
+
+	@Override
+	public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+		View view = LayoutInflater.from(ct).inflate(R.layout.item_mission, null);
+		return new BaseViewHolder(view);
+	}
+
+	@Override
+	public void onBindViewHolder(BaseViewHolder holder, int position) {
+		if (holder instanceof BaseViewHolder) {
+			try {
+				initView(holder, position);
+				initEvent(holder, position);
+			} catch (Exception e) {
+				if (e != null)
+					Log.i("gongpengming", "onBindViewHolder Exception " + e.getMessage());
+				else Log.i("gongpengming", "Exception==null");
+			}
+		}
+	}
+
+	private void initView(BaseViewHolder holder, int position) {
+		MissionModel entity = models.get(position);
+		if (entity == null) return;
+		holder.item_title_tv.setText("");
+		holder.item_delete_tv.setVisibility((inputItem(entity) && position != 0) ? View.VISIBLE : View.GONE);
+		if (entity.getDistance() != 0) {
+			holder.item_length_tv.setText(getKm(entity.getDistance()) + "km");
+			holder.navigation_tv.setVisibility(VISIBLE);
+		} else {
+			holder.navigation_tv.setVisibility(GONE);
+			holder.item_length_tv.setText("");
+		}
+		if (entity.getLatLng() != null) {
+			holder.item_long_tv.setText(getKm(BaiduMapUtil.getInstence().getDistance(entity.getLatLng())) + "km");
+		} else {
+			holder.item_long_tv.setText("");
+		}
+		holder.item_reckontime_tv.setText(getStringNotNull(entity.getVisitTime()));
+		holder.item_realtime_tv.setText(getStringNotNull(entity.getRealTime()));
+		if (!getStringNotNull(entity.getRealTime()).equals(getStringNotNull(entity.getRealLeave())))
+			holder.item_realleave_tv.setText(getStringNotNull(entity.getRealLeave()));
+		else holder.item_realleave_tv.setText("");
+		holder.item_company_tv.setText(getStringNotNull(entity.getCompanyName()));
+		holder.item_companyaddr_tv.setText(getStringNotNull(entity.getCompanyAddr()));
+		holder.item_time_tv.setText(getStringNotNull(entity.getRecorddate()));
+		holder.item_location_tv.setText(getStringNotNull(entity.getLocation()));
+		holder.item_remark_tv.setText(getStringNotNull(entity.getRemark()));
+		boolean focusable = inputItem(entity);
+		setViewFocusable(holder.item_remark_tv, focusable);
+		setViewFocusable(holder.item_half_rb, focusable);
+		setViewFocusable(holder.item_all_rb, focusable);
+		setViewFocusable(holder.item_reckontime_tv, focusable);
+		setViewFocusable(holder.item_company_tv, focusable);
+		setViewFocusable(holder.item_companyaddr_tv, focusable);
+		if (entity.getType() == 1) {//半天
+			holder.item_half_rb.setChecked(true);
+			holder.item_all_rb.setChecked(false);
+		} else {//全天
+			holder.item_half_rb.setChecked(false);
+			holder.item_all_rb.setChecked(true);
+		}
+		holder.item_all_rb.setEnabled(focusable);
+		holder.item_half_rb.setEnabled(focusable);
+	}
+
+
+	private void setViewFocusable(View view, boolean focusable) {
+		view.setFocusable(focusable);
+		view.setClickable(focusable);
+	}
+
+	private void initEvent(final BaseViewHolder holder, final int position) {
+		if (holder.item_company_tv.isFocusable()) {
+			holder.item_company_tv.setOnClickListener(new View.OnClickListener() {
+				@Override
+				public void onClick(View view) {
+					if (onitemClickListener != null) {
+						onitemClickListener.click(position, models.get(position), holder.item_company_tv);
+					}
+				}
+			});
+		}
+
+		if (holder.item_companyaddr_tv.isFocusable()) {
+			holder.item_companyaddr_tv.setOnClickListener(new View.OnClickListener() {
+
+				@Override
+				public void onClick(View view) {
+					if (onitemClickListener != null) {
+						onitemClickListener.click(position, models.get(position), holder.item_companyaddr_tv);
+					}
+				}
+			});
+		}
+		if (holder.item_delete_tv.getVisibility() == View.VISIBLE) {
+			holder.item_delete_tv.setOnClickListener(new View.OnClickListener() {
+				@Override
+				public void onClick(View view) {
+					if (onitemClickListener != null) {
+						onitemClickListener.click(position, models.get(position), holder.item_delete_tv);
+					}
+				}
+			});
+		}
+
+		if (holder.item_reckontime_tv.isFocusable()) {
+			holder.item_reckontime_tv.setOnClickListener(new View.OnClickListener() {
+				@Override
+				public void onClick(View view) {
+					if (onitemClickListener != null)
+						onitemClickListener.click(position, models.get(position), holder.item_reckontime_tv);
+				}
+			});
+		}
+		if (holder.item_remark_tv.isFocusable()) {
+			holder.item_remark_tv.setOnClickListener(new View.OnClickListener() {
+				@Override
+				public void onClick(View view) {
+					if (onitemClickListener != null)
+						onitemClickListener.click(position, models.get(position), holder.item_remark_tv);
+				}
+			});
+		}
+		holder.navigation_tv.setOnClickListener(new View.OnClickListener() {
+			@Override
+			public void onClick(View view) {
+				if (onitemClickListener != null)
+					onitemClickListener.click(position, models.get(position), holder.navigation_tv);
+			}
+		});
+		if (holder.item_half_rb.isFocusable()) {
+			holder.item_half_rb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+				@Override
+				public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
+					if (!inputItem(models.get(position))) return;
+					if (b)
+						models.get(position).setType(1);
+					else models.get(position).setType(2);
+				}
+			});
+		}
+	}
+
+	private boolean inputItem(MissionModel missionModel) {
+		return missionModel.getStatus() == 0;
+	}
+
+
+	@Override
+	public int getItemCount() {
+		return ListUtils.isEmpty(models) ? 0 : models.size();
+	}
+
+	class BaseViewHolder extends RecyclerView.ViewHolder {
+		TextView item_title_tv,//标题
+				item_delete_tv,//删除按钮
+				item_length_tv,//里程
+				item_reckontime_tv,//预计到达时间
+				item_realtime_tv,//实际到达时间
+				item_realleave_tv,//实际离开时间
+				item_companyaddr_tv,//公司地址
+				item_location_tv,//创建地点
+				item_time_tv,//创建时间
+				item_long_tv,
+				item_company_tv, //公司名称
+				navigation_tv, //公司名称
+				item_remark_tv;//目的
+		RadioButton item_half_rb, item_all_rb;
+
+		public BaseViewHolder(View itemView) {
+			super(itemView);
+			item_title_tv = (TextView) itemView.findViewById(R.id.item_title_tv);//标题
+			item_delete_tv = (TextView) itemView.findViewById(R.id.item_delete_tv);
+			item_length_tv = (TextView) itemView.findViewById(R.id.item_length_tv);
+			item_reckontime_tv = (TextView) itemView.findViewById(R.id.item_reckontime_tv);
+			item_realtime_tv = (TextView) itemView.findViewById(R.id.item_realtime_tv);
+			item_realleave_tv = (TextView) itemView.findViewById(R.id.item_realleave_tv);
+			item_company_tv = (TextView) itemView.findViewById(R.id.item_company_tv);
+			item_companyaddr_tv = (TextView) itemView.findViewById(R.id.item_companyaddr_tv);
+			item_location_tv = (TextView) itemView.findViewById(R.id.item_location_tv);
+			item_time_tv = (TextView) itemView.findViewById(R.id.item_time_tv);
+			item_long_tv = (TextView) itemView.findViewById(R.id.item_long_tv);
+			item_remark_tv = (TextView) itemView.findViewById(R.id.item_remark_tv);
+			item_half_rb = (RadioButton) itemView.findViewById(R.id.item_half_rb);
+			item_all_rb = (RadioButton) itemView.findViewById(R.id.item_all_rb);
+			navigation_tv = (TextView) itemView.findViewById(R.id.navigation_tv);
+		}
+	}
+
+	private String getStringNotNull(String str) {
+		if (StringUtil.isEmpty(str)) return "";
+		return str;
+	}
+
+	private String getKm(double dis) {
+		try {
+			return getKm(String.valueOf(dis));
+		} catch (Exception e) {
+			return String.valueOf(0);
+		}
+	}
+
+	private String getKm(String dis) {
+		if (StringUtil.isEmpty(dis)) return String.valueOf(0);
+		try {
+			DecimalFormat fnum = new DecimalFormat("##0.00");
+			String dd = fnum.format(Float.valueOf(dis) / 1000);
+			return dd;
+		} catch (ClassCastException e) {
+			return String.valueOf(0);
+		} catch (Exception e) {
+			return String.valueOf(0);
+		}
+	}
+
+	public interface OnitemClickListener {
+		void click(int position, MissionModel model, View view);
+	}
 }

+ 1 - 3
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/presenter/MissionPresenter.java

@@ -7,7 +7,6 @@ import android.os.Bundle;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.common.LogUtil;
 import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
@@ -116,7 +115,6 @@ public class MissionPresenter implements IMissionPresenter, OnHttpResultListener
 		if (isSubmiting) return;
 		List<MissionModel> plans = new ArrayList<>();
 		for (MissionModel e : models) {
-			LogUtil.i("==" + JSON.toJSONString(e));
 			if (e.getStatus() != 0) {
 				plans.add(e);
 			}
@@ -125,7 +123,6 @@ public class MissionPresenter implements IMissionPresenter, OnHttpResultListener
 		if (mission == null) {
 			iMission.showToast("无可签到签退的计划", R.color.load_error);
 		} else {
-			LogUtil.i(JSON.toJSONString(mission));
 			signinMission(mission);
 		}
 	}
@@ -581,6 +578,7 @@ public class MissionPresenter implements IMissionPresenter, OnHttpResultListener
 							MissionModel mission = bundle.getParcelable("data");
 							if (mission != null) {
 								mission.setStatus(2);
+								mission.setRealLeave(DateFormatUtil.long2Str(DateFormatUtil.YMD_HMS));
 								MissionDao.getInstance().updata(mission);
 							}
 						}