//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 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 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) 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 adapter; // // private void initView() { // adapter = new AllRecyclerViewAdapter(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); // // // // 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); // } // // // // 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)); // // // // List 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 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 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 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)); // } // // // } // }; // // 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(); // } //}