//package cn.flightfeather.thirdapp.module.inspectioninfo;
|
//
|
//
|
//import android.app.Activity;
|
//import android.app.ActivityOptions;
|
//import android.content.Intent;
|
//import android.os.Build;
|
//import android.os.Bundle;
|
//import android.support.annotation.Nullable;
|
//import android.support.annotation.RequiresApi;
|
//import android.support.v4.app.Fragment;
|
//import android.support.v7.widget.LinearLayoutManager;
|
//import android.support.v7.widget.RecyclerView;
|
//import android.view.LayoutInflater;
|
//import android.view.View;
|
//import android.view.ViewGroup;
|
//import android.widget.ImageView;
|
//
|
//import com.ping.greendao.gen.DaoSession;
|
//import com.ping.greendao.gen.MediafileDao;
|
//
|
//import java.io.File;
|
//import java.text.ParseException;
|
//import java.util.ArrayList;
|
//import java.util.Calendar;
|
//import java.util.Date;
|
//import java.util.List;
|
//
|
//import butterknife.BindView;
|
//import butterknife.ButterKnife;
|
//import butterknife.Unbinder;
|
//import cn.flightfeather.thirdapp.CommonApplication;
|
//import cn.flightfeather.thirdapp.R;
|
//import cn.flightfeather.thirdapp.activity.PhotoViewerActivity;
|
//import cn.flightfeather.thirdapp.adapter.AllRecyclerViewAdapter;
|
//import cn.flightfeather.thirdapp.bean.entity.Mediafile;
|
//import cn.flightfeather.thirdapp.bean.vo.ProblemlistVo;
|
//import cn.flightfeather.thirdapp.util.Constant;
|
//import cn.flightfeather.thirdapp.util.DateFormatter;
|
//import cn.flightfeather.thirdapp.util.Domain;
|
//import cn.flightfeather.thirdapp.util.file.FileUtil;
|
//import cn.flightfeather.thirdapp.util.photo.PhotoUtil;
|
//
|
///**
|
// * 2019.1.25
|
// * @author riku
|
// * 本fragment有两种问题状态,已整改{@link Constant#UNCHANGED}和未整改{@link Constant#CHANGED}
|
// */
|
//public class ProblemChangeFragment_B extends Fragment {
|
// public static final String ARG_PARAM1 = "problems";
|
// public static final String ARG_PARAM2 = "fragmentType";
|
// public static final int REQUEST_CODE_SUBMIT = 11;
|
//
|
// private CommonApplication application;
|
// private ArrayList<ProblemlistVo> problemlistVos = new ArrayList<>();
|
// private String fragmentType;
|
// private MediafileDao mediafileDao;
|
// private Unbinder unbinder;
|
//
|
// public ProblemChangeFragment_B() {
|
// // Required empty public constructor
|
// }
|
//
|
// public static ProblemChangeFragment_B newInstance(ArrayList<ProblemlistVo> problemlistVos, String fragmentType) {
|
// ProblemChangeFragment_B fragment = new ProblemChangeFragment_B();
|
// Bundle args = new Bundle();
|
// args.putSerializable(ARG_PARAM1, problemlistVos);
|
// args.putString(ARG_PARAM2, fragmentType);
|
// fragment.setArguments(args);
|
// return fragment;
|
// }
|
//
|
// @Override
|
// public void onCreate(Bundle savedInstanceState) {
|
// super.onCreate(savedInstanceState);
|
// if (getArguments() != null) {
|
// problemlistVos = (ArrayList<ProblemlistVo>) getArguments().getSerializable(ARG_PARAM1);
|
// fragmentType = getArguments().getString(ARG_PARAM2);
|
// }
|
// }
|
//
|
// @Override
|
// public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
// Bundle savedInstanceState) {
|
// View view = inflater.inflate(R.layout.fragment_rank_content, container, false);
|
// unbinder = ButterKnife.bind(this, view);
|
// return view;
|
// }
|
//
|
// @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
// @Override
|
// public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
// super.onViewCreated(view, savedInstanceState);
|
// application = (CommonApplication) getActivity().getApplication();
|
// initDataBase();
|
// initView();
|
// }
|
//
|
// @Override
|
// public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
// super.onActivityResult(requestCode, resultCode, data);
|
// //整改完成后,刷新问题列表
|
// if (requestCode == REQUEST_CODE_SUBMIT
|
// && resultCode == Activity.RESULT_OK) {
|
// ProblemlistVo p = (ProblemlistVo) data.getSerializableExtra(ProblemChangeDetailActivity.ARG_PROBLEM);
|
// ProblemChangeActivity problemChangeActivity = (ProblemChangeActivity) getActivity();
|
// if (problemChangeActivity != null) {
|
// problemChangeActivity.refreshProblemList(p);
|
// problemChangeActivity.refreshViewPager();
|
// }
|
// }
|
// }
|
//
|
//
|
// @Override
|
// public void onDestroy() {
|
// super.onDestroy();
|
// if (unbinder != null) {
|
// unbinder.unbind();
|
// }
|
// }
|
//
|
// //初始化数据库
|
// private void initDataBase() {
|
// DaoSession daoSession = application.getDaoSession();
|
// mediafileDao = daoSession.getMediafileDao();
|
// }
|
//
|
// //initView
|
// @BindView(R.id.rv_content) RecyclerView rv_rank_content;
|
// @BindView(R.id.image_problem_complete) ImageView image_problem_complete;
|
// AllRecyclerViewAdapter<ProblemlistVo> adapter;
|
//
|
// private void initView() {
|
// adapter = new AllRecyclerViewAdapter<ProblemlistVo>(problemlistVos, R.layout.item_problem_change_pollution_scene, getActivity()) {
|
// @Override
|
// public void bindView(MyViewHolder holder, ProblemlistVo obj, boolean isSelected, int position) {
|
// String checkStatus = getString(R.string.unchanged);
|
// switch (obj.getExtension3()) {
|
// case Domain.CHANGE_UNCHECKED:
|
// checkStatus = getString(R.string.change_unCheck);
|
// break;
|
// case Domain.CHANGE_CHECK_PASS:
|
// checkStatus = getString(R.string.change_pass);
|
// break;
|
// case Domain.CHANGE_CHECK_FAIL:
|
// checkStatus = getString(R.string.change_fail);
|
// break;
|
// }
|
// holder.setText(R.id.tv_problem_type_name, obj.getTypename())
|
// .setText(R.id.tv_problem_time, DateFormatter.dateTimeFormat.format(obj.getTime()))
|
// .setText(R.id.tv_problem_location, obj.getLocation())
|
// .setText(R.id.tv_problem_name, obj.getProblemname())
|
// .setText(R.id.txt_change_check, checkStatus);
|
//
|
// //<editor-fold desc="根据是否承诺整改显示不同内容">
|
// Date deadline_tmp = null;
|
// if (obj.getExtension1() != null) {
|
// try {
|
// deadline_tmp = DateFormatter.dateFormat.parse(obj.getExtension1());
|
// Calendar calendar = Calendar.getInstance();
|
// calendar.setTime(deadline_tmp);
|
// calendar.set(Calendar.HOUR_OF_DAY, 23);
|
// calendar.set(Calendar.MINUTE, 59);
|
// calendar.set(Calendar.SECOND, 59);
|
// deadline_tmp = calendar.getTime();
|
// } catch (ParseException e) {
|
// e.printStackTrace();
|
// }
|
// }
|
// if (fragmentType.equals(Constant.UNCHANGED) && !obj.getIschanged()) {
|
// generateView1(holder, obj, isSelected, position, deadline_tmp);
|
// } else if (fragmentType.equals(Constant.CHANGED) && obj.getIschanged()) {
|
// generateView2(holder, obj, isSelected, position, deadline_tmp);
|
// }
|
// //</editor-fold>
|
//
|
// ProblemChangeDetailActivity.TextData textData
|
// = new ProblemChangeDetailActivity.TextData(
|
// holder.getText(R.id.text_deadline_status),
|
// holder.getText(R.id.text_remaining_days),
|
// holder.getText(R.id.text_promise),
|
// holder.isSelected(R.id.image_promise),
|
// holder.getText(R.id.text_change_deadline),
|
// holder.getVisibility(R.id.text_change_deadline),
|
// holder.getVisibility(R.id.cl_deadline)
|
// );
|
// holder.setOnClickListener(R.id.cl_content ,new OnProblemDetailClickListener(obj, fragmentType, textData));
|
// holder.setOnClickListener(R.id.image_goto_change ,new OnProblemDetailClickListener(obj, fragmentType, textData));
|
//
|
// //<editor-fold desc="初始化图片的显示及点击事件">
|
// List<ImageView> imageViewProblemList = new ArrayList<>();
|
// imageViewProblemList.add((ImageView) holder.getViewById(R.id.iv_problem_photo1));
|
// imageViewProblemList.add((ImageView) holder.getViewById(R.id.iv_problem_photo2));
|
// imageViewProblemList.add((ImageView) holder.getViewById(R.id.iv_problem_photo3));
|
// List<Mediafile> mediafileList = mediafileDao.queryBuilder()
|
// .where(MediafileDao.Properties.Businessguid.eq(obj.getGuid()))
|
// .where(MediafileDao.Properties.Remark.eq("未上传"))
|
// .list();
|
// if (obj.getMediafileList() != null) {
|
// mediafileList.addAll(obj.getMediafileList());
|
// }
|
// //将图片加载至对应的imageView上
|
// List<Mediafile> showingFilelist = new ArrayList<>();
|
// for (Mediafile mediafile : mediafileList) {
|
// if (!mediafile.getIschanged()) {
|
// showingFilelist.add(mediafile);
|
// }
|
// }
|
// int photoCount = PhotoUtil.loadImage(showingFilelist, imageViewProblemList, getActivity());
|
// //由于RecycleView的复用特性,没有添加图片的imageView必须设置为空白图片
|
// if (photoCount < imageViewProblemList.size()) {
|
// for (int i = imageViewProblemList.size() - 1; i >= photoCount; i--) {
|
// imageViewProblemList.get(i).setImageResource(R.drawable.icon_add_photo_blank);
|
// }
|
// }
|
// //添加图片放大点击事件
|
// List<File> files = new ArrayList<>();
|
// for (Mediafile m :
|
// showingFilelist) {
|
// File tempFile = FileUtil.getFileFromMediaFile(m);
|
// files.add(tempFile);
|
// }
|
// for (int i = 0; i < photoCount; i++) {
|
// imageViewProblemList.get(i)
|
// .setOnClickListener(PhotoUtil.OnPhotoViewClickListener(getActivity(),
|
// files,
|
// i,
|
// showingFilelist,
|
// PhotoViewerActivity.PROBLEM_PHOTO,
|
// false));
|
// }
|
// //</editor-fold>
|
// }
|
// };
|
//
|
// LinearLayoutManager lm = new LinearLayoutManager(getActivity());
|
// lm.setOrientation(LinearLayoutManager.VERTICAL);
|
// rv_rank_content.setLayoutManager(lm);
|
// rv_rank_content.setAdapter(adapter);
|
// //设置没有内容时的展示图片
|
// if (fragmentType.equals(Constant.UNCHANGED)) {
|
// image_problem_complete.setImageResource(R.drawable.ic_problem_complete);
|
// }else{
|
// image_problem_complete.setImageResource(R.drawable.ic_problem_uncomplete);
|
// }
|
// if (this.problemlistVos.isEmpty()) {
|
// image_problem_complete.setVisibility(View.VISIBLE);
|
// } else {
|
// image_problem_complete.setVisibility(View.GONE);
|
// }
|
// }
|
//
|
// /**
|
// * 当前状态是展示“未整改”的问题{@link #fragmentType} = {@link Constant#UNCHANGED}
|
// * @param holder
|
// * @param obj
|
// * @param isSelected
|
// * @param position
|
// */
|
// private void generateView1(AllRecyclerViewAdapter.MyViewHolder holder, ProblemlistVo obj, boolean isSelected, int position, Date deadline_tmp) {
|
// //客户已承诺整改,截止日期存在,则显示
|
// String deadline = obj.getExtension1();
|
// if (deadline != null && !deadline.equals("") && deadline_tmp != null) {
|
// deadline = "截至" + " " + deadline;
|
// holder.setSelected(R.id.image_promise, true)
|
// .setText(R.id.text_promise, R.string.change_promised)
|
// .setVisibility(R.id.text_change_deadline, View.VISIBLE)
|
// .setText(R.id.text_change_deadline, deadline);
|
//// .setOnClickListener(R.id.image_goto_change, new OnProblemDetailClickListener())
|
//// .setOnClickListener(R.id.cl_content, new OnProblemDetailClickListener())
|
// //region 判断整改还剩余或已逾期几天
|
// Date problemTime = obj.getTime();
|
// if (problemTime.before(deadline_tmp)) {
|
// Date now = new Date();
|
// int days;
|
// //整改没有逾期
|
// if (deadline_tmp.getTime() > now.getTime()) {
|
// days = (int) Math.ceil((deadline_tmp.getTime() - now.getTime()) / 1000 / 60 / 60 / 24);
|
// holder.setText(R.id.text_deadline_status, R.string.remaining)
|
// .setText(R.id.text_remaining_days, String.valueOf(days));
|
// }
|
// //整改已逾期
|
// else {
|
// days = (int) Math.ceil((now.getTime() - deadline_tmp.getTime()) / 1000 / 60 / 60 / 24);
|
// holder.setText(R.id.text_deadline_status, R.string.overdue)
|
// .setText(R.id.text_remaining_days, String.valueOf(days));
|
// }
|
// }
|
// holder.setVisibility(R.id.cl_deadline, View.VISIBLE);
|
// //endregion
|
// }
|
// //客户未承诺整改,截止日期不存在,不显示
|
// else {
|
// holder.setSelected(R.id.image_promise, false)
|
// .setText(R.id.text_promise, R.string.change_refused)
|
// .setVisibility(R.id.text_change_deadline, View.INVISIBLE)
|
// .setVisibility(R.id.cl_deadline, View.INVISIBLE);
|
// }
|
// }
|
//
|
// /**
|
// * 当前状态是展示“已整改”的问题{@link #fragmentType} = {@link Constant#CHANGED}
|
// * @param holder
|
// * @param obj
|
// * @param isSelected
|
// * @param position
|
// */
|
// private void generateView2(AllRecyclerViewAdapter.MyViewHolder holder, ProblemlistVo obj, boolean isSelected, int position, Date deadline_tmp) {
|
// holder.setVisibility(R.id.cl_deadline, View.INVISIBLE);
|
//// .setOnClickListener(R.id.image_goto_change, new OnProblemDetailClickListener())
|
//// .setOnClickListener(R.id.cl_content, new OnProblemDetailClickListener())
|
// //已承诺,有截止时间
|
// if (deadline_tmp != null) {
|
// //整改时间有记录,按照记录显示是否逾期
|
// if (obj.getChangedtime() != null) {
|
// //整改时间在承诺整改时间之前
|
// if (obj.getChangedtime().before(deadline_tmp)) {
|
// holder.setSelected(R.id.image_promise, true)
|
// .setText(R.id.text_promise, R.string.change_in_time)
|
// .setVisibility(R.id.text_change_deadline, View.GONE);
|
// }
|
// //整改时间在承诺整改时间之后
|
// else {
|
// holder.setSelected(R.id.image_promise, false)
|
// .setText(R.id.text_promise, R.string.change_over_time);
|
// int days2 = (int) Math.ceil((obj.getChangedtime().getTime() - deadline_tmp.getTime()) / 1000 / 60 / 60 / 24);
|
// String s = "逾期" + days2 + "天";
|
// holder.setVisibility(R.id.text_change_deadline, View.VISIBLE)
|
// .setText(R.id.text_change_deadline, s);
|
// }
|
// }
|
// //整改时间无记录,直接显示已整改
|
// else {
|
// holder.setSelected(R.id.image_promise, true)
|
// .setText(R.id.text_promise, R.string.changed)
|
// .setVisibility(R.id.text_change_deadline, View.GONE);
|
// }
|
// }
|
// //没有承诺,没有截止时间
|
// else {
|
// holder.setSelected(R.id.image_promise, true)
|
// .setText(R.id.text_promise, R.string.changed)
|
// .setVisibility(R.id.text_change_deadline, View.GONE);
|
// }
|
//
|
// }
|
//
|
// //点击事件
|
// class OnProblemDetailClickListener implements View.OnClickListener {
|
//
|
// private ProblemlistVo problemlistVo;
|
// private String problemType;
|
// private ProblemChangeDetailActivity.TextData textData;
|
//
|
// private View cl_1;
|
// private View tv_problem_name;
|
// private View ll_problem_photo;
|
// private View tv_problem_type_name;
|
//
|
// public OnProblemDetailClickListener(ProblemlistVo problemlistVo, String problemType, ProblemChangeDetailActivity.TextData textData) {
|
// this.problemlistVo = problemlistVo;
|
// this.problemType = problemType;
|
// this.textData = textData;
|
// View itemView = LayoutInflater.from(getActivity()).inflate(R.layout.item_problem_change_pollution_scene, null);
|
// cl_1 = itemView.findViewById(R.id.cl_1);
|
// tv_problem_name = itemView.findViewById(R.id.tv_problem_name);
|
// ll_problem_photo = itemView.findViewById(R.id.ll_problem_photo);
|
// tv_problem_type_name = itemView.findViewById(R.id.tv_problem_type_name);
|
// }
|
//
|
// @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
// @Override
|
// public void onClick(View v) {
|
// Intent intent = new Intent(getActivity(), ProblemChangeDetailActivity.class);
|
// Bundle bundle = new Bundle();
|
// bundle.putSerializable(ProblemChangeDetailActivity.ARG_PROBLEM, problemlistVo);
|
// bundle.putString(ProblemChangeDetailActivity.ARG_PROBLEM_TYPE, problemType);
|
// bundle.putSerializable(ProblemChangeDetailActivity.ARG_TEXT_DATA, textData);
|
// intent.putExtras(bundle);
|
//
|
// ActivityOptions optionsCompat = ActivityOptions.makeSceneTransitionAnimation(getActivity());
|
// startActivityForResult(intent, REQUEST_CODE_SUBMIT, optionsCompat.toBundle());
|
// }
|
// }
|
//
|
// //更新列表
|
// public void notifyDataSetChanged() {
|
//// this.problemlistVos.clear();
|
//// this.problemlistVos.addAll(p);
|
// if (this.problemlistVos.isEmpty()) {
|
// image_problem_complete.setVisibility(View.VISIBLE);
|
// } else {
|
// image_problem_complete.setVisibility(View.GONE);
|
// }
|
// adapter.notifyDataSetChanged();
|
// }
|
//}
|