巡检终合统计完成

master
hwf453 1 year ago
parent 980756f307
commit b597beada9

@ -148,6 +148,10 @@
android:name=".ui.activity.sbxj.SxgzActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.sbxj.XjZhTjActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.sbxj.XjYulActivity"
android:exported="false"

@ -3,7 +3,7 @@
<!-- 数据库名字 -->
<dbname value="rehomeDywoa"></dbname>
<!-- 版本号 -->
<version value="10"></version>
<version value="11"></version>
<!-- 配置表 -->
<list>
<!-- 配置表的路径需要继承DataSupport -->
@ -16,6 +16,14 @@
<mapping class="com.rehome.dywoa.DBModel.XSJJHXZBean"/>
<mapping class="com.rehome.dywoa.DBModel.XSJJHXZDataBean"/>
<mapping class="com.rehome.dywoa.DBModel.XSJJHDataBean"/>
<!--巡检终合统计专业下拉数据 -->
<mapping class="com.rehome.dywoa.DBModel.ZyXjTjDropDown"/>
<!--巡检终合统计值次下拉数据 -->
<mapping class="com.rehome.dywoa.DBModel.ZcXjTjDropDown"/>
<!--巡检终合统计类型下拉数据 -->
<mapping class="com.rehome.dywoa.DBModel.LxXjTjDropDown"/>
<!-- 点检下载-->
<!-- 点检计划列表 -->
<mapping class="com.rehome.dywoa.DBModel.Djjh"/>
<!-- 点检计划任务列表-->

@ -42,16 +42,14 @@ public class Contans {
public static final String OPENQRCODESCAN = "OPENQRCODESCAN";
//连接服务器测试看客户端是否能连接到服务器如果能就响应个1
public static final String check_server_connect = "api/app/login/checkServerConnect";
//获取当天点检任务执行情况
public static final String CURRENT_DAY_DJ_FINISH_TJ = "api/app/pointTask/getTaskRunningState";
//点检综合统计信息
public static final String ZHTJ_DJ_FINISH_TJ = "api/app/pointTask/getPointTaskStatsComp";
//历史点检记录
public static final String HISTORY_DJ_FINISH_TJ = "api/app/pointTask/getPointTaskHistoryState";
//-----------------------kks码查询---------------------//
//获取KKS码信息
public static final String GET_KKS_INFO = "api/app/pointTask/getDeviceInfo";
//KKS码查工单消缺
public static final String KKS_SEARCH_GDXQ = "api/app/pointTask/getDefectWorkOrderInfo";
//-----------------------kks码查询结束---------------------//
//获取应急预案
public static final String YJYA_GET_LIST_TJ = "api/emergency/getPlan";
@ -73,19 +71,45 @@ public class Contans {
//-----------------------推送-待办事物---------------------//
public static String PUSH = "TZDB/GetData.aspx"; //userid=test2
//-----------------------点检--------------------------//
//获取点检列表数据
//获取点检下载列表数据
public static String DJJHLIST = "api/app/pointTask/getPlanTask";
//下载点检数据
public static String DJJHDLB = "api/app/pointTask/getUploadTaskList";
//待办
public static final String WAIT_FOR_TO_DO_WORK = "api/app/pointTask/getTaskToDo";
//点检数据下载
public static String DJJHXCJSSC = "DJGL/DJGL_XCJS.ashx";//ms:描述 fileps:文件 poinnum jhid
public static String DJJHSC = "api/app/pointTask/uploadTaskList";//json字符串
//多条点检数据上传
public static String DJJHSC = "api/app/pointTask/uploadTaskList";
//待办事项(个人待办,对应网页端)
public static String GET_WAIT_FOR_TO_DO = "api/app/pointTask/getToDoCount";
//获取当天点检任务执行情况
public static final String CURRENT_DAY_DJ_FINISH_TJ = "api/app/pointTask/getTaskRunningState";
//点检综合统计信息
public static final String ZHTJ_DJ_FINISH_TJ = "api/app/pointTask/getPointTaskStatsComp";
//历史点检记录
public static final String HISTORY_DJ_FINISH_TJ = "api/app/pointTask/getPointTaskHistoryState";
//点检过程单条数据上传
public static String DJ_SINGLE_SC = "api/app/pointTask/uploadTaskOne";
//-----------------------点检结束--------------------------//
//==============================巡视抄表=========================================//
public final static String XSCB = "api/app/task/getPlanTask";//巡检管理/巡检任务列表
public final static String XSCB_PLAN_DOWNLOAD = "api/app/task/getUploadTaskList";///巡检管理/巡检任务/巡检数据管理/计划下载
public final static String XSCB_PLAN_UPLOAD = "api/app/task/uploadTaskList";//巡检管理/巡检任务/巡检数据管理/计划上传
public final static String XJD_UPLOAD_PHOTO = "api/app/task/upload";//巡检点上传图片
public final static String XSCB_PLAN_UPLOAD_TASK_ONE = "api/app/task/uploadTaskOne";//上传单个巡检点数据
public final static String XJ_GET_DROWDOWN_DATA = "api/app/task/getInspectionBasicData";//巡检统计获取下拉数据,专业,类型,值次
public final static String XJ_GET_ZH_TJ = "api/app/task/getIntegrativeStatisticsData";//巡检终合统计
//==============================巡视抄表结束=========================================//
//==============================缺陷工单=========================================//
//缺陷工单获取下拉数据,专业,机组,响应等级
public final static String QX_GET_DROWDOWN_DATA = "api/app/task/getBasicEquipmentData";
//上传单条缺陷工单
public final static String XJD_UPLOAD_QX = "api/app/task/addDefectLogin";
//==============================缺陷工单结束=========================================//
public static String DJJHQXGD = "DJGL/DJGL_QXGD.ashx";//json字符串
public final static int DLB = 1;
@ -151,15 +175,8 @@ public class Contans {
public static final String SELECT_DAGER_DEPARTMENT = "select_dager_department";
}
//==============================巡视抄表=========================================//
public final static String XSCB = "api/app/task/getPlanTask";//巡检管理/巡检任务列表
public final static String XSCB_PLAN_DOWNLOAD = "api/app/task/getUploadTaskList";///巡检管理/巡检任务/巡检数据管理/计划下载
public final static String XSCB_PLAN_UPLOAD = "api/app/task/uploadTaskList";//巡检管理/巡检任务/巡检数据管理/计划上传
public final static String XJD_UPLOAD_PHOTO = "api/app/task/upload";//巡检点上传图片
public final static String XSCB_PLAN_UPLOAD_TASK_ONE = "api/app/task/uploadTaskOne";//上传单个巡检点数据
//缺陷工单获取下拉数据,专业,机组,响应等级
public final static String QX_GET_DROWDOWN_DATA = "api/app/task/getBasicEquipmentData";
public final static String XJD_UPLOAD_QX = "api/app/task/addDefectLogin";//上传单条缺陷工单
public final static String BAXJ = "XSCB/BA_XJGL.ashx";//保安巡检任务列表
public final static String XSCB_PLAN_BA_DOWNLOAD = "XSCB/BA_XJGL.ashx";///保安巡检计划下载
public final static String XSCB_PLAN_BA_UPLOAD = "XSCB/BA_XJGL.ashx";///保安巡检计划上传

@ -0,0 +1,32 @@
package com.rehome.dywoa.DBModel;
import org.litepal.crud.DataSupport;
/**
* Created by HuangWenfei on 2024/9/4.
*
*/
public class LxXjTjDropDown extends DataSupport {
private String key;
private String value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

@ -0,0 +1,34 @@
package com.rehome.dywoa.DBModel;
import java.util.List;
public class LxXjTjDropDownData {
private int state;
private String msg;
private List<LxXjTjDropDown> data;
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public List<LxXjTjDropDown> getData() {
return data;
}
public void setData(List<LxXjTjDropDown> data) {
this.data = data;
}
}

@ -0,0 +1,31 @@
package com.rehome.dywoa.DBModel;
import org.litepal.crud.DataSupport;
/**
* Created by HuangWenfei on 2024/9/4.
*
*/
public class ZcXjTjDropDown extends DataSupport {
private String key;
private String value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

@ -0,0 +1,34 @@
package com.rehome.dywoa.DBModel;
import java.util.List;
public class ZcXjTjDropDownData {
private int state;
private String msg;
private List<ZcXjTjDropDown> data;
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public List<ZcXjTjDropDown> getData() {
return data;
}
public void setData(List<ZcXjTjDropDown> data) {
this.data = data;
}
}

@ -0,0 +1,31 @@
package com.rehome.dywoa.DBModel;
import org.litepal.crud.DataSupport;
/**
* Created by HuangWenfei on 2024/9/4.
*
*/
public class ZyXjTjDropDown extends DataSupport {
private String key;
private String value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

@ -0,0 +1,34 @@
package com.rehome.dywoa.DBModel;
import java.util.List;
public class ZyXjTjDropDownData {
private int state;
private String msg;
private List<ZyXjTjDropDown> data;
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public List<ZyXjTjDropDown> getData() {
return data;
}
public void setData(List<ZyXjTjDropDown> data) {
this.data = data;
}
}

@ -10,8 +10,11 @@ import android.widget.TextView;
import com.rehome.dywoa.DBModel.Gzlx;
import com.rehome.dywoa.DBModel.Jz;
import com.rehome.dywoa.DBModel.LxXjTjDropDown;
import com.rehome.dywoa.DBModel.Xydj;
import com.rehome.dywoa.DBModel.ZcXjTjDropDown;
import com.rehome.dywoa.DBModel.Zy;
import com.rehome.dywoa.DBModel.ZyXjTjDropDown;
import com.rehome.dywoa.R;
import com.rehome.dywoa.entity.HgInfo;
import com.zhy.autolayout.utils.AutoUtils;
@ -78,6 +81,12 @@ public class SpinnerAdapter<T> extends BaseAdapter {
holder.tv.setText(((Gzlx) object).getValue());
}else if (object instanceof HgInfo.Hg) {
holder.tv.setText(((HgInfo.Hg) object).getBinnum());
}else if (object instanceof ZyXjTjDropDown) {
holder.tv.setText(((ZyXjTjDropDown) object).getValue());
}else if (object instanceof ZcXjTjDropDown) {
holder.tv.setText(((ZcXjTjDropDown) object).getValue());
}else if (object instanceof LxXjTjDropDown) {
holder.tv.setText(((LxXjTjDropDown) object).getValue());
}
} else {
holder.tv.setText(((HgInfo.Hg) object).getLotnum());

@ -0,0 +1,49 @@
package com.rehome.dywoa.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import com.rehome.dywoa.base.BaseViewBindingAdapter
import com.rehome.dywoa.bean.DjZhTjBean
import com.rehome.dywoa.bean.HistoryDjBean
import com.rehome.dywoa.bean.XjZhTjBean
import com.rehome.dywoa.databinding.AdapterDjZhTjBinding
import com.rehome.dywoa.databinding.AdapterHistoryDjBinding
import com.rehome.dywoa.databinding.AdapterXjZhTjBinding
class XjZhTjAdapter(var context: Context,
var data: MutableList<XjZhTjBean.Row>) : BaseViewBindingAdapter<AdapterXjZhTjBinding>(context) {
override fun getCount(): Int {
return data.count()
}
override fun getItem(position: Int): Any {
return data[position]
}
override fun getItemId(position: Int): Long {
return position.toLong()
}
override fun getBinding(
inflater: LayoutInflater,
parent: ViewGroup?
) = AdapterXjZhTjBinding.inflate(inflater, parent, false)
override fun handleData(position: Int, binding: AdapterXjZhTjBinding) {
val item: XjZhTjBean.Row = data[position]
binding.tvJhmc.text = item.name
binding.tvSt.text = item.startTime
binding.tvEt.text = item.endTime
binding.tvZds.text = item.zds
binding.tvYjds.text = item.yjds
binding.tvWjds.text = item.wjds
binding.tvMjds.text = item.mjds
binding.tvRate.text = item.rate
}
}

@ -0,0 +1,91 @@
package com.rehome.dywoa.bean;
import java.util.List;
public class XjZhTjBean extends BaseListBean{
private List<Row> Rows;
public List<Row> getRows() {
return Rows;
}
public void setRows(List<Row> rows) {
Rows = rows;
}
public static class Row {
private String name;
private String startTime;
private String endTime;
private String zds;
private String yjds;
private String wjds;
private String mjds;
private String rate;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getZds() {
return zds;
}
public void setZds(String zds) {
this.zds = zds;
}
public String getYjds() {
return yjds;
}
public void setYjds(String yjds) {
this.yjds = yjds;
}
public String getWjds() {
return wjds;
}
public void setWjds(String wjds) {
this.wjds = wjds;
}
public String getMjds() {
return mjds;
}
public void setMjds(String mjds) {
this.mjds = mjds;
}
public String getRate() {
return rate;
}
public void setRate(String rate) {
this.rate = rate;
}
}
}

@ -35,13 +35,19 @@ import com.rehome.dywoa.DBModel.Gzlx
import com.rehome.dywoa.DBModel.GzlxQxData
import com.rehome.dywoa.DBModel.Jz
import com.rehome.dywoa.DBModel.JzQxData
import com.rehome.dywoa.DBModel.LxXjTjDropDown
import com.rehome.dywoa.DBModel.LxXjTjDropDownData
import com.rehome.dywoa.DBModel.XSJJHDataBean
import com.rehome.dywoa.DBModel.XSJJHXZDataBean
import com.rehome.dywoa.DBModel.Xjjh
import com.rehome.dywoa.DBModel.Xydj
import com.rehome.dywoa.DBModel.XydjQxData
import com.rehome.dywoa.DBModel.ZcXjTjDropDown
import com.rehome.dywoa.DBModel.ZcXjTjDropDownData
import com.rehome.dywoa.DBModel.Zy
import com.rehome.dywoa.DBModel.ZyQxData
import com.rehome.dywoa.DBModel.ZyXjTjDropDown
import com.rehome.dywoa.DBModel.ZyXjTjDropDownData
import com.rehome.dywoa.R
import com.rehome.dywoa.base.BaseActivityOaToolbarViewBinding
import com.rehome.dywoa.bean.ApkUpdateBean
@ -201,15 +207,22 @@ class HomeActivity : BaseActivityOaToolbarViewBinding<ActivityHomeBinding>() {
}
override fun initData() {
deleteExpirePlan()
waitForToDo()
deleteXjExpirePlan()
//巡检,点检待办
//waitForToDo()
//缺陷工单下拉数据
getQxDropDown("zy");
getQxDropDown("jz");
getQxDropDown("xydj");
getQxDropDown("gzlx");
//巡检终合统计下拉数据
getXjZhTjDropDown("zy");
getXjZhTjDropDown("zc");
getXjZhTjDropDown("lx");
}
private fun deleteExpirePlan(){
private fun deleteXjExpirePlan(){
val xjdListAll = DataSupport.where("download = ? and username = ?", "1", username).find(Xjjh::class.java)
if(xjdListAll!=null&&xjdListAll.size>0){
for (xjdPlanItem in xjdListAll) {
@ -563,9 +576,6 @@ class HomeActivity : BaseActivityOaToolbarViewBinding<ActivityHomeBinding>() {
val credential = "Bearer $token"
request.addHeader("Authorization", credential)
request.addHeader("token", token)
showLog(request.url())
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
val gson = Gson()
@ -625,9 +635,6 @@ class HomeActivity : BaseActivityOaToolbarViewBinding<ActivityHomeBinding>() {
val credential = "Bearer $token"
request.addHeader("Authorization", credential)
request.addHeader("token", token)
showLog(request.url())
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
queueNoHttp.add<String>(3, request, object : OnResponseListener<String> {
@ -763,14 +770,14 @@ class HomeActivity : BaseActivityOaToolbarViewBinding<ActivityHomeBinding>() {
request.addHeader("token", token)
}
queueNoHttp.add<String>(4, request, object : OnResponseListener<String> {
queueNoHttp.add(4, request, object : OnResponseListener<String> {
override fun onStart(what: Int) {
}
override fun onSucceed(what: Int, response: Response<String>?) {
val result = response?.get()
showLog(result)
//showLog(result)
//专业
if(type=="zy"){
@ -780,9 +787,9 @@ class HomeActivity : BaseActivityOaToolbarViewBinding<ActivityHomeBinding>() {
showLog(zyQxData.data.size.toString())
val zyList = DataSupport.findAll(Zy::class.java)
if(zyList!=null&&zyList.size>0){
showLog("zyList size > 0")
showLog(GsonUtils.GsonString(zyList))
showLog(zyList.size.toString())
// showLog("zyList size > 0")
// showLog(GsonUtils.GsonString(zyList))
// showLog(zyList.size.toString())
DataSupport.deleteAll(Zy::class.java)
DataSupport.saveAll(zyQxData.data)
}else{
@ -800,9 +807,9 @@ class HomeActivity : BaseActivityOaToolbarViewBinding<ActivityHomeBinding>() {
showLog(jzQxData.data.size.toString())
val jzList = DataSupport.findAll(Jz::class.java)
if(jzList!=null&&jzList.size>0){
showLog("jzList size > 0")
showLog(GsonUtils.GsonString(jzList))
showLog(jzList.size.toString())
// showLog("jzList size > 0")
// showLog(GsonUtils.GsonString(jzList))
// showLog(jzList.size.toString())
DataSupport.deleteAll(Jz::class.java)
DataSupport.saveAll(jzQxData.data)
}else{
@ -820,9 +827,9 @@ class HomeActivity : BaseActivityOaToolbarViewBinding<ActivityHomeBinding>() {
showLog(xydjQxData.data.size.toString())
val xydjList = DataSupport.findAll(Xydj::class.java)
if(xydjList!=null&&xydjList.size>0){
showLog("xydjList size > 0")
showLog(GsonUtils.GsonString(xydjList))
showLog(xydjList.size.toString())
// showLog("xydjList size > 0")
// showLog(GsonUtils.GsonString(xydjList))
// showLog(xydjList.size.toString())
DataSupport.deleteAll(Xydj::class.java)
DataSupport.saveAll(xydjQxData.data)
}else{
@ -840,9 +847,9 @@ class HomeActivity : BaseActivityOaToolbarViewBinding<ActivityHomeBinding>() {
showLog(gzlxQxData.data.size.toString())
val gzlxList = DataSupport.findAll(Gzlx::class.java)
if(gzlxList!=null&&gzlxList.size>0){
showLog("gzlxList size > 0")
showLog(GsonUtils.GsonString(gzlxList))
showLog(gzlxList.size.toString())
// showLog("gzlxList size > 0")
// showLog(GsonUtils.GsonString(gzlxList))
// showLog(gzlxList.size.toString())
DataSupport.deleteAll(Gzlx::class.java)
DataSupport.saveAll(gzlxQxData.data)
}else{
@ -864,4 +871,103 @@ class HomeActivity : BaseActivityOaToolbarViewBinding<ActivityHomeBinding>() {
})
}
//巡检终合统计类型下拉数据
private fun getXjZhTjDropDown(type: String) {
var param = HashMap<String,String>()
param["action"] = "QJ_TJ";
param["type"] = type
val json = GsonUtils.GsonString(param)
val url = Contans.IP + Contans.XJ_GET_DROWDOWN_DATA
showLog(url)
val request = NoHttp.createStringRequest(url, RequestMethod.POST)
request.setDefineRequestBodyForJson(json)
if (App.getInstance().userInfo != null && App.getInstance().userInfo.token != null) {
val token = App.getInstance().userInfo.token
val credential = "Bearer $token"
request.addHeader("Authorization", credential)
request.addHeader("token", token)
}
queueNoHttp.add(5, request, object : OnResponseListener<String> {
override fun onStart(what: Int) {
}
override fun onSucceed(what: Int, response: Response<String>?) {
val result = response?.get()
showLog(result)
//专业
if(type=="zy"){
val zyXjZhTjData = GsonUtils.GsonToBean(result, ZyXjTjDropDownData::class.java)
if (zyXjZhTjData != null&&zyXjZhTjData.state == 1) {
if (zyXjZhTjData.data != null&&zyXjZhTjData.data.size > 0) {
showLog(zyXjZhTjData.data.size.toString())
val xjZyList = DataSupport.findAll(ZyXjTjDropDown::class.java)
if(xjZyList!=null&&xjZyList.size>0){
showLog("xjZyList size > 0")
showLog(GsonUtils.GsonString(xjZyList))
showLog(xjZyList.size.toString())
DataSupport.deleteAll(ZyXjTjDropDown::class.java)
DataSupport.saveAll(zyXjZhTjData.data)
}else{
showLog("xjZyList size == 0")
DataSupport.saveAll(zyXjZhTjData.data)
}
}
}
}
//值次
if(type=="zc"){
val zcData = GsonUtils.GsonToBean(result, ZcXjTjDropDownData::class.java)
if (zcData != null&&zcData.state == 1) {
if (zcData.data != null&&zcData.data.size > 0) {
showLog(zcData.data.size.toString())
val zcList = DataSupport.findAll(ZcXjTjDropDown::class.java)
if(zcList!=null&&zcList.size>0){
showLog("zcList size > 0")
showLog(GsonUtils.GsonString(zcList))
showLog(zcList.size.toString())
DataSupport.deleteAll(ZcXjTjDropDown::class.java)
DataSupport.saveAll(zcData.data)
}else{
showLog("jzList size == 0")
DataSupport.saveAll(zcData.data)
}
}
}
}
//类型
if(type=="lx"){
val lxData = GsonUtils.GsonToBean(result, LxXjTjDropDownData::class.java)
if (lxData != null&&lxData.state == 1) {
if (lxData.data != null&&lxData.data.size > 0) {
showLog(lxData.data.size.toString())
val lxList = DataSupport.findAll(LxXjTjDropDown::class.java)
if(lxList!=null&&lxList.size>0){
showLog("lxList size > 0")
showLog(GsonUtils.GsonString(lxList))
showLog(lxList.size.toString())
DataSupport.deleteAll(LxXjTjDropDown::class.java)
DataSupport.saveAll(lxData.data)
}else{
showLog("lxList size == 0")
DataSupport.saveAll(lxData.data)
}
}
}
}
}
override fun onFailed(what: Int, response: Response<String>?) {
}
override fun onFinish(what: Int) {
}
})
}
}

@ -189,8 +189,8 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
if (BuildConfig.LOG_ERROR) {
//测试
// binding.etUsername.setText("371522")
// binding.etPassword.setText("A000000a")
binding.etUsername.setText("371522")
binding.etPassword.setText("A000000a")
// binding.etUsername.setText("CY00011")
// binding.etPassword.setText("A000000a")

@ -184,10 +184,8 @@ public class SQxgdlrfActivity extends BaseActivity {
private SpinnerAdapter adapterZy;
private List<Zy> zys;
private SpinnerAdapter adapterJz;
private List<Jz> jzs;
private SpinnerAdapter adapterXydj;
private List<Xydj> xydjs;
private SpinnerAdapter adapterGzlx;

@ -0,0 +1,274 @@
package com.rehome.dywoa.ui.activity.sbxj
import android.util.Log
import android.view.View
import com.rehome.dywoa.App
import com.rehome.dywoa.Contans
import com.rehome.dywoa.DBModel.LxXjTjDropDown
import com.rehome.dywoa.DBModel.ZcXjTjDropDown
import com.rehome.dywoa.DBModel.ZyXjTjDropDown
import com.rehome.dywoa.adapter.SpinnerAdapter
import com.rehome.dywoa.adapter.XjZhTjAdapter
import com.rehome.dywoa.base.BaseActivityOaToolbarViewBinding
import com.rehome.dywoa.bean.XjZhTjBean
import com.rehome.dywoa.databinding.ActivityXjZhTjBinding
import com.rehome.dywoa.utils.GsonUtils
import com.rehome.dywoa.utils.HttpListener
import com.rehome.dywoa.utils.NoProgresshttpUtils
import com.rehome.dywoa.utils.NohttpUtils
import com.rehome.dywoa.weiget.DatePickDialog
import com.yolanda.nohttp.NoHttp
import com.yolanda.nohttp.RequestMethod
import com.yolanda.nohttp.rest.RequestQueue
import com.yolanda.nohttp.rest.Response
import org.litepal.crud.DataSupport
import java.text.SimpleDateFormat
import java.util.Calendar
class XjZhTjActivity : BaseActivityOaToolbarViewBinding<ActivityXjZhTjBinding>() {
private var stime: String = ""
private var etime: String = ""
private lateinit var adapter: XjZhTjAdapter
private var datas: MutableList<XjZhTjBean.Row> = mutableListOf()
private lateinit var queueNoHttp: RequestQueue
private lateinit var username: String
private lateinit var adapterZy: SpinnerAdapter<*>
private var zys: List<ZyXjTjDropDown> = mutableListOf()
private lateinit var adapterZc: SpinnerAdapter<*>
private var zcs: List<ZcXjTjDropDown> = mutableListOf()
private lateinit var adapterLx: SpinnerAdapter<*>
private var lxs: List<LxXjTjDropDown> = mutableListOf()
//XjZhTjAdapter XjZhTjBean adapter_xj_zh_tj
override fun getViewBinding() = ActivityXjZhTjBinding.inflate(layoutInflater)
override fun getToolbar() = binding.toolbarView.toolbar
override fun initView() {
initToolbar("巡检综合统计", "") {
}
queueNoHttp = NoHttp.newRequestQueue(1)
username = App.getInstance().userInfo.manid
adapter = XjZhTjAdapter(context, datas)
binding.lv.adapter = adapter
binding.tvNodata.visibility= View.VISIBLE
binding.lv.visibility= View.GONE
//格式化日期的对象(转化成习惯的时间格式)
val sdFormat = SimpleDateFormat("yyyy-MM-dd")
var calendar = Calendar.getInstance()
val nowStr = sdFormat.format(calendar.time)
showLog(nowStr)
binding.tvSt.text = nowStr
binding.tvEt.text = nowStr
binding.tvSt.setOnClickListener(View.OnClickListener { view: View? ->
val dialog = DatePickDialog(
context, calendar
) { outPutDate: String?,calendarBack: Calendar? ->
stime = binding.tvSt.getText().toString().trim { it <= ' ' }
binding.tvSt.text = outPutDate
calendar = calendarBack;
checkServerConnectStatus()
}
dialog.show()
})
binding.tvEt.setOnClickListener(View.OnClickListener { view: View? ->
val dialog = DatePickDialog(
context, calendar
) { outPutDate: String?,calendarBack: Calendar? ->
etime = binding.tvEt.getText().toString().trim { it <= ' ' }
binding.tvEt.text = outPutDate
calendar = calendarBack;
checkServerConnectStatus()
}
dialog.show()
})
binding.tvSearch.setOnClickListener(View.OnClickListener { view: View? ->
//检查服务器连接状态
checkServerConnectStatus()
})
}
override fun initData() {
//专业
zys = DataSupport.findAll(ZyXjTjDropDown::class.java)
initSpinnerZy()
//值次
zcs = DataSupport.findAll(ZcXjTjDropDown::class.java)
initSpinnerZc()
//类型
lxs = DataSupport.findAll(LxXjTjDropDown::class.java)
initSpinnerLx()
//检查服务器连接状态
checkServerConnectStatus()
}
//给专业spinner填充数据
private fun initSpinnerZy() {
adapterZy = SpinnerAdapter<Any?>(zys, context)
binding.etZy.setAdapter(adapterZy)
var item = -1
for (i in zys.indices) {
if (zys[i].value == "不选") {
item = i
break
}
}
if (item != -1) {
binding.etZy.setSelection(item)
}
}
//给值次spinner填充数据
private fun initSpinnerZc() {
adapterZc = SpinnerAdapter<Any?>(zcs, context)
binding.etZc.setAdapter(adapterZc)
var item = -1
for (i in zcs.indices) {
if (zcs[i].value == "不选") {
item = i
break
}
}
if (item != -1) {
binding.etZc.setSelection(item)
}
}
//给类型spinner填充数据
private fun initSpinnerLx() {
adapterLx = SpinnerAdapter<Any?>(lxs, context)
binding.etLx.setAdapter(adapterLx)
var item = -1
for (i in lxs.indices) {
if (lxs[i].value == "不选") {
item = i
break
}
}
if (item != -1) {
binding.etLx.setSelection(item)
}
}
//检查服务器连接状态
private fun checkServerConnectStatus() {
var param = HashMap<String,String>()
param["login"] = "dywoa";
val json = GsonUtils.GsonString(param)
val url = Contans.IP + Contans.check_server_connect
Log.i("app",url)
Log.i("app",json)
val request = NoHttp.createStringRequest(
url,
RequestMethod.POST
)
request.setDefineRequestBodyForJson(json)
NoProgresshttpUtils.getInstance().add(this, 0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
val result = response?.get()
if (result != null) {
showLog("-----onSucceed----")
showLog(result)
if(result == "1"){
showLog("connect server success")
//获取数据
getListData()
}
}
}
override fun onFailed(what: Int, response: Response<String?>?) {
showLog("connect server onFailed")
showToast("无法连接到服务器,请检查网络环境")
}
})
}
fun getListData() {
var param = HashMap<String,String>()
param["startDate"] = binding.tvSt.text.toString().trim();
param["endDate"] = binding.tvEt.text.toString().trim();
val zy = zys[binding.etZy.selectedItemPosition].key
val zc = zcs[binding.etZc.selectedItemPosition].key
val lx = lxs[binding.etLx.selectedItemPosition].key
if(zy!="不选"){
param["zy"] = zy
}
if(zc!="不选"){
param["zc"] = zc
}
if(lx!="不选"){
param["lx"] = lx
}
showLog(zy)
showLog(zc)
showLog(lx)
val json = GsonUtils.GsonString(param)
val url: String = Contans.IP + Contans.XJ_GET_ZH_TJ
val request = NoHttp.createStringRequest(url, RequestMethod.POST)
request.setDefineRequestBodyForJson(json)
NohttpUtils.getInstance().add(this, 0, request, object : HttpListener<String> {
override fun onSucceed(what: Int, response: Response<String>?) {
if (response != null) {
val result = response.get()
showLog(result)
val bean = GsonUtils.GsonToBean(result, XjZhTjBean::class.java)
if (bean != null && bean.total != 0) {
if (bean.rows != null && bean.rows.size>0) {
datas.clear()
datas.addAll(bean.rows)
adapter.notifyDataSetChanged()
binding.tvNodata.visibility= View.GONE
binding.lv.visibility= View.VISIBLE
}else {
datas.clear()
adapter.notifyDataSetChanged()
binding.tvNodata.visibility= View.VISIBLE
binding.lv.visibility= View.GONE
}
}else{
datas.clear()
adapter.notifyDataSetChanged()
binding.tvNodata.visibility= View.VISIBLE
binding.lv.visibility= View.GONE
}
}
}
override fun onFailed(what: Int, response: Response<String>?) {
}
}, true, true, "正在加载数据...")
}
}

@ -51,9 +51,9 @@ public class XscbglActivity extends BaseActivity2 {
private String username;
private String[] str = {"待办任务", "巡检工作", "读取NFC数据", "缺陷工单录入"};
private int[] imageId = {R.mipmap.icon_xs1, R.mipmap.icon6, R.mipmap.icon11, R.drawable.icon15};
private int[] colors = {R.drawable.radius_b1, R.drawable.radius_a4, R.drawable.radius_d1, R.drawable.radius_e4};
private String[] str = {"待办任务", "巡检工作", "统计", "读取NFC数据", "缺陷工单录入"};
private int[] imageId = {R.mipmap.icon_xs1, R.mipmap.icon6, R.mipmap.icon_task_count, R.mipmap.icon11, R.drawable.icon15};
private int[] colors = {R.drawable.radius_b1, R.drawable.radius_a4, R.drawable.radius_b3, R.drawable.radius_d1, R.drawable.radius_e4};
private GridViewAdapter adapter;
private BroadcastReceiver myReceiver = new BroadcastReceiver() {
@ -109,10 +109,14 @@ public class XscbglActivity extends BaseActivity2 {
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
break;
case 2:
intent = new Intent(XscbglActivity.this, NFCInfoActivity.class);
intent = new Intent(XscbglActivity.this, XjZhTjActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
break;
case 3:
intent = new Intent(XscbglActivity.this, NFCInfoActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
break;
case 4:
intent = new Intent(XscbglActivity.this, SQxgdlrfActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
break;

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/b3" />
<corners android:radius="@dimen/radiussize" />
</shape>

@ -0,0 +1,201 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#cccccc"
tools:context=".ui.activity.sbxj.XjZhTjActivity">
<include
android:id="@+id/toolbarView"
android:visibility="visible"
layout="@layout/layout_base" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#dddddd"
android:padding="5dp"
android:minHeight="30px">
<TextView
android:id="@+id/tv_zxsj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5px"
android:gravity="center"
android:minHeight="50px"
android:text="执行时间:"
android:textSize="26px" />
<TextView
android:id="@+id/tv_st"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5px"
android:layout_weight="1"
android:gravity="center"
android:minHeight="50px"
android:text="点击选择开始时间"
android:textSize="24px" />
<TextView
android:id="@+id/tv_to"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5px"
android:layout_weight="0.2"
android:gravity="center"
android:minHeight="50px"
android:text="至"
android:textSize="24px" />
<TextView
android:id="@+id/tv_et"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5px"
android:layout_weight="1"
android:gravity="center"
android:minHeight="50px"
android:text="点击选择结束时间"
android:textSize="24px" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#dddddd"
android:padding="2dp"
android:minHeight="30px"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="@dimen/px_60"
android:layout_weight="1"
android:layout_margin="@dimen/px_5"
android:gravity="center">
<TextView
android:id="@+id/tv_zc"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="28px"
android:gravity="right|center_vertical"
android:text="值次:" />
<Spinner
android:id="@+id/et_zc"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:layout_gravity="center"
android:gravity="center"
android:padding="0px"
android:background="@drawable/bg_edittext"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="@dimen/px_60"
android:layout_weight="1"
android:layout_margin="@dimen/px_5"
android:gravity="center">
<TextView
android:id="@+id/tv_lx"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="28px"
android:gravity="right|center_vertical"
android:text="类型:" />
<Spinner
android:id="@+id/et_lx"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:layout_gravity="center"
android:gravity="center"
android:padding="0px"
android:background="@drawable/bg_edittext"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#dddddd"
android:padding="2dp"
android:minHeight="30px"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="@dimen/px_60"
android:layout_weight="1"
android:layout_margin="@dimen/px_5"
android:gravity="center">
<TextView
android:id="@+id/tv_zy"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="28px"
android:gravity="right|center_vertical"
android:text="专业:" />
<Spinner
android:id="@+id/et_zy"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:layout_gravity="center"
android:gravity="center"
android:padding="0px"
android:background="@drawable/bg_edittext"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="@dimen/px_60"
android:layout_weight="1"
android:layout_margin="@dimen/px_5"
android:gravity="center">
<TextView
android:id="@+id/tv_search"
android:layout_width="0dp"
android:layout_height="@dimen/px_60"
android:layout_marginStart="50dp"
android:layout_marginEnd="50dp"
android:layout_weight="1"
android:textSize="16sp"
android:gravity="center"
android:textColor="#ffffff"
android:background="@drawable/btn_login_shape"
android:text="查询" />
</LinearLayout>
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:divider="#00000000"
android:dividerHeight="10dp"/>
<TextView
android:id="@+id/tv_nodata"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="暂无数据" />
</FrameLayout>
</LinearLayout>

@ -0,0 +1,234 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:orientation="vertical"
tools:ignore="UselessParent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:ignore="UselessParent">
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
style="@style/dagerDetailLeftStyle"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="名称:" />
<TextView
android:id="@+id/tv_jhmc"
style="@style/dagerDetailRightStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
style="@style/dagerDetailLeftStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始时间:" />
<TextView
android:id="@+id/tv_st"
style="@style/xjzhtjDetailRightStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
style="@style/dagerDetailLeftStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="结束时间:" />
<TextView
android:id="@+id/tv_et"
style="@style/xjzhtjDetailRightStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
style="@style/dagerDetailLeftStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="总巡检点数:" />
<TextView
android:id="@+id/tv_zds"
style="@style/dagerDetailRightStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
style="@style/dagerDetailLeftStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="已检点数:" />
<TextView
android:id="@+id/tv_yjds"
style="@style/dagerDetailRightStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
style="@style/dagerDetailLeftStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="未检点数:" />
<TextView
android:id="@+id/tv_wjds"
style="@style/dagerDetailRightStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
style="@style/dagerDetailLeftStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="免检点数:" />
<TextView
android:id="@+id/tv_mjds"
style="@style/dagerDetailRightStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
style="@style/dagerDetailLeftStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="巡检完成率:" />
<TextView
android:id="@+id/tv_rate"
style="@style/dagerDetailRightStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
style="@style/dagerListMarginTopStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
style="@style/dagerDetailLeftStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="专业名称:" />
<TextView
android:id="@+id/tv_zy"
style="@style/dagerDetailRightStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -33,6 +33,7 @@
<color name="a4">#AA603C</color>
<color name="b1">#2DAC74</color>
<color name="b2">#BABB59</color>
<color name="b3">#838383</color>
<color name="textColor">#737373</color>
<color name="c1">#39838C</color>
<color name="c2">#6C36E5</color>

@ -197,5 +197,11 @@
<item name="android:layout_marginStart">5dp</item>
<item name="android:gravity">center|start</item>
</style>
<style name="xjzhtjDetailRightStyle">
<item name="android:layout_marginStart">1dp</item>
<item name="android:gravity">center|start</item>
<item name="android:textSize">12sp</item>
<item name="android:textColor">@color/black</item>
</style>
</resources>

Loading…
Cancel
Save