diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0d4826e..08b28b9 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1132,11 +1132,15 @@
+ android:theme="@android:style/Theme.Dialog" />
+
: AutoLayoutActivity() {
+
+ val REQUEST_CODE_ADD = 1
+ val REQUEST_CODE_AUDIT = 2
+
+ var userInfo: UserInfoBean.UserInfo? = null
+
+ protected lateinit var binding: T
+ protected lateinit var mToolbar: OAToolbarTwo
+ protected lateinit var context: Context
+ private var nfcAdapter: NfcAdapter? = null
+ private var readResult = ""
+ private var pendingIntent: PendingIntent? = null
+ private lateinit var mFilters: Array
+ private lateinit var mTechLists: Array>
+ private var isFirst = true
+ private var ndef: IntentFilter? = null
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = getViewBinding()
+ mToolbar = getToolbar()
+ setContentView(binding.root)
+ context = this
+ ControllerActivity.getAppManager().addActivity(this)
+ userInfo = App.getInstance().userInfo
+ initView()
+ initData()
+ }
+ //初始化ViewBinding
+ protected abstract fun getViewBinding(): T
+ //初始化OAToolbar
+ protected abstract fun getToolbar(): OAToolbarTwo
+ //初始化View
+ protected abstract fun initView()
+ //初始化数据
+ protected abstract fun initData()
+
+
+ fun startActivity(cls: Class?) {
+ val intent = Intent(this, cls)
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
+ startActivity(intent)
+ }
+
+ override fun onPause() {
+ super.onPause()
+ if (nfcAdapter != null) {
+ nfcAdapter!!.disableForegroundDispatch(this)
+ }
+ }
+
+ /*
+ * 重写onResume回调函数的意义在于处理多次读取NFC标签时的情况
+ */
+ override fun onResume() {
+ super.onResume()
+
+ // 前台分发系统,这里的作用在于第二次检测NFC标签时该应用有最高的捕获优先权.
+ if (nfcAdapter != null && pendingIntent != null) {
+ nfcAdapter!!.enableForegroundDispatch(
+ this, pendingIntent, mFilters,
+ mTechLists
+ )
+ }
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ ControllerActivity.getAppManager().finishActivity(this)
+ }
+
+ /**
+ * 显示toast
+ *
+ * @param text
+ */
+ fun showToast(text: String) {
+ Toast.makeText(this, text, Toast.LENGTH_SHORT).show()
+ }
+
+ fun showToast(id: Int) {
+ Toast.makeText(this, id, Toast.LENGTH_SHORT).show()
+ }
+
+ /**
+ * 检测工作,判断设备的NFC支持情况
+ *
+ * @return
+ */
+ private fun ifNFCUse(): Boolean {
+ if (nfcAdapter == null) {
+ Toast.makeText(this, "设备不支持NFC!", Toast.LENGTH_SHORT).show()
+ return false
+ }
+ if (!nfcAdapter!!.isEnabled) {
+ Toast.makeText(this, "请在系统设置中先启用NFC功能!", Toast.LENGTH_SHORT).show()
+ return false
+ }
+ return true
+ }
+
+ /**
+ * 初始化过程
+ */
+ fun initNFC() {
+
+ //NFC适配器,所有的关于NFC的操作从该适配器进行
+ nfcAdapter = NfcAdapter.getDefaultAdapter(this)
+ if (!ifNFCUse()) {
+ return
+ }
+ //将被调用的Intent,用于重复被Intent触发后将要执行的跳转
+ pendingIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
+ PendingIntent.getActivity(
+ this,
+ 0,
+ Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP),
+ PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
+ )
+ } else {
+ PendingIntent.getActivity(
+ this,
+ 0,
+ Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP),
+ PendingIntent.FLAG_UPDATE_CURRENT
+ )
+ }
+
+
+ //设定要过滤的标签动作,这里只接收ACTION_NDEF_DISCOVERED类型
+ ndef = IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED)
+ ndef!!.addCategory("*/*")
+ mFilters = arrayOf(ndef!!) // 过滤器
+ mTechLists = arrayOf(
+ arrayOf(NfcA::class.java.name), arrayOf(
+ NfcF::class.java.name
+ ), arrayOf(NfcB::class.java.name), arrayOf(
+ NfcV::class.java.name
+ ), arrayOf(MifareClassic::class.java.name), arrayOf(
+ MifareUltralight::class.java.name
+ ), arrayOf(IsoDep::class.java.name)
+ ) // 允许扫描的标签类型
+ if (isFirst) {
+ if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent
+ .action
+ ) {
+ ndef = IntentFilter()
+ if (readFromTag(intent)) {
+ Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show()
+ } else {
+ Toast.makeText(this, "标签数据为空", Toast.LENGTH_SHORT).show()
+ }
+ }
+ isFirst = false
+ }
+ }
+
+// private fun byteArrayToHexString(src: ByteArray?): String {
+// //converts byte arrays to string
+// if (src == null || src.isEmpty()) {
+// return ""
+// }
+// var i: Int
+// var j: Int=0
+// var k: Int
+// val hex = arrayOf("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F")
+// var out = ""
+// while (j < src.size) {
+// k = src[j].toInt() and 0xff
+// i = k shr 4 and 0x0f
+// out += hex[i]
+// i = k and 0x0f
+// out += hex[i]
+// ++j
+// }
+// return out
+// }
+
+ /**
+ * 2进制to 16进制
+ * @param src
+ * @return
+ */
+ private fun bytesToHex(src: ByteArray?): String {
+ val sb = StringBuffer()
+ if (src == null || src.isEmpty()) {
+ return ""
+ }
+ var sTemp: String
+ for (i in src.indices) {
+ sTemp = Integer.toHexString(0xFF and src[i].toInt())
+ if (sTemp.length < 2) {
+ sb.append(0)
+ }
+ sb.append(sTemp.uppercase(Locale.getDefault()))
+ }
+ return sb.toString()
+ }
+
+ /*
+ * 有必要要了解onNewIntent回调函数的调用时机,请自行上网查询
+ */
+ override fun onNewIntent(intent: Intent) {
+ super.onNewIntent(intent)
+ if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action || NfcAdapter.ACTION_TECH_DISCOVERED == intent.action) {
+ val id = bytesToHex(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID))
+ handleNfc(id)
+ }
+ }
+
+ /**
+ * 读取NFC标签数据的操作
+ */
+ private fun readFromTag(intent: Intent): Boolean {
+ if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) {
+ val rawArray = intent
+ .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
+ if (rawArray != null) {
+ val mNdefMsg = rawArray[0] as NdefMessage
+ val mNdefRecord = mNdefMsg.records[0]
+ if (mNdefRecord != null) {
+ readResult = String(mNdefRecord.payload, StandardCharsets.UTF_8)
+ return true
+ }
+ }
+ return false
+ }
+ return false
+ }
+
+ //处理NFC
+ open fun handleNfc(result: String) {
+ //showToast(result);
+ }
+
+ open fun initToolbar(title: String) {
+ mToolbar.setTvTitleText(title)
+ }
+
+ open fun setToolbarTitle(title: String) {
+ mToolbar.setTvTitleText(title)
+ }
+
+ open fun setTvRightTitle(text: String) {
+ mToolbar.setTvRightText(text)
+ }
+
+ open fun setLeftOnClickListener(listener: View.OnClickListener?) {
+ mToolbar.setIvLeftOnClickListener(listener)
+ mToolbar.setIvLeftIcon(R.drawable.ac_back_icon)
+ }
+
+ open fun getText(editText: EditText): String {
+ return editText.text.toString()
+ }
+
+ open fun setToolbarColor() {
+ mToolbar.setBackgroundColor(resources.getColor(R.color.lucency))
+ mToolbar.setTvTitleColor(resources.getColor(R.color.login_title_color))
+ }
+
+ protected open fun setStatusBar() {
+ StatusBarUtil.setColor(this, resources.getColor(R.color.colorPrimary))
+ }
+
+ fun initToolbar(
+ title: String,
+ rightText: String,
+ listenerRightClick: View.OnClickListener
+ ) {
+ mToolbar.setTvTitleText(title)
+ mToolbar.setTvRightText(rightText)
+ mToolbar.setIvLeftIcon(R.drawable.ac_back_icon)
+ mToolbar.setIvLeftOnClickListener {
+ finish()
+ }
+ mToolbar.setTvRightOnClickListener(listenerRightClick)
+ }
+
+ fun initToolbar(
+ title: String,
+ rightText: String,
+ listenerLeftClick: View.OnClickListener,
+ listenerRightClick: View.OnClickListener
+ ) {
+ mToolbar.setTvTitleText(title)
+ mToolbar.setTvRightText(rightText)
+ mToolbar.setIvLeftIcon(R.drawable.ac_back_icon)
+ mToolbar.setIvLeftOnClickListener(listenerLeftClick)
+ mToolbar.setTvRightOnClickListener(listenerRightClick)
+ }
+
+ fun initToolbar(
+ title: String,
+ rightText: String,
+ listenerLeftClick: View.OnClickListener,
+ listenerRightClick: View.OnClickListener,
+ listenerRightBottomClick: View.OnClickListener
+ ) {
+ mToolbar.setTvTitleText(title)
+ mToolbar.setTvRightText(rightText)
+ mToolbar.setIvLeftIcon(R.drawable.ac_back_icon)
+ mToolbar.setIvLeftOnClickListener(listenerLeftClick)
+ mToolbar.setTvRightOnClickListener(listenerRightClick)
+ mToolbar.setTvRightBottomOnClickListener(listenerRightBottomClick)
+ }
+
+ fun initToolbar(
+ title: String,
+ rightTextId: Int,
+ listenerLeftClick: View.OnClickListener,
+ listenerRightClick: View.OnClickListener
+ ) {
+ mToolbar.setTvTitleText(title)
+ mToolbar.setTvRightText(rightTextId)
+ mToolbar.setIvLeftIcon(R.drawable.ac_back_icon)
+ mToolbar.setIvLeftOnClickListener(listenerLeftClick)
+ mToolbar.setTvRightOnClickListener(listenerRightClick)
+ }
+ open fun showLog(logText: String?) {
+ if (isApkInDebug(context)) {
+ if (TextUtils.isEmpty(logText)) {
+ Log.i("app", "logText is null")
+ } else {
+ Log.i("app", logText!!)
+ }
+ }
+ }
+
+ /**
+ * 判断当前应用是否是debug状态
+ */
+ fun isApkInDebug(context: Context): Boolean {
+ try {
+ val info = context.applicationInfo
+ return (info.flags and ApplicationInfo.FLAG_DEBUGGABLE) != 0
+ } catch (e: Exception) {
+ return false
+ }
+ }
+}
\ No newline at end of file
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 5eb21c0..c957ef8 100644
--- a/app/src/main/java/com/rehome/zhdcoa/bean/WorkRiskLevelListBean.java
+++ b/app/src/main/java/com/rehome/zhdcoa/bean/WorkRiskLevelListBean.java
@@ -26,7 +26,7 @@ public class WorkRiskLevelListBean extends AIBaseBean{
//工作内容
private String content;
//记录号
- private int number;
+ private String number;
//工作票ID
private Integer id;
//工作票状态
@@ -35,7 +35,12 @@ public class WorkRiskLevelListBean extends AIBaseBean{
private String major;
//设置工作票人工号
private String jobNo;
+ //作业风险信息类型 ticket:工作票 assisting:辅助工作 custom:自定义
+ private String type;
+ //风险源危害对象数组
private List hazardList;
+ //工单编号
+ private String orderNo;
private boolean checked;//0:未选中,1:已选中
public String getCode() {
@@ -54,11 +59,11 @@ public class WorkRiskLevelListBean extends AIBaseBean{
this.content = content;
}
- public int getNumber() {
+ public String getNumber() {
return number;
}
- public void setNumber(int number) {
+ public void setNumber(String number) {
this.number = number;
}
@@ -117,5 +122,21 @@ public class WorkRiskLevelListBean extends AIBaseBean{
public void setJobNo(String jobNo) {
this.jobNo = jobNo;
}
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getOrderNo() {
+ return orderNo;
+ }
+
+ public void setOrderNo(String orderNo) {
+ this.orderNo = orderNo;
+ }
}
}
diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/CustomDialogChangeLevelActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/CustomDialogChangeLevelActivity.kt
index 0014aab..a257465 100644
--- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/CustomDialogChangeLevelActivity.kt
+++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/CustomDialogChangeLevelActivity.kt
@@ -35,6 +35,7 @@ class CustomDialogChangeLevelActivity : Activity() {
private var id: Int?=null
private var level: String?=null
+ private var type: String?=null
override fun onCreate(savedInstanceState: Bundle?) {
@@ -50,6 +51,7 @@ class CustomDialogChangeLevelActivity : Activity() {
id = intent.getIntExtra("id", 0)
level = intent.getStringExtra("level")
+ type = intent.getStringExtra("type")
if(level!=null){
if("A" == level){
binding.rb1.isChecked = true
@@ -260,6 +262,7 @@ class CustomDialogChangeLevelActivity : Activity() {
}
param["jobNo"]= App.getInstance().userInfo.manid
+ param["type"]=type?:"ticket"
if(binding.rb1.isChecked){
param["level"] = "A"
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 4b79e9d..ce5ddb7 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,6 +174,79 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() {
if (isApkInDebug(context)) {
// 管理员
+ binding.etUsername.setText("ZHPS_Admin")
+ binding.etPassword.setText("Rehome.zhps@996")
+
+
+ //公司内网215管理员
+// binding.etUsername.setText("ZHPS_Admin")
+// binding.etPassword.setText("Rehome.zhps@2020")
+
+
+
+// binding.etUsername.setText("310353")
+// binding.etPassword.setText("Zhps1382.")
+
+
+// binding.etUsername.setText("310691")
+// binding.etPassword.setText("Abcd*1234")
+
+// binding.etUsername.setText("990001")
+// binding.etPassword.setText("Bwfb@123")
+
+// binding.etUsername.setText("310295")
+// binding.etPassword.setText("Whk363521!")
+
+// binding.etUsername.setText("310675")
+// binding.etPassword.setText("Mj12345_")
+
+ //吴云强
+// binding.etUsername.setText("310430")
+// binding.etPassword.setText("Laq**201610")
+
+ //马
+// binding.etUsername.setText("310482")
+// binding.etPassword.setText("Maying2008!")
+ // 生产岗位 卢高波 可以进入巡视抄表
+// binding.etUsername.setText("310492")
+// binding.etPassword.setText("Dudu520520@")
+ //李昕逸 可以进入巡视抄表
+// binding.etUsername.setText("310677")
+// binding.etPassword.setText("LXY1997.qaz")
+
+ //陈坚标
+// binding.etUsername.setText("310063")
+// binding.etPassword.setText("ZHPs@040909")
+
+ ////郑佩障
+// binding.etUsername.setText("310569")
+// binding.etPassword.setText("sUnnY@0926")
+
+
+
+ //谭添欢
+// binding.etUsername.setText("310273")
+// binding.etPassword.setText("#Tth8680004")
+ //吴云强
+// binding.etUsername.setText("310430")
+// binding.etPassword.setText("Laq@201610")
+ //欧建荣
+// binding.etUsername.setText("310285")
+// binding.etPassword.setText("@Ojr310285")
+
+
+// binding.etUsername.setText("310561")
+// binding.etPassword.setText("Yangjing!0561")
+
+// binding.etUsername.setText("310534")
+// binding.etPassword.setText("abCd*1234")
+
+// binding.etUsername.setText("310291")
+// binding.etPassword.setText("sfd02910291Z+")
+// binding.etUsername.setText("310465")
+// binding.etPassword.setText("Liu524042*")
+// binding.etUsername.setText("310291")
+// binding.etPassword.setText("sfd02910291Z+")
}
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 ee44829..557bcc9 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
@@ -9,6 +9,7 @@ import androidx.activity.result.contract.ActivityResultContracts
import com.rehome.zhdcoa.Contans
import com.rehome.zhdcoa.R
import com.rehome.zhdcoa.adapter.WorkRiskLevelListAdapter
+import com.rehome.zhdcoa.base.BaseActivityOaToolbarTwoViewBinding
import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding
import com.rehome.zhdcoa.bean.WorkRiskLevelListBean
import com.rehome.zhdcoa.completionUtil.ReplaceSpan
@@ -41,6 +42,9 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding = mutableListOf()
private var jobNoList: MutableList = mutableListOf()
+ private var selectListAssistant: MutableList = mutableListOf()
+ private var jobNoListAssistant: MutableList = mutableListOf()
+
private var dataA: MutableList = mutableListOf()
private var dataB: MutableList = mutableListOf()
private var dataC1: MutableList = mutableListOf()
@@ -57,19 +61,9 @@ class WorkRiskListActivity : BaseActivityOaToolbarViewBinding() {
+
+ //private lateinit var headView: View
+ //private lateinit var cb: CheckBox
+
+ private var datas: MutableList = mutableListOf()
+ private lateinit var mAdapter: WorkTickerSelectListAdapter
+
+ //工作票主键数组,来源查询每日作业风险清单
+ private var ticketIdList : MutableList = mutableListOf()
+ //要取消的工作票主键
+ private var deleteIdList : MutableList = mutableListOf()
+
+ private var selectList: MutableList = mutableListOf()
+ private var jobNoList: MutableList = mutableListOf()
+
+
+ private lateinit var calendar: Calendar
+
+ //格式化日期的对象(转化成习惯的时间格式)
+ private val sdFormat = SimpleDateFormat("yyyy-MM-dd")
+
+ override fun getViewBinding() = ActivityWorkTickerAssistantSelectListBinding.inflate(layoutInflater)
+
+ override fun getToolbar() = binding.toolbarView.toolbar
+
+ override fun initView() {
+
+ initToolbar("已许可辅助工作票", "") {
+ //提交
+ }
+
+ resetToday()
+
+ val selectListStr = intent.getStringExtra("selectList")!!
+ showLog(selectListStr)
+ val gson = Gson()
+ val selectListTemp:MutableList = gson.fromJson>(selectListStr,object:TypeToken>() {}.type)
+ showLog(GsonUtils.GsonString(selectListTemp))
+ if(selectListTemp.isNotEmpty()){
+ selectList.addAll(selectListTemp)
+ }
+
+ val jobNoListStr = intent.getStringExtra("jobNoList")!!
+ showLog(jobNoListStr)
+ val jobNoListTemp:MutableList = gson.fromJson>(jobNoListStr,object:TypeToken>() {}.type)
+ showLog(GsonUtils.GsonString(jobNoListTemp))
+ if(jobNoListTemp.isNotEmpty()){
+ jobNoList.addAll(jobNoListTemp)
+ }
+
+
+ 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(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()
+ }
+ deleteIdList.clear()
+ } else {
+ for (i in datas.indices) {
+ datas[i].isChecked = false
+ mAdapter.notifyDataSetChanged()
+ }
+ if(selectList.size>0){
+ deleteIdList.addAll(selectList)
+ }
+ }
+ }
+
+ 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.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||deleteIdList.size>0) {
+ val dialog = CommitDialog(context, object : CommitDialogListener {
+ override fun confirm() {
+ showLog(GsonUtils.GsonString(ticketIdList))
+ authenticationLoginAISubmit()
+ }
+
+ override fun cancel() {
+ }
+ })
+ dialog.setTvMsg("您确定要设置辅助工作票作业?")
+ dialog.show()
+ }else{
+ showToast("致少选择一个工作票才能提交")
+ }
+ }
+ }
+
+ 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 url = Contans.BASE_URL_AI_3D_SERVER + Contans.DAYLY_RISK_LIST_NEW_ASSISTANT
+ val request = NoHttp.createStringRequest(url,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 {
+
+ override fun onSucceed(what: Int, response: Response?) {
+ val result = response?.get()
+ showLog("----------------")
+ showLog(url)
+ showLog(result)
+ val bean = GsonUtils.GsonToBean(
+ result,
+ WorkRiskLevelListBean::class.java
+ )
+ if (bean != null && bean.data != null) {
+ val workRiskLevelLists = bean.data
+ if (workRiskLevelLists != null && workRiskLevelLists.isNotEmpty()) {
+ binding.tvNodata.visibility = View.GONE
+ datas.clear()
+
+ if(selectList.isNotEmpty()){
+ for (i in workRiskLevelLists.indices) {
+ for (j in selectList.indices) {
+ if (workRiskLevelLists[i].id==selectList[j]) {
+ workRiskLevelLists[i].isChecked = true
+ workRiskLevelLists[i].jobNo = jobNoList[j]
+ }
+ }
+ }
+ }
+
+ 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?) {
+
+ }
+ })
+ }
+
+ private fun resetToday(){
+ calendar = Calendar.getInstance()
+ val startDateStr = sdFormat.format(calendar.time)
+ showLog("今天:")
+ showLog(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()
+ param["assignmentDate"] = binding.tvSt.text.toString().trim()
+ param["ticketIdList"] = ticketIdList
+ param["deleteIdList"]= deleteIdList
+ param["jobNo"]= App.getInstance().userInfo.manid
+ param["type"]= "assisting"
+
+ 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/ui/activity/WorkTickerSelectListActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkTickerSelectListActivity.kt
index b2f78dc..b45d5a3 100644
--- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkTickerSelectListActivity.kt
+++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WorkTickerSelectListActivity.kt
@@ -155,7 +155,7 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding0) {
val dialog = CommitDialog(context, object : CommitDialogListener {
override fun confirm() {
showLog(GsonUtils.GsonString(ticketIdList))
@@ -304,6 +304,7 @@ class WorkTickerSelectListActivity : BaseActivityOaToolbarViewBinding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:background="#aaaaaa" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_base_two.xml b/app/src/main/res/layout/layout_base_two.xml
new file mode 100644
index 0000000..8e1122d
--- /dev/null
+++ b/app/src/main/res/layout/layout_base_two.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/toolbartwo.xml b/app/src/main/res/layout/toolbartwo.xml
new file mode 100644
index 0000000..6919e11
--- /dev/null
+++ b/app/src/main/res/layout/toolbartwo.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file