diff --git a/app/src/main/java/com/rehome/zhdcoa/Contans.java b/app/src/main/java/com/rehome/zhdcoa/Contans.java index efae766..1592a7a 100644 --- a/app/src/main/java/com/rehome/zhdcoa/Contans.java +++ b/app/src/main/java/com/rehome/zhdcoa/Contans.java @@ -517,7 +517,11 @@ public class Contans { //每日作业风险清单汇报 public final static String DAYLY_RISK_LIST_HUIBAO = "v1/api/operation/risk/list"; //每日作业风险清单提交报告 - public final static String DAYLY_RISK_LIST_SUBMIT_REPORT = "api/work/report/add"; + public final static String DAYLY_RISK_LIST_SUBMIT_REPORT = "sc_v1/api/work/report/add"; + //查询每日工作报告 + public final static String DAYLY_RISK_LIST_DAYLY = "/sc_v1/api/work/report/page"; + + diff --git a/app/src/main/java/com/rehome/zhdcoa/adapter/WorkRiskLevelListAdapter.java b/app/src/main/java/com/rehome/zhdcoa/adapter/WorkRiskLevelListAdapter.java index 9298476..d4b2ac6 100644 --- a/app/src/main/java/com/rehome/zhdcoa/adapter/WorkRiskLevelListAdapter.java +++ b/app/src/main/java/com/rehome/zhdcoa/adapter/WorkRiskLevelListAdapter.java @@ -4,6 +4,7 @@ import android.content.Context; import android.graphics.Color; import android.text.Html; import android.view.LayoutInflater; +import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; @@ -21,11 +22,18 @@ public class WorkRiskLevelListAdapter extends BaseViewBindingAdapter datas; - public WorkRiskLevelListAdapter(Context context, List datas) { + private OnWorkRiskContentlickListener onWorkRiskContentlickListener; + private OnWorkRiskLevelClickListener onWorkRiskLevelClickListener; + + public WorkRiskLevelListAdapter(Context context, List datas, + OnWorkRiskContentlickListener onWorkRiskContentlickListener, + OnWorkRiskLevelClickListener onWorkRiskLevelClickListener) { super(context); //super(context, R.layout.adapter_work_risk_level_list, datas); this.context = context; this.datas = datas; + this.onWorkRiskContentlickListener=onWorkRiskContentlickListener; + this.onWorkRiskLevelClickListener= onWorkRiskLevelClickListener; } @Override @@ -39,12 +47,31 @@ public class WorkRiskLevelListAdapter extends BaseViewBindingAdapter"; - //TextView tv_content =viewHolder.getView(R.id.tv_content); binding.tvContent.setText(Html.fromHtml(tv_precaution)); binding.tvContent.setTextColor(Color.parseColor("#0099ff")); - + binding.tvContent.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if(onWorkRiskContentlickListener!=null){ + onWorkRiskContentlickListener.onItemClick(position); + } + } + }); + + String tv_precautionLevel = "" + item.getLevel() +""; + binding.tvLevel.setText(Html.fromHtml(tv_precautionLevel)); + binding.tvLevel.setTextColor(Color.parseColor("#0099ff")); + binding.tvLevel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if(onWorkRiskLevelClickListener!=null){ + onWorkRiskLevelClickListener.onItemClick(position); + } + } + }); } } @@ -69,6 +96,13 @@ public class WorkRiskLevelListAdapter extends BaseViewBindingAdapter() { binding.etUsername.setText("ZHPS_Admin") binding.etPassword.setText("Rehome.zhps@996") + binding.etUsername.setText("310430") + binding.etPassword.setText("Laq**201610") + + + //马 // binding.etUsername.setText("310482") diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkRiskListActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkRiskListActivity.kt index 2347dbb..3123c1c 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkRiskListActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkRiskListActivity.kt @@ -55,12 +55,8 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding?, _: View?, position: Int, _: Long -> + mAdapter = WorkRiskLevelListAdapter(this,datas, + { position -> val item = datas[position] if(item.hazardList!=null&&item.hazardList.size>0){ //进入风险提示页面 @@ -68,10 +64,33 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding + val item = datas[position] + //工作情况汇报 + val intent = Intent(context, WorkRiskListHuiBaoActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + intent.putExtra("type",item.level) + intent.putExtra("id",item.id) + startActivity(intent) + }; + //binding.lv.addHeaderView(headView, null, false) + binding.lv.adapter = mAdapter + +// binding.lv.onItemClickListener = +// AdapterView.OnItemClickListener { _: AdapterView<*>?, _: View?, position: Int, _: Long -> +// val item = datas[position] +// if(item.hazardList!=null&&item.hazardList.size>0){ +// //进入风险提示页面 +// val intent = Intent(context, WorkRiskListTipActivity::class.java) +// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) +// intent.putExtra("hazardList", GsonUtils.GsonString(item.hazardList)) +// startActivity(intent) +// }else{ +// showToast("无清单提示数据") +// } +// } //格式化日期的对象(转化成习惯的时间格式) val sdFormat = SimpleDateFormat("yyyy.MM.dd") @@ -222,24 +241,24 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding0) { @@ -335,18 +332,18 @@ public class WorkRiskListHuiBaoActivity extends BaseActivity { } -// if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){ -// SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context); -// if (socketFactory != null) { -// request.setSSLSocketFactory(socketFactory); -// request.setHostnameVerifier(new HostnameVerifier() { -// @Override -// public boolean verify(String s, SSLSession sslSession) { -// return true; -// } -// }); -// } -// } + if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){ + SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context); + if (socketFactory != null) { + request.setSSLSocketFactory(socketFactory); + request.setHostnameVerifier(new HostnameVerifier() { + @Override + public boolean verify(String s, SSLSession sslSession) { + return true; + } + }); + } + } NohttpUtils.getInstance().add(this,0, request, new HttpListener() { @@ -357,13 +354,18 @@ public class WorkRiskListHuiBaoActivity extends BaseActivity { String result = response.get(); showLog(result); -// MemberInfoStatisticsV1Bean bean = GsonToBean(result, MemberInfoStatisticsV1Bean.class); -// if (bean != null && bean.getData() != null) { -// MemberInfoStatisticsV1Bean.Data item = bean.getData(); -// //Log.i("app","--->"); -// //Log.i("app",new Gson().toJson(item)); -// -// } + AIRiskListBaseBean aiRiskListBaseBean = GsonToBean(result, AIRiskListBaseBean.class); + if (aiRiskListBaseBean != null && aiRiskListBaseBean.isSuccess() && aiRiskListBaseBean.getCode()==20000) { + //弹框提示 + BaCheckDialog dialog = new BaCheckDialog(context,"提交汇报成功", new BaCheckDialog.AuditDialogListener() { + + @Override + public void confirm(String notice) { + finish(); + } + }); + dialog.show(); + } } @Override diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkRiskListReportActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkRiskListReportActivity.kt index 23c5b20..c34131c 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkRiskListReportActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkRiskListReportActivity.kt @@ -1,21 +1,160 @@ package com.rehome.zhdcoa.ui.activity import android.os.Bundle +import android.view.View import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import com.rehome.zhdcoa.Contans import com.rehome.zhdcoa.R +import com.rehome.zhdcoa.adapter.WorkRiskLevelListAdapter +import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding +import com.rehome.zhdcoa.bean.WorkRiskLevelListBean +import com.rehome.zhdcoa.databinding.ActivityWorkRiskListReportBinding +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.weiget.OAToolbar +import com.yolanda.nohttp.NoHttp +import com.yolanda.nohttp.RequestMethod +import com.yolanda.nohttp.rest.Response +import javax.net.ssl.HostnameVerifier -class WorkRiskListReportActivity : AppCompatActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - enableEdgeToEdge() - setContentView(R.layout.activity_work_risk_list_report) - ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> - val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) - v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) - insets +class WorkRiskListReportActivity : BaseActivityOaToolbarViewBinding() { + + private lateinit var headView: View + + private var datas: MutableList = mutableListOf() + private lateinit var mAdapter: WorkRiskLevelListAdapter + + + override fun getViewBinding() = ActivityWorkRiskListReportBinding.inflate(layoutInflater) + + override fun getToolbar() = binding.toolbarView.toolbar + + override fun initView() { + + initToolbar("每日工作报告") + setLeftOnClickListener { + finish() + } + + binding.lv.emptyView = binding.tvNodata + headView = View.inflate(this, R.layout.item_work_risk_list, null) + + + + } + + override fun initData() { + authenticationLoginAI() + } + + 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.authenticationAILogin( + this, userName, strPublicDecode + ) { _, token -> + if (token != null && token == "") { + showToast("AI三维平台登录失败") + } else { + getWorkRiskListData() + } + } + } catch (e: Exception) { + e.printStackTrace() + } + } + + private fun getWorkRiskListData() { + val request = NoHttp.createStringRequest( + Contans.BASE_URL_AI_3D_SERVER + Contans.DAYLY_RISK_LIST_DAYLY, + RequestMethod.GET + ) + + if (Contans.BASE_URL_AI_3D_SERVER == Contans.BASE_URL_AI_3D_SERVER_EXTRANET) { + val socketFactory = NohttpUtils.getSSLSocketFactory(context) + if (socketFactory != null) { + request.sslSocketFactory = socketFactory + request.hostnameVerifier = HostnameVerifier { _, _ -> true } + } } + + NohttpUtils.getInstance() + .addNoProgress(this, 0, request, object : HttpListener { + + override fun onSucceed(what: Int, response: Response?) { + val result = response?.get() + showLog("----------------") + showLog(result) +// val bean = GsonUtils.GsonToBean( +// result, +// WorkRiskLevelListBean::class.java +// ) +// if (bean != null && bean.data != null) { +// val workRiskLevelLists = bean.data +// if (workRiskLevelLists != null && workRiskLevelLists.size > 0) { +// binding.tvNodata.visibility = View.GONE +// headView.visibility = View.VISIBLE +// datas.clear() +// datas.addAll(workRiskLevelLists) +// mAdapter.notifyDataSetChanged() +// +// dataA.clear() +// dataB.clear() +// dataC1.clear() +// dataC2.clear() +// dataC3.clear() +// dataLowRisk.clear() +// +// +// for(item in datas){ +// showLog(GsonUtils.GsonString(item)) +// if(item.level!=null&&item.level=="A"){ +// dataA.add(item) +// } +// if(item.level!=null&&item.level=="B"){ +// dataB.add(item) +// } +// if(item.level!=null&&item.level=="C1"){ +// dataC1.add(item) +// } +// if(item.level!=null&&item.level=="C2"){ +// dataC2.add(item) +// } +// if(item.level!=null&&item.level=="C3"){ +// dataC3.add(item) +// } +// if(item.level!=null&&item.level=="低风险"){ +// dataLowRisk.add(item) +// } +// } +// binding.tvA.text = dataA.size.toString() +// binding.tvB.text = dataB.size.toString() +// binding.tvC1.text = dataC1.size.toString() +// binding.tvC2.text = dataC2.size.toString() +// binding.tvC3.text = dataC3.size.toString() +// binding.tvLowLisk.text = dataLowRisk.size.toString() +// +// } else { +// binding.tvNodata.visibility = View.VISIBLE +// } +// } + } + + override fun onFailed(what: Int, response: Response?) { + + } + }) } } \ No newline at end of file diff --git a/app/src/main/java/com/rehome/zhdcoa/weiget/BaCheckDialog.java b/app/src/main/java/com/rehome/zhdcoa/weiget/BaCheckDialog.java new file mode 100644 index 0000000..776167c --- /dev/null +++ b/app/src/main/java/com/rehome/zhdcoa/weiget/BaCheckDialog.java @@ -0,0 +1,113 @@ +package com.rehome.zhdcoa.weiget; + + +import android.app.Dialog; +import android.content.Context; +import androidx.annotation.NonNull; +import android.text.TextUtils; +import android.view.Display; +import android.view.Gravity; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.EditText; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.rehome.zhdcoa.R; + +/** + * Created by Rehome-rjb1 on 2017/5/31. + * 是否审核的对话框 + */ + +public class BaCheckDialog extends Dialog { + + TextView tvTitle; + TextView tvMsg; + TextView dialogCommit; + LinearLayout layDialogCancel; + LinearLayout lv_bottomClick; + EditText et_notice; + + private AuditDialogListener listener; + + public BaCheckDialog(@NonNull Context context, String msg, AuditDialogListener listener) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + setContentView(R.layout.layout_ba_check_dialog); + findView(); + Window window = getWindow(); + WindowManager.LayoutParams lp = window.getAttributes(); + lp.width = (getScreenWidth(context)) * 2 / 3; + window.setGravity(Gravity.CENTER); + this.listener = listener; + setCancelable(false); + setTvMsg(msg); + } + + private void findView() { + tvTitle = findViewById(R.id.tv_title); + tvMsg = findViewById(R.id.tv_msg); + lv_bottomClick = findViewById(R.id.bottomClick); + dialogCommit = findViewById(R.id.dialog_commit); + layDialogCancel = findViewById(R.id.lay_dialog_cancel); + et_notice = findViewById(R.id.et_notice); + + dialogCommit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + if (listener != null) { + listener.confirm(et_notice.getText().toString().trim()); + } + } + }); + } + + public void setTvMsg(String msg) { + if (!TextUtils.isEmpty(msg)) { + tvMsg.setText(msg); + } + } + + public void setTvTitle(String title) { + if (!TextUtils.isEmpty(title)) { + tvTitle.setText(title); + } + } + + public void setNotice(String notice) { + if (!TextUtils.isEmpty(notice)) { + et_notice.setText(notice); + } + } + + public void hideBottomClick() { + lv_bottomClick.setVisibility(View.GONE); + } + + public void hideNotice(String notice) { + if (!TextUtils.isEmpty(notice)) { + et_notice.setText(notice); + et_notice.setEnabled(false); + } else { + et_notice.setEnabled(false); + et_notice.setVisibility(View.GONE); + } + } + + //获取屏幕宽度 + public static int getScreenWidth(Context context) { + WindowManager manager = (WindowManager) context + .getSystemService(Context.WINDOW_SERVICE); + Display display = manager.getDefaultDisplay(); + return display.getWidth(); + } + + public interface AuditDialogListener { + void confirm(String notice); + } +} + diff --git a/app/src/main/res/drawable/shape_bottom_corner.xml b/app/src/main/res/drawable/shape_bottom_corner.xml new file mode 100644 index 0000000..d5e525a --- /dev/null +++ b/app/src/main/res/drawable/shape_bottom_corner.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_work_risk_list.xml b/app/src/main/res/layout/activity_work_risk_list.xml index 3a95be4..26eb25e 100644 --- a/app/src/main/res/layout/activity_work_risk_list.xml +++ b/app/src/main/res/layout/activity_work_risk_list.xml @@ -82,7 +82,6 @@ android:gravity="center|right" android:layout_weight="1" android:textSize="20sp" - android:textColor="#0099ff" android:text="A:" /> - - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_ba_check_dialog.xml b/app/src/main/res/layout/layout_ba_check_dialog.xml new file mode 100644 index 0000000..b3147a1 --- /dev/null +++ b/app/src/main/res/layout/layout_ba_check_dialog.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/layout_ba_check_dialog_bottom.xml b/app/src/main/res/layout/layout_ba_check_dialog_bottom.xml new file mode 100644 index 0000000..8cca4bf --- /dev/null +++ b/app/src/main/res/layout/layout_ba_check_dialog_bottom.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + \ No newline at end of file