git 添加已授权工作票页面

master
hwf452 9 months ago
parent de1ec375ad
commit 07b414976a

@ -0,0 +1,208 @@
package com.rehome.zhdcoa.ui.activity
import android.content.Intent
import android.view.View
import android.widget.CheckBox
import com.rehome.zhdcoa.Contans
import com.rehome.zhdcoa.adapter.WorkTickerSelectListAdapter
import com.rehome.zhdcoa.adapter.WorkTickerSelectListAdapter.CallBack
import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding
import com.rehome.zhdcoa.bean.WorkRiskLevelListBean
import com.rehome.zhdcoa.databinding.ActivityWorkTickerSelectListBinding
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.DatePickDialogNew
import com.yolanda.nohttp.NoHttp
import com.yolanda.nohttp.RequestMethod
import com.yolanda.nohttp.rest.Response
import java.text.SimpleDateFormat
import java.util.Calendar
import javax.net.ssl.HostnameVerifier
/**
* Create By HuangWenFei
* 创建日期2025-02-6 15:31
* 描述已审批的工作票
*/
class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding<ActivityWorkTickerSelectListBinding>() {
//private lateinit var headView: View
//private lateinit var cb: CheckBox
private var datas: MutableList<WorkRiskLevelListBean.RowsBean> = mutableListOf()
private lateinit var mAdapter: WorkTickerSelectListAdapter
//WorkTickerSelectListAdapter
private var selectList: MutableList<String> = mutableListOf()
private lateinit var calendar: Calendar
//格式化日期的对象(转化成习惯的时间格式)
private val sdFormat = SimpleDateFormat("yyyy-MM-dd")
override fun getViewBinding() = ActivityWorkTickerSelectListBinding.inflate(layoutInflater)
override fun getToolbar() = binding.toolbarView.toolbar
override fun initView() {
initToolbar("已授权工作票", "") {
//提交
}
resetToday()
binding.tvSt.setOnClickListener(View.OnClickListener { view: View? ->
val dialog = DatePickDialogNew(
context, calendar
) { outPutDate: String,calendarBack:Calendar ->
binding.tvSt.text = outPutDate
calendar = calendarBack;
//checkServerConnectStatus()
}
dialog.show()
})
binding.lv.emptyView = binding.tvNodata
//headView = View.inflate(this, R.layout.header_work_ticket_select_list, null)
//cb = headView.findViewById<View>(R.id.cb) as CheckBox
binding.itemHead.cb.setOnClickListener {
if (binding.itemHead.cb.isChecked) {
for (i in datas.indices) {
datas[i].isChecked = true
mAdapter.notifyDataSetChanged()
}
} else {
for (i in datas.indices) {
datas[i].isChecked = false
mAdapter.notifyDataSetChanged()
}
}
}
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++
}
}
binding.itemHead.cb.isChecked = count == datas.size
mAdapter.notifyDataSetChanged()
}
})
//binding.lv.addHeaderView(headView, null, false)
binding.lv.adapter = mAdapter
binding.tvSubmit.setOnClickListener {
}
//格式化日期的对象(转化成习惯的时间格式)
val sdFormat = SimpleDateFormat("yyyy.MM.dd")
//静态方法getInstance()使用默认时区和语言环境获得一个日历。
val calendar = Calendar.getInstance()
//输出当前系统时间;
//binding.tvTime.text = sdFormat.format(calendar.time)
}
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.authenticationAILoginShowProgress(
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_NEW,
RequestMethod.GET
)
request.add("filter",false);
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,
WorkRiskLevelListBean::class.java
)
if (bean != null && bean.data != null) {
val workRiskLevelLists = bean.data
if (workRiskLevelLists != null && workRiskLevelLists.size > 0) {
binding.tvNodata.visibility = View.GONE
datas.clear()
datas.addAll(workRiskLevelLists)
mAdapter.notifyDataSetChanged()
for(item in datas){
showLog(GsonUtils.GsonString(item))
// if(item.level!=null&&item.level=="A"){
// dataA.add(item)
// }
}
} else {
binding.tvNodata.visibility = View.VISIBLE
}
}
}
override fun onFailed(what: Int, response: Response<String?>?) {
}
})
}
private fun resetToday(){
calendar = Calendar.getInstance()
val startDateStr = sdFormat.format(calendar.time)
showLog("今天:")
showLog(startDateStr)
binding.tvSt.text = startDateStr
}
}

@ -0,0 +1,167 @@
package com.rehome.zhdcoa.weiget;
import android.app.Dialog;
import android.content.Context;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import androidx.annotation.NonNull;
import com.rehome.zhdcoa.R;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
*
* Created by Rehome-rjb1 on 2017/4/10.
*/
public class DatePickDialogNew extends Dialog implements DatePicker.OnDateChangedListener,
TimePicker.OnTimeChangedListener {
private final TextView tv_dialog_title;
private TextView tv_dialog_msg;
private final TextView tv_dialog_commit;
private final TextView tv_dialog_cancel;
private final View lay_dialog_title;
private final View lay_dialog_cancel;
private View lay_dialog_commit;
private final CommitClickListener commitClickListener;
private final DatePicker datePicker;
private String outPutDateTime;
private Calendar calendarBack = Calendar.getInstance();
//private final Calendar nowCalendar = Calendar.getInstance();//现在时间
//private Calendar tempCalendar = Calendar.getInstance();//历史时间
//private final SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
//private final SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
private final SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy-MM-dd");
//private final SimpleDateFormat simpleDateFormat4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public DatePickDialogNew(Context context, Calendar calendar,CommitClickListener commitClickListener) {
super(context);
this.commitClickListener = commitClickListener;
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
setContentView(R.layout.layout_date_tj_dialog);
Window window = getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = (getScreenWidth(context)) * 4 / 5;
window.setGravity(Gravity.CENTER);
lay_dialog_title = findViewById(R.id.lay_dialog_title);
tv_dialog_title = findViewById(R.id.dialog_title);
lay_dialog_cancel = findViewById(R.id.lay_dialog_cancel);
// lay_dialog_commit = findViewById(R.id.lay_dialog_commit);
tv_dialog_cancel = findViewById(R.id.dialog_cancel);
tv_dialog_commit = findViewById(R.id.dialog_commit);
datePicker = findViewById(R.id.datePicker);
//this.calendar=calendar;
initDateTime(datePicker, calendar);
tv_dialog_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
tv_dialog_commit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
commitClickListener.confirm(outPutDateTime,calendarBack);
dismiss();
}
});
}
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
onDateChanged(null, 0, 0, 0);
}
/**
*
*
* @param view
* @param year
* @param monthOfYear
* @param dayOfMonth
*/
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// tempCalendar.set(datePicker.getYear(), datePicker.getMonth(),
// datePicker.getDayOfMonth(), 0,
// 0,0);
/**
*
*/
//calendar = tempCalendar;
Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(),
datePicker.getDayOfMonth(), 0,
0,0);
calendarBack = calendar;
outPutDateTime = simpleDateFormat3.format(calendar.getTime());
tv_dialog_title.setText(outPutDateTime);
}
/**
*
*
* @param datePicker
* @param calendar
*/
private void initDateTime(DatePicker datePicker, Calendar calendar) {
//calendar.add(Calendar.DATE, 1);
datePicker.init(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH), this);
//设置不显示年
((ViewGroup) ((ViewGroup) datePicker.getChildAt(0)).getChildAt(0)).getChildAt(0).setVisibility(View.VISIBLE);
calendar.set(datePicker.getYear(), datePicker.getMonth(),
datePicker.getDayOfMonth(), 0,
0,0);
tv_dialog_title.setText(simpleDateFormat3.format(calendar.getTime()));
//tempCalendar = calendar;
outPutDateTime = simpleDateFormat3.format(calendar.getTime());
}
public interface CommitClickListener {
/**
* @param outPutDate
*/
void confirm(@NonNull String outPutDate,@NonNull Calendar calendarBack);
}
//获取屏幕宽度
public static int getScreenWidth(Context context) {
WindowManager manager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
return display.getWidth();
}
}

@ -0,0 +1,88 @@
<?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:orientation="vertical"
tools:context=".ui.activity.WorkTickerSelectListActivity">
<include
android:id="@+id/toolbarView"
layout="@layout/layout_base" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#dddddd"
android:padding="5dp"
android:minHeight="30px">
<TextView
android:id="@+id/tv_zxsj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5px"
android:gravity="center"
android:minHeight="50px"
android:text="作业风险清单日期:"
android:textSize="24px" />
<TextView
android:id="@+id/tv_st"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5px"
android:layout_weight="1"
android:gravity="center_vertical"
android:minHeight="50px"
android:textColor="@color/colorPrimaryDark"
android:text=""
android:textSize="24px" />
</LinearLayout>
<include
android:id="@+id/item_head"
layout="@layout/header_work_ticket_select_list"
android:layout_width="match_parent"
android:layout_marginStart="10px"
android:layout_marginEnd="10px"
android:layout_marginTop="5dp"
android:layout_height="wrap_content" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="10px"
android:layout_marginEnd="10px"
android:layout_marginBottom="10px"
android:layout_weight="1">
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#00000000"
android:dividerHeight="0px"/>
<TextView
android:id="@+id/tv_nodata"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/viewfinder_mask"
android:gravity="center"
android:text="暂无数据"/>
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/colorPrimary"
android:orientation="vertical">
<TextView
android:id="@+id/tv_submit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/white"
android:gravity="center"
android:textSize="18sp"
android:text="提交"/>
</LinearLayout>
</LinearLayout>

@ -0,0 +1,99 @@
<?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="wrap_content"
android:gravity="center"
android:minHeight="62px"
android:orientation="vertical">
<View
android:id="@+id/head"
android:layout_width="match_parent"
android:layout_height="1dp"
android:visibility="invisible"
android:background="#524658"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="60px">
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.5"
android:gravity="center">
<CheckBox
android:id="@+id/cb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false" />
</LinearLayout>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_paiHao"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.7"
android:gravity="center"
android:text="工作票号" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginLeft="10px"
android:layout_weight="2"
android:text="工作内容" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_level"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginLeft="10px"
android:layout_weight="0.7"
android:text="风险等级" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#524658" />
</LinearLayout>

@ -0,0 +1,98 @@
<?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="wrap_content"
android:gravity="center"
android:minHeight="62px"
android:orientation="vertical">
<View
android:id="@+id/head"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#524658"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="60px">
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.5"
android:gravity="center">
<CheckBox
android:id="@+id/cb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false" />
</LinearLayout>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_paiHao"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.7"
android:gravity="center"
android:text="工作票号" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginLeft="10px"
android:layout_weight="2"
android:text="工作内容" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
<TextView
android:id="@+id/tv_level"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginLeft="10px"
android:layout_weight="0.7"
android:text="风险等级" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#524658" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#524658" />
</LinearLayout>
Loading…
Cancel
Save