生产页面代码改成fragment

master
hwf453 1 year ago
parent 05070b3341
commit 8385f600d9

@ -3,42 +3,85 @@ package com.rehome.zhdcoa.adapter;
import android.content.Context;
import android.graphics.Color;
import android.text.Html;
import android.widget.TextView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.rehome.zhdcoa.R;
import com.rehome.zhdcoa.bean.ApplyListBean;
import com.rehome.zhdcoa.base.BaseViewBindingAdapter;
import com.rehome.zhdcoa.bean.WorkRiskLevelListBean;
import com.xuexiang.xui.adapter.recyclerview.BaseRecyclerAdapter;
import com.xuexiang.xui.adapter.recyclerview.RecyclerViewHolder;
import com.rehome.zhdcoa.databinding.AdapterItemInfoBinding;
import com.rehome.zhdcoa.databinding.AdapterWorkRiskLevelListBinding;
import java.util.List;
public class WorkRiskLevelListAdapter extends CommonAdapter<WorkRiskLevelListBean.RowsBean> {
public class WorkRiskLevelListAdapter extends BaseViewBindingAdapter<AdapterWorkRiskLevelListBinding> {
private final Context context;
private List<WorkRiskLevelListBean.RowsBean> datas;
public WorkRiskLevelListAdapter(Context context, List<WorkRiskLevelListBean.RowsBean> datas) {
super(context, R.layout.adapter_work_risk_level_list, datas);
super(context);
//super(context, R.layout.adapter_work_risk_level_list, datas);
this.context = context;
this.datas = datas;
}
@Override
protected void convert(ViewHolder viewHolder, WorkRiskLevelListBean.RowsBean item, int position) {
protected void handleData(int position, AdapterWorkRiskLevelListBinding binding) {
WorkRiskLevelListBean.RowsBean item = datas.get(position);
if (item != null) {
viewHolder.setText(R.id.tv_xh, String.valueOf(position+1));
viewHolder.setText(R.id.tv_paiHao, item.getCode());
binding.tvXh.setText(String.valueOf(position+1));
binding.tvPaiHao.setText(item.getCode());
binding.tvLevel.setText(item.getLevel());
//viewHolder.setText(R.id.tv_xh, String.valueOf(position+1));
//viewHolder.setText(R.id.tv_paiHao, item.getCode());
//viewHolder.setText(R.id.tv_content, item.getContent());
viewHolder.setText(R.id.tv_level, item.getLevel());
//viewHolder.setText(R.id.tv_level, item.getLevel());
String tv_precaution = "<u color='#0099ff'>" + item.getContent() +"</u>";
TextView tv_content =viewHolder.getView(R.id.tv_content);
tv_content.setText(Html.fromHtml(tv_precaution));
tv_content.setTextColor(Color.parseColor("#0099ff"));
//TextView tv_content =viewHolder.getView(R.id.tv_content);
binding.tvContent.setText(Html.fromHtml(tv_precaution));
binding.tvContent.setTextColor(Color.parseColor("#0099ff"));
}
}
@Override
protected AdapterWorkRiskLevelListBinding getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup parent) {
return AdapterWorkRiskLevelListBinding.inflate(inflater, parent, false);
}
@Override
public int getCount() {
return datas.size();
}
@Override
public Object getItem(int position) {
return datas.get(position);
}
@Override
public long getItemId(int position) {
return Long.valueOf(position);
}
// @Override
// protected void convert(ViewHolder viewHolder, WorkRiskLevelListBean.RowsBean item, int position) {
// if (item != null) {
// viewHolder.setText(R.id.tv_xh, String.valueOf(position+1));
// viewHolder.setText(R.id.tv_paiHao, item.getCode());
// //viewHolder.setText(R.id.tv_content, item.getContent());
// viewHolder.setText(R.id.tv_level, item.getLevel());
//
// String tv_precaution = "<u color='#0099ff'>" + item.getContent() +"</u>";
// TextView tv_content =viewHolder.getView(R.id.tv_content);
// tv_content.setText(Html.fromHtml(tv_precaution));
// tv_content.setTextColor(Color.parseColor("#0099ff"));
//
// }
// }
}

@ -0,0 +1,7 @@
package com.rehome.zhdcoa.base
import androidx.recyclerview.widget.RecyclerView
import androidx.viewbinding.ViewBinding
class BaseHolder<VB : ViewBinding>(var binding: VB) : RecyclerView.ViewHolder(binding.root) {
}

@ -0,0 +1,81 @@
package com.rehome.zhdcoa.base
import android.content.Context
import android.os.Bundle
import android.text.TextUtils
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.viewbinding.ViewBinding
import com.rehome.zhdcoa.BuildConfig
/**
* Create By HuangWenFei
* 创建日期2024-07-03 10:07
* 描述
*/
abstract class BaseViewBindingKotlinFragment<T : ViewBinding?> : Fragment() {
protected var binding: T? = null
protected var mContext: Context? = null
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = getBinding(inflater, container)
return binding!!.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initView()
initData()
}
protected abstract fun getBinding(inflater: LayoutInflater, container: ViewGroup?): T
/**
* 初始化视图
*/
protected abstract fun initView()
/**
* 初始化数据
*/
protected abstract fun initData()
override fun onDestroyView() {
super.onDestroyView()
binding = null
}
override fun onAttach(context: Context) {
super.onAttach(context)
this.mContext = context
}
override fun onDetach() {
super.onDetach()
this.mContext = null
}
fun showToast(msg: String?) {
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show()
}
fun showToast(strId: Int) {
Toast.makeText(context, strId, Toast.LENGTH_SHORT).show()
}
open fun showLog(logText: String?) {
if (BuildConfig.LOG_ERROR) {
if (TextUtils.isEmpty(logText)) {
Log.i("app", "logText is null")
} else {
Log.i("app", logText!!)
}
}
}
}

@ -0,0 +1,34 @@
package com.rehome.zhdcoa.base
import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.rehome.zhdcoa.databinding.AdapterItemInfoBinding
/**
* Create By HuangWenFei
* 创建日期2024-07-03 14:39
* 描述BaseViewBindingKotlinAdapter
*/
class ItemInfoAdapter(val infoList: List<String>) : RecyclerView.Adapter<ItemInfoAdapter.ViewHolder>() {
private lateinit var mBinding: AdapterItemInfoBinding
//2.继承类中传入binding.root然后根据binding获取item中的view
inner class ViewHolder(binding: AdapterItemInfoBinding) : RecyclerView.ViewHolder(binding.root) {
val tvInfo: TextView = binding.tvXh
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
//1.获取ItemInfoBinding
mBinding = AdapterItemInfoBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return ViewHolder(mBinding)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.tvInfo.text = infoList[position]
}
override fun getItemCount(): Int = infoList.size
}

@ -180,8 +180,8 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
if (BuildConfig.LOG_ERROR) {
// 管理员
binding.etUsername.setText("ZHPS_Admin")
binding.etPassword.setText("Rehome.zhps@996")
// binding.etUsername.setText("ZHPS_Admin")
// binding.etPassword.setText("Rehome.zhps@996")
//马
// binding.etUsername.setText("310482")

@ -94,7 +94,7 @@ class MainActivity : BaseActivityOaToolbarViewBinding<ActivityMainBinding>() {
badgeView_me.textSize = 16f
fragments.add(HomeFragment())
fragments.add(YunXingFragment.getInstance())
fragments.add(YunXingFragment())
fragments.add(ContactFragment.getInstance())
fragments.add(MineFragment.getInstance())

@ -1,592 +0,0 @@
package com.rehome.zhdcoa.ui.fragment;
import static android.content.Context.RECEIVER_NOT_EXPORTED;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridView;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.rehome.zhdcoa.App;
import com.rehome.zhdcoa.Contans;
import com.rehome.zhdcoa.DBModel.AjhScInfo;
import com.rehome.zhdcoa.DBModel.Ajhjh;
import com.rehome.zhdcoa.DBModel.Ajhxcjs;
import com.rehome.zhdcoa.DBModel.Ajhxzrwqy;
import com.rehome.zhdcoa.DBModel.Djjh;
import com.rehome.zhdcoa.DBModel.DjjhRwQy;
import com.rehome.zhdcoa.DBModel.LyXcjsInfo;
import com.rehome.zhdcoa.DBModel.LyYhpcInfo;
import com.rehome.zhdcoa.DBModel.LyxcXm;
import com.rehome.zhdcoa.DBModel.LyxcXmJg;
import com.rehome.zhdcoa.DBModel.Lyxcrwqy;
import com.rehome.zhdcoa.DBModel.QxgdInfo;
import com.rehome.zhdcoa.DBModel.XcjsInfo;
import com.rehome.zhdcoa.DBModel.XfBaxcRwqy;
import com.rehome.zhdcoa.DBModel.XfDjjh;
import com.rehome.zhdcoa.DBModel.XfDjjhRwqy;
import com.rehome.zhdcoa.DBModel.XfXcjsInfo;
import com.rehome.zhdcoa.DBModel.XfXcmhqc;
import com.rehome.zhdcoa.DBModel.XfXcxm;
import com.rehome.zhdcoa.DBModel.XfXcxmjg;
import com.rehome.zhdcoa.DBModel.XwaqgcJh;
import com.rehome.zhdcoa.DBModel.XwaqgcJs;
import com.rehome.zhdcoa.DBModel.XwaqgcSc;
import com.rehome.zhdcoa.DBModel.YhpcInfo;
import com.rehome.zhdcoa.R;
import com.rehome.zhdcoa.adapter.GridViewYXAdapter;
import com.rehome.zhdcoa.base.BaseFragment;
import com.rehome.zhdcoa.bean.BasicDataBean;
import com.rehome.zhdcoa.bean.BasicDataBean2;
import com.rehome.zhdcoa.bean.GridViewBean;
import com.rehome.zhdcoa.bean.XsRequestInfo;
import com.rehome.zhdcoa.service.PushService;
import com.rehome.zhdcoa.service.UploadDataService;
import com.rehome.zhdcoa.ui.activity.AjhxcglActivity;
import com.rehome.zhdcoa.ui.activity.GdActivity;
import com.rehome.zhdcoa.ui.activity.SbinfoActivity;
import com.rehome.zhdcoa.ui.activity.SbxdjglActivity;
import com.rehome.zhdcoa.ui.activity.XfbwxcglActivity;
import com.rehome.zhdcoa.ui.activity.XscbglActivity;
import com.rehome.zhdcoa.ui.activity.XwangcMainActivity;
import com.rehome.zhdcoa.ui.activity.YdckglActivity;
import com.rehome.zhdcoa.ui.activity.dqgzglActivity;
import com.rehome.zhdcoa.utils.GsonUtils;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NetworkAvailableUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.utils.UiUtlis;
import com.rehome.zhdcoa.weiget.ListYXDialog;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.rest.Request;
import com.yolanda.nohttp.rest.Response;
import org.litepal.crud.DataSupport;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class YunXingFragment extends BaseFragment {
private static YunXingFragment instance = null;
GridView gvYx;
private final List<GridViewBean> beanList = new ArrayList<>();
private GridViewYXAdapter adapter;
private LocalBroadcastManager localBroadcastManager ;
private MsgReceiver msgReceiver;
private boolean isTask = false;//是否有任务
private final String[] str = {"设备巡点检", "移动仓库", "安健环巡查", "综合巡查", "行为安全观察", "工单录入", "巡视抄表", "定期工作", "设备报表查询"};
private final int[] imageId = {R.drawable.icon8, R.drawable.icon9, R.drawable.icon10, R.drawable.icon12, R.drawable.icon14, R.drawable.icon13, R.drawable.icon6, R.drawable.dingqi, R.drawable.icon_sbbb};
private List<Integer> item;
private List<BasicDataBean.DataBean> zys;
private List<BasicDataBean2.DataBean> zys2;
private List<String> dialogDatas;
private List<String> dialogDatas2;
public static YunXingFragment getInstance() {
if (instance == null) {
instance = new YunXingFragment();
}
return instance;
}
@Override
public int getLayoutId() {
return R.layout.fragment_yunxing;
}
@Override
protected void initView() {
gvYx = view.findViewById(R.id.gv_yx);
}
@Override
public void initData() {
//动态注册广播接收器
msgReceiver = new MsgReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.rehome.ydoa.RECEIVER");
//注册广播接收器
localBroadcastManager = LocalBroadcastManager.getInstance(mActivity) ;
localBroadcastManager.registerReceiver( msgReceiver , intentFilter );
// if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU){
// // 这个私有广播接收器不能够接收来自其他应用的广播。
// requireActivity().registerReceiver(msgReceiver, intentFilter,RECEIVER_NOT_EXPORTED);
// }else{
// requireActivity().registerReceiver(msgReceiver, intentFilter);
// }
zys = new ArrayList<>();
zys2 = new ArrayList<>();
dialogDatas = new ArrayList<>();
dialogDatas2 = new ArrayList<>();
item = new ArrayList<>();
item.addAll(PermissionsResult());
//检查是否有任务推送
checkPush();
//上传数据
upLoadData();
try {
deleteOverdueJH();
} catch (Exception e) {
e.printStackTrace();
}
beanList.addAll(getGridViewData(isTask));
gvYx.setSelector(new ColorDrawable(Color.TRANSPARENT));
adapter = new GridViewYXAdapter(getActivity(), beanList, item, Contans.TEST);
gvYx.setAdapter(adapter);
gvYx.setOnItemClickListener((parent, view, position, id) -> {
Intent intent;
switch (position) {
case 0:
intent = new Intent(getActivity(), SbxdjglActivity.class);
startActivity(intent);
break;
case 1:
intent = new Intent(getActivity(), YdckglActivity.class);
startActivity(intent);
break;
case 2:
intent = new Intent(getActivity(), AjhxcglActivity.class);
startActivity(intent);
break;
case 3:
intent = new Intent(getActivity(), XfbwxcglActivity.class);
startActivity(intent);
break;
case 4:
intent = new Intent(getActivity(), XwangcMainActivity.class);
startActivity(intent);
break;
case 5:
intent = new Intent(getActivity(), GdActivity.class);
startActivity(intent);
break;
case 6:
if (dialogDatas.size() == 0) {
intent = new Intent(getActivity(), XscbglActivity.class);
startActivity(intent);
} else {
ListYXDialog dialog2 = new ListYXDialog(getActivity(), dialogDatas, (str, position1) -> {
Contans.YXCB_ZY_ID = zys.get(position1).getId();
Contans.YXCB_ZY_NAME = str;
Intent intent1 = new Intent(getActivity(), XscbglActivity.class);
startActivity(intent1);
});
dialog2.show();
}
break;
case 7:
ListYXDialog dialog = new ListYXDialog(getActivity(), dialogDatas2, (str, position12) -> {
Contans.YXCB_ZY_ID = zys2.get(position12).getId();
Contans.YXCB_ZY_NAME = str;
Intent intent12 = new Intent(getActivity(), dqgzglActivity.class);
startActivity(intent12);
});
dialog.show();
break;
case 8:
intent = new Intent(getActivity(), SbinfoActivity.class);
startActivity(intent);
break;
default:
}
});
requestZyDatas();
requestZyDatas2();
upLoadData();
try {
deleteOverdueJH();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onDetach() {
super.onDetach();
instance = null;
}
/**
* 广
*/
public class MsgReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
isTask = intent.getBooleanExtra("isTask", false);
beanList.clear();
beanList.addAll(getGridViewData(isTask));
adapter.notifyDataSetChanged();
}
}
/**
* @param isTask
* @return
*/
private List<GridViewBean> getGridViewData(boolean isTask) {
List<GridViewBean> datas = new ArrayList<>();
for (int i = 0; i < str.length; i++) {
GridViewBean bean = new GridViewBean();
bean.setTitle(str[i]);
// bean.setBackgroup(colors[i]);
bean.setImageid(imageId[i]);
bean.setShow(false);
if (i == 4) {
bean.setShow(isTask);
}
datas.add(bean);
}
return datas;
}
private List<Integer> PermissionsResult() {
List<Integer> item_yx = new ArrayList<>();
try {
String result = App.getInstance().getUserInfo().getPermissionsResult();
if (!result.isEmpty()) {
String[] results = result.split(";");
for (String name : results) {
switch (name) {
case "AppDeviceCheck":
item_yx.add(0);
item_yx.add(5);
item_yx.add(8);
break;
case "AppMobileHouse":
item_yx.add(1);
break;
case "AppSafetyCheck":
item_yx.add(2);
item_yx.add(4);
item_yx.add(5);
break;
case "AppFireCheck":
item_yx.add(3);
break;
case "AppDefineCheck":
break;
case "AppMeterReading":
item_yx.add(6);
break;
case "AppXSCB":
item_yx.add(6);
break;
case "AppDQGZ":
item_yx.add(7);
break;
default:
item_yx.add(8);
break;
}
}
}
} catch (Exception e) {
}
return item_yx;
}
//后台上传数据
private void upLoadData() {
//如果有网络,就上传数据
if (NetworkAvailableUtils.isNetworkAvailable(getActivity())) {
Intent intent = new Intent(getActivity(), UploadDataService.class);
getActivity().startService(intent);
}
}
private void requestZyDatas() {
final Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.XS_JCSJ, RequestMethod.POST);
request.setDefineRequestBodyForJson(createZyJson());
// showLog(Contans.IP + Contans.XS_JCSJ);
// showLog(createZyJson());
NohttpUtils.getInstance().add(getActivity(), 0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, Response<String> response) {
try {
String result = response.get();
// showLog(Contans.IP + Contans.XS_JCSJ);
// showLog(result);
BasicDataBean bean = GsonUtils.GsonToBean(result, BasicDataBean.class);
if (bean != null) {
if (bean.getState() == 1) {
if (bean.getData().size() != 0) {
zys.clear();
zys.addAll(bean.getData());
initDialogDatas();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onFailed(int what, Response<String> response) {
response.getException().printStackTrace();
}
});
}
private void requestZyDatas2() {
final Request<String> requset = NoHttp.createStringRequest(Contans.IP + Contans.XS_JCSJ, RequestMethod.POST);
requset.setDefineRequestBodyForJson(createZyJson2());
NohttpUtils.getInstance().add(getActivity(), 0, requset, new HttpListener<String>() {
@Override
public void onSucceed(int what, Response<String> response) {
try {
BasicDataBean2 bean = GsonUtils.GsonToBean(response.get(), BasicDataBean2.class);
if (bean != null) {
if (bean.getState() == 1) {
if (bean.getData().size() != 0) {
zys2.clear();
zys2.addAll(bean.getData());
initDialogDatas2();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onFailed(int what, Response<String> response) {
}
});
}
private void initDialogDatas() {
for (BasicDataBean.DataBean bean : zys) {
dialogDatas.add(bean.getName());
}
}
private void initDialogDatas2() {
for (BasicDataBean2.DataBean bean : zys2) {
dialogDatas2.add(bean.getName());
}
}
private String createZyJson() {
XsRequestInfo info = new XsRequestInfo();
info.setAction("GGJK_JCSJ_GET");
info.setModuletype("Set_ZYMC");
String json = GsonUtils.GsonString(info);
return json;
}
private String createZyJson2() {
XsRequestInfo info = new XsRequestInfo();
info.setAction("GGJK_JCSJ_GET");
info.setModuletype("Set_DQJZ");
String json = GsonUtils.GsonString(info);
return json;
}
//删除过期计划
private void deleteOverdueJH() {
List<String> djjhs = new ArrayList<>();
List<String> xfDjjhs = new ArrayList<>();
List<String> ajhjhs = new ArrayList<>();
List<String> xwaqgcJhs = new ArrayList<>();
List<Djjh> djjh = DataSupport.findAll(Djjh.class);
for (Djjh jh : djjh) {
if (UiUtlis.isdelete(jh.getDQSJ())) {
djjhs.add(jh.getJHID());
}
}
List<Ajhjh> ajhjh = DataSupport.findAll(Ajhjh.class);
for (Ajhjh jh : ajhjh) {
if (UiUtlis.isdelete(jh.getDQSJ())) {
ajhjhs.add(jh.getJHID());
}
}
List<XfDjjh> xfDjjh = DataSupport.findAll(XfDjjh.class);
for (XfDjjh jh : xfDjjh) {
if (UiUtlis.isdelete(jh.getNexttime())) {
xfDjjhs.add(jh.getJhid());
}
}
List<XwaqgcJh> xwaqgcJh = DataSupport.findAll(XwaqgcJh.class);
for (XwaqgcJh jh : xwaqgcJh) {
if (UiUtlis.isdelete(jh.getDQSJ())) {
xwaqgcJhs.add(jh.getJHID());
}
}
//删除点检数据
for (String jhid : djjhs) {
DataSupport.deleteAll(Djjh.class, "jhid = ?", jhid);
DataSupport.deleteAll(DjjhRwQy.class, "jhid = ?", jhid);
List<XcjsInfo> infos = DataSupport.where("jhid = ?", jhid).find(XcjsInfo.class);
for (XcjsInfo info : infos) {
File file = new File(info.getFilename());
if (file.isFile()) {
file.delete();
}
}
DataSupport.deleteAll(XcjsInfo.class, "jhid = ?", jhid);
DataSupport.deleteAll(QxgdInfo.class);
}
//删除安健环数据
for (String jhid : ajhjhs) {
List<Ajhxcjs> ajhxcjses = DataSupport.findAll(Ajhxcjs.class);
for (Ajhxcjs js : ajhxcjses) {
File file = new File(js.getFile());
if (file.isFile()) {
file.delete();
}
}
DataSupport.deleteAll(Ajhxcjs.class, "jhid = ?", jhid);
DataSupport.deleteAll(Ajhjh.class, "jhid = ?", jhid);
DataSupport.deleteAll(Ajhxzrwqy.class, "jhid = ?", jhid);
DataSupport.deleteAll(AjhScInfo.class, "jhid = ?", jhid);
DataSupport.deleteAll(YhpcInfo.class);
}
//删除消防数据
for (String jhid : xfDjjhs) {
List<XfXcjsInfo> infos = DataSupport.where("jhid = ?", jhid).find(XfXcjsInfo.class);
for (XfXcjsInfo info : infos) {
File file = new File(info.getPath());
if (file.isFile()) {
file.delete();
}
}
List<LyXcjsInfo> lyjs = DataSupport.where("jhid = ?", jhid).find(LyXcjsInfo.class);
for (LyXcjsInfo info : lyjs) {
File file = new File(info.getPath());
if (file.isFile()) {
file.delete();
}
}
DataSupport.deleteAll(XfDjjh.class, "jhid = ?", jhid);
DataSupport.deleteAll(XfDjjhRwqy.class, "jhid = ?", jhid);
DataSupport.deleteAll(XfXcjsInfo.class, "jhid = ?", jhid);
DataSupport.deleteAll(XfXcxmjg.class, "jhid = ?", jhid);
DataSupport.deleteAll(XfXcmhqc.class, "jhid = ?", jhid);
DataSupport.deleteAll(XfBaxcRwqy.class, "jhid = ?", jhid);
DataSupport.deleteAll(XfXcxm.class, "jhid = ?", jhid);
DataSupport.deleteAll(Lyxcrwqy.class, "jhid = ?", jhid);
DataSupport.deleteAll(LyxcXm.class, "jhid = ?", jhid);
DataSupport.deleteAll(LyXcjsInfo.class, "jhid = ?", jhid);
DataSupport.deleteAll(LyxcXmJg.class, "jhid = ?", jhid);
DataSupport.deleteAll(LyYhpcInfo.class);
}
for (String jh : xwaqgcJhs) {
DataSupport.deleteAll(XwaqgcJh.class, "jhid = ?", jh);
DataSupport.deleteAll(XwaqgcSc.class, "jhid = ?", jh);
DataSupport.deleteAll(XwaqgcJs.class, "jhid = ?", jh);
}
}
//检查系统是否有任务推送
private void checkPush() {
int[] whats = new int[]{-1, -1, -1, -1, -1};
int[] test = {0, 1, 2, 3, 4};
for (int i = 0; i < item.size(); i++) {
if (item.get(i) == 0) {
//点检
whats[0] = 1;
} else if (item.get(i) == 2) {
//安健环
whats[1] = 2;
whats[2] = 3;
} else if (item.get(i) == 3) {
//消防
whats[4] = 0;
}
}
Intent intent = new Intent(getActivity(), PushService.class);
//intent.putExtra("what", 0);
Bundle bundle = new Bundle();
bundle.putIntArray("what", whats);
//bundle.putIntArray("what", test);
intent.putExtras(bundle);
requireActivity().startService(intent);
//requestData();
//如果有就发通知
//requestData();
}
@Override
public void onDestroy() {
//requireActivity().unregisterReceiver(msgReceiver);
super.onDestroy();
//取消注册广播,防止内存泄漏
localBroadcastManager.unregisterReceiver( msgReceiver );
}
}

@ -0,0 +1,552 @@
package com.rehome.zhdcoa.ui.fragment
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.AdapterView
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import com.rehome.zhdcoa.App
import com.rehome.zhdcoa.Contans
import com.rehome.zhdcoa.DBModel.AjhScInfo
import com.rehome.zhdcoa.DBModel.Ajhjh
import com.rehome.zhdcoa.DBModel.Ajhxcjs
import com.rehome.zhdcoa.DBModel.Ajhxzrwqy
import com.rehome.zhdcoa.DBModel.Djjh
import com.rehome.zhdcoa.DBModel.DjjhRwQy
import com.rehome.zhdcoa.DBModel.LyXcjsInfo
import com.rehome.zhdcoa.DBModel.LyYhpcInfo
import com.rehome.zhdcoa.DBModel.LyxcXm
import com.rehome.zhdcoa.DBModel.LyxcXmJg
import com.rehome.zhdcoa.DBModel.Lyxcrwqy
import com.rehome.zhdcoa.DBModel.QxgdInfo
import com.rehome.zhdcoa.DBModel.XcjsInfo
import com.rehome.zhdcoa.DBModel.XfBaxcRwqy
import com.rehome.zhdcoa.DBModel.XfDjjh
import com.rehome.zhdcoa.DBModel.XfDjjhRwqy
import com.rehome.zhdcoa.DBModel.XfXcjsInfo
import com.rehome.zhdcoa.DBModel.XfXcmhqc
import com.rehome.zhdcoa.DBModel.XfXcxm
import com.rehome.zhdcoa.DBModel.XfXcxmjg
import com.rehome.zhdcoa.DBModel.XwaqgcJh
import com.rehome.zhdcoa.DBModel.XwaqgcJs
import com.rehome.zhdcoa.DBModel.XwaqgcSc
import com.rehome.zhdcoa.DBModel.YhpcInfo
import com.rehome.zhdcoa.R
import com.rehome.zhdcoa.adapter.GridViewYXAdapter
import com.rehome.zhdcoa.base.BaseViewBindingKotlinFragment
import com.rehome.zhdcoa.bean.BasicDataBean
import com.rehome.zhdcoa.bean.BasicDataBean2
import com.rehome.zhdcoa.bean.GridViewBean
import com.rehome.zhdcoa.bean.XsRequestInfo
import com.rehome.zhdcoa.databinding.FragmentYunxingBinding
import com.rehome.zhdcoa.service.PushService
import com.rehome.zhdcoa.service.UploadDataService
import com.rehome.zhdcoa.ui.activity.AjhxcglActivity
import com.rehome.zhdcoa.ui.activity.GdActivity
import com.rehome.zhdcoa.ui.activity.SbinfoActivity
import com.rehome.zhdcoa.ui.activity.SbxdjglActivity
import com.rehome.zhdcoa.ui.activity.XfbwxcglActivity
import com.rehome.zhdcoa.ui.activity.XscbglActivity
import com.rehome.zhdcoa.ui.activity.XwangcMainActivity
import com.rehome.zhdcoa.ui.activity.YdckglActivity
import com.rehome.zhdcoa.ui.activity.dqgzglActivity
import com.rehome.zhdcoa.utils.GsonUtils
import com.rehome.zhdcoa.utils.HttpListener
import com.rehome.zhdcoa.utils.NetworkAvailableUtils
import com.rehome.zhdcoa.utils.NohttpUtils
import com.rehome.zhdcoa.utils.UiUtlis
import com.rehome.zhdcoa.weiget.ListYXDialog
import com.yolanda.nohttp.NoHttp
import com.yolanda.nohttp.RequestMethod
import com.yolanda.nohttp.rest.Response
import org.litepal.crud.DataSupport
import java.io.File
class YunXingFragment : BaseViewBindingKotlinFragment<FragmentYunxingBinding>() {
private var beanList: MutableList<GridViewBean> = mutableListOf()
private var item: MutableList<Int> = mutableListOf()
private var zys: MutableList<BasicDataBean.DataBean> = mutableListOf()
private var zys2: MutableList<BasicDataBean2.DataBean> = mutableListOf()
private var dialogDatas: MutableList<String> = mutableListOf()
private var dialogDatas2: MutableList<String> = mutableListOf()
private lateinit var adapter: GridViewYXAdapter
private lateinit var localBroadcastManager: LocalBroadcastManager
private lateinit var msgReceiver: MsgReceiver
private var isTask = false //是否有任务
private val str = arrayOf(
"设备巡点检",
"移动仓库",
"安健环巡查",
"综合巡查",
"行为安全观察",
"工单录入",
"巡视抄表",
"定期工作",
"设备报表查询"
)
private val imageId = intArrayOf(
R.drawable.icon8,
R.drawable.icon9,
R.drawable.icon10,
R.drawable.icon12,
R.drawable.icon14,
R.drawable.icon13,
R.drawable.icon6,
R.drawable.dingqi,
R.drawable.icon_sbbb
)
/**
* 广播接收器
*/
inner class MsgReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
isTask = intent.getBooleanExtra("isTask", false)
beanList.clear()
beanList.addAll(getGridViewData(isTask))
adapter.notifyDataSetChanged()
}
}
override fun getBinding(inflater: LayoutInflater,container: ViewGroup?) = FragmentYunxingBinding.inflate(inflater)
override fun initView() {
}
override fun initData() {
//动态注册广播接收器
msgReceiver = MsgReceiver()
val intentFilter = IntentFilter()
intentFilter.addAction("com.rehome.ydoa.RECEIVER")
//注册广播接收器
localBroadcastManager = LocalBroadcastManager.getInstance(requireActivity())
localBroadcastManager.registerReceiver(msgReceiver, intentFilter)
item.addAll(PermissionsResult())
//检查是否有任务推送
checkPush()
//上传数据
upLoadData()
try {
deleteOverdueJH()
} catch (e: Exception) {
e.printStackTrace()
}
beanList.addAll(getGridViewData(isTask))
binding?.gvYx?.setSelector(ColorDrawable(Color.TRANSPARENT))
adapter = GridViewYXAdapter(activity, beanList, item, Contans.TEST)
binding?.gvYx?.setAdapter(adapter)
binding?.gvYx?.onItemClickListener =
AdapterView.OnItemClickListener { parent: AdapterView<*>?, view: View?, position: Int, id: Long ->
val intent: Intent
when (position) {
0 -> {
intent = Intent(activity, SbxdjglActivity::class.java)
startActivity(intent)
}
1 -> {
intent = Intent(activity, YdckglActivity::class.java)
startActivity(intent)
}
2 -> {
intent = Intent(activity, AjhxcglActivity::class.java)
startActivity(intent)
}
3 -> {
intent = Intent(activity, XfbwxcglActivity::class.java)
startActivity(intent)
}
4 -> {
intent = Intent(activity, XwangcMainActivity::class.java)
startActivity(intent)
}
5 -> {
intent = Intent(activity, GdActivity::class.java)
startActivity(intent)
}
6 -> if (dialogDatas.size == 0) {
intent = Intent(activity, XscbglActivity::class.java)
startActivity(intent)
} else {
val dialog2 = ListYXDialog(
requireActivity(),
dialogDatas
) { str: String?, position1: Int ->
Contans.YXCB_ZY_ID = zys[position1].id
Contans.YXCB_ZY_NAME = str
val intent1 = Intent(activity, XscbglActivity::class.java)
startActivity(intent1)
}
dialog2.show()
}
7 -> {
val dialog = ListYXDialog(
requireActivity(),
dialogDatas2
) { str: String?, position12: Int ->
Contans.YXCB_ZY_ID = zys2[position12].id
Contans.YXCB_ZY_NAME = str
val intent12 = Intent(activity, dqgzglActivity::class.java)
startActivity(intent12)
}
dialog.show()
}
8 -> {
intent = Intent(activity, SbinfoActivity::class.java)
startActivity(intent)
}
else -> {}
}
}
requestZyDatas()
requestZyDatas2()
upLoadData()
try {
deleteOverdueJH()
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
}
/**
* @param isTask 是否有行为安全观察任务
* @return
*/
private fun getGridViewData(isTask: Boolean): List<GridViewBean> {
val datas: MutableList<GridViewBean> = ArrayList()
for (i in str.indices) {
val bean = GridViewBean()
bean.title = str[i]
// bean.setBackgroup(colors[i]);
bean.imageid = imageId[i]
bean.isShow = false
if (i == 4) {
bean.isShow = isTask
}
datas.add(bean)
}
return datas
}
private fun PermissionsResult(): MutableList<Int> {
val item_yx: MutableList<Int> = mutableListOf()
try {
val result = App.getInstance().userInfo.permissionsResult
if (result.isNotEmpty()) {
val results = result.split(";".toRegex()).dropLastWhile { it.isEmpty() }
.toTypedArray()
for (name in results) {
when (name) {
"AppDeviceCheck" -> {
item_yx.add(0)
item_yx.add(5)
item_yx.add(8)
}
"AppMobileHouse" -> item_yx.add(1)
"AppSafetyCheck" -> {
item_yx.add(2)
item_yx.add(4)
item_yx.add(5)
}
"AppFireCheck" -> item_yx.add(3)
"AppDefineCheck" -> {}
"AppMeterReading" -> item_yx.add(6)
"AppXSCB" -> item_yx.add(6)
"AppDQGZ" -> item_yx.add(7)
else -> item_yx.add(8)
}
}
}
} catch (e: java.lang.Exception) {
}
return item_yx
}
private fun initDialogDatas() {
for (bean in zys) {
dialogDatas.add(bean.name)
}
}
private fun initDialogDatas2() {
for (bean in zys2) {
dialogDatas2.add(bean.name)
}
}
private fun createZyJson(): String {
val info = XsRequestInfo()
info.action = "GGJK_JCSJ_GET"
info.moduletype = "Set_ZYMC"
val json = GsonUtils.GsonString(info)
return json
}
private fun createZyJson2(): String {
val info = XsRequestInfo()
info.action = "GGJK_JCSJ_GET"
info.moduletype = "Set_DQJZ"
val json = GsonUtils.GsonString(info)
return json
}
//删除过期计划
private fun deleteOverdueJH() {
val djjhs: MutableList<String> = java.util.ArrayList()
val xfDjjhs: MutableList<String> = java.util.ArrayList()
val ajhjhs: MutableList<String> = java.util.ArrayList()
val xwaqgcJhs: MutableList<String> = java.util.ArrayList()
val djjh = DataSupport.findAll(
Djjh::class.java
)
for (jh in djjh) {
if (UiUtlis.isdelete(jh.dqsj)) {
djjhs.add(jh.jhid)
}
}
val ajhjh = DataSupport.findAll(Ajhjh::class.java)
for (jh in ajhjh) {
if (UiUtlis.isdelete(jh.dqsj)) {
ajhjhs.add(jh.jhid)
}
}
val xfDjjh = DataSupport.findAll(XfDjjh::class.java)
for (jh in xfDjjh) {
if (UiUtlis.isdelete(jh.nexttime)) {
xfDjjhs.add(jh.jhid)
}
}
val xwaqgcJh = DataSupport.findAll(XwaqgcJh::class.java)
for (jh in xwaqgcJh) {
if (UiUtlis.isdelete(jh.dqsj)) {
xwaqgcJhs.add(jh.jhid)
}
}
//删除点检数据
for (jhid in djjhs) {
DataSupport.deleteAll(Djjh::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(DjjhRwQy::class.java, "jhid = ?", jhid)
val infos = DataSupport.where("jhid = ?", jhid).find(
XcjsInfo::class.java
)
for (info in infos) {
val file = File(info.filename)
if (file.isFile) {
file.delete()
}
}
DataSupport.deleteAll(XcjsInfo::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(QxgdInfo::class.java)
}
//删除安健环数据
for (jhid in ajhjhs) {
val ajhxcjses = DataSupport.findAll(Ajhxcjs::class.java)
for (js in ajhxcjses) {
val file = File(js.file)
if (file.isFile) {
file.delete()
}
}
DataSupport.deleteAll(Ajhxcjs::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(Ajhjh::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(Ajhxzrwqy::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(AjhScInfo::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(YhpcInfo::class.java)
}
//删除消防数据
for (jhid in xfDjjhs) {
val infos = DataSupport.where("jhid = ?", jhid).find(
XfXcjsInfo::class.java
)
for (info in infos) {
val file = File(info.path)
if (file.isFile) {
file.delete()
}
}
val lyjs = DataSupport.where("jhid = ?", jhid).find(
LyXcjsInfo::class.java
)
for (info in lyjs) {
val file = File(info.path)
if (file.isFile) {
file.delete()
}
}
DataSupport.deleteAll(XfDjjh::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(XfDjjhRwqy::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(XfXcjsInfo::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(XfXcxmjg::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(XfXcmhqc::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(XfBaxcRwqy::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(XfXcxm::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(Lyxcrwqy::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(LyxcXm::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(LyXcjsInfo::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(LyxcXmJg::class.java, "jhid = ?", jhid)
DataSupport.deleteAll(LyYhpcInfo::class.java)
}
for (jh in xwaqgcJhs) {
DataSupport.deleteAll(XwaqgcJh::class.java, "jhid = ?", jh)
DataSupport.deleteAll(XwaqgcSc::class.java, "jhid = ?", jh)
DataSupport.deleteAll(XwaqgcJs::class.java, "jhid = ?", jh)
}
}
//检查系统是否有任务推送
private fun checkPush() {
val whats = intArrayOf(-1, -1, -1, -1, -1)
val test = intArrayOf(0, 1, 2, 3, 4)
for (i in item.indices) {
if (item[i] == 0) {
//点检
whats[0] = 1
} else if (item[i] == 2) {
//安健环
whats[1] = 2
whats[2] = 3
} else if (item[i] == 3) {
//消防
whats[4] = 0
}
}
val intent = Intent(activity, PushService::class.java)
//intent.putExtra("what", 0);
val bundle = Bundle()
bundle.putIntArray("what", whats)
//bundle.putIntArray("what", test);
intent.putExtras(bundle)
requireActivity().startService(intent)
//requestData();
//如果有就发通知
//requestData();
}
override fun onDestroy() {
//requireActivity().unregisterReceiver(msgReceiver);
super.onDestroy()
//取消注册广播,防止内存泄漏
localBroadcastManager.unregisterReceiver(msgReceiver)
}
//后台上传数据
private fun upLoadData() {
//如果有网络,就上传数据
if (NetworkAvailableUtils.isNetworkAvailable(activity)) {
val intent = Intent(activity, UploadDataService::class.java)
requireActivity().startService(intent)
}
}
private fun requestZyDatas() {
val request = NoHttp.createStringRequest(Contans.IP + Contans.XS_JCSJ, RequestMethod.POST)
request.setDefineRequestBodyForJson(createZyJson())
showLog(createZyJson());
NohttpUtils.getInstance().add(activity, 0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
try {
val result = response?.get()
showLog(result);
val bean = GsonUtils.GsonToBean(
result,
BasicDataBean::class.java
)
if (bean != null) {
if (bean.state == 1) {
if (bean.data.size != 0) {
zys.clear()
zys.addAll(bean.data)
initDialogDatas()
}
}
}
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
}
override fun onFailed(what: Int, response: Response<String?>?) {
response?.exception?.printStackTrace()
}
})
}
private fun requestZyDatas2() {
val requset = NoHttp.createStringRequest(Contans.IP + Contans.XS_JCSJ, RequestMethod.POST)
requset.setDefineRequestBodyForJson(createZyJson2())
NohttpUtils.getInstance().add(activity, 0, requset, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
try {
val bean = GsonUtils.GsonToBean(
response?.get(),
BasicDataBean2::class.java
)
if (bean != null) {
if (bean.state == 1) {
if (bean.data.size != 0) {
zys2.clear()
zys2.addAll(bean.data)
initDialogDatas2()
}
}
}
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
}
override fun onFailed(what: Int, response: Response<String?>?) {
}
})
}
}

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:minHeight="61px"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="60px">
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_xh"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.5"
android:gravity="center"
android:text="序号" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_paiHao"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.7"
android:gravity="center"
android:text="工作票号" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="10px"
android:layout_weight="2"
android:text="工作内容" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_level"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:layout_marginLeft="10px"
android:layout_weight="0.7"
android:text="风险等级" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#524658" />
</LinearLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="170px"
android:layout_height="wrap_content"
android:background="#00000000"
android:gravity="center"
android:orientation="vertical"
@ -9,23 +9,24 @@
<LinearLayout
android:id="@+id/ll"
android:layout_width="100px"
android:layout_height="110px"
android:layout_width="110px"
android:layout_height="120px"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/iv"
android:layout_width="120px"
android:layout_height="130px"
android:src="@mipmap/ic_launcher" />
android:layout_width="110px"
android:layout_height="120px"
android:src="@mipmap/ic_launcher"
android:backgroundTint="@color/gray"/>
</LinearLayout>
<TextView
android:textSize="24px"
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:text="xxxx" />

@ -1,23 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="170px"
android:layout_height="wrap_content"
android:gravity="center"
android:background="@color/white"
android:orientation="vertical"
>
<ImageView
android:backgroundTint="@color/gray"
android:id="@+id/iv"
android:layout_width="120px"
android:layout_height="130px"
android:src="@mipmap/ic_launcher" />
android:layout_width="110px"
android:layout_height="120px"
android:src="@mipmap/ic_launcher"
android:backgroundTint="@color/gray"/>
<TextView
android:textSize="24px"
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="申请管理" />
android:text="申请管理"
android:textSize="15sp" />
</LinearLayout>

Loading…
Cancel
Save