diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml new file mode 100644 index 0000000..df70edb --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml new file mode 100644 index 0000000..df70edb --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml index 8e224c0..a6b3fe6 100644 --- a/app/src/main/res/layout/activity_notice_list.xml +++ b/app/src/main/res/layout/activity_notice_list.xml @@ -36,7 +36,7 @@ android:layout_height="match_parent" android:layout_alignParentEnd="true" android:paddingHorizontal="@dimen/dp_10" - android:src="@drawable/ic_read_notice" /> + android:src="@mipmap/message_blue" /> + android:src="@mipmap/notice" /> +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml new file mode 100644 index 0000000..df70edb --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml index 8e224c0..a6b3fe6 100644 --- a/app/src/main/res/layout/activity_notice_list.xml +++ b/app/src/main/res/layout/activity_notice_list.xml @@ -36,7 +36,7 @@ android:layout_height="match_parent" android:layout_alignParentEnd="true" android:paddingHorizontal="@dimen/dp_10" - android:src="@drawable/ic_read_notice" /> + android:src="@mipmap/message_blue" /> + android:src="@mipmap/notice" /> - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml new file mode 100644 index 0000000..df70edb --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml index 8e224c0..a6b3fe6 100644 --- a/app/src/main/res/layout/activity_notice_list.xml +++ b/app/src/main/res/layout/activity_notice_list.xml @@ -36,7 +36,7 @@ android:layout_height="match_parent" android:layout_alignParentEnd="true" android:paddingHorizontal="@dimen/dp_10" - android:src="@drawable/ic_read_notice" /> + android:src="@mipmap/message_blue" /> + android:src="@mipmap/notice" /> - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_staff.xml b/app/src/main/res/layout/fragment_device_measurement_staff.xml new file mode 100644 index 0000000..fa45c10 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_staff.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml new file mode 100644 index 0000000..df70edb --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml index 8e224c0..a6b3fe6 100644 --- a/app/src/main/res/layout/activity_notice_list.xml +++ b/app/src/main/res/layout/activity_notice_list.xml @@ -36,7 +36,7 @@ android:layout_height="match_parent" android:layout_alignParentEnd="true" android:paddingHorizontal="@dimen/dp_10" - android:src="@drawable/ic_read_notice" /> + android:src="@mipmap/message_blue" /> + android:src="@mipmap/notice" /> - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_staff.xml b/app/src/main/res/layout/fragment_device_measurement_staff.xml new file mode 100644 index 0000000..fa45c10 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_staff.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml index 77d9ef6..fa45c10 100644 --- a/app/src/main/res/layout/fragment_device_support_equipment.xml +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -1,6 +1,12 @@ - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml new file mode 100644 index 0000000..df70edb --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml index 8e224c0..a6b3fe6 100644 --- a/app/src/main/res/layout/activity_notice_list.xml +++ b/app/src/main/res/layout/activity_notice_list.xml @@ -36,7 +36,7 @@ android:layout_height="match_parent" android:layout_alignParentEnd="true" android:paddingHorizontal="@dimen/dp_10" - android:src="@drawable/ic_read_notice" /> + android:src="@mipmap/message_blue" /> + android:src="@mipmap/notice" /> - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_staff.xml b/app/src/main/res/layout/fragment_device_measurement_staff.xml new file mode 100644 index 0000000..fa45c10 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_staff.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml index 77d9ef6..fa45c10 100644 --- a/app/src/main/res/layout/fragment_device_support_equipment.xml +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -1,6 +1,12 @@ - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 7ede07b..e8acef6 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -90,11 +90,11 @@ android:layout_margin="@dimen/dp_10" android:background="@drawable/bg_solid_layout_white_radius_5" android:gravity="center_vertical" - android:padding="@dimen/dp_10"> + android:padding="@dimen/dp_7"> + android:textSize="@dimen/sp_12" /> + android:textSize="@dimen/sp_12" /> +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml new file mode 100644 index 0000000..df70edb --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml index 8e224c0..a6b3fe6 100644 --- a/app/src/main/res/layout/activity_notice_list.xml +++ b/app/src/main/res/layout/activity_notice_list.xml @@ -36,7 +36,7 @@ android:layout_height="match_parent" android:layout_alignParentEnd="true" android:paddingHorizontal="@dimen/dp_10" - android:src="@drawable/ic_read_notice" /> + android:src="@mipmap/message_blue" /> + android:src="@mipmap/notice" /> - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_staff.xml b/app/src/main/res/layout/fragment_device_measurement_staff.xml new file mode 100644 index 0000000..fa45c10 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_staff.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml index 77d9ef6..fa45c10 100644 --- a/app/src/main/res/layout/fragment_device_support_equipment.xml +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -1,6 +1,12 @@ - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 7ede07b..e8acef6 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -90,11 +90,11 @@ android:layout_margin="@dimen/dp_10" android:background="@drawable/bg_solid_layout_white_radius_5" android:gravity="center_vertical" - android:padding="@dimen/dp_10"> + android:padding="@dimen/dp_7"> + android:textSize="@dimen/sp_12" /> + android:textSize="@dimen/sp_12" /> + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml new file mode 100644 index 0000000..df70edb --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml index 8e224c0..a6b3fe6 100644 --- a/app/src/main/res/layout/activity_notice_list.xml +++ b/app/src/main/res/layout/activity_notice_list.xml @@ -36,7 +36,7 @@ android:layout_height="match_parent" android:layout_alignParentEnd="true" android:paddingHorizontal="@dimen/dp_10" - android:src="@drawable/ic_read_notice" /> + android:src="@mipmap/message_blue" /> + android:src="@mipmap/notice" /> - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_staff.xml b/app/src/main/res/layout/fragment_device_measurement_staff.xml new file mode 100644 index 0000000..fa45c10 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_staff.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml index 77d9ef6..fa45c10 100644 --- a/app/src/main/res/layout/fragment_device_support_equipment.xml +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -1,6 +1,12 @@ - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 7ede07b..e8acef6 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -90,11 +90,11 @@ android:layout_margin="@dimen/dp_10" android:background="@drawable/bg_solid_layout_white_radius_5" android:gravity="center_vertical" - android:padding="@dimen/dp_10"> + android:padding="@dimen/dp_7"> + android:textSize="@dimen/sp_12" /> + android:textSize="@dimen/sp_12" /> + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_staff_rv_l.xml b/app/src/main/res/layout/item_staff_rv_l.xml new file mode 100644 index 0000000..136f913 --- /dev/null +++ b/app/src/main/res/layout/item_staff_rv_l.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt new file mode 100644 index 0000000..44d2fe0 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/StaffListAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.StaffListModel + +class StaffListAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_staff_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.name.last().toString() + holder.userNameView.text = + rowsBean.name + "【" + rowsBean.deptId + "】" + rowsBean.staffNo + holder.certificateView.text = "证书编号:${rowsBean.verifierCertificateNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.certificateDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var userNameView: TextView = view.findViewById(R.id.userNameView) + var certificateView: TextView = view.findViewById(R.id.certificateView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt new file mode 100644 index 0000000..a465d56 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/SupportEquipmentAdapter.kt @@ -0,0 +1,40 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.SupportEquipmentModel + +class SupportEquipmentAdapter( + context: Context, private val dataRows: MutableList +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_device_support_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.nameTagView.text = rowsBean.equipmentName.last().toString() + holder.deviceNameView.text = + rowsBean.equipmentName + "【" + rowsBean.useDeptName + "】" + rowsBean.modelNo + holder.deviceCodeView.text = "设备编号:${rowsBean.equipmentNo}" + holder.expirationDateView.text = "有效期至:${rowsBean.validDate}" + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var nameTagView: TextView = view.findViewById(R.id.nameTagView) + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var expirationDateView: TextView = view.findViewById(R.id.expirationDateView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt deleted file mode 100644 index f8cef5c..0000000 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.xz.meterage.fragment.device - -import com.casic.xz.meterage.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class MeasurementPersonFragment : KotlinBaseFragment() { - override fun initData() { - - } - - override fun initEvent() { - - } - - override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt new file mode 100644 index 0000000..771e563 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementStaffFragment.kt @@ -0,0 +1,43 @@ +package com.casic.xz.meterage.fragment.device + +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StaffListAdapter +import com.casic.xz.meterage.vm.MeterageStaffViewModel +import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* + +class MeasurementStaffFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var staffViewModel: MeterageStaffViewModel + private lateinit var staffListAdapter: StaffListAdapter + + override fun initData() { + staffViewModel = ViewModelProvider(this)[MeterageStaffViewModel::class.java] + staffViewModel.getStaffList(id) + staffViewModel.staffResult.observe(this) { + if (it.code == 200) { + staffListAdapter = StaffListAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = staffListAdapter + } + } + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_staff + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt index c00693d..c4e9912 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -1,11 +1,30 @@ package com.casic.xz.meterage.fragment.device +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.SupportEquipmentAdapter +import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_device_measurement_staff.* -class SupportEquipmentFragment : KotlinBaseFragment() { +class SupportEquipmentFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var supportEquipmentAdapter: SupportEquipmentAdapter + override fun initData() { - + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getSupportEquipment(id) + equipmentViewModel.supportEquipmentResult.observe(this) { + if (it.code == 200) { + supportEquipmentAdapter = SupportEquipmentAdapter(requireContext(), it.data.rows) + staffRecyclerView.addItemDecoration( + DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL) + ) + staffRecyclerView.adapter = supportEquipmentAdapter + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java new file mode 100644 index 0000000..63bb058 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StaffListModel.java @@ -0,0 +1,184 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StaffListModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String certificateDate; + private String createTime; + private String createUser; + private String deptId; + private String id; + private String isDel; + private String major; + private String name; + private String remark; + private String staffNo; + private String standardEquipmentId; + private String updateTime; + private String userId; + private String verifierCertificateNo; + + public String getCertificateDate() { + return certificateDate; + } + + public void setCertificateDate(String certificateDate) { + this.certificateDate = certificateDate; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String isIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStaffNo() { + return staffNo; + } + + public void setStaffNo(String staffNo) { + this.staffNo = staffNo; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getVerifierCertificateNo() { + return verifierCertificateNo; + } + + public void setVerifierCertificateNo(String verifierCertificateNo) { + this.verifierCertificateNo = verifierCertificateNo; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java new file mode 100644 index 0000000..8da1b81 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/SupportEquipmentModel.java @@ -0,0 +1,211 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class SupportEquipmentModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String createTime; + private String createUser; + private String equipmentId; + private String equipmentName; + private String equipmentNo; + private String id; + private boolean isDel; + private String mesureDate; + private String mesureRange; + private String mesureResult; + private String mesureResultName; + private String modelNo; + private String remark; + private String standardEquipmentId; + private String updateTime; + private String useDeptName; + private String validDate; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentId() { + return equipmentId; + } + + public void setEquipmentId(String equipmentId) { + this.equipmentId = equipmentId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentNo() { + return equipmentNo; + } + + public void setEquipmentNo(String equipmentNo) { + this.equipmentNo = equipmentNo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public boolean isIsDel() { + return isDel; + } + + public void setIsDel(boolean isDel) { + this.isDel = isDel; + } + + public String getMesureDate() { + return mesureDate; + } + + public void setMesureDate(String mesureDate) { + this.mesureDate = mesureDate; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getMesureResult() { + return mesureResult; + } + + public void setMesureResult(String mesureResult) { + this.mesureResult = mesureResult; + } + + public String getMesureResultName() { + return mesureResultName; + } + + public void setMesureResultName(String mesureResultName) { + this.mesureResultName = mesureResultName; + } + + public String getModelNo() { + return modelNo; + } + + public void setModelNo(String modelNo) { + this.modelNo = modelNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getStandardEquipmentId() { + return standardEquipmentId; + } + + public void setStandardEquipmentId(String standardEquipmentId) { + this.standardEquipmentId = standardEquipmentId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUseDeptName() { + return useDeptName; + } + + public void setUseDeptName(String useDeptName) { + this.useDeptName = useDeptName; + } + + public String getValidDate() { + return validDate; + } + + public void setValidDate(String validDate) { + this.validDate = validDate; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cfe4255..afd5d3b 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -135,4 +135,22 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/user/listPage") + suspend fun getStaffList( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 获取计量人员列表 + */ + @POST("/meter/standard/equipment/listPage") + suspend fun getSupportEquipment( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6031e19..fa74625 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -329,4 +329,28 @@ ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取计量人员列表 + */ + suspend fun getStaffList(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStaffList(AuthenticationHelper.token!!, requestBody) + } + + /** + * 获取标准配套设备列表 + */ + suspend fun getSupportEquipment(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getSupportEquipment(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt index 0f3cfb4..02187db 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -19,8 +19,8 @@ val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! fragmentPages.add(BasicInformationFragment(deviceId)) - fragmentPages.add(MeasurementPersonFragment()) - fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(MeasurementStaffFragment(deviceId)) + fragmentPages.add(SupportEquipmentFragment(deviceId)) fragmentPages.add(UsageRecordFragment()) fragmentPages.add(CertificateFragment()) diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index 66be25d..6700e37 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -4,10 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage -import com.casic.xz.meterage.model.EquipmentDetailModel -import com.casic.xz.meterage.model.EquipmentListModel -import com.casic.xz.meterage.model.StandardDeviceDetailModel -import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.model.* import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -23,6 +20,7 @@ val equipmentDetailResult = MutableLiveData() val standardDeviceResult = MutableLiveData() val standardDeviceDetailResult = MutableLiveData() + val supportEquipmentResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -147,4 +145,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun getSupportEquipment(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getSupportEquipment(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + supportEquipmentResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt new file mode 100644 index 0000000..4aac8e8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/vm/MeterageStaffViewModel.kt @@ -0,0 +1,38 @@ +package com.casic.xz.meterage.vm; + +import androidx.lifecycle.MutableLiveData +import com.casic.xz.meterage.base.BaseApplication +import com.casic.xz.meterage.extensions.separateResponseCode +import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.StaffListModel +import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.launch +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState + +class MeterageStaffViewModel : BaseViewModel() { + + private val gson by lazy { Gson() } + val staffResult = MutableLiveData() + + fun getStaffList(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStaffList(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + staffResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) +} diff --git a/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml new file mode 100644 index 0000000..df70edb --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_blue_circle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_notice_list.xml b/app/src/main/res/layout/activity_notice_list.xml index 8e224c0..a6b3fe6 100644 --- a/app/src/main/res/layout/activity_notice_list.xml +++ b/app/src/main/res/layout/activity_notice_list.xml @@ -36,7 +36,7 @@ android:layout_height="match_parent" android:layout_alignParentEnd="true" android:paddingHorizontal="@dimen/dp_10" - android:src="@drawable/ic_read_notice" /> + android:src="@mipmap/message_blue" /> + android:src="@mipmap/notice" /> - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_staff.xml b/app/src/main/res/layout/fragment_device_measurement_staff.xml new file mode 100644 index 0000000..fa45c10 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_staff.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml index 77d9ef6..fa45c10 100644 --- a/app/src/main/res/layout/fragment_device_support_equipment.xml +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -1,6 +1,12 @@ - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 7ede07b..e8acef6 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -90,11 +90,11 @@ android:layout_margin="@dimen/dp_10" android:background="@drawable/bg_solid_layout_white_radius_5" android:gravity="center_vertical" - android:padding="@dimen/dp_10"> + android:padding="@dimen/dp_7"> + android:textSize="@dimen/sp_12" /> + android:textSize="@dimen/sp_12" /> + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_staff_rv_l.xml b/app/src/main/res/layout/item_staff_rv_l.xml new file mode 100644 index 0000000..136f913 --- /dev/null +++ b/app/src/main/res/layout/item_staff_rv_l.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index e4b39de..74a7e70 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -8,7 +8,7 @@ #FF000000 #FFFFFFFF - #3d7eff + #008CFF #803d7eff #555555 #F0F0F0