|
@@ -37,11 +37,11 @@ class StatisticActivity : BaseActivity() {
|
|
|
super.onCreate(savedInstanceState)
|
|
|
|
|
|
|
|
|
- binding=ActivityStatisticBinding.inflate(LayoutInflater.from(this))
|
|
|
+ binding = ActivityStatisticBinding.inflate(LayoutInflater.from(this))
|
|
|
setContentView(binding.root)
|
|
|
|
|
|
- type=intent.getIntExtra(StatisticConstant.ACTION,1)
|
|
|
- id=intent.getLongExtra(StatisticConstant.ID_ENUM,0L)
|
|
|
+ type = intent.getIntExtra(StatisticConstant.ACTION, 1)
|
|
|
+ id = intent.getLongExtra(StatisticConstant.ID_ENUM, 0L)
|
|
|
|
|
|
|
|
|
val webSettings: WebSettings = binding.backupChart.settings
|
|
@@ -50,7 +50,12 @@ class StatisticActivity : BaseActivity() {
|
|
|
webSettings.javaScriptCanOpenWindowsAutomatically = true
|
|
|
webSettings.setSupportZoom(false)
|
|
|
webSettings.displayZoomControls = false
|
|
|
- binding.backupChart.setBackgroundColor(ContextCompat.getColor(this, android.R.color.transparent))
|
|
|
+ binding.backupChart.setBackgroundColor(
|
|
|
+ ContextCompat.getColor(
|
|
|
+ this,
|
|
|
+ android.R.color.transparent
|
|
|
+ )
|
|
|
+ )
|
|
|
binding.backupChart.loadUrl("file:///android_asset/echarts.html")
|
|
|
binding.backupChart.webViewClient = object : WebViewClient() {
|
|
|
override fun onPageFinished(view: WebView?, url: String?) {
|
|
@@ -62,34 +67,35 @@ class StatisticActivity : BaseActivity() {
|
|
|
bindOnClick()
|
|
|
}
|
|
|
|
|
|
- private fun bindOnClick(){
|
|
|
+ private fun bindOnClick() {
|
|
|
binding.downloadStatistic.setOnClickListener {
|
|
|
- val service=ServiceCreator.create(CommonService::class.java)
|
|
|
- val handler=object:Callback<Result>{
|
|
|
+ val service = ServiceCreator.create(CommonService::class.java)
|
|
|
+ val handler = object : Callback<Result> {
|
|
|
override fun onResponse(call: Call<Result>, response: Response<Result>) {
|
|
|
- ResponseHandler.handle(response,{
|
|
|
- val gson=Gson()
|
|
|
- val list=ArrayList<FileInfo>()
|
|
|
- for(item in it.data as List<*>){
|
|
|
- val json=gson.toJson(item)
|
|
|
- val info=JsonUtils.fromJson<FileInfo>(json)
|
|
|
- if(info!=null){
|
|
|
+ ResponseHandler.handle(response, {
|
|
|
+ val gson = Gson()
|
|
|
+ val list = ArrayList<FileInfo>()
|
|
|
+ for (item in it.data as List<*>) {
|
|
|
+ val json = gson.toJson(item)
|
|
|
+ val info = JsonUtils.fromJson<FileInfo>(json)
|
|
|
+ if (info != null) {
|
|
|
list.add(info)
|
|
|
}
|
|
|
}
|
|
|
- if(list.size==1){
|
|
|
- val info=list[0]
|
|
|
- val downLoadName=if(type==StatisticConstant.STUDENT_ACTION){
|
|
|
+ if (list.size == 1) {
|
|
|
+ val info = list[0]
|
|
|
+ val downLoadName = if (type == StatisticConstant.STUDENT_ACTION) {
|
|
|
"student-${id}.docx"
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
"class-${id}.docx"
|
|
|
}
|
|
|
println("download:${info.path}")
|
|
|
- FileDownloadUtil.downLoad(info.path,downLoadName){
|
|
|
- Toast.makeText(this@StatisticActivity,"文件下载完成",Toast.LENGTH_SHORT).show()
|
|
|
+ FileDownloadUtil.downLoad(info.path, downLoadName) {
|
|
|
+ Toast.makeText(this@StatisticActivity, "文件下载完成", Toast.LENGTH_SHORT)
|
|
|
+ .show()
|
|
|
}
|
|
|
}
|
|
|
- },{
|
|
|
+ }, {
|
|
|
ResponseHandler.showMessage(it)
|
|
|
})
|
|
|
}
|
|
@@ -99,19 +105,21 @@ class StatisticActivity : BaseActivity() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- when(type){
|
|
|
- StatisticConstant.CLASS_ACTION->{
|
|
|
- val data=AdminQueryClassStatistic(id)
|
|
|
- service.generateClassStatistic(LoginConfiguration.userInfo!!.token,data).enqueue(handler)
|
|
|
+ when (type) {
|
|
|
+ StatisticConstant.CLASS_ACTION -> {
|
|
|
+ val data = AdminQueryClassStatistic(id)
|
|
|
+ service.generateClassStatistic(LoginConfiguration.userInfo!!.token, data)
|
|
|
+ .enqueue(handler)
|
|
|
}
|
|
|
- StatisticConstant.STUDENT_ACTION->{
|
|
|
- val data=AdminQueryStudentStatistic(id)
|
|
|
- service.generateStudentStatistic(LoginConfiguration.userInfo!!.token,data).enqueue(handler)
|
|
|
+ StatisticConstant.STUDENT_ACTION -> {
|
|
|
+ val data = AdminQueryStudentStatistic(id)
|
|
|
+ service.generateStudentStatistic(LoginConfiguration.userInfo!!.token, data)
|
|
|
+ .enqueue(handler)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- binding.title.text="考勤数据"
|
|
|
+ binding.title.text = "考勤数据"
|
|
|
binding.backButton.setOnClickListener {
|
|
|
finish()
|
|
|
}
|
|
@@ -119,22 +127,22 @@ class StatisticActivity : BaseActivity() {
|
|
|
|
|
|
|
|
|
private fun loadStatisticInfo() {
|
|
|
- val service=ServiceCreator.create(CommonService::class.java)
|
|
|
- val handler=object:Callback<Result>{
|
|
|
+ val service = ServiceCreator.create(CommonService::class.java)
|
|
|
+ val handler = object : Callback<Result> {
|
|
|
override fun onResponse(call: Call<Result>, response: Response<Result>) {
|
|
|
- ResponseHandler.handle(response,{
|
|
|
- val gson=Gson()
|
|
|
- val list=ArrayList<StatisticInfo>()
|
|
|
+ ResponseHandler.handle(response, {
|
|
|
+ val gson = Gson()
|
|
|
+ val list = ArrayList<StatisticInfo>()
|
|
|
println(gson.toJson(it))
|
|
|
- for(item in it.data as List<*>){
|
|
|
- val json=gson.toJson(item)
|
|
|
- val info=JsonUtils.fromJson<StatisticInfo>(json)
|
|
|
- if(info!=null){
|
|
|
+ for (item in it.data as List<*>) {
|
|
|
+ val json = gson.toJson(item)
|
|
|
+ val info = JsonUtils.fromJson<StatisticInfo>(json)
|
|
|
+ if (info != null) {
|
|
|
list.add(info)
|
|
|
}
|
|
|
}
|
|
|
renderStatisticInfoList(list)
|
|
|
- },{
|
|
|
+ }, {
|
|
|
ResponseHandler.showMessage(it)
|
|
|
})
|
|
|
}
|
|
@@ -144,32 +152,34 @@ class StatisticActivity : BaseActivity() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- when(type){
|
|
|
- StatisticConstant.CLASS_ACTION->{
|
|
|
- val data=AdminQueryClassStatistic(id)
|
|
|
- service.queryClassStatistic(LoginConfiguration.userInfo!!.token,data).enqueue(handler)
|
|
|
+ when (type) {
|
|
|
+ StatisticConstant.CLASS_ACTION -> {
|
|
|
+ val data = AdminQueryClassStatistic(id)
|
|
|
+ service.queryClassStatistic(LoginConfiguration.userInfo!!.token, data)
|
|
|
+ .enqueue(handler)
|
|
|
}
|
|
|
- StatisticConstant.STUDENT_ACTION->{
|
|
|
- val data=AdminQueryStudentStatistic(id)
|
|
|
- service.queryStudentStatistic(LoginConfiguration.userInfo!!.token,data).enqueue(handler)
|
|
|
+ StatisticConstant.STUDENT_ACTION -> {
|
|
|
+ val data = AdminQueryStudentStatistic(id)
|
|
|
+ service.queryStudentStatistic(LoginConfiguration.userInfo!!.token, data)
|
|
|
+ .enqueue(handler)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
- private fun renderStatisticInfoList(list:List<StatisticInfo>){
|
|
|
- var first=true
|
|
|
- val nameBuilder=StringBuilder()
|
|
|
- val rateBuilder=StringBuilder()
|
|
|
+ private fun renderStatisticInfoList(list: List<StatisticInfo>) {
|
|
|
+ var first = true
|
|
|
+ val nameBuilder = StringBuilder()
|
|
|
+ val rateBuilder = StringBuilder()
|
|
|
|
|
|
- for(item in list){
|
|
|
- if(!first){
|
|
|
+ for (item in list) {
|
|
|
+ if (!first) {
|
|
|
nameBuilder.append(",")
|
|
|
rateBuilder.append(",")
|
|
|
}
|
|
|
nameBuilder.append(item.course.name)
|
|
|
- rateBuilder.append(item.rate*100)
|
|
|
- first=false
|
|
|
+ rateBuilder.append(item.rate * 100)
|
|
|
+ first = false
|
|
|
}
|
|
|
val chartOptions = """
|
|
|
setChartOptions(
|