diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5e26df8..eb30e14 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1148,6 +1148,10 @@ android:name=".ui.activity.WorkTickerCustomAddActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize|stateHidden" /> + { + + private final Context context; + private List datas; + + private OnWorkTicketModifyDeleteClickListener onWorkTicketModifyDeleteClickListener; + + public WorkRiskListTipModifyAdapter(Context context, List datas,OnWorkTicketModifyDeleteClickListener onWorkTicketModifyDeleteClickListener) { + super(context, R.layout.adapter_item_work_risk_list_tip_modify, datas); + this.context = context; + this.datas = datas; + this.onWorkTicketModifyDeleteClickListener= onWorkTicketModifyDeleteClickListener; + } + + @Override + protected void convert(ViewHolder viewHolder, WorkRiskLevelTipListBean item, int position) { + if (item != null) { + viewHolder.setText(R.id.tv_xh, String.valueOf(position+1)); + viewHolder.setText(R.id.tv_weiHai, item.getType()); + viewHolder.setText(R.id.tv_yuFang, item.getPrecaution()); + viewHolder.setOnClickListener(R.id.tv_delete, v -> { + onWorkTicketModifyDeleteClickListener.onItemClick(position); + }); + } + } + public interface OnWorkTicketModifyDeleteClickListener { + void onItemClick(int position); + } +} diff --git a/app/src/main/java/com/rehome/zhdcoa/bean/AIBaseBean.java b/app/src/main/java/com/rehome/zhdcoa/bean/AIBaseBean.java index c256594..2bd1ee9 100644 --- a/app/src/main/java/com/rehome/zhdcoa/bean/AIBaseBean.java +++ b/app/src/main/java/com/rehome/zhdcoa/bean/AIBaseBean.java @@ -8,6 +8,10 @@ public class AIBaseBean { //状态码 private int flag; + private int code; + + private String message; + public boolean isSuccess() { return success; } @@ -31,4 +35,20 @@ public class AIBaseBean { public void setFlag(int flag) { this.flag = flag; } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } } 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 99ef895..1894690 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 @@ -145,10 +145,8 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding + private lateinit var launcherResult: ActivityResultLauncher private lateinit var calendarSt: Calendar private lateinit var calendarEt: Calendar + private var isEdit = false + //格式化日期的对象(转化成习惯的时间格式) private val sdFormat = SimpleDateFormat("yyyy-MM-dd HH:mm") + private var workRiskLevelTipListBeanList : MutableList = mutableListOf() + + private lateinit var mAdapterHazard: WorkRiskListTipModifyAdapter + override fun getViewBinding() = ActivityWorkTickerCustomAddBinding.inflate(layoutInflater) override fun getToolbar() = binding.toolbarView.toolbar override fun initView() { - initToolbar("手动添加工作票", "") { + initToolbar("手动添加作业风险信息", "") { } + launcherResult = createActivityResultLauncher() resetToday() + + isEdit = intent.getBooleanExtra("isEdit",false) + adapter = ArrayAdapter(this, R.layout.simple_spinner_item, items) binding.spinnerZy.adapter = adapter + mAdapterHazard = WorkRiskListTipModifyAdapter(this,workRiskLevelTipListBeanList + ) { position -> + val dialog = CommitDialog(context, object : CommitDialogListener { + override fun confirm() { + val item:WorkRiskLevelTipListBean = workRiskLevelTipListBeanList[position] + workRiskLevelTipListBeanList.removeAt(position) + mAdapterHazard.notifyDataSetChanged() + } + + override fun cancel() { + } + }) + dialog.setTvMsg("您确定要删除当前记录吗?") + dialog.show() + + + }; + binding.lv.adapter = mAdapterHazard + binding.tvSt.setOnClickListener(View.OnClickListener { view: View? -> @@ -105,32 +142,27 @@ class WorkTickerCustomAddActivity : BaseActivityOaToolbarViewBinding0) { + if(checkCanSubmit()){ val dialog = CommitDialog(context, object : CommitDialogListener { override fun confirm() { - showLog(GsonUtils.GsonString(ticketIdList)) - showLog(ticketIdList.size.toString()) - //authenticationLoginAISubmit() + authenticationLoginAISubmit() } override fun cancel() { } }) - dialog.setTvMsg("您确定要设置工作票作业?") + dialog.setTvMsg("您确定要提交手动添加的作业风险信息吗?") dialog.show() - }else{ - showToast("致少选择一个工作票才能提交") } } + binding.ivAdd.setOnClickListener { + //进入手动添加页面 + val intent = Intent(context, WorkTickerHazardAddActivity::class.java) // WorkTickerHazardAddActivity + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + launcherResult.launch(intent) + } + binding.rb1.setOnCheckedChangeListener(object: CompoundButton.OnCheckedChangeListener { override fun onCheckedChanged( buttonView: CompoundButton, @@ -227,6 +259,28 @@ class WorkTickerCustomAddActivity : BaseActivityOaToolbarViewBinding { + //kotlin写法 + return registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { + val data = it.data + val resultCode = it.resultCode + if (resultCode == RESULT_OK) { + if (data != null) { + val workRiskLevelTipListBeanStr = data.getStringExtra("hazard") + if(workRiskLevelTipListBeanStr!=null){ + val workRiskLevelTipListBean = GsonUtils.GsonToBean(workRiskLevelTipListBeanStr, + WorkRiskLevelTipListBean::class.java + ) + workRiskLevelTipListBeanList.add(workRiskLevelTipListBean) + mAdapterHazard.notifyDataSetChanged() + } + + } + } + } + } + private fun authenticationLoginAI() { try { //AI三维登录接口 @@ -336,11 +390,27 @@ class WorkTickerCustomAddActivity : BaseActivityOaToolbarViewBinding() - param["assignmentDate"] = binding.tvSt.text.toString().trim() - param["ticketIdList"] = ticketIdList - param["deleteIdList"]= deleteIdList - param["jobNo"]= App.getInstance().userInfo.manid - param["type"]= "custom" + param["major"] = items[binding.spinnerZy.selectedItemPosition] + param["jobNo"] = userInfo!!.manid + param["content"] = binding.etMs.text.toString().trim() + + 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"] = "低风险" + } + + param["startTime"]= binding.tvSt.text.toString().trim() + param["endTime"]= binding.tvEt.text.toString().trim() + param["hazardList"]= workRiskLevelTipListBeanList val json = GsonUtils.GsonString(param) showLog(json) @@ -349,7 +419,7 @@ class WorkTickerCustomAddActivity : BaseActivityOaToolbarViewBinding val item:WorkRiskLevelListBean.RowsBean = datas[position] - showToast("修改") + //showToast("修改") },{ position -> val item:WorkRiskLevelListBean.RowsBean = datas[position] - showToast("删除") + //showToast("删除") val dialog = CommitDialog(context, object : CommitDialogListener { override fun confirm() { //authenticationLoginAISubmit() @@ -161,7 +163,7 @@ class WorkTickerCustomListActivity : BaseActivityOaToolbarViewBinding0) { val dialog = CommitDialog(context, object : CommitDialogListener { override fun confirm() { + showLog("----------ticketIdList---------") showLog(GsonUtils.GsonString(ticketIdList)) showLog(ticketIdList.size.toString()) - //authenticationLoginAISubmit() + showLog("---------deleteIdList----------") + showLog(GsonUtils.GsonString(deleteIdList)) + showLog(deleteIdList.size.toString()) + authenticationLoginAISubmit() } override fun cancel() { @@ -196,6 +202,12 @@ class WorkTickerCustomListActivity : BaseActivityOaToolbarViewBinding?) { val result = response?.get() - showLog("----------------") + showLog("--------设置工作票作业日期成功--------") + showLog(url) showLog(result) val bean = GsonUtils.GsonToBean( result, diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkTickerHazardAddActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkTickerHazardAddActivity.kt new file mode 100644 index 0000000..9ecac08 --- /dev/null +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkTickerHazardAddActivity.kt @@ -0,0 +1,58 @@ +package com.rehome.zhdcoa.ui.activity + + +import android.content.Intent +import android.text.TextUtils +import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding +import com.rehome.zhdcoa.bean.WorkRiskLevelTipListBean +import com.rehome.zhdcoa.databinding.ActivityWorkTickerHazardAddBinding +import com.rehome.zhdcoa.utils.GsonUtils + + +/** + * Create By HuangWenFei + * 创建日期:2025-08-12 09:30 + * 描述:添加危害后果及防范措施 + */ +class WorkTickerHazardAddActivity : BaseActivityOaToolbarViewBinding() { + + override fun getViewBinding() = ActivityWorkTickerHazardAddBinding.inflate(layoutInflater) + + override fun getToolbar() = binding.toolbarView.toolbar + + override fun initView() { + + initToolbar("添加危害后果及防范措施", "") { + + } + + binding.tvSubmit.setOnClickListener { + if(checkInput()){ + val workRiskLevelTipListBean = WorkRiskLevelTipListBean() + workRiskLevelTipListBean.type=binding.etWhhg.text.toString().trim() + workRiskLevelTipListBean.precaution=binding.etFfcs.text.toString().trim() + //处理回填 + val intent = Intent() + intent.putExtra("hazard", GsonUtils.GsonString(workRiskLevelTipListBean)) + setResult(RESULT_OK, intent) + finish() + } + } + } + + override fun initData() { + + } + + private fun checkInput():Boolean { + if(TextUtils.isEmpty(binding.etWhhg.text.toString().trim())){ + showToast("危害后果必填") + return false + } + if(TextUtils.isEmpty(binding.etFfcs.text.toString().trim())){ + showToast("防范措施必填") + return false + } + return true; + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_work_ticker_custom_add.xml b/app/src/main/res/layout/activity_work_ticker_custom_add.xml index 5f58c02..db7b02c 100644 --- a/app/src/main/res/layout/activity_work_ticker_custom_add.xml +++ b/app/src/main/res/layout/activity_work_ticker_custom_add.xml @@ -237,7 +237,7 @@ - + + + android:src="@drawable/add_gray" /> diff --git a/app/src/main/res/layout/activity_work_ticker_hazard_add.xml b/app/src/main/res/layout/activity_work_ticker_hazard_add.xml new file mode 100644 index 0000000..8df15b1 --- /dev/null +++ b/app/src/main/res/layout/activity_work_ticker_hazard_add.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_item_work_risk_list_tip_modify.xml b/app/src/main/res/layout/adapter_item_work_risk_list_tip_modify.xml new file mode 100644 index 0000000..2a4d261 --- /dev/null +++ b/app/src/main/res/layout/adapter_item_work_risk_list_tip_modify.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_work_risk_list_tip_head.xml b/app/src/main/res/layout/item_work_risk_list_tip_head.xml new file mode 100644 index 0000000..69f8861 --- /dev/null +++ b/app/src/main/res/layout/item_work_risk_list_tip_head.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +