diff --git a/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java b/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java new file mode 100644 index 0000000..4132107 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java @@ -0,0 +1,172 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DeptComprehensiveModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String certificates; + private String deptDevices; + private String deptExpireDevices; + private String deptId; + private String deptName; + private String deptPassDevices; + private String deptRepairDevices; + private String deviceQualifyRate; + private String deviceRepairRate; + private String deviceTimelyRate; + private String expireRate; + private String expireSamples; + private String id; + private String samples; + private String samplesTotal; + + public String getCertificates() { + return certificates; + } + + public void setCertificates(String certificates) { + this.certificates = certificates; + } + + public String getDeptDevices() { + return deptDevices; + } + + public void setDeptDevices(String deptDevices) { + this.deptDevices = deptDevices; + } + + public String getDeptExpireDevices() { + return deptExpireDevices; + } + + public void setDeptExpireDevices(String deptExpireDevices) { + this.deptExpireDevices = deptExpireDevices; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeptPassDevices() { + return deptPassDevices; + } + + public void setDeptPassDevices(String deptPassDevices) { + this.deptPassDevices = deptPassDevices; + } + + public String getDeptRepairDevices() { + return deptRepairDevices; + } + + public void setDeptRepairDevices(String deptRepairDevices) { + this.deptRepairDevices = deptRepairDevices; + } + + public String getDeviceQualifyRate() { + return deviceQualifyRate; + } + + public void setDeviceQualifyRate(String deviceQualifyRate) { + this.deviceQualifyRate = deviceQualifyRate; + } + + public String getDeviceRepairRate() { + return deviceRepairRate; + } + + public void setDeviceRepairRate(String deviceRepairRate) { + this.deviceRepairRate = deviceRepairRate; + } + + public String getDeviceTimelyRate() { + return deviceTimelyRate; + } + + public void setDeviceTimelyRate(String deviceTimelyRate) { + this.deviceTimelyRate = deviceTimelyRate; + } + + public String getExpireRate() { + return expireRate; + } + + public void setExpireRate(String expireRate) { + this.expireRate = expireRate; + } + + public String getExpireSamples() { + return expireSamples; + } + + public void setExpireSamples(String expireSamples) { + this.expireSamples = expireSamples; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSamples() { + return samples; + } + + public void setSamples(String samples) { + this.samples = samples; + } + + public String getSamplesTotal() { + return samplesTotal; + } + + public void setSamplesTotal(String samplesTotal) { + this.samplesTotal = samplesTotal; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java b/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java new file mode 100644 index 0000000..4132107 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java @@ -0,0 +1,172 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DeptComprehensiveModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String certificates; + private String deptDevices; + private String deptExpireDevices; + private String deptId; + private String deptName; + private String deptPassDevices; + private String deptRepairDevices; + private String deviceQualifyRate; + private String deviceRepairRate; + private String deviceTimelyRate; + private String expireRate; + private String expireSamples; + private String id; + private String samples; + private String samplesTotal; + + public String getCertificates() { + return certificates; + } + + public void setCertificates(String certificates) { + this.certificates = certificates; + } + + public String getDeptDevices() { + return deptDevices; + } + + public void setDeptDevices(String deptDevices) { + this.deptDevices = deptDevices; + } + + public String getDeptExpireDevices() { + return deptExpireDevices; + } + + public void setDeptExpireDevices(String deptExpireDevices) { + this.deptExpireDevices = deptExpireDevices; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeptPassDevices() { + return deptPassDevices; + } + + public void setDeptPassDevices(String deptPassDevices) { + this.deptPassDevices = deptPassDevices; + } + + public String getDeptRepairDevices() { + return deptRepairDevices; + } + + public void setDeptRepairDevices(String deptRepairDevices) { + this.deptRepairDevices = deptRepairDevices; + } + + public String getDeviceQualifyRate() { + return deviceQualifyRate; + } + + public void setDeviceQualifyRate(String deviceQualifyRate) { + this.deviceQualifyRate = deviceQualifyRate; + } + + public String getDeviceRepairRate() { + return deviceRepairRate; + } + + public void setDeviceRepairRate(String deviceRepairRate) { + this.deviceRepairRate = deviceRepairRate; + } + + public String getDeviceTimelyRate() { + return deviceTimelyRate; + } + + public void setDeviceTimelyRate(String deviceTimelyRate) { + this.deviceTimelyRate = deviceTimelyRate; + } + + public String getExpireRate() { + return expireRate; + } + + public void setExpireRate(String expireRate) { + this.expireRate = expireRate; + } + + public String getExpireSamples() { + return expireSamples; + } + + public void setExpireSamples(String expireSamples) { + this.expireSamples = expireSamples; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSamples() { + return samples; + } + + public void setSamples(String samples) { + this.samples = samples; + } + + public String getSamplesTotal() { + return samplesTotal; + } + + public void setSamplesTotal(String samplesTotal) { + this.samplesTotal = samplesTotal; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DeptComprehensiveActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DeptComprehensiveActivity.kt new file mode 100644 index 0000000..9c288f4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DeptComprehensiveActivity.kt @@ -0,0 +1,112 @@ +package com.casic.xz.meterage.view.home + +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.callback.DateSelectedCallback +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showDatePicker +import com.casic.xz.meterage.model.DeptComprehensiveModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.StatisticsViewModel +import com.github.gzuliyujiang.wheelpicker.entity.DateEntity +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_dept_comprehensive.* +import kotlinx.android.synthetic.main.include_search_title.* + +class DeptComprehensiveActivity : ApplicationBaseActivity() { + + private lateinit var statisticsViewModel: StatisticsViewModel + + override fun initLayoutView(): Int = R.layout.activity_dept_comprehensive + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "部门综合分析" + } + + override fun initData() { + statisticsViewModel = ViewModelProvider(this)[StatisticsViewModel::class.java] + statisticsViewModel.deptComprehensiveResult.observe(this) { + if (it.code == 200) { + val deptAdapter = object : NormalRecyclerAdapter( + R.layout.item_dept_comprehensive_rv_l, it.data + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DeptComprehensiveModel.DataModel + ) { + viewHolder.setText(R.id.deptNameView, item.deptName) + .setText(R.id.samplesTotalView, item.samplesTotal) + .setText(R.id.samplesView, item.samples) + .setText(R.id.certificatesView, item.certificates) + .setText(R.id.deviceTimelyRateView, item.deviceTimelyRate) + .setText(R.id.deviceQualifyRateView, item.deviceQualifyRate) + .setText(R.id.deviceRepairRateView, item.deviceRepairRate) + .setText(R.id.expireSamplesView, item.expireSamples) + .setText(R.id.expireRateView, item.expireRate) + } + } + deptDataRecyclerView.adapter = deptAdapter + } + } + } + + override fun observeRequestState() { + statisticsViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + startDateView.setOnClickListener { + showDatePicker(DateEntity.target(1949, 10, 1), object : DateSelectedCallback { + override fun onDateSelected(date: String) { + startDateView.text = date + } + }) + } + + endDateView.setOnClickListener { + showDatePicker(DateEntity.target(1949, 10, 1), object : DateSelectedCallback { + override fun onDateSelected(date: String) { + endDateView.text = date + } + }) + } + + searchButton.setOnClickListener { + getDeptComprehensive() + } + } + + override fun onResume() { + super.onResume() + getDeptComprehensive() + } + + private fun getDeptComprehensive() { + val startDate = if (startDateView.text.toString() == "开始日期") { + "" + } else { + "${startDateView.text} 00:00:00" + } + + val endDate = if (endDateView.text.toString() == "结束日期") { + "" + } else { + "${endDateView.text} 00:00:00" + } + statisticsViewModel.getDeptComprehensive("", startDate, endDate) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java b/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java new file mode 100644 index 0000000..4132107 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java @@ -0,0 +1,172 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DeptComprehensiveModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String certificates; + private String deptDevices; + private String deptExpireDevices; + private String deptId; + private String deptName; + private String deptPassDevices; + private String deptRepairDevices; + private String deviceQualifyRate; + private String deviceRepairRate; + private String deviceTimelyRate; + private String expireRate; + private String expireSamples; + private String id; + private String samples; + private String samplesTotal; + + public String getCertificates() { + return certificates; + } + + public void setCertificates(String certificates) { + this.certificates = certificates; + } + + public String getDeptDevices() { + return deptDevices; + } + + public void setDeptDevices(String deptDevices) { + this.deptDevices = deptDevices; + } + + public String getDeptExpireDevices() { + return deptExpireDevices; + } + + public void setDeptExpireDevices(String deptExpireDevices) { + this.deptExpireDevices = deptExpireDevices; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeptPassDevices() { + return deptPassDevices; + } + + public void setDeptPassDevices(String deptPassDevices) { + this.deptPassDevices = deptPassDevices; + } + + public String getDeptRepairDevices() { + return deptRepairDevices; + } + + public void setDeptRepairDevices(String deptRepairDevices) { + this.deptRepairDevices = deptRepairDevices; + } + + public String getDeviceQualifyRate() { + return deviceQualifyRate; + } + + public void setDeviceQualifyRate(String deviceQualifyRate) { + this.deviceQualifyRate = deviceQualifyRate; + } + + public String getDeviceRepairRate() { + return deviceRepairRate; + } + + public void setDeviceRepairRate(String deviceRepairRate) { + this.deviceRepairRate = deviceRepairRate; + } + + public String getDeviceTimelyRate() { + return deviceTimelyRate; + } + + public void setDeviceTimelyRate(String deviceTimelyRate) { + this.deviceTimelyRate = deviceTimelyRate; + } + + public String getExpireRate() { + return expireRate; + } + + public void setExpireRate(String expireRate) { + this.expireRate = expireRate; + } + + public String getExpireSamples() { + return expireSamples; + } + + public void setExpireSamples(String expireSamples) { + this.expireSamples = expireSamples; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSamples() { + return samples; + } + + public void setSamples(String samples) { + this.samples = samples; + } + + public String getSamplesTotal() { + return samplesTotal; + } + + public void setSamplesTotal(String samplesTotal) { + this.samplesTotal = samplesTotal; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DeptComprehensiveActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DeptComprehensiveActivity.kt new file mode 100644 index 0000000..9c288f4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DeptComprehensiveActivity.kt @@ -0,0 +1,112 @@ +package com.casic.xz.meterage.view.home + +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.callback.DateSelectedCallback +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showDatePicker +import com.casic.xz.meterage.model.DeptComprehensiveModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.StatisticsViewModel +import com.github.gzuliyujiang.wheelpicker.entity.DateEntity +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_dept_comprehensive.* +import kotlinx.android.synthetic.main.include_search_title.* + +class DeptComprehensiveActivity : ApplicationBaseActivity() { + + private lateinit var statisticsViewModel: StatisticsViewModel + + override fun initLayoutView(): Int = R.layout.activity_dept_comprehensive + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "部门综合分析" + } + + override fun initData() { + statisticsViewModel = ViewModelProvider(this)[StatisticsViewModel::class.java] + statisticsViewModel.deptComprehensiveResult.observe(this) { + if (it.code == 200) { + val deptAdapter = object : NormalRecyclerAdapter( + R.layout.item_dept_comprehensive_rv_l, it.data + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DeptComprehensiveModel.DataModel + ) { + viewHolder.setText(R.id.deptNameView, item.deptName) + .setText(R.id.samplesTotalView, item.samplesTotal) + .setText(R.id.samplesView, item.samples) + .setText(R.id.certificatesView, item.certificates) + .setText(R.id.deviceTimelyRateView, item.deviceTimelyRate) + .setText(R.id.deviceQualifyRateView, item.deviceQualifyRate) + .setText(R.id.deviceRepairRateView, item.deviceRepairRate) + .setText(R.id.expireSamplesView, item.expireSamples) + .setText(R.id.expireRateView, item.expireRate) + } + } + deptDataRecyclerView.adapter = deptAdapter + } + } + } + + override fun observeRequestState() { + statisticsViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + startDateView.setOnClickListener { + showDatePicker(DateEntity.target(1949, 10, 1), object : DateSelectedCallback { + override fun onDateSelected(date: String) { + startDateView.text = date + } + }) + } + + endDateView.setOnClickListener { + showDatePicker(DateEntity.target(1949, 10, 1), object : DateSelectedCallback { + override fun onDateSelected(date: String) { + endDateView.text = date + } + }) + } + + searchButton.setOnClickListener { + getDeptComprehensive() + } + } + + override fun onResume() { + super.onResume() + getDeptComprehensive() + } + + private fun getDeptComprehensive() { + val startDate = if (startDateView.text.toString() == "开始日期") { + "" + } else { + "${startDateView.text} 00:00:00" + } + + val endDate = if (endDateView.text.toString() == "结束日期") { + "" + } else { + "${endDateView.text} 00:00:00" + } + statisticsViewModel.getDeptComprehensive("", startDate, endDate) + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_dept_comprehensive.xml b/app/src/main/res/layout/activity_dept_comprehensive.xml new file mode 100644 index 0000000..be7c022 --- /dev/null +++ b/app/src/main/res/layout/activity_dept_comprehensive.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java b/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java new file mode 100644 index 0000000..4132107 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/DeptComprehensiveModel.java @@ -0,0 +1,172 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class DeptComprehensiveModel { + + private int code; + private List data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + private String certificates; + private String deptDevices; + private String deptExpireDevices; + private String deptId; + private String deptName; + private String deptPassDevices; + private String deptRepairDevices; + private String deviceQualifyRate; + private String deviceRepairRate; + private String deviceTimelyRate; + private String expireRate; + private String expireSamples; + private String id; + private String samples; + private String samplesTotal; + + public String getCertificates() { + return certificates; + } + + public void setCertificates(String certificates) { + this.certificates = certificates; + } + + public String getDeptDevices() { + return deptDevices; + } + + public void setDeptDevices(String deptDevices) { + this.deptDevices = deptDevices; + } + + public String getDeptExpireDevices() { + return deptExpireDevices; + } + + public void setDeptExpireDevices(String deptExpireDevices) { + this.deptExpireDevices = deptExpireDevices; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeptPassDevices() { + return deptPassDevices; + } + + public void setDeptPassDevices(String deptPassDevices) { + this.deptPassDevices = deptPassDevices; + } + + public String getDeptRepairDevices() { + return deptRepairDevices; + } + + public void setDeptRepairDevices(String deptRepairDevices) { + this.deptRepairDevices = deptRepairDevices; + } + + public String getDeviceQualifyRate() { + return deviceQualifyRate; + } + + public void setDeviceQualifyRate(String deviceQualifyRate) { + this.deviceQualifyRate = deviceQualifyRate; + } + + public String getDeviceRepairRate() { + return deviceRepairRate; + } + + public void setDeviceRepairRate(String deviceRepairRate) { + this.deviceRepairRate = deviceRepairRate; + } + + public String getDeviceTimelyRate() { + return deviceTimelyRate; + } + + public void setDeviceTimelyRate(String deviceTimelyRate) { + this.deviceTimelyRate = deviceTimelyRate; + } + + public String getExpireRate() { + return expireRate; + } + + public void setExpireRate(String expireRate) { + this.expireRate = expireRate; + } + + public String getExpireSamples() { + return expireSamples; + } + + public void setExpireSamples(String expireSamples) { + this.expireSamples = expireSamples; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSamples() { + return samples; + } + + public void setSamples(String samples) { + this.samples = samples; + } + + public String getSamplesTotal() { + return samplesTotal; + } + + public void setSamplesTotal(String samplesTotal) { + this.samplesTotal = samplesTotal; + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/DeptComprehensiveActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/DeptComprehensiveActivity.kt new file mode 100644 index 0000000..9c288f4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/DeptComprehensiveActivity.kt @@ -0,0 +1,112 @@ +package com.casic.xz.meterage.view.home + +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.callback.DateSelectedCallback +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showDatePicker +import com.casic.xz.meterage.model.DeptComprehensiveModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.StatisticsViewModel +import com.github.gzuliyujiang.wheelpicker.entity.DateEntity +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_dept_comprehensive.* +import kotlinx.android.synthetic.main.include_search_title.* + +class DeptComprehensiveActivity : ApplicationBaseActivity() { + + private lateinit var statisticsViewModel: StatisticsViewModel + + override fun initLayoutView(): Int = R.layout.activity_dept_comprehensive + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "部门综合分析" + } + + override fun initData() { + statisticsViewModel = ViewModelProvider(this)[StatisticsViewModel::class.java] + statisticsViewModel.deptComprehensiveResult.observe(this) { + if (it.code == 200) { + val deptAdapter = object : NormalRecyclerAdapter( + R.layout.item_dept_comprehensive_rv_l, it.data + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: DeptComprehensiveModel.DataModel + ) { + viewHolder.setText(R.id.deptNameView, item.deptName) + .setText(R.id.samplesTotalView, item.samplesTotal) + .setText(R.id.samplesView, item.samples) + .setText(R.id.certificatesView, item.certificates) + .setText(R.id.deviceTimelyRateView, item.deviceTimelyRate) + .setText(R.id.deviceQualifyRateView, item.deviceQualifyRate) + .setText(R.id.deviceRepairRateView, item.deviceRepairRate) + .setText(R.id.expireSamplesView, item.expireSamples) + .setText(R.id.expireRateView, item.expireRate) + } + } + deptDataRecyclerView.adapter = deptAdapter + } + } + } + + override fun observeRequestState() { + statisticsViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + startDateView.setOnClickListener { + showDatePicker(DateEntity.target(1949, 10, 1), object : DateSelectedCallback { + override fun onDateSelected(date: String) { + startDateView.text = date + } + }) + } + + endDateView.setOnClickListener { + showDatePicker(DateEntity.target(1949, 10, 1), object : DateSelectedCallback { + override fun onDateSelected(date: String) { + endDateView.text = date + } + }) + } + + searchButton.setOnClickListener { + getDeptComprehensive() + } + } + + override fun onResume() { + super.onResume() + getDeptComprehensive() + } + + private fun getDeptComprehensive() { + val startDate = if (startDateView.text.toString() == "开始日期") { + "" + } else { + "${startDateView.text} 00:00:00" + } + + val endDate = if (endDateView.text.toString() == "结束日期") { + "" + } else { + "${endDateView.text} 00:00:00" + } + statisticsViewModel.getDeptComprehensive("", startDate, endDate) + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_dept_comprehensive.xml b/app/src/main/res/layout/activity_dept_comprehensive.xml new file mode 100644 index 0000000..be7c022 --- /dev/null +++ b/app/src/main/res/layout/activity_dept_comprehensive.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_dept_comprehensive_rv_l.xml b/app/src/main/res/layout/item_dept_comprehensive_rv_l.xml new file mode 100644 index 0000000..c3300e5 --- /dev/null +++ b/app/src/main/res/layout/item_dept_comprehensive_rv_l.xml @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file