From af70017260667b4def9d37bec00915d71e609dae Mon Sep 17 00:00:00 2001 From: hwf452 Date: Thu, 27 Feb 2025 17:37:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=B2=E6=8E=88=E6=9D=83=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E7=A5=A8=E9=A1=B5=E9=9D=A2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/rehome/zhdcoa/Contans.java | 2 + .../zhdcoa/bean/WorkRiskLevelListBean.java | 6 +- .../zhdcoa/ui/activity/LoginActivity.kt | 4 +- .../ui/activity/WorkRiskListActivity.kt | 11 +- .../activity/WorkTickerSelectListActivity.kt | 172 ++++++++++++++++-- .../rehome/zhdcoa/weiget/ConfirmDialog.java | 99 ++++++++++ 6 files changed, 267 insertions(+), 27 deletions(-) create mode 100644 app/src/main/java/com/rehome/zhdcoa/weiget/ConfirmDialog.java diff --git a/app/src/main/java/com/rehome/zhdcoa/Contans.java b/app/src/main/java/com/rehome/zhdcoa/Contans.java index 85bb27b..397ff03 100644 --- a/app/src/main/java/com/rehome/zhdcoa/Contans.java +++ b/app/src/main/java/com/rehome/zhdcoa/Contans.java @@ -521,6 +521,8 @@ public class Contans { 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"; + //每日作业风险清单提交工作票,更新显示列表 + public final static String DAYLY_RISK_LIST_SUBMIT_WORK_TICKET_LIST = "/sc_v1/api/ticket/assignment_date/add"; //查询每日作业风险清单新接口 public final static String DAYLY_RISK_LIST_NEW = "sc_v1/api/ticket/active/listSummaryTicketAndLevel"; diff --git a/app/src/main/java/com/rehome/zhdcoa/bean/WorkRiskLevelListBean.java b/app/src/main/java/com/rehome/zhdcoa/bean/WorkRiskLevelListBean.java index bca8705..7aeeef5 100644 --- a/app/src/main/java/com/rehome/zhdcoa/bean/WorkRiskLevelListBean.java +++ b/app/src/main/java/com/rehome/zhdcoa/bean/WorkRiskLevelListBean.java @@ -28,7 +28,7 @@ public class WorkRiskLevelListBean extends AIBaseBean{ //记录号 private int number; //工作票ID - private String id; + private Integer id; //工作票状态 private String status; private List hazardList; @@ -58,11 +58,11 @@ public class WorkRiskLevelListBean extends AIBaseBean{ this.number = number; } - public String getId() { + public Integer getId() { return id; } - public void setId(String id) { + public void setId(Integer id) { this.id = id; } diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt index 7d97ac4..bf2aabd 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt @@ -174,8 +174,8 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() { if (isApkInDebug(context)) { // 管理员 - binding.etUsername.setText("ZHPS_Admin") - binding.etPassword.setText("Rehome.zhps@996") +// binding.etUsername.setText("ZHPS_Admin") +// binding.etPassword.setText("Rehome.zhps@996") //公司内网215管理员 // binding.etUsername.setText("ZHPS_Admin") 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 629c420..6842893 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 @@ -32,7 +32,7 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding = mutableListOf() private lateinit var mAdapter: WorkRiskLevelListAdapter - private var selectList: MutableList = mutableListOf() + private var selectList: MutableList = mutableListOf() private var dataA: MutableList = mutableListOf() private var dataB: MutableList = mutableListOf() @@ -52,7 +52,7 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding = mutableListOf() private lateinit var mAdapter: WorkTickerSelectListAdapter - //WorkTickerSelectListAdapter - private var selectList: MutableList = mutableListOf() + //工作票主键数组,来源查询每日作业风险清单 + private var ticketIdList : MutableList = mutableListOf() + //要取消的工作票主键 + private var deleteIdList : MutableList = mutableListOf() + + private var selectList: MutableList = mutableListOf() private lateinit var calendar: Calendar //格式化日期的对象(转化成习惯的时间格式) @@ -49,12 +56,23 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding = gson.fromJson>(selectListStr,object:TypeToken>() {}.type) + showLog(GsonUtils.GsonString(selectListTemp)) + if(selectListTemp.isNotEmpty()){ + selectList.addAll(selectListTemp) + } + + binding.tvSt.setOnClickListener(View.OnClickListener { view: View? -> val dialog = DatePickDialogNew( @@ -76,35 +94,58 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding0){ + deleteIdList.addAll(selectList) + } } } - mAdapter = WorkTickerSelectListAdapter(this,datas,object:CallBack{ - override fun Click(view: View,position:Int) { - val checkBox = view as CheckBox - datas[position].isChecked = checkBox.isChecked - var count = 0 - for (a in datas.indices) { - if (datas[a].isChecked) { - count++ + mAdapter = WorkTickerSelectListAdapter(this,datas) { view, position -> + val checkBox = view as CheckBox + datas[position].isChecked = checkBox.isChecked + var count = 0 + for (a in datas.indices) { + if (datas[a].isChecked) { + count++ + } + } + if(!checkBox.isChecked){ + if(selectList.size>0){ + for (i in selectList.indices) { + if(selectList[i] == datas[position].id){ + if(!deleteIdList.contains(selectList[i])){ + deleteIdList.add(selectList[i]) + } + } } } - binding.itemHead.cb.isChecked = count == datas.size - mAdapter.notifyDataSetChanged() } - }) - //binding.lv.addHeaderView(headView, null, false) + binding.itemHead.cb.isChecked = count == datas.size + mAdapter.notifyDataSetChanged() + } binding.lv.adapter = mAdapter binding.tvSubmit.setOnClickListener { - - - + var canSubmit = false + ticketIdList.clear() + for (i in datas.indices) { + if (datas[i].isChecked) { + canSubmit = true + ticketIdList.add(datas[i].id) + } + } + if (canSubmit) { + showLog(GsonUtils.GsonString(ticketIdList)) + authenticationLoginAISubmit() + }else{ + showToast("致少选择一个工作票才能提交") + } } //格式化日期的对象(转化成习惯的时间格式) @@ -173,6 +214,17 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding 0) { binding.tvNodata.visibility = View.GONE datas.clear() + + if(selectList.size>0){ + for (i in workRiskLevelLists.indices) { + for (j in selectList.indices) { + if (workRiskLevelLists[i].id==selectList[j]) { + workRiskLevelLists[i].isChecked = true + } + } + } + } + datas.addAll(workRiskLevelLists) mAdapter.notifyDataSetChanged() @@ -205,4 +257,84 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding + if (token != null && token == "") { + showToast("AI三维平台登录失败") + } else { + submitWorkTicketData() + } + } + } catch (e: Exception) { + e.printStackTrace() + } + } + + private fun getSubmitJsonData(): String { + val param = HashMap() + param["assignmentDate"] = binding.tvSt.text.toString().trim() + param["ticketIdList"] = ticketIdList + param["deleteIdList"]= deleteIdList + + val json = GsonUtils.GsonString(param) + showLog(json) + return json + } + + private fun submitWorkTicketData() { + val request = NoHttp.createStringRequest( + Contans.BASE_URL_AI_3D_SERVER + Contans.DAYLY_RISK_LIST_SUBMIT_WORK_TICKET_LIST, + 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(context) + if (socketFactory != null) { + request.sslSocketFactory = socketFactory + request.hostnameVerifier = HostnameVerifier { _, _ -> true } + } + } + + NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { + + override fun onSucceed(what: Int, response: Response?) { + val result = response?.get() + showLog("----------------") + showLog(result) + val bean = GsonUtils.GsonToBean( + result, + AIBaseBean::class.java + ) + if (bean != null && bean.isSuccess) { + //提交成功 + val confirmDialog = ConfirmDialog( + context, "设置工作票作业日期成功" + ) { finish() } + confirmDialog.setTvTitle("提示") + confirmDialog.setCancelable(true) + confirmDialog.show() + }else{ + showToast("设置工作票作业日期失败") + } + } + + override fun onFailed(what: Int, response: Response?) { + + } + }) + } + } \ No newline at end of file diff --git a/app/src/main/java/com/rehome/zhdcoa/weiget/ConfirmDialog.java b/app/src/main/java/com/rehome/zhdcoa/weiget/ConfirmDialog.java new file mode 100644 index 0000000..cbb6d13 --- /dev/null +++ b/app/src/main/java/com/rehome/zhdcoa/weiget/ConfirmDialog.java @@ -0,0 +1,99 @@ +package com.rehome.zhdcoa.weiget; + + + +import android.app.Dialog; +import android.content.Context; +import android.os.Build; +import android.os.Bundle; +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 androidx.annotation.NonNull; + +import com.rehome.zhdcoa.databinding.DialogConfirmBinding; + +/** + * Create By HuangWenFei + * 创建日期:2023-01-12 11:55 + * 描述: + */ + +public class ConfirmDialog extends Dialog { + + protected Context context; + protected View mView; + protected DialogConfirmBinding binding; + protected ConfirmDialogListener listener; + protected String msg; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(mView); + Window window = getWindow(); + WindowManager.LayoutParams lp = window.getAttributes(); + lp.width = (getScreenWidth(context)) * 2 / 3; + window.setGravity(Gravity.CENTER); + setTvMsg(msg); + binding.bottomBtnView.dialogCommit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + if (listener != null) { + listener.confirm(); + } + } + }); + + } + + public ConfirmDialog(@NonNull Context context, String msg, ConfirmDialogListener listener) { + super(context); + this.context=context; + this.listener = listener; + this.msg=msg; + binding = DialogConfirmBinding.inflate(getLayoutInflater()); + mView = binding.getRoot(); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + } + + public void setTvMsg(String msg) { + if (!TextUtils.isEmpty(msg)) { + binding.tvMsg.setText(msg); + } + } + + + public void setTvTitle(String title) { + if (!TextUtils.isEmpty(title)) { + binding.tvTitle.setText(title); + } + } + + public void hideBottomClick() { + binding.bottomBtnView.bottomClick.setVisibility(View.GONE); + } + + + //获取屏幕宽度 + public static int getScreenWidth(Context context) { + WindowManager manager = (WindowManager) context + .getSystemService(Context.WINDOW_SERVICE); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + return manager.getCurrentWindowMetrics().getBounds().width(); + }else{ + Display display = manager.getDefaultDisplay(); + return display.getWidth(); + } + } + + public interface ConfirmDialogListener { + void confirm(); + } +} \ No newline at end of file