已授权工作票页面完成

master
hwf452 9 months ago
parent 07b414976a
commit af70017260

@ -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_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_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"; public final static String DAYLY_RISK_LIST_NEW = "sc_v1/api/ticket/active/listSummaryTicketAndLevel";

@ -28,7 +28,7 @@ public class WorkRiskLevelListBean extends AIBaseBean{
//记录号 //记录号
private int number; private int number;
//工作票ID //工作票ID
private String id; private Integer id;
//工作票状态 //工作票状态
private String status; private String status;
private List<HazardListBean> hazardList; private List<HazardListBean> hazardList;
@ -58,11 +58,11 @@ public class WorkRiskLevelListBean extends AIBaseBean{
this.number = number; this.number = number;
} }
public String getId() { public Integer getId() {
return id; return id;
} }
public void setId(String id) { public void setId(Integer id) {
this.id = id; this.id = id;
} }

@ -174,8 +174,8 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
if (isApkInDebug(context)) { if (isApkInDebug(context)) {
// 管理员 // 管理员
binding.etUsername.setText("ZHPS_Admin") // binding.etUsername.setText("ZHPS_Admin")
binding.etPassword.setText("Rehome.zhps@996") // binding.etPassword.setText("Rehome.zhps@996")
//公司内网215管理员 //公司内网215管理员
// binding.etUsername.setText("ZHPS_Admin") // binding.etUsername.setText("ZHPS_Admin")

@ -32,7 +32,7 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkRiskLi
private var datas: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf() private var datas: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf()
private lateinit var mAdapter: WorkRiskLevelListAdapter private lateinit var mAdapter: WorkRiskLevelListAdapter
private var selectList: MutableList<String> = mutableListOf() private var selectList: MutableList<Int> = mutableListOf()
private var dataA: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf() private var dataA: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf()
private var dataB: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf() private var dataB: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf()
@ -52,7 +52,7 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkRiskLi
//进入风险提示页面 WorkTickerSelectListActivity //进入风险提示页面 WorkTickerSelectListActivity
val intent = Intent(context, WorkTickerSelectListActivity::class.java) val intent = Intent(context, WorkTickerSelectListActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
intent.putExtra("ticketIdList", GsonUtils.GsonString(selectList)) intent.putExtra("selectList", GsonUtils.GsonString(selectList))
startActivity(intent) startActivity(intent)
} }
@ -109,6 +109,11 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkRiskLi
authenticationLoginAI() authenticationLoginAI()
} }
override fun onRestart() {
super.onRestart()
authenticationLoginAI()
}
private fun authenticationLoginAI() { private fun authenticationLoginAI() {
try { try {
//AI三维登录接口 //AI三维登录接口
@ -175,7 +180,9 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkRiskLi
dataLowRisk.clear() dataLowRisk.clear()
selectList.clear()
for(item in datas){ for(item in datas){
selectList.add(item.id)
showLog(GsonUtils.GsonString(item)) showLog(GsonUtils.GsonString(item))
if(item.level!=null&&item.level=="A"){ if(item.level!=null&&item.level=="A"){
dataA.add(item) dataA.add(item)

@ -1,12 +1,14 @@
package com.rehome.zhdcoa.ui.activity package com.rehome.zhdcoa.ui.activity
import android.content.Intent
import android.view.View import android.view.View
import android.widget.CheckBox import android.widget.CheckBox
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.luck.picture.lib.entity.LocalMedia
import com.rehome.zhdcoa.Contans import com.rehome.zhdcoa.Contans
import com.rehome.zhdcoa.adapter.WorkTickerSelectListAdapter import com.rehome.zhdcoa.adapter.WorkTickerSelectListAdapter
import com.rehome.zhdcoa.adapter.WorkTickerSelectListAdapter.CallBack
import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding
import com.rehome.zhdcoa.bean.AIBaseBean
import com.rehome.zhdcoa.bean.WorkRiskLevelListBean import com.rehome.zhdcoa.bean.WorkRiskLevelListBean
import com.rehome.zhdcoa.databinding.ActivityWorkTickerSelectListBinding import com.rehome.zhdcoa.databinding.ActivityWorkTickerSelectListBinding
import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils
@ -14,6 +16,7 @@ import com.rehome.zhdcoa.utils.GsonUtils
import com.rehome.zhdcoa.utils.HttpListener import com.rehome.zhdcoa.utils.HttpListener
import com.rehome.zhdcoa.utils.NohttpUtils import com.rehome.zhdcoa.utils.NohttpUtils
import com.rehome.zhdcoa.utils.RSAAndroid import com.rehome.zhdcoa.utils.RSAAndroid
import com.rehome.zhdcoa.weiget.ConfirmDialog
import com.rehome.zhdcoa.weiget.DatePickDialogNew import com.rehome.zhdcoa.weiget.DatePickDialogNew
import com.yolanda.nohttp.NoHttp import com.yolanda.nohttp.NoHttp
import com.yolanda.nohttp.RequestMethod import com.yolanda.nohttp.RequestMethod
@ -35,9 +38,13 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding<ActivityWo
private var datas: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf() private var datas: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf()
private lateinit var mAdapter: WorkTickerSelectListAdapter private lateinit var mAdapter: WorkTickerSelectListAdapter
//WorkTickerSelectListAdapter
private var selectList: MutableList<String> = mutableListOf() //工作票主键数组,来源查询每日作业风险清单
private var ticketIdList : MutableList<Int> = mutableListOf()
//要取消的工作票主键
private var deleteIdList : MutableList<Int> = mutableListOf()
private var selectList: MutableList<Int> = mutableListOf()
private lateinit var calendar: Calendar private lateinit var calendar: Calendar
//格式化日期的对象(转化成习惯的时间格式) //格式化日期的对象(转化成习惯的时间格式)
@ -49,12 +56,23 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding<ActivityWo
override fun initView() { override fun initView() {
initToolbar("授权工作票", "") { initToolbar("许可工作票", "") {
//提交 //提交
} }
resetToday() resetToday()
val selectListStr = intent.getStringExtra("selectList")!!
showLog(selectListStr)
val gson = Gson()
// if("".equals(selectListStr))
val selectListTemp:MutableList<Int> = gson.fromJson<MutableList<Int>>(selectListStr,object:TypeToken<MutableList<Int>>() {}.type)
showLog(GsonUtils.GsonString(selectListTemp))
if(selectListTemp.isNotEmpty()){
selectList.addAll(selectListTemp)
}
binding.tvSt.setOnClickListener(View.OnClickListener { view: View? -> binding.tvSt.setOnClickListener(View.OnClickListener { view: View? ->
val dialog = DatePickDialogNew( val dialog = DatePickDialogNew(
@ -76,35 +94,58 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding<ActivityWo
datas[i].isChecked = true datas[i].isChecked = true
mAdapter.notifyDataSetChanged() mAdapter.notifyDataSetChanged()
} }
deleteIdList.clear()
} else { } else {
for (i in datas.indices) { for (i in datas.indices) {
datas[i].isChecked = false datas[i].isChecked = false
mAdapter.notifyDataSetChanged() mAdapter.notifyDataSetChanged()
} }
if(selectList.size>0){
deleteIdList.addAll(selectList)
}
} }
} }
mAdapter = WorkTickerSelectListAdapter(this,datas,object:CallBack{ mAdapter = WorkTickerSelectListAdapter(this,datas) { view, position ->
override fun Click(view: View,position:Int) { val checkBox = view as CheckBox
val checkBox = view as CheckBox datas[position].isChecked = checkBox.isChecked
datas[position].isChecked = checkBox.isChecked var count = 0
var count = 0 for (a in datas.indices) {
for (a in datas.indices) { if (datas[a].isChecked) {
if (datas[a].isChecked) { count++
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.itemHead.cb.isChecked = count == datas.size
//binding.lv.addHeaderView(headView, null, false) mAdapter.notifyDataSetChanged()
}
binding.lv.adapter = mAdapter binding.lv.adapter = mAdapter
binding.tvSubmit.setOnClickListener { 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<ActivityWo
if (workRiskLevelLists != null && workRiskLevelLists.size > 0) { if (workRiskLevelLists != null && workRiskLevelLists.size > 0) {
binding.tvNodata.visibility = View.GONE binding.tvNodata.visibility = View.GONE
datas.clear() 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) datas.addAll(workRiskLevelLists)
mAdapter.notifyDataSetChanged() mAdapter.notifyDataSetChanged()
@ -205,4 +257,84 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding<ActivityWo
binding.tvSt.text = startDateStr binding.tvSt.text = startDateStr
} }
private fun authenticationLoginAISubmit() {
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 {
submitWorkTicketData()
}
}
} catch (e: Exception) {
e.printStackTrace()
}
}
private fun getSubmitJsonData(): String {
val param = HashMap<String, Any>()
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<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
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<String?>?) {
}
})
}
} }

@ -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();
}
}
Loading…
Cancel
Save