珠海电厂珠电E办公APP 管理-安防-作业风险清单 列表数据点击入口调整,由之前的点击风险等级后跳转进入工作情况汇报页面改为点击工作票号进入

master
wenfei 10 months ago
parent fb9a36c562
commit 8049685769

@ -83,7 +83,6 @@
tools:targetApi="s">
<meta-data
android:name="design_width"
android:value="768" />
@ -1130,6 +1129,10 @@
android:name=".ui.activity.WorkRiskListActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize|stateHidden" /> <!-- 作业风险清单 -->
<activity
android:name=".ui.activity.CustomDialogChangeLevelActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Dialog"/>
<activity
android:name=".ui.activity.WorkTickerSelectListActivity"
android:screenOrientation="portrait"

@ -24,16 +24,19 @@ public class WorkRiskLevelListAdapter extends BaseViewBindingAdapter<AdapterWork
private OnWorkRiskContentlickListener onWorkRiskContentlickListener;
private OnWorkRiskLevelClickListener onWorkRiskLevelClickListener;
private OnPaoHaolickListener onPaoHaolickListener;
public WorkRiskLevelListAdapter(Context context, List<WorkRiskLevelListBean.RowsBean> datas,
OnWorkRiskContentlickListener onWorkRiskContentlickListener,
OnWorkRiskLevelClickListener onWorkRiskLevelClickListener) {
OnWorkRiskLevelClickListener onWorkRiskLevelClickListener,
OnPaoHaolickListener onPaoHaolickListener) {
super(context);
//super(context, R.layout.adapter_work_risk_level_list, datas);
this.context = context;
this.datas = datas;
this.onWorkRiskContentlickListener=onWorkRiskContentlickListener;
this.onWorkRiskLevelClickListener= onWorkRiskLevelClickListener;
this.onPaoHaolickListener=onPaoHaolickListener;
}
@Override
@ -41,14 +44,26 @@ public class WorkRiskLevelListAdapter extends BaseViewBindingAdapter<AdapterWork
WorkRiskLevelListBean.RowsBean item = datas.get(position);
if (item != null) {
binding.tvXh.setText(String.valueOf(position+1));
binding.tvPaiHao.setText(item.getCode());
binding.tvLevel.setText(item.getLevel());
//binding.tvPaiHao.setText(item.getCode());
//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());
//TextView tv_content =viewHolder.getView(R.id.tv_content);
String tv_paiHao = "<u color='#0099ff'>" + item.getCode() +"</u>";
binding.tvPaiHao.setText(Html.fromHtml(tv_paiHao));
binding.tvPaiHao.setTextColor(Color.parseColor("#0099ff"));
binding.tvPaiHao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(onPaoHaolickListener!=null){
onPaoHaolickListener.onItemClick(position);
}
}
});
String tv_precaution = "<u color='#0099ff'>" + item.getContent() +"</u>";
binding.tvContent.setText(Html.fromHtml(tv_precaution));
binding.tvContent.setTextColor(Color.parseColor("#0099ff"));
@ -102,6 +117,9 @@ public class WorkRiskLevelListAdapter extends BaseViewBindingAdapter<AdapterWork
public interface OnWorkRiskContentlickListener {
void onItemClick(int position);
}
public interface OnPaoHaolickListener {
void onItemClick(int position);
}
// @Override
// protected void convert(ViewHolder viewHolder, WorkRiskLevelListBean.RowsBean item, int position) {

@ -0,0 +1,307 @@
package com.rehome.zhdcoa.ui.activity
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.content.pm.ApplicationInfo
import android.graphics.Color
import android.os.Bundle
import android.text.TextUtils
import android.util.Log
import android.view.View
import android.view.Window
import android.widget.CompoundButton
import android.widget.RadioGroup
import android.widget.Toast
import com.rehome.zhdcoa.App
import com.rehome.zhdcoa.Contans
import com.rehome.zhdcoa.R
import com.rehome.zhdcoa.bean.AIRiskListBaseBean
import com.rehome.zhdcoa.databinding.ActivityCustomDialogChangeLevelBinding
import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils
import com.rehome.zhdcoa.utils.GsonUtils
import com.rehome.zhdcoa.utils.HttpListener
import com.rehome.zhdcoa.utils.NohttpUtils
import com.rehome.zhdcoa.utils.RSAAndroid
import com.rehome.zhdcoa.utils.SPUtils
import com.rehome.zhdcoa.weiget.BaCheckDialog
import com.yolanda.nohttp.NoHttp
import com.yolanda.nohttp.RequestMethod
import com.yolanda.nohttp.rest.Response
import javax.net.ssl.HostnameVerifier
class CustomDialogChangeLevelActivity : Activity() {
protected lateinit var binding: ActivityCustomDialogChangeLevelBinding
private var id: Int?=null
private var level: String?=null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//必须在调用setContentView()之前调用requestWindowFeature()
//requestWindowFeature(Window.FEATURE_LEFT_ICON);//要标题栏显示图标
//全屏操作,一定要放在加载根view之前
requestWindowFeature(Window.FEATURE_NO_TITLE)
window.decorView.setBackgroundColor(Color.TRANSPARENT)
binding=ActivityCustomDialogChangeLevelBinding.inflate(layoutInflater)
setContentView(binding.root)
//setContentView(R.layout.activity_custom_dialog_change_level)
id = intent.getIntExtra("id", 0)
level = intent.getStringExtra("level")
if(level!=null){
if("A" == level){
binding.rb1.isChecked = true
binding.rb2.isChecked = false
binding.rb3.isChecked = false
binding.rb4.isChecked = false
binding.rb5.isChecked = false
binding.rb6.isChecked = false
}
if("B" == level){
binding.rb1.isChecked = false
binding.rb2.isChecked = true
binding.rb3.isChecked = false
binding.rb4.isChecked = false
binding.rb5.isChecked = false
binding.rb6.isChecked = false
}
if("C1" == level){
binding.rb1.isChecked = false
binding.rb2.isChecked = false
binding.rb3.isChecked = true
binding.rb4.isChecked = false
binding.rb5.isChecked = false
binding.rb6.isChecked = false
}
if("C2" == level){
binding.rb1.isChecked = false
binding.rb2.isChecked = false
binding.rb3.isChecked = false
binding.rb4.isChecked = true
binding.rb5.isChecked = false
binding.rb6.isChecked = false
}
if("C3" == level){
binding.rb1.isChecked = false
binding.rb2.isChecked = false
binding.rb3.isChecked = false
binding.rb4.isChecked = false
binding.rb5.isChecked = true
binding.rb6.isChecked = false
}
if("低风险" == level){
binding.rb1.isChecked = false
binding.rb2.isChecked = false
binding.rb3.isChecked = false
binding.rb4.isChecked = false
binding.rb5.isChecked = false
binding.rb6.isChecked = true
}
}
binding.rb1.setOnCheckedChangeListener(object: CompoundButton.OnCheckedChangeListener {
override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
if(isChecked){
binding.rb1.isChecked = true
binding.rb2.isChecked = false
binding.rb3.isChecked = false
binding.rb4.isChecked = false
binding.rb5.isChecked = false
binding.rb6.isChecked = false
}
}
})
binding.rb2.setOnCheckedChangeListener(object: CompoundButton.OnCheckedChangeListener {
override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
if(isChecked){
binding.rb1.isChecked = false
binding.rb2.isChecked = true
binding.rb3.isChecked = false
binding.rb4.isChecked = false
binding.rb5.isChecked = false
binding.rb6.isChecked = false
}
}
})
binding.rb3.setOnCheckedChangeListener(object: CompoundButton.OnCheckedChangeListener {
override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
if(isChecked){
binding.rb1.isChecked = false
binding.rb2.isChecked = false
binding.rb3.isChecked = true
binding.rb4.isChecked = false
binding.rb5.isChecked = false
binding.rb6.isChecked = false
}
}
})
binding.rb4.setOnCheckedChangeListener(object: CompoundButton.OnCheckedChangeListener {
override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
if(isChecked){
binding.rb1.isChecked = false
binding.rb2.isChecked = false
binding.rb3.isChecked = false
binding.rb4.isChecked = true
binding.rb5.isChecked = false
binding.rb6.isChecked = false
}
}
})
binding.rb5.setOnCheckedChangeListener(object: CompoundButton.OnCheckedChangeListener {
override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
if(isChecked){
binding.rb1.isChecked = false
binding.rb2.isChecked = false
binding.rb3.isChecked = false
binding.rb4.isChecked = false
binding.rb5.isChecked = true
binding.rb6.isChecked = false
}
}
})
binding.rb6.setOnCheckedChangeListener(object: CompoundButton.OnCheckedChangeListener {
override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
if(isChecked){
binding.rb1.isChecked = false
binding.rb2.isChecked = false
binding.rb3.isChecked = false
binding.rb4.isChecked = false
binding.rb5.isChecked = false
binding.rb6.isChecked = true
}
}
})
binding.bottomView.dialogCancel.setOnClickListener(View.OnClickListener {
finish()
})
binding.bottomView.dialogCommit.setOnClickListener(View.OnClickListener {
authenticationLoginAI()
})
}
/**
* 显示toast
*
* @param text
*/
fun showToast(text: String) {
Toast.makeText(this, text, Toast.LENGTH_SHORT).show()
}
open fun showLog(logText: String?) {
if (isApkInDebug(this)) {
if (TextUtils.isEmpty(logText)) {
Log.i("app", "logText is null")
} else {
Log.i("app", logText!!)
}
}
}
/**
* 判断当前应用是否是debug状态
*/
fun isApkInDebug(context: Context): Boolean {
try {
val info = context.applicationInfo
return (info.flags and ApplicationInfo.FLAG_DEBUGGABLE) != 0
} catch (e: Exception) {
return false
}
}
private fun authenticationLoginAI() {
try {
//AI三维登录接口
val userName = Contans.SP.AI_ACCOUNT
//String strPrivateEncode=RSAAndroid.encryptByPrivateKeyForSpiltStr(Contans.SP.AI_PWD,RSAAndroid.privateRsaKeyLocal);
val strPublicDecode = RSAAndroid.decryptByPublicKeyForSpiltStr(
Contans.SP.AI_PWD_ENCODE,
RSAAndroid.publicRsaKeyLocal
)
AuthenticationLoginAIUtils.authenticationAILoginShowProgress(
this, userName, strPublicDecode
) { _, token ->
if (token != null && token == "") {
showToast("AI三维平台登录失败")
} else {
getWorkRiskListData()
}
}
} catch (e: Exception) {
e.printStackTrace()
}
}
private fun getSubmitJsonData(): String {
val param = HashMap<String, Any>()
if(id!=null){
param["ticketId"] = id!!
}
param["jobNo"]= App.getInstance().userInfo.manid
if(binding.rb1.isChecked){
param["level"] = "A"
}else if(binding.rb2.isChecked){
param["level"] = "B"
}else if(binding.rb3.isChecked){
param["level"] = "C1"
}else if(binding.rb4.isChecked){
param["level"] = "C2"
}else if(binding.rb5.isChecked){
param["level"] = "C3"
}else if(binding.rb6.isChecked){
param["level"] = "低风险"
}
val json = GsonUtils.GsonString(param)
showLog(json)
return json
}
private fun getWorkRiskListData() {
val request = NoHttp.createStringRequest(
Contans.BASE_URL_AI_3D_SERVER + Contans.UPDATE_RISK_LEVEL,
RequestMethod.POST
)
val json: String = getSubmitJsonData()
request.setDefineRequestBodyForJson(json)
if (Contans.BASE_URL_AI_3D_SERVER == Contans.BASE_URL_AI_3D_SERVER_EXTRANET) {
val socketFactory = NohttpUtils.getSSLSocketFactory(this)
if (socketFactory != null) {
request.sslSocketFactory = socketFactory
request.hostnameVerifier = HostnameVerifier { _, _ -> true }
}
}
NohttpUtils.getInstance().add(this, 0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
val result = response?.get()
showLog("----------------")
showLog(result)
val aiRiskListBaseBean = GsonUtils.GsonToBean(
result,
AIRiskListBaseBean::class.java
)
if (aiRiskListBaseBean != null && aiRiskListBaseBean.isSuccess() && aiRiskListBaseBean.getCode() == 20000) {
showToast("修改风险等级成功")
val resultIntent = Intent()
val bundle = Bundle()
bundle.putString("code", "23823")
resultIntent.putExtras(bundle)
setResult(RESULT_OK, resultIntent)
finish();
}
}
override fun onFailed(what: Int, response: Response<String?>?) {
}
})
}
}

@ -70,9 +70,9 @@ public class DjdscFragment extends BaseFragment {
private XzjhAdapter adapter;
//private List<DjjhRwList> rwLists;
private List<Djjh> djjhs;
private List<DjjhRwQy> rwqys;
private List<Djjh> list;
private List<Djjh> djjhs = new ArrayList<>();;
private List<DjjhRwQy> rwqys = new ArrayList<>();;
private List<Djjh> list = new ArrayList<>();;
private Map<String, List<DjjhRwQy>> map;
private List<ScDjjhInfo> scs;//上传的集合
private final boolean first = true;
@ -99,24 +99,6 @@ public class DjdscFragment extends BaseFragment {
return fragment;
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (getUserVisibleHint()) {
visible();
}
}
//视图显示时才查询数据库数据
private void visible() {
getDataInSQL();
if (adapter == null) {
setListData();
} else {
adapter.notifyDataSetChanged();
}
}
@Override
protected void initView() {
findView();
@ -148,6 +130,8 @@ public class DjdscFragment extends BaseFragment {
TextView yjzj = headView.findViewById(R.id.tv_jhlx);
yjzj.setText("已检/总计");
head.setVisibility(View.VISIBLE);
setListData();
}
private void findView() {
@ -187,10 +171,10 @@ public class DjdscFragment extends BaseFragment {
public void initData() {
queue = NoHttp.newRequestQueue(1);
djjhs = new ArrayList<>();
rwqys = new ArrayList<>();
//djjhs = new ArrayList<>();
//rwqys = new ArrayList<>();
//rwLists = new ArrayList<>();
list = new ArrayList<>();
//list = new ArrayList<>();
map = new HashMap<>();
scs = new ArrayList<>();
removelist = new ArrayList<>();
@ -209,6 +193,7 @@ public class DjdscFragment extends BaseFragment {
//获取点检计划中所有的区域
for (Djjh djjh : djjhs) {
List<DjjhRwQy> rwqy = where("jhid = ? and deleted = ?", djjh.getJHID(), "0").order("date").find(DjjhRwQy.class);
//List<DjjhRwQy> rwqy = where("jhid = ?", djjh.getJHID()).order("date").find(DjjhRwQy.class);
rwqys.addAll(rwqy);
map.put(djjh.getJHID(), rwqy);
}
@ -232,6 +217,10 @@ public class DjdscFragment extends BaseFragment {
djjh.setJHID(djjhs.get(i).getJHID());
list.add(djjh);
}
if (adapter != null) {
adapter.notifyDataSetChanged();
}
cb.setChecked(false);
}
private void setListData() {
@ -378,9 +367,7 @@ public class DjdscFragment extends BaseFragment {
}
//刷新界面
getDataInSQL();
if (adapter != null) {
adapter.notifyDataSetChanged();
}
mActivity.refreshScList();
}
});
AlertDialog dialog = builder.create();
@ -616,7 +603,6 @@ public class DjdscFragment extends BaseFragment {
getDataInSQL();
if (adapter != null) {
cb.setChecked(false);
adapter.notifyDataSetChanged();
}
}
}

@ -77,11 +77,13 @@ public class SxcdjActivity extends BaseActivity2 {
rb2.setTextColor(Color.GRAY);
rb3.setTextColor(Color.GRAY);
vp.setCurrentItem(0, false);
//xzjh.refreshData();
}else if(i==R.id.rb2){
rb1.setTextColor(Color.GRAY);
rb2.setTextColor(Color.WHITE);
rb3.setTextColor(Color.GRAY);
vp.setCurrentItem(1, false);
djdsc.getDataInSQL();
}else if(i==R.id.rb3){
// rb1.setTextColor(Color.GRAY);
// rb2.setTextColor(Color.GRAY);
@ -95,4 +97,8 @@ public class SxcdjActivity extends BaseActivity2 {
public void updataDjdsc() {
djdsc.getDataInSQL();
}
public void refreshScList() {
xzjh.refreshData();
}
}

@ -1,7 +1,10 @@
package com.rehome.zhdcoa.ui.activity
import android.content.Intent
import android.text.TextUtils
import android.view.View
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import com.rehome.zhdcoa.Contans
import com.rehome.zhdcoa.R
import com.rehome.zhdcoa.adapter.WorkRiskLevelListAdapter
@ -41,6 +44,8 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkRiskLi
private var dataC3: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf()
private var dataLowRisk: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf()
private lateinit var launcherResultQRCode: ActivityResultLauncher<Intent>
override fun getViewBinding() = ActivityWorkRiskListBinding.inflate(layoutInflater)
override fun getToolbar() = binding.toolbarView.toolbar
@ -56,6 +61,8 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkRiskLi
startActivity(intent)
}
launcherResultQRCode = createQRCodeActivityResultLauncher()
binding.lv.emptyView = binding.tvNodata
headView = View.inflate(this, R.layout.item_work_risk_list, null)
@ -69,8 +76,19 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkRiskLi
intent.putExtra("hazardList", GsonUtils.GsonString(item.hazardList))
startActivity(intent)
}
},
{ position ->
val item = datas[position]
if(item.hazardList!=null&&item.hazardList.size>0){
//进入修改风险等级
val intent = Intent(context, CustomDialogChangeLevelActivity::class.java)
intent.putExtra("id",item.id)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
intent.putExtra("level", item.level)
launcherResultQRCode.launch(intent)
}
) { position ->
},
{ position ->
val item = datas[position]
showLog("---------")
showLog(GsonUtils.GsonString(item))
@ -80,7 +98,8 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkRiskLi
intent.putExtra("type",item.level)
intent.putExtra("id",item.id)
startActivity(intent)
};
}
)
//binding.lv.addHeaderView(headView, null, false)
binding.lv.adapter = mAdapter
@ -116,6 +135,25 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkRiskLi
authenticationLoginAI()
}
//创建一个ActivityResultLauncher
private fun createQRCodeActivityResultLauncher(): ActivityResultLauncher<Intent> {
//kotlin写法
return registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
val data = it.data
val resultCode = it.resultCode
if (resultCode == RESULT_OK) {
if (data != null) {
val qrCodeStr = data.getStringExtra("code") ?: ""
showLog(qrCodeStr)
if(!TextUtils.isEmpty(qrCodeStr)){
//刷新列表数据
authenticationLoginAI()
}
}
}
}
}
private fun authenticationLoginAI() {
try {
//AI三维登录接口

@ -1,5 +1,7 @@
package com.rehome.zhdcoa.ui.activity;
import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.graphics.Color;
@ -36,6 +38,7 @@ import com.rehome.zhdcoa.utils.SPUtils;
import com.rehome.zhdcoa.utils.UiUtlis;
import com.rehome.zhdcoa.weiget.WaitDialog;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.rest.OnResponseListener;
import com.yolanda.nohttp.rest.Request;
import com.yolanda.nohttp.rest.RequestQueue;
import com.yolanda.nohttp.rest.Response;
@ -59,13 +62,13 @@ public class XzjhFragment extends BaseFragment {
ListView lv;
Button btn_xz;
TextView tvNodata;
Button btnDel;
//Button btnDel;
private void findView() {
lv = view.findViewById(R.id.lv);
btn_xz = view.findViewById(R.id.btn_xz);
btnDel = view.findViewById(R.id.btn_delete);
//btnDel = view.findViewById(R.id.btn_delete);
tvNodata = view.findViewById(R.id.tv_nodata);
btn_xz.setOnClickListener(new View.OnClickListener() {
@Override
@ -89,46 +92,46 @@ public class XzjhFragment extends BaseFragment {
}
}
});
btnDel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (djjhs.size() != 0) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("提示");
builder.setTitle("你确定要删除?");
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
List<Djjh> delete = new ArrayList<>();
for (int i = 0; i < djjhs.size(); i++) {
if (djjhs.get(i).isChecked()) {
delete.add(djjhs.get(i));
DataSupport.deleteAll(Djjh.class, "jhid = ?", djjhs.get(i).getJHID());
}
}
djjhs.removeAll(delete);
adapter.notifyDataSetChanged();
}
});
AlertDialog dialog = builder.create();
dialog.show();
//确定按钮
Button btnPos = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
//取消按钮
Button btnNeg = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
btnPos.setTextColor(Color.BLACK);
btnNeg.setTextColor(Color.BLACK);
} else {
showToast("没有可删除计划");
}
}
});
// btnDel.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// if (djjhs.size() != 0) {
// AlertDialog.Builder builder = new AlertDialog.Builder(context);
// builder.setTitle("提示");
// builder.setTitle("你确定要删除?");
// builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// dialog.dismiss();
// }
// });
// builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// List<Djjh> delete = new ArrayList<>();
// for (int i = 0; i < djjhs.size(); i++) {
// if (djjhs.get(i).isChecked()) {
// delete.add(djjhs.get(i));
// DataSupport.deleteAll(Djjh.class, "jhid = ?", djjhs.get(i).getJHID());
// }
// }
// djjhs.removeAll(delete);
// adapter.notifyDataSetChanged();
// }
// });
// AlertDialog dialog = builder.create();
// dialog.show();
// //确定按钮
// Button btnPos = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
// //取消按钮
// Button btnNeg = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
// btnPos.setTextColor(Color.BLACK);
// btnNeg.setTextColor(Color.BLACK);
// } else {
// showToast("没有可删除计划");
// }
// }
// });
}
private WaitDialog dialog;
@ -141,7 +144,7 @@ public class XzjhFragment extends BaseFragment {
private CheckBox cb;
private final boolean flag = false;
private List<Djjh> djjhs;
private List<Djjh> djjhs = new ArrayList<>();;
private int selectCount = 0;
private int requestCount = 0;
private StringBuilder sb;
@ -179,6 +182,7 @@ public class XzjhFragment extends BaseFragment {
headView = View.inflate(context, R.layout.xzjh_item, null);
head = headView.findViewById(R.id.head);
head.setVisibility(View.VISIBLE);
tvNodata.setText("暂无数据");
cb = headView.findViewById(R.id.cb);
cb.setOnClickListener(new View.OnClickListener() {
@Override
@ -197,42 +201,184 @@ public class XzjhFragment extends BaseFragment {
}
}
});
}
public void initData() {
queue = NoHttp.newRequestQueue(1);
dialog = new WaitDialog(getActivity(), "加载中...");
dialog.setCancelable(false);
djjhs = new ArrayList<>();
qylists = new ArrayList<>();
qys = new ArrayList<>();
rwqys = new ArrayList<>();
setListData();
}
public void initData() {
//如果数据库中有数据
if (DataSupport.count("Djjh") != 0) {
//读取数据库数据
getDataInSQL();
} else {
//数据库无数据,请求接口数据
requestData();
}
}
/**
*
*/
public void getDataInSQL() {
List<Djjh> djjhall = DataSupport.where("download = ?", "0").find(Djjh.class);
djjhs.clear();
for (int i = 0; i < djjhall.size(); i++) {
Djjh djjh = new Djjh();
djjh = djjhall.get(i);
djjhs.addAll(djjhall);
// for (int i = 0; i < djjhall.size(); i++) {
// Djjh djjh = djjhall.get(i);
// djjhs.add(djjh);
// }
if(adapter!=null){
adapter.notifyDataSetChanged();
}
}
public void refreshData() {
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHLIST);
request.add("BZMC", UiUtlis.encoder((String) SPUtils.get(context, Contans.BZBH, "12108080101")));
if(App.getInstance().getUserInfo()!=null&&App.getInstance().getUserInfo().getToken()!=null){
String token = App.getInstance().getUserInfo().getToken();
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
}
if(!TextUtils.isEmpty(request.url())){
String url =request.url();
if(url.startsWith("https://219.131.195.3:7100")||url.startsWith("https://219.131.195.3:7011")||url.startsWith("https://219.131.195.3:7081")||url.startsWith("https://219.131.195.3:7082")){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(mActivity);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
}
//如果到期,就直接删除
// if (UiUtlis.isdelete(djjh.getDQSJ())) {
// DataSupport.deleteAll(Djjh.class, "jhid = ?", djjh.getJHID());
queue.add(4, request,new com.yolanda.nohttp.rest.OnResponseListener(){
@Override
public void onStart(int what) {
}
@Override
public void onSucceed(int what, Response response) {
//用来捕获数据解析的异常
try {
String result = (String) response.get();
showLog(String.valueOf(what));
showLog(result);
list = GsonUtils.GsonToBean(result, DjjhList.class);
// if (list != null) {
// if (list.getTotal() != 0) {
// djjhs.clear();
// djjhs.addAll(list.getRows());
//
// if (adapter != null) {
// cb.setChecked(false);
// adapter.notifyDataSetChanged();
// //savaDataInSQLite();
// }
// }
// } else {
djjhs.add(djjh);
// showToast(UiUtlis.getString(context, R.string.data_error));
// }
showLog("-------");
showLog(String.valueOf(list==null));
showLog(String.valueOf(list.getTotal()));
if (list != null) {
if (list.getTotal() != 0) {
List<Djjh> djjhListTemp = list.getRows();//服务器数据
//先删除未下 载的计划
DataSupport.deleteAll(Djjh.class, "download = 0");
for (Djjh djjh : djjhListTemp) {
List<Djjh> dbdjjh = DataSupport.where("jhid = ? and download = ?", djjh.getJHID(), "1").find(Djjh.class);
//如果数据库中没有这条数据,就添加到数据库
if (dbdjjh.isEmpty()) {
djjh.save();
}
}
djjhs.clear();
djjhs.addAll(list.getRows());
if (adapter != null) {
cb.setChecked(false);
adapter.notifyDataSetChanged();
}
setListData();
// showToast("读取数据库数据");
tvNodata.setText("暂无数据");
} else {
requestData();
// showToast("请求接口数据");
DataSupport.deleteAll(Djjh.class, "download = 0");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onFailed(int what, Response response) {
}
@Override
public void onFinish(int what) {
}
});
// queue.add(4, request, new HttpResponseListener<>(getActivity(), request, new HttpListener<String>() {
// @Override
// public void onSucceed(int what, Response<String> response) {
// //用来捕获数据解析的异常
// try {
// String result = response.get();
// showLog(String.valueOf(what));
// showLog(result);
//
// list = GsonUtils.GsonToBean(result, DjjhList.class);
// if (list != null) {
// if (list.getTotal() != 0) {
// djjhs.clear();
// djjhs.addAll(list.getRows());
//
// if (adapter != null) {
// cb.setChecked(false);
// adapter.notifyDataSetChanged();
// }
// }
// } else {
// showToast(UiUtlis.getString(context, R.string.data_error));
// }
// } catch (Exception e) {
// showToast(UiUtlis.getString(context, R.string.data_error));
// dialog.dismiss();
// }
// }
//
// @Override
// public void onFailed(int what, Response<String> response) {
// showLog("onFailed");
// if (dialog != null && dialog.isShowing()) {
// dialog.dismiss();
// }
// }
// }, false, false, ""));
}
private void requestData() {
dialog.show();
@ -379,8 +525,8 @@ public class XzjhFragment extends BaseFragment {
if (list.getTotal() != 0) {
djjhs.clear();
djjhs.addAll(list.getRows());
setListData();
savaDataInSQLite();
adapter.notifyDataSetChanged();
}
} else {
showToast(UiUtlis.getString(context, R.string.data_error));

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#bd9668"/>
<corners android:radius="8dp"/>
</shape>
</item>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white"/>
<corners android:radius="8dp"/>
</shape>
</item>
</selector>

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/radius"
android:orientation="vertical">
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:gravity="center"
android:text="更改工作票等级"
android:textColor="#000"
android:textSize="21sp"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/gray" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb1"
style="@style/Widget.AppCompat.CompoundButton.RadioButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:checked="true"
android:text="A"
android:textColor="#666666"
android:textSize="18sp" />
<RadioButton
android:id="@+id/rb2"
style="@style/Widget.AppCompat.CompoundButton.RadioButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="B"
android:textColor="#666666"
android:textSize="18sp" />
<RadioButton
android:id="@+id/rb3"
style="@style/Widget.AppCompat.CompoundButton.RadioButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="C1"
android:textColor="#666666"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb4"
style="@style/Widget.AppCompat.CompoundButton.RadioButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="C2"
android:textColor="#666666"
android:textSize="18sp" />
<RadioButton
android:id="@+id/rb5"
style="@style/Widget.AppCompat.CompoundButton.RadioButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="C3"
android:textColor="#666666"
android:textSize="18sp" />
<RadioButton
android:id="@+id/rb6"
style="@style/Widget.AppCompat.CompoundButton.RadioButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="低风险"
android:textColor="#666666"
android:textSize="18sp" />
</LinearLayout>
</LinearLayout>
<include
android:id="@+id/bottomView"
layout="@layout/layout_dialog_bottom_custom" />
</LinearLayout>

@ -24,16 +24,31 @@
android:text="暂无数据" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:gravity="center"
android:orientation="horizontal">
<Button
android:id="@+id/btn_xz"
style="@style/button"
android:layout_width="300dp"
android:layout_gravity="center"
android:text="下载" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginTop="10px"
android:gravity="center"
android:visibility="gone"
android:orientation="horizontal">
<Button
android:id="@+id/btn_xz"
android:id="@+id/btn_xz1"
style="@style/button"
android:layout_width="match_parent"
android:layout_gravity="right"
@ -43,7 +58,7 @@
android:text="下载" />
<Button
android:id="@+id/btn_delete"
android:id="@+id/btn_delete1"
style="@style/button"
android:layout_width="match_parent"
android:layout_gravity="right"

@ -0,0 +1,61 @@
<?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="41dp"
android:layout_marginTop="3dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/gray" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/lay_dialog_cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal"
android:visibility="visible">
<TextView
android:background="@drawable/selector_list_item"
android:id="@+id/dialog_cancel"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="8"
android:gravity="center"
android:maxLines="1"
android:padding="10px"
android:text="取消"
android:textColor="@color/bule"
android:textSize="18sp"
android:visibility="visible" />
<View
android:layout_width="1px"
android:layout_height="match_parent"
android:background="@color/gray" />
<TextView
android:background="@drawable/selector_list_item"
android:id="@+id/dialog_commit"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="8"
android:gravity="center"
android:maxLines="1"
android:padding="10px"
android:text="确定"
android:textColor="@color/bule"
android:textSize="18sp"
android:visibility="visible" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

@ -162,4 +162,10 @@
<style name="serviceAgreement">
<item name="android:textSize">12sp</item>
</style>
<style name="MyRadioButtonStyleCustom" parent="android:Widget.CompoundButton.RadioButton">
<item name="android:button">?android:attr/listChoiceIndicatorSingle</item>
<item name="buttonCompat">?attr/listChoiceIndicatorSingleAnimated</item>
<item name="android:background">?attr/controlBackground</item>
</style>
</resources>

Loading…
Cancel
Save