Initial commit

This commit is contained in:
吉浩茹
2026-01-21 21:16:14 +08:00
commit e6f7e7f26e
607 changed files with 57222 additions and 0 deletions

View File

@ -0,0 +1,86 @@
package com.sipai.jspatrol.Alarm;
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.sipai.jspatrol.Bean.Alarm;
import com.sipai.jspatrol.Fault.NewFaultActivity;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.utils.Global.GlobalVal;
import java.util.List;
/**
* created by lvliming on 2020/11/9
*/
public class AlarmAdapter extends RecyclerView.Adapter<AlarmAdapter.ViewHolder> {
private List<Alarm> list;
private Context context;
public AlarmAdapter(Context context,List<Alarm> list) {
this.context = context;
this.list = list;
}
@Override
public AlarmAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_alarm,parent,false);
final AlarmAdapter.ViewHolder viewHolder = new AlarmAdapter.ViewHolder(view);
viewHolder.msg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = viewHolder.getAdapterPosition();
NewFaultActivity.alarmStart(context,list.get(position).getDescribe());
}
});
return viewHolder;
}
@Override
public void onBindViewHolder(AlarmAdapter.ViewHolder holder, int position) {
Alarm item = list.get(position);
holder.time.setText(item.getAlarmtime());
holder.content.setText(item.getDescribe());
holder.tv_type.setText(item.getAlarmTypeName());
holder.tv_lvl.setText(item.getPointName());
if (item.getStatus().equals(GlobalVal.Status_N)){
holder.tv_status.setText("未处理");
holder.tv_status.setTextColor(context.getResources().getColor(R.color.error_red));
}else if (item.getStatus().equals(GlobalVal.Status_C)){
holder.tv_status.setText("已确认");
holder.tv_status.setTextColor(context.getResources().getColor(R.color.error_yellow));
}else if (item.getStatus().equals(GlobalVal.Status_Y)){
holder.tv_status.setText("已恢复");
holder.tv_status.setTextColor(context.getResources().getColor(R.color.little_blue));
}
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public int getItemViewType(int position) {
return position;
}
static class ViewHolder extends RecyclerView.ViewHolder{
View msg;
TextView time,content,tv_type,tv_lvl,tv_status;
public ViewHolder(View itemView) {
super(itemView);
msg = itemView;
time = itemView.findViewById(R.id.moudle_item_alarm_tv_time);
content = itemView.findViewById(R.id.moudle_item_alarm_tv_content);
tv_type = itemView.findViewById(R.id.moudle_item_alarm_tv_alarmtype);
tv_lvl = itemView.findViewById(R.id.moudle_item_alarm_tv_alarmlvl);
tv_status = itemView.findViewById(R.id.moudle_item_alarm_tv_status);;
}
}
}

View File

@ -0,0 +1,339 @@
package com.sipai.jspatrol.Alarm;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.TimePicker;
import com.sipai.jspatrol.Bean.Alarm;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.DateFormatUtils;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import com.sipai.ui.EmptyLayout;
import com.superrecycleview.superlibrary.recycleview.SuperRecyclerView;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class AlarmListActivity extends AppCompatActivity implements View.OnClickListener {
private SharedPreferencesData sharedpre;
private HashMap<String, String> map_base = new HashMap<>();
private String mServer;
private String mBizid;
private EditText tvstartdate,tvenddate;
private int year,month,day,hour,minute,lastday,lastmonth;
private int page = 1;
private LinearLayoutManager manager;
private SuperRecyclerView rc_view;
private SwipeRefreshLayout refresh;
private EmptyLayout emptyLayout;
private ImageView iv_back;
private EditText edt_name;
private TextView tv_search;
private String name = "";
private List<Alarm> alarms = new ArrayList<>();
private AlarmAdapter adapter;
public static void actionStart(Context context){
Intent intent = new Intent(context,AlarmListActivity.class);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alarm_list);
init();
initView();
getAlarmMsgs();
}
private void initView() {
iv_back = findViewById(R.id.moudle_alarm_list_iv_back);
iv_back.setOnClickListener(this);
edt_name = findViewById(R.id.moudle_alarm_list_edt_equname);
tv_search = findViewById(R.id.moudle_alarm_list_tv_search);
tv_search.setOnClickListener(this);
tvstartdate=(EditText)findViewById(R.id.moudle_alarm_list_edt_sd);
tvstartdate.setCursorVisible(false);
tvstartdate.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//创建DatePickerDialog对象
if (event.getAction() == MotionEvent.ACTION_DOWN) {
MyDatePickerDialog dpd = new MyDatePickerDialog(AlarmListActivity.this, Datelistener, year, month, day);
dpd.show();//显示DatePickerDialog组件
}
return false;
}
});
tvenddate=(EditText)findViewById(R.id.moudle_alarm_list_edt_ed);
tvenddate.setCursorVisible(false);
tvenddate.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//创建DatePickerDialog对象
if (event.getAction() == MotionEvent.ACTION_DOWN) {
MyDatePickerDialog dpd = new MyDatePickerDialog(AlarmListActivity.this, Datelistener, year, month, day);
dpd.show();//显示DatePickerDialog组件
}
return false;
}
});
if (day<8){
if (month!=0) {
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.set(Calendar.MONTH, month - 1);
int tday = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
tvstartdate.setText(DateFormatUtils.DateFormatMinString(year + "-" + month + "-" + lastday + " " + hour + ":" + minute));
}else{
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.set(Calendar.MONTH, 11);
int tday = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
tvstartdate.setText(DateFormatUtils.DateFormatMinString((year-1) + "-" + 12 + "-" + lastday + " " + hour + ":" + minute));
}
}else {
tvstartdate.setText(DateFormatUtils.DateFormatMinString(year + "-" + (month + 1) + "-" + lastday + " " + hour + ":" + minute));
}
tvenddate.setText(DateFormatUtils.DateFormatMinString(year+"-"+(month+1)+"-"+day+" "+hour+":"+minute));
rc_view = findViewById(R.id.moudle_alarm_list_rc);
emptyLayout = findViewById(R.id.moudle_alarm_list_ui_empty);
refresh = findViewById(R.id.moudle_alarm_list_refresh);
refresh.setColorSchemeResources(R.color.blue);
refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
page = 1;
getAlarmMsgs();
}
});
manager = new LinearLayoutManager(this);
rc_view.setLayoutManager(manager);
rc_view.setRefreshEnabled(false);
rc_view.setLoadMoreEnabled(true);
rc_view.setLoadingListener(new SuperRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
}
@Override
public void onLoadMore() {
page = page+1;
getAlarmMsgs();
}
});
}
private void init() {
sharedpre = new SharedPreferencesData(this);
map_base = sharedpre.getAll();
mServer = map_base.get("mServer");
SharedPreferences sharedPreferences = getSharedPreferences("config",MODE_PRIVATE);
mBizid = sharedPreferences.getString("bizid","");
//初始化Calendar日历对象
Calendar mycalendar=Calendar.getInstance(Locale.CHINA);
Date mydate=new Date(); //获取当前日期Date对象
mycalendar.setTime(mydate);////为Calendar对象设置时间为当前日期
year=mycalendar.get(Calendar.YEAR); //获取Calendar对象中的年
month=mycalendar.get(Calendar.MONTH);//获取Calendar对象中的月
day=mycalendar.get(Calendar.DAY_OF_MONTH);//获取这个月的第几天
lastday=getBeforeDay(mycalendar).get(Calendar.DAY_OF_MONTH);
lastmonth=getBeforeDay(mycalendar).get(Calendar.MONTH);
hour=mycalendar.get(Calendar.HOUR_OF_DAY);//获取这个月的第几天
minute=mycalendar.get(Calendar.MINUTE);//获取这个月的第几天
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.moudle_alarm_list_iv_back:
finish();
break;
case R.id.moudle_alarm_list_tv_search:
startSearch();
break;
}
}
private void startSearch() {
if (edt_name.getText()!=null&&!edt_name.getText().toString().isEmpty()){
name = edt_name.getText().toString();
}
getAlarmMsgs();
}
public class MyDatePickerDialog extends DatePickerDialog {
public MyDatePickerDialog(Context context, OnDateSetListener callBack,
int year, int month, int day) {
super(context, callBack, year, month, day);
// TODO Auto-generated constructor stub
}
@Override
protected void onStop() {
//super.onStop();//防止onDateSet执行两次
}
}
private DatePickerDialog.OnDateSetListener Datelistener=new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) {
//修改year、month、day的变量值以便以后单击按钮时DatePickerDialog上显示上一次修改后的值
year=myyear;
month=monthOfYear;
day=dayOfMonth;
//更新日期
updateDate();
}
//当DatePickerDialog关闭时更新日期显示
private void updateDate()
{
//在TextView上显示日期
TimePickerDialog dpd=new TimePickerDialog(AlarmListActivity.this,Timelistener,hour,minute,true);
dpd.show();//显示DatePickerDialog组件
}
};
private TimePickerDialog.OnTimeSetListener Timelistener=new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hours, int minutes) {
//修改year、month、day的变量值以便以后单击按钮时DatePickerDialog上显示上一次修改后的值
hour=hours;
minute=minutes;
//更新日期
updateDate();
}
//当DatePickerDialog关闭时更新日期显示
private void updateDate()
{
//在TextView上显示日期
if(tvstartdate.isFocused()){
tvstartdate.setText(DateFormatUtils.DateFormatMinString(year+"-"+(month+1)+"-"+day+" "+hour+":"+minute));
}else if(tvenddate.isFocused()){
tvenddate.setText(DateFormatUtils.DateFormatMinString(year+"-"+(month+1)+"-"+day+" "+hour+":"+minute));
}
getAlarmMsgs();
}
};
/**
* 获取当前时间的前一周
* @param cl
* @return
*/
private static Calendar getBeforeDay(Calendar cl){
//使用roll方法进行向前回滚
//cl.roll(Calendar.DATE, -1);
//使用set方法直接进行设置
int day = cl.get(Calendar.DATE);
cl.set(Calendar.DATE, day-7);
return cl;
}
private void getAlarmMsgs() {
HashMap<String,String> map = new HashMap<>();
map.put("companyId",mBizid);
map.put("search_name",name);
map.put("alarmlevel","");
map.put("status","");
map.put("page",String.valueOf(page));
map.put("sdt",tvstartdate.getText().toString());
map.put("edt",tvenddate.getText().toString());
map.put("rows","50");
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GetAlarmList_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
// showError(a);
updateList();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res.contains("describe")&&res.contains("id")){
alarms = parseAlarmList(res);
}else {
alarms = new ArrayList<>();
}
updateList();
}
});
}
private void updateList() {
if (!AlarmListActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refresh.setRefreshing(false);
if (alarms.size()>0){
emptyLayout.setVisibility(View.GONE);
rc_view.setVisibility(View.VISIBLE);
adapter = new AlarmAdapter(AlarmListActivity.this,alarms);
rc_view.setAdapter(adapter);
}else {
rc_view.setVisibility(View.GONE);
emptyLayout.setVisibility(View.VISIBLE);
}
}
});
}
}
private List<Alarm> parseAlarmList(String res) {
List<Alarm> list = new ArrayList<>();
try {
JSONArray array = new JSONArray(res);
for (int i=0;i<array.length();i++){
Alarm item = new Alarm();
item.setId(array.getJSONObject(i).optString("id"));
if (array.getJSONObject(i).optString("alarmTime").length()>16){
item.setAlarmtime(array.getJSONObject(i).optString("alarmTime").substring(0,16));
}else {
item.setAlarmtime(array.getJSONObject(i).optString("alarmTime"));
}
item.setPointCode(array.getJSONObject(i).optString("pointCode"));
item.setPointName(array.getJSONObject(i).optString("pointName"));
item.setAlarmTypeName(array.getJSONObject(i).optString("alarmTypeName"));
item.setStatus(array.getJSONObject(i).optString("status"));
item.setAlarmtype(array.getJSONObject(i).optString("alarmType"));
item.setDescribe(array.getJSONObject(i).optString("describe"));
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
}

View File

@ -0,0 +1,57 @@
package com.sipai.jspatrol.Application;
import android.app.Application;
import androidx.multidex.MultiDex;
import com.sipai.jspatrol.utils.CrashHandler;
import org.litepal.LitePal;
import org.litepal.LitePalApplication;
import org.xutils.x;
/**
* created by lvliming on 2020/3/23
*/
public class App extends LitePalApplication {
private double latitude;
private double longitude;
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
private static App instance;
public static App getInstance(){
if (instance == null){
}
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
//全局捕捉异常
CrashHandler crashHandler = CrashHandler.getInstance();
crashHandler.init(getApplicationContext());
x.Ext.init(this);
x.Ext.setDebug(false);
MultiDex.install(this);
// LitePal.initialize(this);
}
}

View File

@ -0,0 +1,29 @@
package com.sipai.jspatrol.Base;
import android.app.Activity;
import java.util.ArrayList;
import java.util.List;
/**
* created by lvliming on 2020/3/23
*/
public class ActivityCollector {
public static List<Activity> activities = new ArrayList<>();
public static void addActivity(Activity activity){
activities.add(activity);
}
public static void removeActivity(Activity activity){
activities.remove(activity);
}
public static void finishAll(){
for (Activity activity:activities){
if (!activity.isFinishing()){
activity.finish();
}
}
}
}

View File

@ -0,0 +1,15 @@
package com.sipai.jspatrol.Base;
/**
* created by lvliming on 2020/3/23
*/
public abstract class BaseFragmentModel<P extends BaseFragmentPresenter,CONTRACT> {
protected P p;
public BaseFragmentModel(P p) {
this.p = p;
}
public abstract CONTRACT getContract();
}

View File

@ -0,0 +1,40 @@
package com.sipai.jspatrol.Base;
import java.lang.ref.WeakReference;
/**
* created by lvliming on 2020/3/23
*/
public abstract class BaseFragmentPresenter<V extends BaseFragmentView,M extends BaseFragmentModel,CONTRACT> {
protected M m;
//绑定View层弱引用
private WeakReference<V> vWeakReference;
public BaseFragmentPresenter() {
m = getModel();
}
public void bindView(V v) {
vWeakReference = new WeakReference<>(v);
}
public void unBindView(){
if (vWeakReference!=null){
vWeakReference.clear();
vWeakReference = null;
System.gc();
}
}
public V getView(){
if (vWeakReference!=null){
return vWeakReference.get();
}
return null;
}
public abstract CONTRACT getContract();
public abstract M getModel();
}

View File

@ -0,0 +1,32 @@
package com.sipai.jspatrol.Base;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
/**
* created by lvliming on 2020/3/23
*/
public abstract class BaseFragmentView<P extends BaseFragmentPresenter,CONTRACT> extends Fragment {
protected P p;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
p = getPresenter();
p.bindView(this);
}
public abstract CONTRACT getContract();
public abstract P getPresenter();
public void error(Exception e){}
@Override
public void onDestroy() {
super.onDestroy();
p.unBindView();
}
}

View File

@ -0,0 +1,14 @@
package com.sipai.jspatrol.Base;
/**
* created by lvliming on 2020/3/23
*/
public abstract class BaseModel<P extends BasePresenter,CONTRACT> {
protected P p;
public BaseModel(P p) {
this.p = p;
}
public abstract CONTRACT getContract();
}

View File

@ -0,0 +1,41 @@
package com.sipai.jspatrol.Base;
import java.lang.ref.WeakReference;
/**
* created by lvliming on 2020/3/23
*/
public abstract class BasePresenter<V extends BaseView,M extends BaseModel,CONTRACT> {
protected M m;
//绑定View层弱引用
private WeakReference<V> vWeakReference;
public BasePresenter() {
m = getModel();
}
public void bindView(V v){
vWeakReference = new WeakReference<>(v);
}
public void unBindView(){
if (vWeakReference!=null){
vWeakReference.clear();
vWeakReference = null;
System.gc();
}
}
//获取ViewP — V
public V getView(){
if(vWeakReference!=null){
return vWeakReference.get();
}
return null;
}
//获取子类具体契约Model层和View层协商的共同业务
public abstract CONTRACT getContract();
public abstract M getModel();
}

View File

@ -0,0 +1,40 @@
package com.sipai.jspatrol.Base;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
/**
* created by lvliming on 2020/3/23
*/
public abstract class BaseView<P extends BasePresenter,CONTRACT> extends AppCompatActivity {
protected P p;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//弱引用
p = getPresenter();
//绑定
p.bindView(this);
}
//从子类获取具体契约
protected abstract P getPresenter();
//让P层做什么需求
public abstract CONTRACT getContract();
//如果Presenter层出现了异常需要告知View层
public void error(Exception e){
}
@Override
protected void onDestroy() {
super.onDestroy();
//解除绑定
p.unBindView();
}
}

View File

@ -0,0 +1,135 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
/**
* created by lvliming on 2020/11/9
*/
public class Alarm implements Serializable {
private String id;
private String alarmlvl;
private String alarmtime;
private String alarmtype;
private String alarmvalue;
private String describe;
private String status;
private String recovertime;
private String workOrderId;
private String company;
private String processSection;
private String pointCode;
private String pointName;
private String alarmTypeName;
public String getPointCode() {
return pointCode;
}
public void setPointCode(String pointCode) {
this.pointCode = pointCode;
}
public String getPointName() {
return pointName;
}
public void setPointName(String pointName) {
this.pointName = pointName;
}
public String getAlarmTypeName() {
return alarmTypeName;
}
public void setAlarmTypeName(String alarmTypeName) {
this.alarmTypeName = alarmTypeName;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAlarmlvl() {
return alarmlvl;
}
public void setAlarmlvl(String alarmlvl) {
this.alarmlvl = alarmlvl;
}
public String getAlarmtime() {
return alarmtime;
}
public void setAlarmtime(String alarmtime) {
this.alarmtime = alarmtime;
}
public String getAlarmtype() {
return alarmtype;
}
public void setAlarmtype(String alarmtype) {
this.alarmtype = alarmtype;
}
public String getAlarmvalue() {
return alarmvalue;
}
public void setAlarmvalue(String alarmvalue) {
this.alarmvalue = alarmvalue;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getRecovertime() {
return recovertime;
}
public void setRecovertime(String recovertime) {
this.recovertime = recovertime;
}
public String getWorkOrderId() {
return workOrderId;
}
public void setWorkOrderId(String workOrderId) {
this.workOrderId = workOrderId;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getProcessSection() {
return processSection;
}
public void setProcessSection(String processSection) {
this.processSection = processSection;
}
}

View File

@ -0,0 +1,89 @@
package com.sipai.jspatrol.Bean;
/**
* Created by lvliming on 2017/10/23.
*/
public class Area {
private String _bizname,bizid,code,id,insdt,insuser,name,pid,remark,status;
public String get_bizname() {
return _bizname;
}
public void set_bizname(String _bizname) {
this._bizname = _bizname;
}
public String getBizid() {
return bizid;
}
public void setBizid(String bizid) {
this.bizid = bizid;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}

View File

@ -0,0 +1,9 @@
package com.sipai.jspatrol.Bean;
/**
* created by lvliming on 2020/3/23
*/
public class BaseEntity {
private int code;
private String result;
}

View File

@ -0,0 +1,142 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
public class Biz extends BaseEntity implements Serializable{
private String id;
private String name;
private String logopic;
private String _typename;
private String address;
private String power;
private String technics;
private String location;
private String leader;
private String tel;
private String frehint;
private String mainpic;
private String defaultprddbname;
private String bizid;
private String pid;
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getBizid() {
return bizid;
}
public void setBizid(String bizid) {
this.bizid = bizid;
}
public String getFrehint() {
return frehint;
}
public void setFrehint(String frehint) {
this.frehint = frehint;
}
public String get_typename() {
return _typename;
}
public void set_typename(String _typename) {
this._typename = _typename;
}
public String getId() {
return id;
}
public String getLogopic() {
return logopic;
}
public String getName() {
return name;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setLogopic(String logopic) {
this.logopic = logopic;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPower() {
return power;
}
public void setPower(String power) {
this.power = power;
}
public String getTechnics() {
return technics;
}
public void setTechnics(String technics) {
this.technics = technics;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public String getLeader() {
return leader;
}
public void setLeader(String leader) {
this.leader = leader;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getMainpic() {
return mainpic;
}
public void setMainpic(String mainpic) {
this.mainpic = mainpic;
}
public String getDefaultprddbname() {
return defaultprddbname;
}
public void setDefaultprddbname(String defaultprddbname) {
this.defaultprddbname = defaultprddbname;
}
}

View File

@ -0,0 +1,51 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
public class ChartData implements Serializable {
private String name;
private String name1;
private Object[] x;
private Object[] y;
private Object[] y2;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getName1() {
return name1;
}
public void setName1(String name1) {
this.name1 = name1;
}
public Object[] getX() {
return x;
}
public void setX(Object[] x) {
this.x = x;
}
public Object[] getY() {
return y;
}
public void setY(Object[] y) {
this.y = y;
}
public Object[] getY2() {
return y2;
}
public void setY2(Object[] y2) {
this.y2 = y2;
}
}

View File

@ -0,0 +1,75 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
/**
* Created by lvliming on 2019/3/26.
*/
public class Detail implements Serializable {
private String id,problem,handledetail,detailsupplement,handledt,processsectionid,equipmentids,faultlibraryid;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getProblem() {
return problem;
}
public void setProblem(String problem) {
this.problem = problem;
}
public String getHandledetail() {
return handledetail;
}
public void setHandledetail(String handledetail) {
this.handledetail = handledetail;
}
public String getDetailsupplement() {
return detailsupplement;
}
public void setDetailsupplement(String detailsupplement) {
this.detailsupplement = detailsupplement;
}
public String getHandledt() {
return handledt;
}
public void setHandledt(String handledt) {
this.handledt = handledt;
}
public String getProcesssectionid() {
return processsectionid;
}
public void setProcesssectionid(String processsectionid) {
this.processsectionid = processsectionid;
}
public String getEquipmentids() {
return equipmentids;
}
public void setEquipmentids(String equipmentids) {
this.equipmentids = equipmentids;
}
public String getFaultlibraryid() {
return faultlibraryid;
}
public void setFaultlibraryid(String faultlibraryid) {
this.faultlibraryid = faultlibraryid;
}
}

View File

@ -0,0 +1,449 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
import java.util.List;
public class EquList implements Serializable {
private String areaid;
private String assetClass;
private String assetclassid;
private String assetnumber;
private String bizid;
private String company;
private String currentmanageflag;
private String equipmentClass;
private String equipmentLevel;
private String equipmentPid;
private String equipmentSpecification;
private String equipmentTypeNumber;
private String equipmentcardid;
private String equipmentclassid;
private String equipmentlevelid;
private String equipmentmanufacturer;
private String equipmentmodel;
private String equipmentname;
private String equipmentstatus;
private String equipmentvalue;
private String geographyarea;
private String id;
private String insdt;
private String insuser;
private String leavefactorynumber;
private String maintenancecondition;
private String majorparameter;
private String nowtotaldepreciation;
private String pid;
private String processSection;
private String processsectionid;
private String productiondate;
private String purchasedate;
private String ratedcurrent;
private String ratedpower;
private String ratedvoltage;
private String remark;
private String residualvalue;
private String responsibledepartment;
private String servicephone;
private String specification;
private String sql;
private String supplierid;
private String totaltime;
private String useage;
private String usedate;
private String where;
private String equipmentStatusManagement;
private List<Measuringpoint> measuringpoints;
public String getEquipmentStatusManagement() {
return equipmentStatusManagement;
}
public void setEquipmentStatusManagement(String equipmentStatusManagement) {
this.equipmentStatusManagement = equipmentStatusManagement;
}
public String getAreaid() {
return areaid;
}
public void setAreaid(String areaid) {
this.areaid = areaid;
}
public String getAssetClass() {
return assetClass;
}
public void setAssetClass(String assetClass) {
this.assetClass = assetClass;
}
public String getAssetclassid() {
return assetclassid;
}
public void setAssetclassid(String assetclassid) {
this.assetclassid = assetclassid;
}
public String getAssetnumber() {
return assetnumber;
}
public void setAssetnumber(String assetnumber) {
this.assetnumber = assetnumber;
}
public String getBizid() {
return bizid;
}
public void setBizid(String bizid) {
this.bizid = bizid;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getCurrentmanageflag() {
return currentmanageflag;
}
public void setCurrentmanageflag(String currentmanageflag) {
this.currentmanageflag = currentmanageflag;
}
public String getEquipmentClass() {
return equipmentClass;
}
public void setEquipmentClass(String equipmentClass) {
this.equipmentClass = equipmentClass;
}
public String getEquipmentLevel() {
return equipmentLevel;
}
public void setEquipmentLevel(String equipmentLevel) {
this.equipmentLevel = equipmentLevel;
}
public String getEquipmentPid() {
return equipmentPid;
}
public void setEquipmentPid(String equipmentPid) {
this.equipmentPid = equipmentPid;
}
public String getEquipmentSpecification() {
return equipmentSpecification;
}
public void setEquipmentSpecification(String equipmentSpecification) {
this.equipmentSpecification = equipmentSpecification;
}
public String getEquipmentTypeNumber() {
return equipmentTypeNumber;
}
public void setEquipmentTypeNumber(String equipmentTypeNumber) {
this.equipmentTypeNumber = equipmentTypeNumber;
}
public String getEquipmentcardid() {
return equipmentcardid;
}
public void setEquipmentcardid(String equipmentcardid) {
this.equipmentcardid = equipmentcardid;
}
public String getEquipmentclassid() {
return equipmentclassid;
}
public void setEquipmentclassid(String equipmentclassid) {
this.equipmentclassid = equipmentclassid;
}
public String getEquipmentlevelid() {
return equipmentlevelid;
}
public void setEquipmentlevelid(String equipmentlevelid) {
this.equipmentlevelid = equipmentlevelid;
}
public String getEquipmentmanufacturer() {
return equipmentmanufacturer;
}
public void setEquipmentmanufacturer(String equipmentmanufacturer) {
this.equipmentmanufacturer = equipmentmanufacturer;
}
public String getEquipmentmodel() {
return equipmentmodel;
}
public void setEquipmentmodel(String equipmentmodel) {
this.equipmentmodel = equipmentmodel;
}
public String getEquipmentname() {
return equipmentname;
}
public void setEquipmentname(String equipmentname) {
this.equipmentname = equipmentname;
}
public String getEquipmentstatus() {
return equipmentstatus;
}
public void setEquipmentstatus(String equipmentstatus) {
this.equipmentstatus = equipmentstatus;
}
public String getEquipmentvalue() {
return equipmentvalue;
}
public void setEquipmentvalue(String equipmentvalue) {
this.equipmentvalue = equipmentvalue;
}
public String getGeographyarea() {
return geographyarea;
}
public void setGeographyarea(String geographyarea) {
this.geographyarea = geographyarea;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getLeavefactorynumber() {
return leavefactorynumber;
}
public void setLeavefactorynumber(String leavefactorynumber) {
this.leavefactorynumber = leavefactorynumber;
}
public String getMaintenancecondition() {
return maintenancecondition;
}
public void setMaintenancecondition(String maintenancecondition) {
this.maintenancecondition = maintenancecondition;
}
public String getMajorparameter() {
return majorparameter;
}
public void setMajorparameter(String majorparameter) {
this.majorparameter = majorparameter;
}
public String getNowtotaldepreciation() {
return nowtotaldepreciation;
}
public void setNowtotaldepreciation(String nowtotaldepreciation) {
this.nowtotaldepreciation = nowtotaldepreciation;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getProcessSection() {
return processSection;
}
public void setProcessSection(String processSection) {
this.processSection = processSection;
}
public String getProcesssectionid() {
return processsectionid;
}
public void setProcesssectionid(String processsectionid) {
this.processsectionid = processsectionid;
}
public String getProductiondate() {
return productiondate;
}
public void setProductiondate(String productiondate) {
this.productiondate = productiondate;
}
public String getPurchasedate() {
return purchasedate;
}
public void setPurchasedate(String purchasedate) {
this.purchasedate = purchasedate;
}
public String getRatedcurrent() {
return ratedcurrent;
}
public void setRatedcurrent(String ratedcurrent) {
this.ratedcurrent = ratedcurrent;
}
public String getRatedpower() {
return ratedpower;
}
public void setRatedpower(String ratedpower) {
this.ratedpower = ratedpower;
}
public String getRatedvoltage() {
return ratedvoltage;
}
public void setRatedvoltage(String ratedvoltage) {
this.ratedvoltage = ratedvoltage;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getResidualvalue() {
return residualvalue;
}
public void setResidualvalue(String residualvalue) {
this.residualvalue = residualvalue;
}
public String getResponsibledepartment() {
return responsibledepartment;
}
public void setResponsibledepartment(String responsibledepartment) {
this.responsibledepartment = responsibledepartment;
}
public String getServicephone() {
return servicephone;
}
public void setServicephone(String servicephone) {
this.servicephone = servicephone;
}
public String getSpecification() {
return specification;
}
public void setSpecification(String specification) {
this.specification = specification;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
public String getSupplierid() {
return supplierid;
}
public void setSupplierid(String supplierid) {
this.supplierid = supplierid;
}
public String getTotaltime() {
return totaltime;
}
public void setTotaltime(String totaltime) {
this.totaltime = totaltime;
}
public String getUseage() {
return useage;
}
public void setUseage(String useage) {
this.useage = useage;
}
public String getUsedate() {
return usedate;
}
public void setUsedate(String usedate) {
this.usedate = usedate;
}
public String getWhere() {
return where;
}
public void setWhere(String where) {
this.where = where;
}
public List<Measuringpoint> getMeasuringpoints() {
return measuringpoints;
}
public void setMeasuringpoints(List<Measuringpoint> measuringpoints) {
this.measuringpoints = measuringpoints;
}
}

View File

@ -0,0 +1,505 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
/**
* Created by lvliming on 2019/2/26.
*/
public class Fault implements Serializable{
private String abnormityDescription;
private String bizId;
private Biz biz;
private String equipmentIds;
private String equipmentNames;
private String remark;
private String sumitMan;
private String actualFinishDate;
private int actualMoney;
private String assistantedid;
private String changeParts;
private String company;
private String companyid;
private String contactids;
private String defectLevel;
private String delayReason;
private String detailNumber;
private EquList equipmentCard;
private String equipmentId;
private String id;
private String insdt;
private String insuser;
private int judgemaintainerstaff;
private int judgeresult;
private String maintainerid;
private String maintainplanid;
private String maintenance;
private String maintenanceMan;
private String maintenanceWay;
private String maintenanceid;
private int planConsumeTime;
private String planMoney;
private String plannedenddt;
private String problemcontent;
private String problemresult;
private String problemtypeid;
private String problemTypeNames;
private ProcessSection processSection;
private String processSectionId;
private String processdefid;
private String processid;
private String solver;
private String solvetime;
private String sql;
private String startDate;
private String status;
private String submittime;
private String type;
private String where;
private String todoTask;
private String taskId;
private String equipmentOpinion;
private String processInstanceId;
private String materialOpinion;
private String qualityOpinion;
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getTodoTask() {
return todoTask;
}
public void setTodoTask(String todoTask) {
this.todoTask = todoTask;
}
public String getProblemTypeNames() {
return problemTypeNames;
}
public void setProblemTypeNames(String problemTypeNames) {
this.problemTypeNames = problemTypeNames;
}
public String getAbnormityDescription() {
return abnormityDescription;
}
public void setAbnormityDescription(String abnormityDescription) {
this.abnormityDescription = abnormityDescription;
}
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
public Biz getBiz() {
return biz;
}
public void setBiz(Biz biz) {
this.biz = biz;
}
public String getEquipmentIds() {
return equipmentIds;
}
public void setEquipmentIds(String equipmentIds) {
this.equipmentIds = equipmentIds;
}
public String getEquipmentNames() {
return equipmentNames;
}
public void setEquipmentNames(String equipmentNames) {
this.equipmentNames = equipmentNames;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getSumitMan() {
return sumitMan;
}
public void setSumitMan(String sumitMan) {
this.sumitMan = sumitMan;
}
public String getActualFinishDate() {
return actualFinishDate;
}
public void setActualFinishDate(String actualFinishDate) {
this.actualFinishDate = actualFinishDate;
}
public int getActualMoney() {
return actualMoney;
}
public void setActualMoney(int actualMoney) {
this.actualMoney = actualMoney;
}
public String getAssistantedid() {
return assistantedid;
}
public void setAssistantedid(String assistantedid) {
this.assistantedid = assistantedid;
}
public String getChangeParts() {
return changeParts;
}
public void setChangeParts(String changeParts) {
this.changeParts = changeParts;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getCompanyid() {
return companyid;
}
public void setCompanyid(String companyid) {
this.companyid = companyid;
}
public String getContactids() {
return contactids;
}
public void setContactids(String contactids) {
this.contactids = contactids;
}
public String getDefectLevel() {
return defectLevel;
}
public void setDefectLevel(String defectLevel) {
this.defectLevel = defectLevel;
}
public String getDelayReason() {
return delayReason;
}
public void setDelayReason(String delayReason) {
this.delayReason = delayReason;
}
public String getDetailNumber() {
return detailNumber;
}
public void setDetailNumber(String detailNumber) {
this.detailNumber = detailNumber;
}
public EquList getEquipmentCard() {
return equipmentCard;
}
public void setEquipmentCard(EquList equipmentCard) {
this.equipmentCard = equipmentCard;
}
public String getEquipmentId() {
return equipmentId;
}
public void setEquipmentId(String equipmentId) {
this.equipmentId = equipmentId;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public int getJudgemaintainerstaff() {
return judgemaintainerstaff;
}
public void setJudgemaintainerstaff(int judgemaintainerstaff) {
this.judgemaintainerstaff = judgemaintainerstaff;
}
public int getJudgeresult() {
return judgeresult;
}
public void setJudgeresult(int judgeresult) {
this.judgeresult = judgeresult;
}
public String getMaintainerid() {
return maintainerid;
}
public void setMaintainerid(String maintainerid) {
this.maintainerid = maintainerid;
}
public String getMaintainplanid() {
return maintainplanid;
}
public void setMaintainplanid(String maintainplanid) {
this.maintainplanid = maintainplanid;
}
public String getMaintenance() {
return maintenance;
}
public void setMaintenance(String maintenance) {
this.maintenance = maintenance;
}
public String getMaintenanceMan() {
return maintenanceMan;
}
public void setMaintenanceMan(String maintenanceMan) {
this.maintenanceMan = maintenanceMan;
}
public String getMaintenanceWay() {
return maintenanceWay;
}
public void setMaintenanceWay(String maintenanceWay) {
this.maintenanceWay = maintenanceWay;
}
public String getMaintenanceid() {
return maintenanceid;
}
public void setMaintenanceid(String maintenanceid) {
this.maintenanceid = maintenanceid;
}
public int getPlanConsumeTime() {
return planConsumeTime;
}
public void setPlanConsumeTime(int planConsumeTime) {
this.planConsumeTime = planConsumeTime;
}
public String getPlanMoney() {
return planMoney;
}
public void setPlanMoney(String planMoney) {
this.planMoney = planMoney;
}
public String getPlannedenddt() {
return plannedenddt;
}
public void setPlannedenddt(String plannedenddt) {
this.plannedenddt = plannedenddt;
}
public String getProblemcontent() {
return problemcontent;
}
public void setProblemcontent(String problemcontent) {
this.problemcontent = problemcontent;
}
public String getProblemresult() {
return problemresult;
}
public void setProblemresult(String problemresult) {
this.problemresult = problemresult;
}
public String getProblemtypeid() {
return problemtypeid;
}
public void setProblemtypeid(String problemtypeid) {
this.problemtypeid = problemtypeid;
}
public ProcessSection getProcessSection() {
return processSection;
}
public void setProcessSection(ProcessSection processSection) {
this.processSection = processSection;
}
public String getProcessSectionId() {
return processSectionId;
}
public void setProcessSectionId(String processSectionId) {
this.processSectionId = processSectionId;
}
public String getProcessdefid() {
return processdefid;
}
public void setProcessdefid(String processdefid) {
this.processdefid = processdefid;
}
public String getProcessid() {
return processid;
}
public void setProcessid(String processid) {
this.processid = processid;
}
public String getSolver() {
return solver;
}
public void setSolver(String solver) {
this.solver = solver;
}
public String getSolvetime() {
return solvetime;
}
public void setSolvetime(String solvetime) {
this.solvetime = solvetime;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getSubmittime() {
return submittime;
}
public void setSubmittime(String submittime) {
this.submittime = submittime;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getWhere() {
return where;
}
public void setWhere(String where) {
this.where = where;
}
public String getMaterialOpinion() {
return materialOpinion;
}
public void setMaterialOpinion(String materialOpinion) {
this.materialOpinion = materialOpinion;
}
public String getQualityOpinion() {
return qualityOpinion;
}
public void setQualityOpinion(String qualityOpinion) {
this.qualityOpinion = qualityOpinion;
}
public String getEquipmentOpinion() {
return equipmentOpinion;
}
public void setEquipmentOpinion(String equipmentOpinion) {
this.equipmentOpinion = equipmentOpinion;
}
}

View File

@ -0,0 +1,70 @@
package com.sipai.jspatrol.Bean;
/**
* created by lvliming on 2020/12/14
*/
public class FaultFlow {
private String id;
private String files;
private String processid;
private String record;
private String taskName;
private String insdt;
private User user;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getFiles() {
return files;
}
public void setFiles(String files) {
this.files = files;
}
public String getProcessid() {
return processid;
}
public void setProcessid(String processid) {
this.processid = processid;
}
public String getRecord() {
return record;
}
public void setRecord(String record) {
this.record = record;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
}

View File

@ -0,0 +1,27 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
/**
* created by lvliming on 2019/12/28
*/
public class FileForDL implements Serializable {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -0,0 +1,26 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
/**
* created by lvliming on 2019/7/10
*/
public class InfoSel implements Serializable {
private String id,text;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}

View File

@ -0,0 +1,211 @@
package com.sipai.jspatrol.Bean;
import com.sipai.jspatrol.Patrol.patrolInfoAdapter.PatrolEqu;
import org.litepal.crud.LitePalSupport;
import java.io.Serializable;
/**
* created by lvliming on 2019/8/12
*/
public class InputPoint extends LitePalSupport implements Serializable {
private String alarmmax;
private String alarmmin;
private String biztype;
private String sid;
private String measuredt;
private String mpointcode;
private String parmname;
private String parmvalue;
private int sel;
private String signalType;
private String sql;
private String unit;
private String valuemeaning;
private String where;
private String pid;
private String type;
private String patrolPointId;
private String patrolRecordId;
private String equipmentId;
private String finishDt;
private ProPatrolPoint proPatrolPoint;
private PatrolEqu patrolEqu;
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public int getSel() {
return sel;
}
public void setSel(int sel) {
this.sel = sel;
}
public String getValuemeaning() {
return valuemeaning;
}
public void setValuemeaning(String valuemeaning) {
this.valuemeaning = valuemeaning;
}
public String getBiztype() {
return biztype;
}
public void setBiztype(String biztype) {
this.biztype = biztype;
}
public String getMpointcode() {
return mpointcode;
}
public void setMpointcode(String mpointcode) {
this.mpointcode = mpointcode;
}
public String getAlarmmax() {
return alarmmax;
}
public void setAlarmmax(String alarmmax) {
this.alarmmax = alarmmax;
}
public String getAlarmmin() {
return alarmmin;
}
public void setAlarmmin(String alarmmin) {
this.alarmmin = alarmmin;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getMeasuredt() {
return measuredt;
}
public void setMeasuredt(String measuredt) {
this.measuredt = measuredt;
}
public String getParmname() {
return parmname;
}
public void setParmname(String parmname) {
this.parmname = parmname;
}
public String getParmvalue() {
return parmvalue;
}
public void setParmvalue(String parmvalue) {
this.parmvalue = parmvalue;
}
public String getSignalType() {
return signalType;
}
public void setSignalType(String signalType) {
this.signalType = signalType;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getPatrolPointId() {
return patrolPointId;
}
public void setPatrolPointId(String patrolPointId) {
this.patrolPointId = patrolPointId;
}
public String getPatrolRecordId() {
return patrolRecordId;
}
public void setPatrolRecordId(String patrolRecordId) {
this.patrolRecordId = patrolRecordId;
}
public String getEquipmentId() {
return equipmentId;
}
public void setEquipmentId(String equipmentId) {
this.equipmentId = equipmentId;
}
public String getFinishDt() {
return finishDt;
}
public void setFinishDt(String finishDt) {
this.finishDt = finishDt;
}
public String getWhere() {
return where;
}
public void setWhere(String where) {
this.where = where;
}
public ProPatrolPoint getProPatrolPoint() {
return proPatrolPoint;
}
public void setProPatrolPoint(ProPatrolPoint proPatrolPoint) {
this.proPatrolPoint = proPatrolPoint;
}
public PatrolEqu getPatrolEqu() {
return patrolEqu;
}
public void setPatrolEqu(PatrolEqu patrolEqu) {
this.patrolEqu = patrolEqu;
}
}

View File

@ -0,0 +1,43 @@
package com.sipai.jspatrol.Bean;
/**
* created by lvliming on 2020/3/23
*/
public class LoginInfo extends BaseEntity {
private User user;
private String reason;
private boolean status;
public LoginInfo() {
}
public LoginInfo(User user, String reason, boolean status) {
this.user = user;
this.reason = reason;
this.status = status;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
}

View File

@ -0,0 +1,34 @@
package com.sipai.jspatrol.Bean;
/**
* created by lvliming on 2020/11/3
*/
public class MainTab {
private String id;
private String name;
private String sname;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
}

View File

@ -0,0 +1,181 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
/**
* Created by lvliming on 2019/3/28.
*/
public class Maintenance implements Serializable {
private String detailsupplement;
private String equipmentNames;
private String equipmentids;
private String faultLibraryName;
private String faultlibraryid;
private String handledetail;
private String handledt;
private String id;
private String insdt;
private String insuser;
private String insuserName;
private MaintenanceDetail maintenanceDetail;
private String maintenancedetailid;
private String problem;
private String processSectionName;
private String processsectionid;
private String sql;
private String taskdefinitionkey;
private String where;
public String getDetailsupplement() {
return detailsupplement;
}
public void setDetailsupplement(String detailsupplement) {
this.detailsupplement = detailsupplement;
}
public String getEquipmentNames() {
return equipmentNames;
}
public void setEquipmentNames(String equipmentNames) {
this.equipmentNames = equipmentNames;
}
public String getEquipmentids() {
return equipmentids;
}
public void setEquipmentids(String equipmentids) {
this.equipmentids = equipmentids;
}
public String getFaultLibraryName() {
return faultLibraryName;
}
public void setFaultLibraryName(String faultLibraryName) {
this.faultLibraryName = faultLibraryName;
}
public String getFaultlibraryid() {
return faultlibraryid;
}
public void setFaultlibraryid(String faultlibraryid) {
this.faultlibraryid = faultlibraryid;
}
public String getHandledetail() {
return handledetail;
}
public void setHandledetail(String handledetail) {
this.handledetail = handledetail;
}
public String getHandledt() {
return handledt;
}
public void setHandledt(String handledt) {
this.handledt = handledt;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getInsuserName() {
return insuserName;
}
public void setInsuserName(String insuserName) {
this.insuserName = insuserName;
}
public MaintenanceDetail getMaintenanceDetail() {
return maintenanceDetail;
}
public void setMaintenanceDetail(MaintenanceDetail maintenanceDetail) {
this.maintenanceDetail = maintenanceDetail;
}
public String getMaintenancedetailid() {
return maintenancedetailid;
}
public void setMaintenancedetailid(String maintenancedetailid) {
this.maintenancedetailid = maintenancedetailid;
}
public String getProblem() {
return problem;
}
public void setProblem(String problem) {
this.problem = problem;
}
public String getProcessSectionName() {
return processSectionName;
}
public void setProcessSectionName(String processSectionName) {
this.processSectionName = processSectionName;
}
public String getProcesssectionid() {
return processsectionid;
}
public void setProcesssectionid(String processsectionid) {
this.processsectionid = processsectionid;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
public String getTaskdefinitionkey() {
return taskdefinitionkey;
}
public void setTaskdefinitionkey(String taskdefinitionkey) {
this.taskdefinitionkey = taskdefinitionkey;
}
public String getWhere() {
return where;
}
public void setWhere(String where) {
this.where = where;
}
}

View File

@ -0,0 +1,397 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
/**
* Created by lvliming on 2019/3/28.
*/
public class MaintenanceDetail implements Serializable {
private String actualFinishDate;
private int actualMoney;
private String assistantedid;
private String changeParts;
private Biz company;
private String companyid;
private String contactids;
private String defectLevel;
private String delayReason;
private String detailNumber;
private String equipmentCard;
private String equipmentId;
private String id;
private String insdt;
private String insertUser;
private String insuser;
private int judgemaintainerstaff;
private int judgeresult;
private String maintainerid;
private String maintainplanid;
private String maintenance;
private String maintenanceMan;
private String maintenanceWay;
private String maintenanceid;
private int planConsumeTime;
private int planMoney;
private String plannedenddt;
private String problemTypeNames;
private String problemcontent;
private String problemresult;
private String problemtypeid;
private String processSection;
private String processSectionId;
private String processdefid;
private String processid;
private String solver;
private String solvetime;
private String sql;
private String startDate;
private String status;
private String submittime;
private String type;
private String where;
public String getActualFinishDate() {
return actualFinishDate;
}
public void setActualFinishDate(String actualFinishDate) {
this.actualFinishDate = actualFinishDate;
}
public int getActualMoney() {
return actualMoney;
}
public void setActualMoney(int actualMoney) {
this.actualMoney = actualMoney;
}
public String getAssistantedid() {
return assistantedid;
}
public void setAssistantedid(String assistantedid) {
this.assistantedid = assistantedid;
}
public String getChangeParts() {
return changeParts;
}
public void setChangeParts(String changeParts) {
this.changeParts = changeParts;
}
public Biz getCompany() {
return company;
}
public void setCompany(Biz company) {
this.company = company;
}
public String getCompanyid() {
return companyid;
}
public void setCompanyid(String companyid) {
this.companyid = companyid;
}
public String getContactids() {
return contactids;
}
public void setContactids(String contactids) {
this.contactids = contactids;
}
public String getDefectLevel() {
return defectLevel;
}
public void setDefectLevel(String defectLevel) {
this.defectLevel = defectLevel;
}
public String getDelayReason() {
return delayReason;
}
public void setDelayReason(String delayReason) {
this.delayReason = delayReason;
}
public String getDetailNumber() {
return detailNumber;
}
public void setDetailNumber(String detailNumber) {
this.detailNumber = detailNumber;
}
public String getEquipmentCard() {
return equipmentCard;
}
public void setEquipmentCard(String equipmentCard) {
this.equipmentCard = equipmentCard;
}
public String getEquipmentId() {
return equipmentId;
}
public void setEquipmentId(String equipmentId) {
this.equipmentId = equipmentId;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsertUser() {
return insertUser;
}
public void setInsertUser(String insertUser) {
this.insertUser = insertUser;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public int getJudgemaintainerstaff() {
return judgemaintainerstaff;
}
public void setJudgemaintainerstaff(int judgemaintainerstaff) {
this.judgemaintainerstaff = judgemaintainerstaff;
}
public int getJudgeresult() {
return judgeresult;
}
public void setJudgeresult(int judgeresult) {
this.judgeresult = judgeresult;
}
public String getMaintainerid() {
return maintainerid;
}
public void setMaintainerid(String maintainerid) {
this.maintainerid = maintainerid;
}
public String getMaintainplanid() {
return maintainplanid;
}
public void setMaintainplanid(String maintainplanid) {
this.maintainplanid = maintainplanid;
}
public String getMaintenance() {
return maintenance;
}
public void setMaintenance(String maintenance) {
this.maintenance = maintenance;
}
public String getMaintenanceMan() {
return maintenanceMan;
}
public void setMaintenanceMan(String maintenanceMan) {
this.maintenanceMan = maintenanceMan;
}
public String getMaintenanceWay() {
return maintenanceWay;
}
public void setMaintenanceWay(String maintenanceWay) {
this.maintenanceWay = maintenanceWay;
}
public String getMaintenanceid() {
return maintenanceid;
}
public void setMaintenanceid(String maintenanceid) {
this.maintenanceid = maintenanceid;
}
public int getPlanConsumeTime() {
return planConsumeTime;
}
public void setPlanConsumeTime(int planConsumeTime) {
this.planConsumeTime = planConsumeTime;
}
public int getPlanMoney() {
return planMoney;
}
public void setPlanMoney(int planMoney) {
this.planMoney = planMoney;
}
public String getPlannedenddt() {
return plannedenddt;
}
public void setPlannedenddt(String plannedenddt) {
this.plannedenddt = plannedenddt;
}
public String getProblemTypeNames() {
return problemTypeNames;
}
public void setProblemTypeNames(String problemTypeNames) {
this.problemTypeNames = problemTypeNames;
}
public String getProblemcontent() {
return problemcontent;
}
public void setProblemcontent(String problemcontent) {
this.problemcontent = problemcontent;
}
public String getProblemresult() {
return problemresult;
}
public void setProblemresult(String problemresult) {
this.problemresult = problemresult;
}
public String getProblemtypeid() {
return problemtypeid;
}
public void setProblemtypeid(String problemtypeid) {
this.problemtypeid = problemtypeid;
}
public String getProcessSection() {
return processSection;
}
public void setProcessSection(String processSection) {
this.processSection = processSection;
}
public String getProcessSectionId() {
return processSectionId;
}
public void setProcessSectionId(String processSectionId) {
this.processSectionId = processSectionId;
}
public String getProcessdefid() {
return processdefid;
}
public void setProcessdefid(String processdefid) {
this.processdefid = processdefid;
}
public String getProcessid() {
return processid;
}
public void setProcessid(String processid) {
this.processid = processid;
}
public String getSolver() {
return solver;
}
public void setSolver(String solver) {
this.solver = solver;
}
public String getSolvetime() {
return solvetime;
}
public void setSolvetime(String solvetime) {
this.solvetime = solvetime;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getSubmittime() {
return submittime;
}
public void setSubmittime(String submittime) {
this.submittime = submittime;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getWhere() {
return where;
}
public void setWhere(String where) {
this.where = where;
}
}

View File

@ -0,0 +1,186 @@
package com.sipai.jspatrol.Bean;
import com.sipai.jspatrol.Patrol.patrolInfoAdapter.PatrolEqu;
import org.litepal.crud.LitePalSupport;
import java.io.Serializable;
/**
* Created by lvliming on 2017/10/24.
*/
public class Measuringpoint extends LitePalSupport implements Serializable {
private String sid;
private String name;
private String unit;
private String value;
private String _icon;
private String cvalue;
private String scadacode;
private String date;
private String month;
private String day;
private String time;
private String alarmmax;
private String alarmmin;
private String valuemeaning;
private String userid;
private String unitId;
private ProPatrolPoint proPatrolPoint;
private PatrolEqu patrolEqu;
public String getUnitId() {
return unitId;
}
public void setUnitId(String unitId) {
this.unitId = unitId;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getAlarmmax() {
return alarmmax;
}
public void setAlarmmax(String alarmmax) {
this.alarmmax = alarmmax;
}
public String getAlarmmin() {
return alarmmin;
}
public void setAlarmmin(String alarmmin) {
this.alarmmin = alarmmin;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getScadacode() {
return scadacode;
}
public void setScadacode(String scadacode) {
this.scadacode = scadacode;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
private String type;
public String get_icon() {
return _icon;
}
public void set_icon(String _icon) {
this._icon = _icon;
}
public String getCvalue() {
return cvalue;
}
public void setCvalue(String cvalue) {
this.cvalue = cvalue;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getValuemeaning() {
return valuemeaning;
}
public void setValuemeaning(String valuemeaning) {
this.valuemeaning = valuemeaning;
}
public ProPatrolPoint getProPatrolPoint() {
return proPatrolPoint;
}
public void setProPatrolPoint(ProPatrolPoint proPatrolPoint) {
this.proPatrolPoint = proPatrolPoint;
}
public PatrolEqu getPatrolEqu() {
return patrolEqu;
}
public void setPatrolEqu(PatrolEqu patrolEqu) {
this.patrolEqu = patrolEqu;
}
}

View File

@ -0,0 +1,42 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
/**
* created by lvliming on 2020/8/15
*/
public class Message implements Serializable {
private String id,content,redflag,sdt;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getRedflag() {
return redflag;
}
public void setRedflag(String redflag) {
this.redflag = redflag;
}
public String getSdt() {
return sdt;
}
public void setSdt(String sdt) {
this.sdt = sdt;
}
}

View File

@ -0,0 +1,64 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
import java.util.List;
/**
* created by lvliming on 2020/12/20
*/
public class Nodes implements Serializable {
private List<Nodes> nodes;
private String id;
private String text;
private String type;
private String sel;
private String mpid;
public String getMpid() {
return mpid;
}
public void setMpid(String mpid) {
this.mpid = mpid;
}
public List<Nodes> getNodes() {
return nodes;
}
public void setNodes(List<Nodes> nodes) {
this.nodes = nodes;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getSel() {
return sel;
}
public void setSel(String sel) {
this.sel = sel;
}
}

View File

@ -0,0 +1,196 @@
package com.sipai.jspatrol.Bean;
import org.litepal.LitePal;
import org.litepal.crud.LitePalSupport;
import java.io.Serializable;
import java.util.List;
/**
* Created by lvliming on 2018/12/17.
*/
public class Patrol extends LitePalSupport implements Serializable{
private String bizid,company,content,endTime,sid,insdt,insuser,name,patrolArea,patrolAreaId,patrolModelId,patrolPlanId,
startTime,status,type,workResult,worker,workerId;
private String actFinishTime;
private PatrolModel patrolModel;
private String patrolType;
private List<ProPatrolPoint> patrolRecordPatrolRoutes;
public String getBizid() {
return bizid;
}
public void setBizid(String bizid) {
this.bizid = bizid;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPatrolArea() {
return patrolArea;
}
public void setPatrolArea(String patrolArea) {
this.patrolArea = patrolArea;
}
public String getPatrolAreaId() {
return patrolAreaId;
}
public void setPatrolAreaId(String patrolAreaId) {
this.patrolAreaId = patrolAreaId;
}
public String getPatrolModelId() {
return patrolModelId;
}
public void setPatrolModelId(String patrolModelId) {
this.patrolModelId = patrolModelId;
}
public String getPatrolPlanId() {
return patrolPlanId;
}
public void setPatrolPlanId(String patrolPlanId) {
this.patrolPlanId = patrolPlanId;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getWorkResult() {
return workResult;
}
public void setWorkResult(String workResult) {
this.workResult = workResult;
}
public String getWorker() {
return worker;
}
public void setWorker(String worker) {
this.worker = worker;
}
public String getWorkerId() {
return workerId;
}
public void setWorkerId(String workerId) {
this.workerId = workerId;
}
public PatrolModel getPatrolModel() {
return patrolModel;
}
public void setPatrolModel(PatrolModel patrolModel) {
this.patrolModel = patrolModel;
}
public String getPatrolType() {
return patrolType;
}
public void setPatrolType(String patrolType) {
this.patrolType = patrolType;
}
public String getActFinishTime() {
return actFinishTime;
}
public void setActFinishTime(String actFinishTime) {
this.actFinishTime = actFinishTime;
}
public List<ProPatrolPoint> getPatrolRecordPatrolRoutes() {
return LitePal.where("patrolRecordId = ?",sid).find(ProPatrolPoint.class);
}
public void setPatrolRecordPatrolRoutes(List<ProPatrolPoint> patrolRecordPatrolRoutes) {
this.patrolRecordPatrolRoutes = patrolRecordPatrolRoutes;
}
}

View File

@ -0,0 +1,49 @@
package com.sipai.jspatrol.Bean;
import org.litepal.crud.LitePalSupport;
import java.io.Serializable;
/**
* Created by lvliming on 2019/4/19.
*/
public class PatrolLocation extends LitePalSupport implements Serializable {
private String latitude;
private String longitude;
private String insdt;
private String userid;
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
}

View File

@ -0,0 +1,69 @@
package com.sipai.jspatrol.Bean;
import org.litepal.crud.LitePalSupport;
import java.io.Serializable;
/**
* Created by lvliming on 2019/2/19.
*/
public class PatrolModel extends LitePalSupport implements Serializable {
private String sid,active,bizId,defaultFlag,name,type,where;
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getActive() {
return active;
}
public void setActive(String active) {
this.active = active;
}
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
public String getDefaultFlag() {
return defaultFlag;
}
public void setDefaultFlag(String defaultFlag) {
this.defaultFlag = defaultFlag;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getWhere() {
return where;
}
public void setWhere(String where) {
this.where = where;
}
}

View File

@ -0,0 +1,136 @@
package com.sipai.jspatrol.Bean;
import com.sipai.jspatrol.Patrol.patrolInfoAdapter.PatrolEqu;
import org.litepal.crud.LitePalSupport;
import java.io.Serializable;
/**
* created by lvliming on 2019/8/27
*/
public class PatrolPointContent extends LitePalSupport implements Serializable {
private ProPatrolPoint proPatrolPoint;
private PatrolEqu patrolEqu;
private String sid,contents,contentsDetail,status;
private String pid;
private String type;
private String patrolPointId;
private String patrolRecordId;
private String equipmentId;
private String insdt;
private String insuser;
private String finishDt;
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
public String getContentsDetail() {
return contentsDetail;
}
public void setContentsDetail(String contentsDetail) {
this.contentsDetail = contentsDetail;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public ProPatrolPoint getProPatrolPoint() {
return proPatrolPoint;
}
public void setProPatrolPoint(ProPatrolPoint proPatrolPoint) {
this.proPatrolPoint = proPatrolPoint;
}
public PatrolEqu getPatrolEqu() {
return patrolEqu;
}
public void setPatrolEqu(PatrolEqu patrolEqu) {
this.patrolEqu = patrolEqu;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getPatrolPointId() {
return patrolPointId;
}
public void setPatrolPointId(String patrolPointId) {
this.patrolPointId = patrolPointId;
}
public String getPatrolRecordId() {
return patrolRecordId;
}
public void setPatrolRecordId(String patrolRecordId) {
this.patrolRecordId = patrolRecordId;
}
public String getEquipmentId() {
return equipmentId;
}
public void setEquipmentId(String equipmentId) {
this.equipmentId = equipmentId;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getFinishDt() {
return finishDt;
}
public void setFinishDt(String finishDt) {
this.finishDt = finishDt;
}
}

View File

@ -0,0 +1,28 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
/**
* Created by lvliming on 2019/3/25.
*/
public class Picture implements Serializable {
private String abspath;
private String id;
public String getAbspath() {
return abspath;
}
public void setAbspath(String abspath) {
this.abspath = abspath;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}

View File

@ -0,0 +1,40 @@
package com.sipai.jspatrol.Bean;
public class PointLongValue {
private Long date;
private String name;
private String unit;
private String value;
public Long getDate() {
return date;
}
public void setDate(Long date) {
this.date = date;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
}

View File

@ -0,0 +1,349 @@
package com.sipai.jspatrol.Bean;
import com.sipai.jspatrol.Patrol.patrolInfoAdapter.PatrolEqu;
import org.litepal.LitePal;
import org.litepal.crud.LitePalSupport;
import java.io.Serializable;
import java.util.List;
/**
* Created by lvliming on 2019/2/20.
*/
public class ProPatrolPoint extends LitePalSupport implements Serializable {
private String patrolRecordPatrolRouteId;
private String active;
private String bizId;
private String sid;
private String resultId;
private String insdt;
private String insuser;
private String latitude;
private String longitude;
private String modbusFig;
private String modbusFigId;
private String morder;
private String name;
private String patrolContent;
private ProcessSection processSection;
private String processSectionId;
private String processSectionName;
private String readOrWrite;
private String register;
private String remark;
private String sql;
private String type;
private String unit;
private String where;
private String status;
private String taskId;
private String taskType;
private String pointType;
private String workerId;
private String workerName;
private String finishDt;
private String patrolPointId;
private String patrolRecordId;
private List<PatrolPointContent> patrolContentsRecords;
private List<InputPoint> patrolMeasurePointRecords;
private List<PatrolEqu> patrolRecordPatrolEquipments;
private Patrol patrol;
public String getPatrolRecordPatrolRouteId() {
return patrolRecordPatrolRouteId;
}
public void setPatrolRecordPatrolRouteId(String patrolRecordPatrolRouteId) {
this.patrolRecordPatrolRouteId = patrolRecordPatrolRouteId;
}
public String getPatrolPointId() {
return patrolPointId;
}
public void setPatrolPointId(String patrolPointId) {
this.patrolPointId = patrolPointId;
}
public String getPatrolRecordId() {
return patrolRecordId;
}
public void setPatrolRecordId(String patrolRecordId) {
this.patrolRecordId = patrolRecordId;
}
public String getResultId() {
return resultId;
}
public void setResultId(String resultId) {
this.resultId = resultId;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getActive() {
return active;
}
public void setActive(String active) {
this.active = active;
}
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getModbusFig() {
return modbusFig;
}
public void setModbusFig(String modbusFig) {
this.modbusFig = modbusFig;
}
public String getModbusFigId() {
return modbusFigId;
}
public void setModbusFigId(String modbusFigId) {
this.modbusFigId = modbusFigId;
}
public String getMorder() {
return morder;
}
public void setMorder(String morder) {
this.morder = morder;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPatrolContent() {
return patrolContent;
}
public void setPatrolContent(String patrolContent) {
this.patrolContent = patrolContent;
}
public ProcessSection getProcessSection() {
return processSection;
}
public void setProcessSection(ProcessSection processSection) {
this.processSection = processSection;
}
public String getProcessSectionId() {
return processSectionId;
}
public void setProcessSectionId(String processSectionId) {
this.processSectionId = processSectionId;
}
public String getReadOrWrite() {
return readOrWrite;
}
public void setReadOrWrite(String readOrWrite) {
this.readOrWrite = readOrWrite;
}
public String getRegister() {
return register;
}
public void setRegister(String register) {
this.register = register;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getWhere() {
return where;
}
public void setWhere(String where) {
this.where = where;
}
public String getProcessSectionName() {
return processSectionName;
}
public void setProcessSectionName(String processSectionName) {
this.processSectionName = processSectionName;
}
public String getTaskType() {
return taskType;
}
public void setTaskType(String taskType) {
this.taskType = taskType;
}
public String getPointType() {
return pointType;
}
public void setPointType(String pointType) {
this.pointType = pointType;
}
public String getWorkerId() {
return workerId;
}
public void setWorkerId(String workerId) {
this.workerId = workerId;
}
public String getFinishDt() {
return finishDt;
}
public void setFinishDt(String finishDt) {
this.finishDt = finishDt;
}
public List<PatrolPointContent> getPatrolContentsRecords() {
return LitePal.where("patrolPointId = ? and patrolRecordId = ? and equipmentId = ?",sid,taskId,"").find(PatrolPointContent.class);
}
public void setPatrolContentsRecords(List<PatrolPointContent> patrolContentsRecords) {
this.patrolContentsRecords = patrolContentsRecords;
}
public List<InputPoint> getPatrolMeasurePointRecords() {
return LitePal.where("patrolPointId = ? and patrolRecordId = ? and equipmentId = ?",sid,taskId,"").find(InputPoint.class);
}
public void setPatrolMeasurePointRecords(List<InputPoint> patrolMeasurePointRecords) {
this.patrolMeasurePointRecords = patrolMeasurePointRecords;
}
public List<PatrolEqu> getPatrolRecordPatrolEquipments() {
return LitePal.where("patrolPointId = ? and patrolRecordId = ?",sid,taskId).find(PatrolEqu.class);
}
public void setPatrolRecordPatrolEquipments(List<PatrolEqu> patrolRecordPatrolEquipments) {
this.patrolRecordPatrolEquipments = patrolRecordPatrolEquipments;
}
public Patrol getPatrol() {
return patrol;
}
public void setPatrol(Patrol patrol) {
this.patrol = patrol;
}
public String getWorkerName() {
return workerName;
}
public void setWorkerName(String workerName) {
this.workerName = workerName;
}
}

View File

@ -0,0 +1,93 @@
package com.sipai.jspatrol.Bean;
import org.litepal.crud.LitePalSupport;
import java.io.Serializable;
/**
* Created by lvliming on 2019/2/20.
*/
public class ProcessSection extends LitePalSupport implements Serializable {
private String code;
private String sid;
private String insdt;
private String insuser;
private String name;
private String pid;
private String sname;
private String sql;
private String where;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
public String getWhere() {
return where;
}
public void setWhere(String where) {
this.where = where;
}
}

View File

@ -0,0 +1,54 @@
package com.sipai.jspatrol.Bean;
/**
* created by lvliming on 2020/3/23
*/
public class Roles {
private String id;
private String description;
private String name;
private String bizid;
private String serial;
private int morder;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setDescription(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setBizid(String bizid) {
this.bizid = bizid;
}
public String getBizid() {
return bizid;
}
public void setSerial(String serial) {
this.serial = serial;
}
public String getSerial() {
return serial;
}
public void setMorder(int morder) {
this.morder = morder;
}
public int getMorder() {
return morder;
}
}

View File

@ -0,0 +1,88 @@
package com.sipai.jspatrol.Bean;
/**
* created by lvliming on 2021/3/18
*/
public class Statement {
private String id;
private String inputusername;
private String insdt;
private String rptdt;
private String rptname;
private String rptsetId;
private String unitId;
private String upsdt;
private String meno;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getInputusername() {
return inputusername;
}
public void setInputusername(String inputusername) {
this.inputusername = inputusername;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getRptdt() {
return rptdt;
}
public void setRptdt(String rptdt) {
this.rptdt = rptdt;
}
public String getRptname() {
return rptname;
}
public void setRptname(String rptname) {
this.rptname = rptname;
}
public String getRptsetId() {
return rptsetId;
}
public void setRptsetId(String rptsetId) {
this.rptsetId = rptsetId;
}
public String getUnitId() {
return unitId;
}
public void setUnitId(String unitId) {
this.unitId = unitId;
}
public String getUpsdt() {
return upsdt;
}
public void setUpsdt(String upsdt) {
this.upsdt = upsdt;
}
public String getMeno() {
return meno;
}
public void setMeno(String meno) {
this.meno = meno;
}
}

View File

@ -0,0 +1,240 @@
package com.sipai.jspatrol.Bean;
import java.io.Serializable;
import java.util.List;
/**
* created by lvliming on 2020/3/23
* 人员
*/
public class User extends BaseEntity implements Serializable {
private UserDetail userDetail;
private String sex;
private String currentip;
private String pid;
private String caption;
private String syncflag;
private String password;
private String insuser;
private int morder;
private String cardid;
private String officeroom;
private String id;
private int pri;
private String lastlogintime;
private String officephone;
private String useremail;
private String roles;
private String name;
private String pname;
private String active;
private double totaltime;
private String themeclass;
private String serial;
private int lgnum;
private String token;
private String patrolTypeId;
private String nfc;
private String subTask;
public String getSubTask() {
return subTask;
}
public void setSubTask(String subTask) {
this.subTask = subTask;
}
public String getPatrolTypeId() {
return patrolTypeId;
}
public void setPatrolTypeId(String patrolTypeId) {
this.patrolTypeId = patrolTypeId;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public void setUserDetail(UserDetail userDetail) {
this.userDetail = userDetail;
}
public UserDetail getUserDetail() {
return userDetail;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSex() {
return sex;
}
public void setCurrentip(String currentip) {
this.currentip = currentip;
}
public String getCurrentip() {
return currentip;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getPid() {
return pid;
}
public void setCaption(String caption) {
this.caption = caption;
}
public String getCaption() {
return caption;
}
public void setSyncflag(String syncflag) {
this.syncflag = syncflag;
}
public String getSyncflag() {
return syncflag;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getInsuser() {
return insuser;
}
public void setMorder(int morder) {
this.morder = morder;
}
public int getMorder() {
return morder;
}
public void setCardid(String cardid) {
this.cardid = cardid;
}
public String getCardid() {
return cardid;
}
public void setOfficeroom(String officeroom) {
this.officeroom = officeroom;
}
public String getOfficeroom() {
return officeroom;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setPri(int pri) {
this.pri = pri;
}
public int getPri() {
return pri;
}
public void setLastlogintime(String lastlogintime) {
this.lastlogintime = lastlogintime;
}
public String getLastlogintime() {
return lastlogintime;
}
public void setOfficephone(String officephone) {
this.officephone = officephone;
}
public String getOfficephone() {
return officephone;
}
public void setUseremail(String useremail) {
this.useremail = useremail;
}
public String getUseremail() {
return useremail;
}
public String getRoles() {
return roles;
}
public void setRoles(String roles) {
this.roles = roles;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setPname(String pname) {
this.pname = pname;
}
public String getPname() {
return pname;
}
public void setActive(String active) {
this.active = active;
}
public String getActive() {
return active;
}
public void setTotaltime(double totaltime) {
this.totaltime = totaltime;
}
public double getTotaltime() {
return totaltime;
}
public void setThemeclass(String themeclass) {
this.themeclass = themeclass;
}
public String getThemeclass() {
return themeclass;
}
public void setSerial(String serial) {
this.serial = serial;
}
public String getSerial() {
return serial;
}
public void setLgnum(int lgnum) {
this.lgnum = lgnum;
}
public int getLgnum() {
return lgnum;
}
public String getNfc() {
return nfc;
}
public void setNfc(String nfc) {
this.nfc = nfc;
}
}

View File

@ -0,0 +1,47 @@
package com.sipai.jspatrol.Bean;
/**
* created by lvliming on 2020/3/23
*/
public class UserDetail {
private String id;
private String icon;
private String userid;
private String insdt;
private String insuser;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setIcon(String icon) {
this.icon = icon;
}
public String getIcon() {
return icon;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUserid() {
return userid;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getInsdt() {
return insdt;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getInsuser() {
return insuser;
}
}

View File

@ -0,0 +1,275 @@
package com.sipai.jspatrol.Bean;
public class WaterQualityList {
private String id;
private String scadacode;
private String name;
private String picid;
private String posx;
private String posy;
private String mpid;
private String insuser;
private String cvalue;
private String insdt;
private String unit;
private String cvaluetime;
private String opccode;
private String opcserverid;
private String dataserverid;
private String _icon;
private String ownerid;
private String txt;
private String fsize;
private int accuracy;
private double _cleposx;
private double _cleposy;
private String type;
private String ipsever;
private String port;
private String slaveid;
private String order32;
private String register;
private String value;
private String info;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getIpsever() {
return ipsever;
}
public void setIpsever(String ipsever) {
this.ipsever = ipsever;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
public String getSlaveid() {
return slaveid;
}
public void setSlaveid(String slaveid) {
this.slaveid = slaveid;
}
public String getOrder32() {
return order32;
}
public void setOrder32(String order32) {
this.order32 = order32;
}
public String getRegister() {
return register;
}
public void setRegister(String register) {
this.register = register;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
public String getCvaluetime() {
return cvaluetime;
}
public void setCvaluetime(String cvaluetime) {
this.cvaluetime = cvaluetime;
}
public String getOpccode() {
return opccode;
}
public void setOpccode(String opccode) {
this.opccode = opccode;
}
public String getInsdt() {
return insdt;
}
public void setInsdt(String insdt) {
this.insdt = insdt;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPicid() {
return picid;
}
public void setPicid(String picid) {
this.picid = picid;
}
public String getPosx() {
return posx;
}
public void setPosx(String posx) {
this.posx = posx;
}
public String getPosy() {
return posy;
}
public void setPosy(String posy) {
this.posy = posy;
}
public String getMpid() {
return mpid;
}
public void setMpid(String mpid) {
this.mpid = mpid;
}
public String getInsuser() {
return insuser;
}
public void setInsuser(String insuser) {
this.insuser = insuser;
}
public String getCvalue() {
return cvalue;
}
public void setCvalue(String cvalue) {
this.cvalue = cvalue;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getScadacode() {
return scadacode;
}
public void setScadacode(String scadacode) {
this.scadacode = scadacode;
}
public String getOpcserverid() {
return opcserverid;
}
public void setOpcserverid(String opcserverid) {
this.opcserverid = opcserverid;
}
public String getDataserverid() {
return dataserverid;
}
public void setDataserverid(String dataserverid) {
this.dataserverid = dataserverid;
}
public String get_icon() {
return _icon;
}
public void set_icon(String _icon) {
this._icon = _icon;
}
public String getOwnerid() {
return ownerid;
}
public void setOwnerid(String ownerid) {
this.ownerid = ownerid;
}
public String getTxt() {
return txt;
}
public void setTxt(String txt) {
this.txt = txt;
}
public String getFsize() {
return fsize;
}
public void setFsize(String fsize) {
this.fsize = fsize;
}
public int getAccuracy() {
return accuracy;
}
public void setAccuracy(int accuracy) {
this.accuracy = accuracy;
}
public double get_cleposx() {
return _cleposx;
}
public void set_cleposx(double _cleposx) {
this._cleposx = _cleposx;
}
public double get_cleposy() {
return _cleposy;
}
public void set_cleposy(double _cleposy) {
this._cleposy = _cleposy;
}
}

View File

@ -0,0 +1,120 @@
package com.sipai.jspatrol.Equ;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.gigamole.navigationtabstrip.NavigationTabStrip;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Equ.Equfrgment.EquDetailFragment;
import com.sipai.jspatrol.Equ.Equfrgment.EquDocumentFragment;
import com.sipai.jspatrol.Equ.Equfrgment.EquFaultListFragment;
import com.sipai.jspatrol.Equ.Equfrgment.EquMaintainFragment;
import com.sipai.jspatrol.R;
import java.util.ArrayList;
import java.util.List;
public class EquCardActivity extends AppCompatActivity {
private NavigationTabStrip tab;
private String[] tab_title = {"设备详情","维修记录","保养记录","测量点"};
private ViewPager vp;
private EquList equ;
public static void actionStart(Context context, EquList equList){
Intent intent = new Intent(context, EquCardActivity.class);
intent.putExtra("equ",equList);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_equ_card);
init();
initView();
}
private void init() {
if (getIntent().getSerializableExtra("equ")!=null){
equ = (EquList) getIntent().getSerializableExtra("equ");
}
}
private void initView() {
TextView tv_title = findViewById(R.id.moudle_back_title_tv_title);
tv_title.setText("设备详情");
ImageView btn_back = findViewById(R.id.moudle_back_title_iv_back);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
tab = findViewById(R.id.moudle_equ_detail_tab);
tab.setTitles(tab_title);
tab.setTabIndex(0);
tab.setOnTabStripSelectedIndexListener(new NavigationTabStrip.OnTabStripSelectedIndexListener() {
@Override
public void onStartTabSelected(String title, int index) {
vp.setCurrentItem(index);
}
@Override
public void onEndTabSelected(String title, int index) {
}
});
vp = findViewById(R.id.moudle_equ_detail_vp);
final List<Fragment> list = new ArrayList<>();
list.add(new EquDetailFragment());
list.add(new EquFaultListFragment());
list.add(new EquMaintainFragment());
list.add(new EquDocumentFragment());
vp.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
@NonNull
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
});
vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
tab.setTabIndex(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
public EquList getEquList(){
return equ;
}
}

View File

@ -0,0 +1,153 @@
package com.sipai.jspatrol.Equ;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Bean.Measuringpoint;
import com.sipai.jspatrol.ProMonitoring.MeasurePointsAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class EquDetailActivity extends AppCompatActivity {
private SharedPreferencesData sharedpre;
private HashMap<String, String> map_base = new HashMap<>();
private String mServer;
private TextView tv_name,tv_areaid,tv_equcardid,tv_equtype,tv_ps,tv_equmf,tv_company;
private EquList equ;
private RecyclerView rc_view;
private LinearLayoutManager manager;
private MeasurePointsAdapter pointsAdapter;
private List<Measuringpoint> measuringpoints = new ArrayList<>();
public static void actionStart(Context context, EquList equList){
Intent intent = new Intent(context, EquDetailActivity.class);
intent.putExtra("equ",equList);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_equ_detail);
init();
initView();
getEquPoints();
}
private void getEquPoints() {
HashMap<String,String> map = new HashMap<>();
map.put("equipmentId",equ.getId());
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETEquPoints_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
measuringpoints = parseMeasuringPoints(res);
if (measuringpoints.size()>0){
updatePoints();
}
}
});
}
private void updatePoints() {
if (!EquDetailActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
pointsAdapter = new MeasurePointsAdapter(EquDetailActivity.this,measuringpoints);
rc_view.setAdapter(pointsAdapter);
}
});
}
}
private List<Measuringpoint> parseMeasuringPoints(String res) {
List<Measuringpoint> points = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(res);
JSONArray arrayPoint = jsonObject.getJSONArray("mPoint4APP");
for (int a=0;a<arrayPoint.length();a++){
Measuringpoint point = new Measuringpoint();
point.setSid(arrayPoint.getJSONObject(a).opt("id").toString());
point.setName(arrayPoint.getJSONObject(a).opt("parmname").toString());
point.setUnit(arrayPoint.getJSONObject(a).opt("unit").toString());
point.setCvalue(arrayPoint.getJSONObject(a).opt("parmvalue").toString());
point.setType(arrayPoint.getJSONObject(a).opt("signalType").toString());
point.setScadacode(arrayPoint.getJSONObject(a).opt("id").toString());
point.setAlarmmax(arrayPoint.getJSONObject(a).opt("alarmmax").toString());
point.setAlarmmin(arrayPoint.getJSONObject(a).opt("alarmmin").toString());
points.add(point);
}
} catch (JSONException e) {
e.printStackTrace();
}
return points;
}
private void init() {
if (getIntent().getSerializableExtra("equ")!=null){
equ = (EquList) getIntent().getSerializableExtra("equ");
}
sharedpre = new SharedPreferencesData(EquDetailActivity.this);
map_base = sharedpre.getAll();
mServer = map_base.get("mServer");
}
private void initView() {
TextView tv_title = findViewById(R.id.moudle_back_title_tv_title);
tv_title.setText("设备详情");
ImageView btn_back = findViewById(R.id.moudle_back_title_iv_back);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
tv_name = findViewById(R.id.moudle_equ_detail_tv_equipmentname);
tv_name.setText(equ.getEquipmentname());
tv_areaid = findViewById(R.id.moudle_equ_detail_tv_areaid);
tv_areaid.setText(equ.getAreaid());
tv_equcardid = findViewById(R.id.moudle_equ_detail_tv_equipmentcardid);
tv_equcardid.setText(equ.getEquipmentcardid());
tv_equtype = findViewById(R.id.moudle_equ_detail_tv_equtype);
tv_equtype.setText(equ.getEquipmentTypeNumber());
tv_ps = findViewById(R.id.moudle_equ_detail_tv_ps);
tv_ps.setText(equ.getProcessSection());
tv_equmf = findViewById(R.id.moudle_equ_detail_tv_equmf);
tv_equmf.setText(equ.getEquipmentmanufacturer());
tv_company = findViewById(R.id.moudle_equ_detail_tv_company);
tv_company.setText(equ.getCompany());
rc_view = findViewById(R.id.moudle_equ_detail_rc_point);
manager = new LinearLayoutManager(EquDetailActivity.this);
rc_view.setLayoutManager(manager);
}
}

View File

@ -0,0 +1,552 @@
package com.sipai.jspatrol.Equ;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.example.zhouwei.library.CustomPopWindow;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.PersistentCookieStore;
import com.loopj.android.http.RequestParams;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Bean.InfoSel;
import com.sipai.jspatrol.Bean.ProcessSection;
import com.sipai.jspatrol.Fault.SingleChoiceActivity;
import com.sipai.jspatrol.R;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import cn.pedant.SweetAlert.SweetAlertDialog;
public class EquInsertActivity extends AppCompatActivity implements View.OnClickListener {
private TextView tv_company,tv_processSection;//厂区,工艺段
private String pSectionId = "";
private CustomPopWindow mCustomPopWindow;
private EditText edt_equno,edt_equname;//设备编号,设备名称
private TextView tv_asset,tv_equtypenum,tv_equclass,tv_equspecification,tv_equlevel,tv_pertain_to_equ;//资产类型,设备型号,设备类型,设备规格,设备级别,所属设备
private String st_asset,st_equtypenum,st_equclass,st_equspecification,st_equlevel,st_status,st_pertain_to_equ;
private EditText edt_assetnumber,edt_assetvalue,edt_ratedpower;//资产编号,资产原值/元,额定功率/KW
private EditText edt_cost_of_labor,edt_residual_rate,edt_installation_date,edt_pro_charge;//人工费/元,残值率,安装日期,采购费/元
private Button btn_save;//保存
private Spinner sp_status;
private List<EditText> edts;
private EquList sel_equ;
private ProcessSection sel_ps;
private static final int ASSETCLASS = 101;
private static final int EQUTYPENUM = 102;
private static final int EQUCLASS = 103;
private static final int EQUSPECIFICATION = 104;
private static final int EQULEVEL = 105;
private static final int PERTAINTOEQU = 106;
private static final int SELPS = 8;//选择工艺段
public static void actionStart(Context context){
Intent intent = new Intent(context, EquInsertActivity.class);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_equ_insert);
init();
initView();
}
private void initView() {
TextView tv_title = findViewById(R.id.moudle_back_title_tv_title);
tv_title.setText("新增设备");
ImageView btn_back = findViewById(R.id.moudle_back_title_iv_back);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
edts = new ArrayList<>();
tv_company = findViewById(R.id.moudle_equ_insert_tv_company);
tv_company.setText(mBizName);
tv_processSection = findViewById(R.id.moudle_equ_insert_tv_processsection);
tv_processSection.setOnClickListener(this);
edt_equno = findViewById(R.id.moudle_equ_insert_edt_equno);
edt_equname = findViewById(R.id.moudle_equ_insert_edt_equname);
tv_asset = findViewById(R.id.moudle_equ_insert_tv_asset);
tv_asset.setOnClickListener(this);
tv_equtypenum = findViewById(R.id.moudle_equ_insert_tv_equtypenum);
tv_equtypenum.setOnClickListener(this);
tv_equclass = findViewById(R.id.moudle_equ_insert_tv_equclass);
tv_equclass.setOnClickListener(this);
tv_equspecification = findViewById(R.id.moudle_equ_insert_tv_equspecification);
tv_equspecification.setOnClickListener(this);
tv_equlevel = findViewById(R.id.moudle_equ_insert_tv_equlevel);
tv_equlevel.setOnClickListener(this);
tv_pertain_to_equ = findViewById(R.id.moudle_equ_insert_tv_pertain_to_equ);
tv_pertain_to_equ.setOnClickListener(this);
edt_assetnumber = findViewById(R.id.moudle_equ_insert_edt_assetnumber);
edt_assetvalue = findViewById(R.id.moudle_equ_insert_edt_assetvalue);
edt_ratedpower = findViewById(R.id.moudle_equ_insert_edt_ratedpower);
edt_pro_charge = findViewById(R.id.moudle_equ_insert_edt_pro_charge);
edt_cost_of_labor = findViewById(R.id.moudle_equ_insert_edt_cost_of_labor);
edt_residual_rate = findViewById(R.id.moudle_equ_insert_edt_residual_rate);
edt_installation_date = findViewById(R.id.moudle_equ_insert_edt_installation_date);
btn_save = findViewById(R.id.moudle_equ_insert_btn_save);
btn_save.setOnClickListener(this);
sp_status = findViewById(R.id.moudle_equ_insert_sp_status);
edts.add(edt_equno);
edts.add(edt_equname);
final String[] status = getResources().getStringArray(R.array.equ_status);
ArrayAdapter arrayAdapter = new ArrayAdapter(this, R.layout.item_normal_little_spin, R.id.moudle_normal_little_spin_tv_title,status);
sp_status.setAdapter(arrayAdapter);
sp_status.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
st_status = String.valueOf(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case ASSETCLASS:
if (resultCode==RESULT_OK){
InfoSel item = (InfoSel) data.getSerializableExtra("sel");
st_asset = item.getId();
UpdateTv(tv_asset,item.getText());
}
break;
case EQUTYPENUM:
if (resultCode==RESULT_OK){
InfoSel item = (InfoSel) data.getSerializableExtra("sel");
st_equtypenum = item.getId();
UpdateTv(tv_equtypenum,item.getText());
}
break;
case EQUCLASS:
if (resultCode==RESULT_OK){
InfoSel item = (InfoSel) data.getSerializableExtra("sel");
st_equclass = item.getId();
UpdateTv(tv_equclass,item.getText());
}
break;
case EQUSPECIFICATION:
if (resultCode==RESULT_OK){
InfoSel item = (InfoSel) data.getSerializableExtra("sel");
st_equspecification = item.getId();
UpdateTv(tv_equspecification,item.getText());
}
break;
case EQULEVEL:
if (resultCode==RESULT_OK){
InfoSel item = (InfoSel) data.getSerializableExtra("sel");
st_equlevel = item.getId();
UpdateTv(tv_equlevel,item.getText());
}
break;
case PERTAINTOEQU:
if (resultCode==RESULT_OK){
EquList sel_equ = (EquList) data.getSerializableExtra("sel");
st_pertain_to_equ = sel_equ.getId();
UpdateTv(tv_pertain_to_equ,sel_equ.getEquipmentname());
}
break;
case SELPS:
if (resultCode == RESULT_OK) {
sel_ps = (ProcessSection) data.getSerializableExtra("ps");
UpdateTv(tv_processSection, sel_ps.getName());
pSectionId = sel_ps.getSid();
}
break;
}
}
private void UpdateTv(final TextView tv, final String text) {
runOnUiThread(new Runnable() {
@Override
public void run() {
tv.setText(text);
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.moudle_equ_insert_tv_asset:
Intent intent = new Intent(EquInsertActivity.this, SelActivity.class);
intent.putExtra("type","assetclass");
startActivityForResult(intent,ASSETCLASS);
break;
case R.id.moudle_equ_insert_tv_equtypenum:
Intent intent_equtypenum = new Intent(EquInsertActivity.this, SelActivity.class);
intent_equtypenum.putExtra("type","equtypenum");
startActivityForResult(intent_equtypenum,EQUTYPENUM);
break;
case R.id.moudle_equ_insert_tv_equclass:
Intent intent_equclass = new Intent(EquInsertActivity.this, SelActivity.class);
intent_equclass.putExtra("type","equclass");
startActivityForResult(intent_equclass,EQUCLASS);
break;
case R.id.moudle_equ_insert_tv_equspecification:
Intent intent_equspecification = new Intent(EquInsertActivity.this, SelActivity.class);
intent_equspecification.putExtra("type","equspecification");
startActivityForResult(intent_equspecification,EQUSPECIFICATION);
break;
case R.id.moudle_equ_insert_tv_equlevel:
Intent intent_equlevel = new Intent(EquInsertActivity.this, SelActivity.class);
intent_equlevel.putExtra("type","equlevel");
startActivityForResult(intent_equlevel,EQULEVEL);
break;
case R.id.moudle_equ_insert_tv_pertain_to_equ:
Intent intent_pertain = new Intent(EquInsertActivity.this, PertainToEquSelActivity.class);
intent_pertain.putExtra("psectionId",pSectionId);
startActivityForResult(intent_pertain,PERTAINTOEQU);
break;
case R.id.moudle_equ_insert_tv_processsection:
Intent intent_sel_ps = new Intent(EquInsertActivity.this, SingleChoiceActivity.class);
intent_sel_ps.putExtra("mark","ps");
startActivityForResult(intent_sel_ps,SELPS);
break;
case R.id.moudle_equ_insert_btn_save:
if (!isEdtEmpty()) {
isRepeated();
// subEquInfo();
}
break;
}
}
private void isRepeated() {
PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
params.put("equipmentcardid",edt_equno.getText().toString());
AsyncHttpClient client = new AsyncHttpClient();
client.setCookieStore(myCookieStore);
client.post(mServer + "equipment/checkExist.do?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
try {
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.optBoolean("valid")){
subEquInfo();
}else {
idRepeated();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable error) {
super.onFailure(error);
String a = error.toString();
if(!EquInsertActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(EquInsertActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("连接失败请重试!")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
isRepeated();
}
}).setCancelText("取消")
.setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
finish();
}
}).show();
}
});
}
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
private void idRepeated() {
if (!EquInsertActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(EquInsertActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("设备编号重复,请修改后提交")
.setConfirmText("确定")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
}
}).show();
}
});
}
}
private boolean isEdtEmpty() {
for (int i=0;i<edts.size();i++){
if (edts.get(i).getText()==null||edts.get(i).getText().toString().isEmpty()){
final int finalI = i;
runOnUiThread(new Runnable() {
@Override
public void run() {
edts.get(finalI).setError("不能为空");
}
});
return true;
}
}
return false;
}
private void subEquInfo() {
String st_assetnumber = "";
if (edt_assetnumber.getText()!=null&&!edt_assetnumber.getText().toString().isEmpty()){
st_assetnumber = edt_assetnumber.getText().toString();
}
String st_assetvalue = "";
if (edt_assetvalue.getText()!=null&&!edt_assetvalue.getText().toString().isEmpty()){
st_assetvalue = edt_assetvalue.getText().toString();
}
String st_ratedpower = "";
if (edt_ratedpower.getText()!=null&&!edt_ratedpower.getText().toString().isEmpty()){
st_ratedpower = edt_ratedpower.getText().toString();
}
PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
params.put("bizid",mBizid);
params.put("processsectionid",pSectionId);//工艺段id
params.put("equipmentcardid",edt_equno.getText().toString());//设备编号
params.put("assetclassid",st_asset);//资产类型id
params.put("equipmentname",edt_equname.getText().toString());//设备名称 (必填
params.put("equipmentmodel",st_equtypenum);//设备型号id
params.put("equipmentclassid",st_equclass);//设备类型id
params.put("specification",st_equspecification);//设备规格id
params.put("equipmentlevelid",st_equlevel);//设备级别id
params.put("equipmentstatus",st_status);//设备状态
params.put("assetnumber",st_assetnumber);//资产编号
params.put("pid",mBizid);// 所属设备id
params.put("equipmentvalue",st_assetvalue);//资产原值
params.put("ratedpower",st_ratedpower);//额定功率
AsyncHttpClient client = new AsyncHttpClient();
client.setCookieStore(myCookieStore);
client.post(mServer + "equipment/dosave.do?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
String res = response;
try {
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.get("id")!=null){
String id = jsonObject.opt("id").toString();
subEquInfoProp(id);
}else {
ErrorDialog();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable error) {
super.onFailure(error);
String a = error.toString();
ErrorDialog();
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
/**
* 添加附属表信息
*/
private void subEquInfoProp(final String id) {
String st_pro_charge = "";
if (edt_pro_charge.getText()!=null&&!edt_pro_charge.getText().toString().isEmpty()){
st_pro_charge = edt_pro_charge.getText().toString();
}
String st_cost_of_labor = "";
if (edt_cost_of_labor.getText()!=null&&!edt_cost_of_labor.getText().toString().isEmpty()){
st_cost_of_labor = edt_cost_of_labor.getText().toString();
}
String st_residual_rate = "";
if (edt_residual_rate.getText()!=null&&!edt_residual_rate.getText().toString().isEmpty()){
st_residual_rate = edt_residual_rate.getText().toString();
}
String st_installation_date = "";
if (edt_installation_date.getText()!=null&&!edt_installation_date.getText().toString().isEmpty()){
st_installation_date = edt_installation_date.getText().toString();
}
PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
params.put("equipmentId",id);//采购费
params.put("purchaseMoney",st_pro_charge);//采购费
params.put("laborMoney ",st_cost_of_labor);//人工费
params.put("residualValueRate",st_residual_rate);//残值率
params.put("installDate",edt_installation_date.getText().toString());//安装日期
AsyncHttpClient client = new AsyncHttpClient();
client.setCookieStore(myCookieStore);
client.post(mServer + "equipment/dosaveEquipmentProp.do?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
String res = response;
try {
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.get("id")!=null){
String id = jsonObject.opt("id").toString();
ShowSuccessDialog();
}else {
ErrorDialog();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable error) {
super.onFailure(error);
String a = error.toString();
ErrorDialog();
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
private void ErrorDialog() {
if (!EquInsertActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(EquInsertActivity.this, SweetAlertDialog.ERROR_TYPE)
.setTitleText("失败")
.setContentText("设备录入失败,请重试")
.setConfirmText("确定")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
}
}).show();
}
});
}
}
private void ShowSuccessDialog() {
if (!EquInsertActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(EquInsertActivity.this, SweetAlertDialog.SUCCESS_TYPE)
.setTitleText("成功")
.setContentText("设备录入成功")
.setConfirmText("确定")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
finish();
}
}).show();
}
});
}
}
/**
* 初始化
*/
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid;
private String mBizName;
public void init(){
SharedPreferences sharedPre=getSharedPreferences("config", MODE_PRIVATE);
mServer=sharedPre.getString("server", "");
mUsername=sharedPre.getString("username", "");
mPassword=sharedPre.getString("password", "");
mUserid=sharedPre.getString("userid", "");
mCaption=sharedPre.getString("caption", "");
mBizid=sharedPre.getString("bizid", "");
mBizName=sharedPre.getString("bizname", "");
}
private void showText(final String st, final TextView tv) {
runOnUiThread(new Runnable() {
@Override
public void run() {
tv.setText(st);
}
});
}
}

View File

@ -0,0 +1,448 @@
package com.sipai.jspatrol.Equ;
import android.annotation.SuppressLint;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord;
import android.nfc.NfcAdapter;
import android.nfc.tech.MifareClassic;
import android.nfc.tech.NfcA;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Bean.Measuringpoint;
import com.sipai.jspatrol.Fault.EquSingleChoiceAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.yzq.zxinglibrary.android.CaptureActivity;
import com.yzq.zxinglibrary.bean.ZxingConfig;
import com.yzq.zxinglibrary.common.Constant;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class EquSearchActivity extends AppCompatActivity implements View.OnClickListener {
private ImageView iv_back;
private EditText edt_name;
private TextView tv_search;
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid, mBizName;
private String name = "";
private String sel_ps_id = "";
private RecyclerView rc_list;
private SwipeRefreshLayout refreshLayout;
private List<EquList> equLists = new ArrayList<>();
private EquSingleChoiceAdapter equAdapter;
private LinearLayoutManager manager;
private ImageView civ;
private ImageView iv_add;
private NfcAdapter nfcAdapter;
// 是否支持NFC功能的标签
private boolean isNFC_support = false;
private PendingIntent pendingIntent;
private IntentFilter[] mFilters;
private String[][] mTechLists;
private static final int REQUEST_CODE_SCAN = 23;
public static void actionStart(Context context){
Intent intent = new Intent(context, EquSearchActivity.class);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_equ_search);
init();
initView();
checkNFC();
startSearch();
}
private void checkNFC() {
// 获取nfc适配器判断设备是否支持NFC功能
nfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (nfcAdapter == null) {
Toast.makeText(this, getResources().getString(R.string.no_nfc),
Toast.LENGTH_SHORT).show();
} else if (!nfcAdapter.isEnabled()) {
Toast.makeText(this, getResources().getString(R.string.open_nfc),
Toast.LENGTH_SHORT).show();
}
pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED);
ndef.addCategory("*/*");
mFilters = new IntentFilter[]{ndef};// 过滤器
mTechLists = new String[][]{
new String[]{MifareClassic.class.getName()},
new String[]{NfcA.class.getName()}};// 允许扫描的标签类型
}
@Override
protected void onResume() {
super.onResume();
nfcAdapter = NfcAdapter.getDefaultAdapter(this);
isNFC_support = !(nfcAdapter == null || !nfcAdapter.isEnabled());
if (isNFC_support) {
nfcAdapter.enableForegroundDispatch(this, pendingIntent, mFilters,
mTechLists);
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(getIntent().getAction())) {
// 注意这个if中的代码几乎不会进来因为刚刚在上一行代码开启了监听NFC连接下一行代码马上就收到了NFC连接的intent这种几率很小
// 处理该intent
String result = processIntent(getIntent());
searchSingleEqu(result);
}
}
}
private void initView() {
civ = findViewById(R.id.moudle_equ_search_civ);
civ.setOnClickListener(this);
iv_back = findViewById(R.id.moudle_equ_search_iv_back);
iv_back.setOnClickListener(this);
edt_name = findViewById(R.id.moudle_equ_search_edt_equname);
tv_search = findViewById(R.id.moudle_equ_search_tv_search);
tv_search.setOnClickListener(this);
rc_list = findViewById(R.id.moudle_equ_search_rc);
refreshLayout = findViewById(R.id.moudle_equ_search_refresh);
refreshLayout.setColorSchemeResources(R.color.blue);
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
startSearch();
}
});
}
private void init() {
SharedPreferences sharedPre = this.getSharedPreferences("config", 0);
mServer = sharedPre.getString("server", "");
mUsername = sharedPre.getString("username", "");
mPassword = sharedPre.getString("password", "");
mUserid = sharedPre.getString("userid", "");
mCaption = sharedPre.getString("caption", "");
mBizid = sharedPre.getString("bizid", "");
mBizName = sharedPre.getString("bizname", "");
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.moudle_equ_search_iv_back:
finish();
break;
case R.id.moudle_equ_search_tv_search:
startSearch();
break;
case R.id.moudle_equ_search_civ:
Intent intent = new Intent(EquSearchActivity.this, CaptureActivity.class);
/*ZxingConfig是配置类
*可以设置是否显示底部布局,闪光灯,相册,
* 是否播放提示音 震动
* 设置扫描框颜色等
* 也可以不传这个参数
* */
ZxingConfig config = new ZxingConfig();
config.setPlayBeep(true);//是否播放扫描声音 默认为true
config.setShake(true);//是否震动 默认为true
config.setDecodeBarCode(true);//是否扫描条形码 默认为true
config.setFullScreenScan(false);//是否全屏扫描 默认为true 设为false则只会在扫描框中扫描
intent.putExtra(Constant.INTENT_ZXING_CONFIG, config);
startActivityForResult(intent, REQUEST_CODE_SCAN);
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// 扫描二维码/条码回传
if (requestCode == REQUEST_CODE_SCAN && resultCode == RESULT_OK) {
if (data != null) {
String content = data.getStringExtra(Constant.CODED_CONTENT);
searchSingleEqu(content);
}
}
}
/**
* 获取tab标签中的内容
*
* @param intent
* @return
*/
@SuppressLint("NewApi")
private String processIntent(Intent intent) {
Parcelable[] rawmsgs = intent
.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
if (rawmsgs != null) {
NdefMessage msg = (NdefMessage) rawmsgs[0];
NdefRecord[] records = msg.getRecords();
String resultStr = new String(records[0].getPayload());
return resultStr;
} else {
return "error";
}
}
@Override
protected void onPause() {
super.onPause();
if (nfcAdapter != null && nfcAdapter.isEnabled()) {
// 当前Activity如果不在手机的最前端就停止NFC设备连接的监听
stopNFC_Listener();
}
}
private void stopNFC_Listener() {
// 停止监听NFC设备是否连接
nfcAdapter.disableForegroundDispatch(this);
}
@Override
protected void onNewIntent(Intent intent) {
// TODO Auto-generated method stub
// 当前app正在前端界面运行这个时候有intent发送过来那么系统就会调用onNewIntent回调方法将intent传送过来
// 我们只需要在这里检验这个intent是否是NFC相关的intent如果是就调用处理方法
super.onNewIntent(intent);
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) {
String result = processIntent(intent);
searchSingleEqu(result);
}
}
private void startSearch() {
if (edt_name.getText()!=null&&!edt_name.getText().toString().isEmpty()){
name = edt_name.getText().toString();
}
judgeRefresh();
searchEqu(name);
}
private void judgeRefresh() {
if (!EquSearchActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!refreshLayout.isRefreshing()){
refreshLayout.setRefreshing(true);
}
}
});
}
}
/**
* 搜索设备
* @param name
*/
private void searchEqu(String name) {
HashMap<String,String> map = new HashMap<>();
map.put("companyId",mBizid);
map.put("search_name",name);
map.put("processSectionId",sel_ps_id);
map.put("rows","50");
map.put("page","1");
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETEQULISt_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
if (!EquSearchActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(false);
Toast.makeText(EquSearchActivity.this, "失败:" + e.toString(), Toast.LENGTH_SHORT).show();
}
});
}
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res.contains("total")&&res.contains("rows")) {
equLists = parseEqu(res);
}
updateEquList();
}
});
}
/**
* 搜索单个设备
* @param id
*/
private void searchSingleEqu(String id) {
HashMap<String,String> map = new HashMap<>();
map.put("id",id);
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETSINGLEEQU_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
if (!EquSearchActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(false);
Toast.makeText(EquSearchActivity.this, "失败:" + e.toString(), Toast.LENGTH_SHORT).show();
}
});
}
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res.contains("total")&&res.contains("rows")) {
equLists = parseEqu(res);
if (equLists.size()>0){
EquCardActivity.actionStart(EquSearchActivity.this,equLists.get(0));
// EquDetailActivity.actionStart(EquSearchActivity.this,equLists.get(0));
}else {
showToast("未搜到该设备!");
}
}
}
});
}
private void showToast(String s) {
if (!EquSearchActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(EquSearchActivity.this, s, Toast.LENGTH_SHORT).show();
}
});
}
}
private void updateEquList() {
if (!EquSearchActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(false);
equAdapter = new EquSingleChoiceAdapter(EquSearchActivity.this, equLists, new EquSingleChoiceAdapter.onRecyclerViewItemClick() {
@Override
public void onItemClick(View v, int position) {
EquCardActivity.actionStart(EquSearchActivity.this,equLists.get(position));
// EquDetailActivity.actionStart(EquSearchActivity.this,equLists.get(position));
}
});
rc_list.setAdapter(equAdapter);
manager = new LinearLayoutManager(EquSearchActivity.this);
rc_list.setLayoutManager(manager);
}
});
}
}
private List<EquList> parseEqu(String res) {
List<EquList> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(res);
JSONArray array = jsonObject.getJSONArray("rows");
for (int i=0;i<array.length();i++){
EquList item = new EquList();
item.setId(array.getJSONObject(i).optString("id"));
item.setEquipmentmanufacturer(array.getJSONObject(i).optString("equipmentmanufacturer"));
item.setEquipmentname(array.getJSONObject(i).optString("equipmentname"));
item.setEquipmentcardid(array.getJSONObject(i).optString("equipmentcardid"));
item.setEquipmentmodel(array.getJSONObject(i).optString("equipmentmodelname"));
item.setAssetnumber(array.getJSONObject(i).optString("assetnumber"));
if (!array.getJSONObject(i).optString("processSection").equals("null")&&!array.getJSONObject(i).optString("processSection").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("processSection"));
item.setProcessSection(js.optString("name"));
item.setProcesssectionid(js.optString("id"));
}else {
item.setProcessSection("暂未配置");
}
if (!array.getJSONObject(i).optString("equipmentStatusManagement").equals("null")&&!array.getJSONObject(i).optString("equipmentStatusManagement").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("equipmentStatusManagement"));
item.setEquipmentStatusManagement(js.optString("name"));
}else {
item.setEquipmentStatusManagement("未知");
}
if (!array.getJSONObject(i).optString("equipmentLevel").equals("null")&&!array.getJSONObject(i).optString("equipmentLevel").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("equipmentLevel"));
item.setEquipmentLevel(js.optString("levelname")+"");
}else {
item.setEquipmentLevel("未知");
}
item.setAreaid(array.getJSONObject(i).optString("areaid"));
if (!array.getJSONObject(i).optString("company").equals("null")&&!array.getJSONObject(i).optString("company").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("company"));
item.setCompany(js.optString("name"));
}else {
item.setCompany("暂未配置");
}
if (!array.getJSONObject(i).optString("equipmentTypeNumber").equals("null")&&!array.getJSONObject(i).optString("equipmentTypeNumber").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("equipmentTypeNumber"));
item.setEquipmentTypeNumber(js.optString("name"));
}else {
item.setEquipmentTypeNumber("暂未配置");
}
if (!array.getJSONObject(i).optString("equipmentClass").equals("null")&&!array.getJSONObject(i).optString("equipmentClass").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("equipmentClass"));
item.setEquipmentClass(js.optString("name"));
}else {
item.setEquipmentClass("暂未配置");
}
if (!array.getJSONObject(i).optString("mPoint4APP").equals("null")&&!array.getJSONObject(i).optString("mPoint4APP").isEmpty()){
JSONArray arrayPoint = array.getJSONObject(i).getJSONArray("mPoint4APP");
List<Measuringpoint> points = new ArrayList<>();
for (int a=0;a<arrayPoint.length();a++){
Measuringpoint point = new Measuringpoint();
point.setSid(arrayPoint.getJSONObject(a).opt("id").toString());
point.setName(arrayPoint.getJSONObject(a).opt("parmname").toString());
point.setUnit(arrayPoint.getJSONObject(a).opt("unit").toString());
point.setCvalue(arrayPoint.getJSONObject(a).opt("parmvalue").toString());
point.setType(arrayPoint.getJSONObject(a).opt("signalType").toString());
point.setScadacode(arrayPoint.getJSONObject(a).opt("id").toString());
point.setAlarmmax(arrayPoint.getJSONObject(a).opt("alarmmax").toString());
point.setAlarmmin(arrayPoint.getJSONObject(a).opt("alarmmin").toString());
points.add(point);
}
item.setMeasuringpoints(points);
}
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
}

View File

@ -0,0 +1,161 @@
package com.sipai.jspatrol.Equ.Equfrgment;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Bean.Measuringpoint;
import com.sipai.jspatrol.Equ.EquCardActivity;
import com.sipai.jspatrol.ProMonitoring.MeasurePointsAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
/**
* created by lvliming on 2020/10/22
*/
public class EquDetailFragment extends Fragment {
private SharedPreferencesData sharedpre;
private HashMap<String, String> map_base = new HashMap<>();
private String mServer;
private TextView tv_name,tv_areaid,tv_equcardid,tv_equtype,tv_ps,tv_equmf,tv_company,tv_abc,tv_type,tv_assetnumber,tv_equstatus;
private EquList equ;
private RecyclerView rc_view;
private LinearLayoutManager manager;
private MeasurePointsAdapter pointsAdapter;
private List<Measuringpoint> measuringpoints = new ArrayList<>();
private String mBizid;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_equ_detail,container,false);
init();
initView(view);
// getEquPoints();
return view;
}
private void init() {
EquCardActivity equcard = (EquCardActivity) getActivity();
equ = equcard.getEquList();
sharedpre = new SharedPreferencesData(getActivity());
map_base = sharedpre.getAll();
mServer = map_base.get("mServer");
SharedPreferences sharedPre = getActivity().getSharedPreferences("config", 0);
mBizid = sharedPre.getString("bizid", "");
}
private void initView(View view) {
tv_name = view.findViewById(R.id.moudle_equ_detail_tv_equipmentname);
tv_name.setText(equ.getEquipmentname());
tv_equstatus = view.findViewById(R.id.moudle_equ_detail_tv_equstatus);
tv_equstatus.setText(equ.getEquipmentStatusManagement());
tv_areaid = view.findViewById(R.id.moudle_equ_detail_tv_areaid);
tv_areaid.setText(equ.getAreaid());
tv_abc = view.findViewById(R.id.moudle_equ_detail_tv_abc);
tv_abc.setText(equ.getEquipmentLevel());
tv_assetnumber = view.findViewById(R.id.moudle_equ_detail_tv_assetnumber);
tv_assetnumber.setText(equ.getAssetnumber());
tv_equcardid = view.findViewById(R.id.moudle_equ_detail_tv_equipmentcardid);
tv_equcardid.setText(equ.getEquipmentcardid());
tv_equtype = view.findViewById(R.id.moudle_equ_detail_tv_equtype);
tv_equtype.setText(equ.getEquipmentTypeNumber());
tv_ps = view.findViewById(R.id.moudle_equ_detail_tv_ps);
tv_ps.setText(equ.getProcessSection());
tv_equmf = view.findViewById(R.id.moudle_equ_detail_tv_equmf);
tv_equmf.setText(equ.getEquipmentmanufacturer());
tv_company = view.findViewById(R.id.moudle_equ_detail_tv_company);
tv_company.setText(equ.getCompany());
tv_type = view.findViewById(R.id.moudle_equ_detail_tv_type);
tv_type.setText(equ.getEquipmentClass());
rc_view = view.findViewById(R.id.moudle_equ_detail_rc_point);
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
}
private void getEquPoints() {
HashMap<String,String> map = new HashMap<>();
map.put("equipmentId",equ.getId());
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETEquPoints_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
measuringpoints = parseMeasuringPoints(res);
if (measuringpoints.size()>0){
updatePoints();
}
}
});
}
private void updatePoints() {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
pointsAdapter = new MeasurePointsAdapter(getActivity(),measuringpoints);
rc_view.setAdapter(pointsAdapter);
}
});
}
}
private List<Measuringpoint> parseMeasuringPoints(String res) {
List<Measuringpoint> points = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(res);
JSONArray arrayPoint = jsonObject.getJSONArray("mPoint4APP");
for (int a=0;a<arrayPoint.length();a++){
Measuringpoint point = new Measuringpoint();
point.setSid(arrayPoint.getJSONObject(a).opt("id").toString());
point.setName(arrayPoint.getJSONObject(a).opt("parmname").toString());
point.setUnit(arrayPoint.getJSONObject(a).opt("unit").toString());
point.setCvalue(arrayPoint.getJSONObject(a).opt("parmvalue").toString());
point.setType(arrayPoint.getJSONObject(a).opt("signalType").toString());
point.setScadacode(arrayPoint.getJSONObject(a).opt("id").toString());
point.setAlarmmax(arrayPoint.getJSONObject(a).opt("alarmmax").toString());
point.setAlarmmin(arrayPoint.getJSONObject(a).opt("alarmmin").toString());
points.add(point);
}
} catch (JSONException e) {
e.printStackTrace();
}
return points;
}
}

View File

@ -0,0 +1,181 @@
package com.sipai.jspatrol.Equ.Equfrgment;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Bean.Measuringpoint;
import com.sipai.jspatrol.Equ.EquCardActivity;
import com.sipai.jspatrol.ProMonitoring.MeasurePointsAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import com.sipai.ui.EmptyLayout;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
/**
* created by lvliming on 2020/10/22
*/
public class EquDocumentFragment extends Fragment {
private SharedPreferencesData sharedpre;
private HashMap<String, String> map_base = new HashMap<>();
private String mServer;
private EquList equ;
private String mBizid;
private int page = 1;
private EmptyLayout emptyLayout;
private SwipeRefreshLayout refresh;
private RecyclerView rc_view;
private LinearLayoutManager manager;
private MeasurePointsAdapter pointsAdapter;
private List<Measuringpoint> measuringpoints = new ArrayList<>();
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_equ_document,container,false);
init();
initView(view);
// getDocuments();
return view;
}
private void init() {
EquCardActivity equcard = (EquCardActivity) getActivity();
equ = equcard.getEquList();
sharedpre = new SharedPreferencesData(getActivity());
map_base = sharedpre.getAll();
mServer = map_base.get("mServer");
SharedPreferences sharedPre = getActivity().getSharedPreferences("config", 0);
mBizid = sharedPre.getString("bizid", "");
}
@Override
public void onResume() {
super.onResume();
getEquPoints();
// getDocuments();
}
private void initView(View view) {
emptyLayout = view.findViewById(R.id.moudle_equ_doc_ui_empty);
rc_view = view.findViewById(R.id.moudle_equ_doc_rc_point);
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
refresh = view.findViewById(R.id.moudle_equ_doc_refresh);
refresh.setColorSchemeResources(R.color.blue);
refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
getEquPoints();
}
});
}
private void getEquPoints() {
HashMap<String,String> map = new HashMap<>();
map.put("equipmentId",equ.getId());
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETEquPoints_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
measuringpoints = parseMeasuringPoints(res);
if (measuringpoints.size()>0){
updatePoints();
}else {
showEmpty();
}
}
});
}
private void showEmpty() {
if (isAdded()) {
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
refresh.setRefreshing(false);
rc_view.setVisibility(View.GONE);
emptyLayout.setVisibility(View.VISIBLE);
}
});
}
}
}
private void updatePoints() {
if (isAdded()) {
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
refresh.setRefreshing(false);
rc_view.setVisibility(View.VISIBLE);
emptyLayout.setVisibility(View.GONE);
pointsAdapter = new MeasurePointsAdapter(getActivity(), measuringpoints);
rc_view.setAdapter(pointsAdapter);
}
});
}
}
}
private List<Measuringpoint> parseMeasuringPoints(String res) {
List<Measuringpoint> points = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(res);
JSONArray arrayPoint = jsonObject.getJSONArray("mPoint4APP");
for (int a=0;a<arrayPoint.length();a++){
Measuringpoint point = new Measuringpoint();
point.setSid(arrayPoint.getJSONObject(a).opt("id").toString());
point.setName(arrayPoint.getJSONObject(a).opt("parmname").toString());
point.setUnit(arrayPoint.getJSONObject(a).opt("unit").toString());
point.setCvalue(arrayPoint.getJSONObject(a).opt("parmvalue").toString());
point.setType(arrayPoint.getJSONObject(a).opt("signalType").toString());
point.setScadacode(arrayPoint.getJSONObject(a).opt("id").toString());
point.setAlarmmax(arrayPoint.getJSONObject(a).opt("alarmmax").toString());
point.setAlarmmin(arrayPoint.getJSONObject(a).opt("alarmmin").toString());
points.add(point);
}
} catch (JSONException e) {
e.printStackTrace();
}
return points;
}
}

View File

@ -0,0 +1,431 @@
package com.sipai.jspatrol.Equ.Equfrgment;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Bean.Fault;
import com.sipai.jspatrol.Bean.ProcessSection;
import com.sipai.jspatrol.Equ.EquCardActivity;
import com.sipai.jspatrol.Fault.adapter.DoneFaultAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.DateFormatUtils;
import com.sipai.jspatrol.utils.Global.GlobalVal;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import com.sipai.ui.EmptyLayout;
import com.superrecycleview.superlibrary.recycleview.SuperRecyclerView;
//import com.superrecycleview.superlibrary.utils.SuperDivider;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
/**
* created by lvliming on 2020/10/22
*/
public class EquFaultListFragment extends Fragment {
private SharedPreferencesData sharedpre;
private HashMap<String, String> map_base = new HashMap<>();
private String mServer;
private String mBizid;
private EquList equ;
private EditText tvstartdate,tvenddate;
private int year,month,day,hour,minute,lastday,lastmonth;
private int page = 1;
private List<Fault> faults = new ArrayList<>();
private DoneFaultAdapter doneFaultAdapter;
private LinearLayoutManager manager;
private SuperRecyclerView rc_view;
private SwipeRefreshLayout refresh;
private EmptyLayout emptyLayout;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_equ_fault_list,container,false);
initView(view);
getFaultList();
return view;
}
private void initView(View view) {
tvstartdate=(EditText)view.findViewById(R.id.moudle_equ_fault_list_edt_sd);
tvstartdate.setCursorVisible(false);
tvstartdate.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//创建DatePickerDialog对象
if (event.getAction() == MotionEvent.ACTION_DOWN) {
MyDatePickerDialog dpd = new MyDatePickerDialog(getActivity(), Datelistener, year, month, day);
dpd.show();//显示DatePickerDialog组件
}
return false;
}
});
tvenddate=(EditText)view.findViewById(R.id.moudle_equ_fault_list_edt_ed);
tvenddate.setCursorVisible(false);
tvenddate.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//创建DatePickerDialog对象
if (event.getAction() == MotionEvent.ACTION_DOWN) {
MyDatePickerDialog dpd = new MyDatePickerDialog(getActivity(), Datelistener, year, month, day);
dpd.show();//显示DatePickerDialog组件
}
return false;
}
});
if (day==1){
if (month!=0) {
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.set(Calendar.MONTH, month - 1);
int tday = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
tvstartdate.setText(DateFormatUtils.DateFormatMinString(year + "-" + (month) + "-" + lastday + " " + hour + ":" + minute));
}else{
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.set(Calendar.MONTH, 11);
int tday = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
tvstartdate.setText(DateFormatUtils.DateFormatMinString((year-1) + "-" + 12 + "-" + lastday + " " + hour + ":" + minute));
}
}else {
tvstartdate.setText(DateFormatUtils.DateFormatMinString(year + "-" + (lastmonth + 1) + "-" + lastday + " " + hour + ":" + minute));
}
tvenddate.setText(DateFormatUtils.DateFormatMinString(year+"-"+(month+1)+"-"+day+" "+hour+":"+minute));
rc_view = view.findViewById(R.id.moudle_equ_fault_list_rc);
emptyLayout = view.findViewById(R.id.moudle_equ_fault_list_ui_empty);
refresh = view.findViewById(R.id.moudle_equ_fault_list_refresh);
refresh.setColorSchemeResources(R.color.blue);
refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
page = 1;
getFaultList();
}
});
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
rc_view.setRefreshEnabled(false);
rc_view.setLoadMoreEnabled(true);
rc_view.setLoadingListener(new SuperRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
}
@Override
public void onLoadMore() {
page = page+1;
getFaultList();
}
});
// rc_view.addItemDecoration(SuperDivider.newBitmapDivider());
}
private void init() {
EquCardActivity equcard = (EquCardActivity) getActivity();
equ = equcard.getEquList();
sharedpre = new SharedPreferencesData(getActivity());
map_base = sharedpre.getAll();
mServer = map_base.get("mServer");
SharedPreferences sharedPre = getActivity().getSharedPreferences("config", 0);
mBizid = sharedPre.getString("bizid", "");
//初始化Calendar日历对象
Calendar mycalendar=Calendar.getInstance(Locale.CHINA);
Date mydate=new Date(); //获取当前日期Date对象
mycalendar.setTime(mydate);////为Calendar对象设置时间为当前日期
year=mycalendar.get(Calendar.YEAR); //获取Calendar对象中的年
month=mycalendar.get(Calendar.MONTH);//获取Calendar对象中的月
day=mycalendar.get(Calendar.DAY_OF_MONTH);//获取这个月的第几天
lastday=getBeforeDay(mycalendar).get(Calendar.DAY_OF_MONTH);
lastmonth=getBeforeDay(mycalendar).get(Calendar.MONTH);
hour=mycalendar.get(Calendar.HOUR_OF_DAY);//获取这个月的第几天
minute=mycalendar.get(Calendar.MINUTE);//获取这个月的第几天
}
private void getFaultList() {
isShowRefresh();
HashMap<String,String> map = new HashMap<>();
map.put("type", GlobalVal.Fault_Type);
map.put("rows","20");
map.put("page",String.valueOf(page));
map.put("search_code",mBizid);
map.put("processSectionId",equ.getProcesssectionid());
map.put("equipmentId",equ.getId());
map.put("status", GlobalVal.Fault_Status_Finish);
map.put("beginTimeStore",tvstartdate.getText().toString());
map.put("endTimeStore",tvenddate.getText().toString());
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETEquFaults_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
showError(a);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (page==1) {
faults = parseFault(res);
ifShowTheEmpty();
setAdapter();
}else {
List<Fault> list = parseFault(res);
if (list.size()>0) {
faults.addAll(list);
updateLoadMore();
}else {
noMore();
}
}
}
});
}
private void isShowRefresh() {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (page==1) {
if (!refresh.isRefreshing()) {
refresh.setRefreshing(true);
}
}
}
});
}
}
private void showError(String a) {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
refresh.setRefreshing(false);
Toast.makeText(getActivity(), ""+a, Toast.LENGTH_SHORT).show();
}
});
}
}
/*
是否显示暂无数据布局
*/
private void ifShowTheEmpty() {
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (faults.size() == 0) {
emptyLayout.setVisibility(View.VISIBLE);
rc_view.setVisibility(View.GONE);
} else {
emptyLayout.setVisibility(View.GONE);
rc_view.setVisibility(View.VISIBLE);
}
}
});
}
}
private void updateLoadMore() {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
rc_view.completeLoadMore();
doneFaultAdapter.notifyDataSetChanged();
}
});
}
}
private void noMore() {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getActivity(), "这次是真没有了~", Toast.LENGTH_SHORT).show();
}
});
}
}
private List<Fault> parseFault(String response) {
List<Fault> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray dones = new JSONArray(jsonObject.getString("content1"));
for (int i=0;i<dones.length();i++){
Fault done_fault = new Fault();
done_fault.setId(dones.getJSONObject(i).opt("id").toString());
if (dones.getJSONObject(i).opt("processSection")!=null&&!dones.getJSONObject(i).opt("processSection").toString().equals("null")&&dones.getJSONObject(i).opt("processSection").toString().length()>0) {
JSONObject area = new JSONObject(dones.getJSONObject(i).opt("processSection").toString());
ProcessSection proc = new ProcessSection();
proc.setSid(area.optString("id"));
proc.setName(area.optString("name"));
done_fault.setProcessSection(proc);
}else {
ProcessSection proc = new ProcessSection();
proc.setSid("");
proc.setName("");
done_fault.setProcessSection(proc);
}
done_fault.setProblemTypeNames(dones.getJSONObject(i).opt("problemTypeNames").toString());
done_fault.setProblemcontent(dones.getJSONObject(i).opt("problemcontent").toString());
done_fault.setPlanMoney(dones.getJSONObject(i).opt("planMoney").toString());
if (dones.getJSONObject(i).opt("equipmentCard")!=null&&dones.getJSONObject(i).opt("equipmentCard").toString().length()>0&&!dones.getJSONObject(i).opt("equipmentCard").toString().equals("null")) {
EquList card = new EquList();
JSONObject equ = new JSONObject(dones.getJSONObject(i).opt("equipmentCard").toString());
card.setEquipmentname(equ.opt("equipmentname").toString());
card.setEquipmentcardid(equ.opt("equipmentcardid").toString());
done_fault.setEquipmentCard(card);
}else {
EquList card = new EquList();
card.setEquipmentname("");
card.setEquipmentcardid("");
done_fault.setEquipmentCard(card);
}
if (dones.getJSONObject(i).opt("insertUser")!=null&&!dones.getJSONObject(i).optString("insertUser").equals("null")&&dones.getJSONObject(i).optString("insertUser").length()>0) {
JSONObject capt = new JSONObject(dones.getJSONObject(i).optString("insertUser"));
done_fault.setInsuser(capt.optString("caption"));
}else {
done_fault.setInsuser("");
}
done_fault.setTodoTask("任务完成");
done_fault.setInsdt(dones.getJSONObject(i).optString("insdt"));
done_fault.setEquipmentOpinion(dones.getJSONObject(i).optString("equipmentOpinion"));
done_fault.setPlanMoney(dones.getJSONObject(i).optString("planMoney"));
done_fault.setPlannedenddt(dones.getJSONObject(i).optString("plannedenddt"));
done_fault.setMaterialOpinion(dones.getJSONObject(i).optString("materialOpinion"));
done_fault.setQualityOpinion(dones.getJSONObject(i).optString("qualityOpinion"));
list.add(done_fault);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private void setAdapter() {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
refresh.setRefreshing(false);
doneFaultAdapter = new DoneFaultAdapter(getActivity(),faults);
rc_view.setAdapter(doneFaultAdapter);
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
}
});
}
}
public class MyDatePickerDialog extends DatePickerDialog {
public MyDatePickerDialog(Context context, OnDateSetListener callBack,
int year, int month, int day) {
super(context, callBack, year, month, day);
// TODO Auto-generated constructor stub
}
@Override
protected void onStop() {
//super.onStop();//防止onDateSet执行两次
}
}
private DatePickerDialog.OnDateSetListener Datelistener=new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) {
//修改year、month、day的变量值以便以后单击按钮时DatePickerDialog上显示上一次修改后的值
year=myyear;
month=monthOfYear;
day=dayOfMonth;
//更新日期
updateDate();
}
//当DatePickerDialog关闭时更新日期显示
private void updateDate()
{
//在TextView上显示日期
TimePickerDialog dpd=new TimePickerDialog(getActivity(),Timelistener,hour,minute,true);
dpd.show();//显示DatePickerDialog组件
}
};
private TimePickerDialog.OnTimeSetListener Timelistener=new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hours, int minutes) {
//修改year、month、day的变量值以便以后单击按钮时DatePickerDialog上显示上一次修改后的值
hour=hours;
minute=minutes;
//更新日期
updateDate();
}
//当DatePickerDialog关闭时更新日期显示
private void updateDate()
{
//在TextView上显示日期
if(tvstartdate.isFocused()){
tvstartdate.setText(DateFormatUtils.DateFormatMinString(year+"-"+(month+1)+"-"+day+" "+hour+":"+minute));
}else if(tvenddate.isFocused()){
tvenddate.setText(DateFormatUtils.DateFormatMinString(year+"-"+(month+1)+"-"+day+" "+hour+":"+minute));
}
getFaultList();
}
};
/**
* 获取当前时间的前一周
* @param cl
* @return
*/
private static Calendar getBeforeDay(Calendar cl){
//使用roll方法进行向前回滚
//cl.roll(Calendar.DATE, -1);
//使用set方法直接进行设置
int day = cl.get(Calendar.DATE);
cl.set(Calendar.DATE, day-7);
return cl;
}
}

View File

@ -0,0 +1,431 @@
package com.sipai.jspatrol.Equ.Equfrgment;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Bean.Fault;
import com.sipai.jspatrol.Bean.ProcessSection;
import com.sipai.jspatrol.Equ.EquCardActivity;
import com.sipai.jspatrol.Fault.adapter.DoneFaultAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.DateFormatUtils;
import com.sipai.jspatrol.utils.Global.GlobalVal;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import com.sipai.ui.EmptyLayout;
import com.superrecycleview.superlibrary.recycleview.SuperRecyclerView;
import com.superrecycleview.superlibrary.utils.SuperDivider;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
/**
* created by lvliming on 2020/10/22
*/
public class EquMaintainFragment extends Fragment {
private SharedPreferencesData sharedpre;
private HashMap<String, String> map_base = new HashMap<>();
private String mServer;
private EquList equ;
private String mBizid;
private EditText tvstartdate,tvenddate;
private int year,month,day,hour,minute,lastday,lastmonth;
private int page = 1;
private List<Fault> faults = new ArrayList<>();
private DoneFaultAdapter doneFaultAdapter;
private LinearLayoutManager manager;
private SuperRecyclerView rc_view;
private SwipeRefreshLayout refresh;
private EmptyLayout emptyLayout;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_equ_maintain,container,false);
initView(view);
getMaintainList();
return view;
}
private void initView(View view) {
tvstartdate=(EditText)view.findViewById(R.id.moudle_equ_maintains_edt_sd);
tvstartdate.setCursorVisible(false);
tvstartdate.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//创建DatePickerDialog对象
if (event.getAction() == MotionEvent.ACTION_DOWN) {
MyDatePickerDialog dpd = new MyDatePickerDialog(getActivity(), Datelistener, year, month, day);
dpd.show();//显示DatePickerDialog组件
}
return false;
}
});
tvenddate=(EditText)view.findViewById(R.id.moudle_equ_maintains_edt_ed);
tvenddate.setCursorVisible(false);
tvenddate.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//创建DatePickerDialog对象
if (event.getAction() == MotionEvent.ACTION_DOWN) {
MyDatePickerDialog dpd = new MyDatePickerDialog(getActivity(), Datelistener, year, month, day);
dpd.show();//显示DatePickerDialog组件
}
return false;
}
});
if (day==1){
if (month!=0) {
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.set(Calendar.MONTH, month - 1);
int tday = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
tvstartdate.setText(DateFormatUtils.DateFormatMinString(year + "-" + (month) + "-" + lastday + " " + hour + ":" + minute));
}else{
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.set(Calendar.MONTH, 11);
int tday = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
tvstartdate.setText(DateFormatUtils.DateFormatMinString((year-1) + "-" + 12 + "-" + lastday + " " + hour + ":" + minute));
}
}else {
tvstartdate.setText(DateFormatUtils.DateFormatMinString(year + "-" + (lastmonth + 1) + "-" + lastday + " " + hour + ":" + minute));
}
tvenddate.setText(DateFormatUtils.DateFormatMinString(year+"-"+(month+1)+"-"+day+" "+hour+":"+minute));
rc_view = view.findViewById(R.id.moudle_equ_maintains_rc);
emptyLayout = view.findViewById(R.id.moudle_equ_maintains_ui_empty);
refresh = view.findViewById(R.id.moudle_equ_maintains_refresh);
refresh.setColorSchemeResources(R.color.blue);
refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
page = 1;
getMaintainList();
}
});
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
rc_view.setRefreshEnabled(false);
rc_view.setLoadMoreEnabled(true);
rc_view.setLoadingListener(new SuperRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
}
@Override
public void onLoadMore() {
page = page+1;
getMaintainList();
}
});
rc_view.addItemDecoration(SuperDivider.newBitmapDivider());
}
private void init() {
EquCardActivity equcard = (EquCardActivity) getActivity();
equ = equcard.getEquList();
sharedpre = new SharedPreferencesData(getActivity());
map_base = sharedpre.getAll();
mServer = map_base.get("mServer");
SharedPreferences sharedPre = getActivity().getSharedPreferences("config", 0);
mBizid = sharedPre.getString("bizid", "");
//初始化Calendar日历对象
Calendar mycalendar=Calendar.getInstance(Locale.CHINA);
Date mydate=new Date(); //获取当前日期Date对象
mycalendar.setTime(mydate);////为Calendar对象设置时间为当前日期
year=mycalendar.get(Calendar.YEAR); //获取Calendar对象中的年
month=mycalendar.get(Calendar.MONTH);//获取Calendar对象中的月
day=mycalendar.get(Calendar.DAY_OF_MONTH);//获取这个月的第几天
lastday=getBeforeDay(mycalendar).get(Calendar.DAY_OF_MONTH);
lastmonth=getBeforeDay(mycalendar).get(Calendar.MONTH);
hour=mycalendar.get(Calendar.HOUR_OF_DAY);//获取这个月的第几天
minute=mycalendar.get(Calendar.MINUTE);//获取这个月的第几天
}
private void getMaintainList() {
isShowRefresh();
HashMap<String,String> map = new HashMap<>();
map.put("type", GlobalVal.Maintain_Type);
map.put("rows","20");
map.put("page",String.valueOf(page));
map.put("search_code",mBizid);
map.put("processSectionId",equ.getProcesssectionid());
map.put("equipmentId",equ.getId());
map.put("status", GlobalVal.Fault_Status_Finish);
map.put("beginTimeStore",tvstartdate.getText().toString());
map.put("endTimeStore",tvenddate.getText().toString());
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETEquMaintains_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
showError(a);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (page==1) {
faults = parseFault(res);
ifShowTheEmpty();
setAdapter();
}else {
List<Fault> list = parseFault(res);
if (list.size()>0) {
faults.addAll(list);
updateLoadMore();
}else {
noMore();
}
}
}
});
}
private void isShowRefresh() {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (page==1) {
if (!refresh.isRefreshing()) {
refresh.setRefreshing(true);
}
}
}
});
}
}
private void showError(String a) {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
refresh.setRefreshing(false);
Toast.makeText(getActivity(), ""+a, Toast.LENGTH_SHORT).show();
}
});
}
}
/*
是否显示暂无数据布局
*/
private void ifShowTheEmpty() {
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (faults.size() == 0) {
emptyLayout.setVisibility(View.VISIBLE);
rc_view.setVisibility(View.GONE);
} else {
emptyLayout.setVisibility(View.GONE);
rc_view.setVisibility(View.VISIBLE);
}
}
});
}
}
private void updateLoadMore() {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
rc_view.completeLoadMore();
doneFaultAdapter.notifyDataSetChanged();
}
});
}
}
private void noMore() {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getActivity(), "这次是真没有了~", Toast.LENGTH_SHORT).show();
}
});
}
}
private List<Fault> parseFault(String response) {
List<Fault> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray dones = new JSONArray(jsonObject.getString("content1"));
for (int i=0;i<dones.length();i++){
Fault done_fault = new Fault();
done_fault.setId(dones.getJSONObject(i).opt("id").toString());
if (dones.getJSONObject(i).opt("processSection")!=null&&!dones.getJSONObject(i).opt("processSection").toString().equals("null")&&dones.getJSONObject(i).opt("processSection").toString().length()>0) {
JSONObject area = new JSONObject(dones.getJSONObject(i).opt("processSection").toString());
ProcessSection proc = new ProcessSection();
proc.setSid(area.optString("id"));
proc.setName(area.optString("name"));
done_fault.setProcessSection(proc);
}else {
ProcessSection proc = new ProcessSection();
proc.setSid("");
proc.setName("");
done_fault.setProcessSection(proc);
}
done_fault.setProblemTypeNames(dones.getJSONObject(i).opt("problemTypeNames").toString());
done_fault.setProblemcontent(dones.getJSONObject(i).opt("problemcontent").toString());
done_fault.setPlanMoney(dones.getJSONObject(i).opt("planMoney").toString());
if (dones.getJSONObject(i).opt("equipmentCard")!=null&&dones.getJSONObject(i).opt("equipmentCard").toString().length()>0&&!dones.getJSONObject(i).opt("equipmentCard").toString().equals("null")) {
EquList card = new EquList();
JSONObject equ = new JSONObject(dones.getJSONObject(i).opt("equipmentCard").toString());
card.setEquipmentname(equ.opt("equipmentname").toString());
card.setEquipmentcardid(equ.opt("equipmentcardid").toString());
done_fault.setEquipmentCard(card);
}else {
EquList card = new EquList();
card.setEquipmentname("");
card.setEquipmentcardid("");
done_fault.setEquipmentCard(card);
}
if (dones.getJSONObject(i).opt("insertUser")!=null&&!dones.getJSONObject(i).optString("insertUser").equals("null")&&dones.getJSONObject(i).optString("insertUser").length()>0) {
JSONObject capt = new JSONObject(dones.getJSONObject(i).optString("insertUser"));
done_fault.setInsuser(capt.optString("caption"));
}else {
done_fault.setInsuser("");
}
done_fault.setTodoTask("任务完成");
done_fault.setInsdt(dones.getJSONObject(i).optString("insdt"));
done_fault.setEquipmentOpinion(dones.getJSONObject(i).optString("equipmentOpinion"));
done_fault.setPlanMoney(dones.getJSONObject(i).optString("planMoney"));
done_fault.setPlannedenddt(dones.getJSONObject(i).optString("plannedenddt"));
done_fault.setMaterialOpinion(dones.getJSONObject(i).optString("materialOpinion"));
done_fault.setQualityOpinion(dones.getJSONObject(i).optString("qualityOpinion"));
list.add(done_fault);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private void setAdapter() {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
refresh.setRefreshing(false);
doneFaultAdapter = new DoneFaultAdapter(getActivity(),faults);
rc_view.setAdapter(doneFaultAdapter);
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
}
});
}
}
public class MyDatePickerDialog extends DatePickerDialog {
public MyDatePickerDialog(Context context, OnDateSetListener callBack,
int year, int month, int day) {
super(context, callBack, year, month, day);
// TODO Auto-generated constructor stub
}
@Override
protected void onStop() {
//super.onStop();//防止onDateSet执行两次
}
}
private DatePickerDialog.OnDateSetListener Datelistener=new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) {
//修改year、month、day的变量值以便以后单击按钮时DatePickerDialog上显示上一次修改后的值
year=myyear;
month=monthOfYear;
day=dayOfMonth;
//更新日期
updateDate();
}
//当DatePickerDialog关闭时更新日期显示
private void updateDate()
{
//在TextView上显示日期
TimePickerDialog dpd=new TimePickerDialog(getActivity(),Timelistener,hour,minute,true);
dpd.show();//显示DatePickerDialog组件
}
};
private TimePickerDialog.OnTimeSetListener Timelistener=new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hours, int minutes) {
//修改year、month、day的变量值以便以后单击按钮时DatePickerDialog上显示上一次修改后的值
hour=hours;
minute=minutes;
//更新日期
updateDate();
}
//当DatePickerDialog关闭时更新日期显示
private void updateDate()
{
//在TextView上显示日期
if(tvstartdate.isFocused()){
tvstartdate.setText(DateFormatUtils.DateFormatMinString(year+"-"+(month+1)+"-"+day+" "+hour+":"+minute));
}else if(tvenddate.isFocused()){
tvenddate.setText(DateFormatUtils.DateFormatMinString(year+"-"+(month+1)+"-"+day+" "+hour+":"+minute));
}
getMaintainList();
}
};
/**
* 获取当前时间的前一周
* @param cl
* @return
*/
private static Calendar getBeforeDay(Calendar cl){
//使用roll方法进行向前回滚
//cl.roll(Calendar.DATE, -1);
//使用set方法直接进行设置
int day = cl.get(Calendar.DATE);
cl.set(Calendar.DATE, day-7);
return cl;
}
}

View File

@ -0,0 +1,290 @@
package com.sipai.jspatrol.Equ;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.PersistentCookieStore;
import com.loopj.android.http.RequestParams;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.R;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import cn.pedant.SweetAlert.SweetAlertDialog;
public class PertainToEquSelActivity extends AppCompatActivity {
private EditText edt_equname;
private Button btn_search;
private RecyclerView rc_view;
private SwipeRefreshLayout refresh;
private LinearLayoutManager manager;
private PertainToEquSelAdapter equAdapter;
private List<EquList> equs = new ArrayList<>();
private EquList sel_item;
private String st_pSectionId = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pertain_to_equ_sel);
init();
initView();
}
private void initView() {
TextView tv_title = (TextView) findViewById(R.id.moudle_back_title_tv_title);
tv_title.setText("所属设备选择");
ImageView btn_back = (ImageView) findViewById(R.id.moudle_back_title_iv_back);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
edt_equname = findViewById(R.id.moudle_pertain_to_equ_sel_edt_equname);
btn_search = findViewById(R.id.moudle_pertain_to_equ_sel_btn_search);
rc_view = findViewById(R.id.moudle_pertain_to_equ_sel_rc);
manager = new LinearLayoutManager(PertainToEquSelActivity.this);
rc_view.setLayoutManager(manager);
equAdapter = new PertainToEquSelAdapter(equs, PertainToEquSelActivity.this, new PertainToEquSelAdapter.onRecyclerViewItemClick() {
@Override
public void onItemClick(View v, int position) {
sel_item = equs.get(position);
Intent intent = new Intent();
intent.putExtra("sel",sel_item);
setResult(RESULT_OK,intent);
finish();
}
});
rc_view.setAdapter(equAdapter);
refresh = findViewById(R.id.moudle_pertain_to_equ_sel_refresh);
refresh.setColorSchemeResources(R.color.blue);
refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
getEquList();
}
});
}
private void getEquList() {
showRefresh();
String getsearch = "";
if (edt_equname.getText()!=null&&!edt_equname.getText().toString().isEmpty()){
getsearch = edt_equname.getText().toString();
}
PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
params.put("page", "1");
params.put("rows", "100");
params.put("companyId",mBizid);
params.put("pSectionId",st_pSectionId);
params.put("search_name", getsearch);
AsyncHttpClient client = new AsyncHttpClient();
client.setCookieStore(myCookieStore);
client.post(mServer + "equipment/getList4APP.do?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
String res = response;
equs=getData(response);
UpDateUI();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable error) {
super.onFailure(error);
String a = error.toString();
if(!PertainToEquSelActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (refresh.isRefreshing()){
refresh.setRefreshing(false);
}
new SweetAlertDialog(PertainToEquSelActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("设备列表获取失败请重试!")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
getEquList();
}
}).setCancelText("取消")
.setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
finish();
}
}).show();
}
});
}
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
private void showRefresh() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!refresh.isRefreshing()){
refresh.setRefreshing(true);
}
}
});
}
private void UpDateUI() {
if (!PertainToEquSelActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
if (refresh.isRefreshing()){
refresh.setRefreshing(false);
}
if(equs!=null){
manager = new LinearLayoutManager(PertainToEquSelActivity.this);
rc_view.setLayoutManager(manager);
equAdapter = new PertainToEquSelAdapter(equs, PertainToEquSelActivity.this, new PertainToEquSelAdapter.onRecyclerViewItemClick() {
@Override
public void onItemClick(View v, int position) {
sel_item = equs.get(position);
Intent intent = new Intent();
intent.putExtra("sel",sel_item);
setResult(RESULT_OK,intent);
finish();
}
});
rc_view.setAdapter(equAdapter);
}
}
});
}
}
private List<EquList> getData(String response) {
List<EquList> list = new ArrayList<EquList>();
try{
JSONObject jsonObject = new JSONObject(response);
JSONArray array = new JSONArray(jsonObject.optString("rows"));
for (int i=0;i<array.length();i++){
EquList item = new EquList();
item.setAreaid(array.getJSONObject(i).optString("areaid"));
item.setAssetclassid(array.getJSONObject(i).optString(""));
item.setBizid(array.getJSONObject(i).optString(""));
if (array.getJSONObject(i).get("company")!=null&&!array.getJSONObject(i).get("company").toString().equals("null")) {
JSONObject company = new JSONObject(array.getJSONObject(i).optString("company"));
item.setCompany(company.optString("name"));
}else {
item.setCompany("");
}
if (array.getJSONObject(i).get("equipmentClass")!=null&&!array.getJSONObject(i).get("equipmentClass").toString().equals("null")) {
JSONObject equClass = new JSONObject(array.getJSONObject(i).optString("equipmentClass"));
item.setEquipmentClass(equClass.optString("name"));
}else {
item.setEquipmentClass("");
}
if (array.getJSONObject(i).get("equipmentLevel")!=null&&!array.getJSONObject(i).get("equipmentLevel").toString().equals("null")) {
JSONObject equLevel = new JSONObject(array.getJSONObject(i).optString("equipmentLevel"));
item.setEquipmentLevel(equLevel.optString("levelname"));
}else {
item.setEquipmentLevel("");
}
if (array.getJSONObject(i).get("equipmentSpecification")!=null&&!array.getJSONObject(i).get("equipmentSpecification").toString().equals("null")) {
JSONObject equipmentSpecification = new JSONObject(array.getJSONObject(i).optString("equipmentSpecification"));
item.setEquipmentSpecification(equipmentSpecification.optString("name"));
}else {
item.setEquipmentSpecification("");
}
if (array.getJSONObject(i).get("equipmentTypeNumber")!=null&&!array.getJSONObject(i).get("equipmentTypeNumber").toString().equals("null")) {
JSONObject equipmentTypeNumber = new JSONObject(array.getJSONObject(i).optString("equipmentTypeNumber"));
item.setEquipmentTypeNumber(equipmentTypeNumber.optString("name"));
}else {
item.setEquipmentTypeNumber("");
}
item.setEquipmentcardid(array.getJSONObject(i).optString("equipmentcardid"));
item.setEquipmentclassid(array.getJSONObject(i).optString("equipmentclassid"));
item.setEquipmentlevelid(array.getJSONObject(i).optString("equipmentlevelid"));
item.setEquipmentmanufacturer(array.getJSONObject(i).optString("equipmentmanufacturer"));
item.setEquipmentname(array.getJSONObject(i).optString("equipmentname"));
item.setEquipmentstatus(array.getJSONObject(i).optString("equipmentstatus"));
item.setId(array.getJSONObject(i).optString("id"));
item.setLeavefactorynumber(array.getJSONObject(i).optString("leavefactorynumber"));
item.setMajorparameter(array.getJSONObject(i).optString("majorparameter"));
item.setProductiondate(array.getJSONObject(i).optString("productiondate"));
item.setTotaltime(array.getJSONObject(i).opt("totaltime").toString());
if (array.getJSONObject(i).optString("equipmentstatus").equals("0")) {
item.setEquipmentstatus("禁用");
}else if (array.getJSONObject(i).optString("equipmentstatus").equals("1")){
item.setEquipmentstatus("启用");
}
list.add(item);
}
}catch(JSONException ex){
Log.e("JSON Error: ", ex.toString());
}
return list;
}
/**
* 初始化
*/
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid;
private String mBizName;
public void init(){
SharedPreferences sharedPre=getSharedPreferences("config", MODE_PRIVATE);
mServer=sharedPre.getString("server", "");
mUsername=sharedPre.getString("username", "");
mPassword=sharedPre.getString("password", "");
mUserid=sharedPre.getString("userid", "");
mCaption=sharedPre.getString("caption", "");
mBizid=sharedPre.getString("bizid", "");
mBizName=sharedPre.getString("bizname", "");
st_pSectionId = getIntent().getStringExtra("psectionId");
}
}

View File

@ -0,0 +1,76 @@
package com.sipai.jspatrol.Equ;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.R;
import java.util.List;
/**
* created by lvliming on 2019/7/11
*/
public class PertainToEquSelAdapter extends RecyclerView.Adapter<PertainToEquSelAdapter.ViewHolder> {
private List<EquList> list;
private Context context;
private onRecyclerViewItemClick mOnRvItemClick;
public PertainToEquSelAdapter(List<EquList> list, Context context, onRecyclerViewItemClick mOnRvItemClick) {
this.list = list;
this.context = context;
this.mOnRvItemClick = mOnRvItemClick;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item ,parent,false);
final ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
EquList item = list.get(position);
holder.tv_name.setText(item.getEquipmentname());
holder.tv_cardId.setText(item.getEquipmentcardid());
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView tv_name,tv_cardId;
View root;
public ViewHolder(@NonNull View itemView) {
super(itemView);
root = itemView;
tv_name = itemView.findViewById(R.id.name);
tv_cardId = itemView.findViewById(R.id.info);
root.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (mOnRvItemClick != null)
mOnRvItemClick.onItemClick(v, getAdapterPosition());
}
}
/**
* item点击接口
*/
public interface onRecyclerViewItemClick {
void onItemClick(View v, int position);
}
}

View File

@ -0,0 +1,434 @@
package com.sipai.jspatrol.Equ;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.PersistentCookieStore;
import com.loopj.android.http.RequestParams;
import com.sipai.jspatrol.Bean.InfoSel;
import com.sipai.jspatrol.R;
import org.json.JSONArray;
import org.json.JSONException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import cn.pedant.SweetAlert.SweetAlertDialog;
public class SelActivity extends AppCompatActivity {
private String type = "";
private List<InfoSel> list = new ArrayList<>();
private InfoSel sel_item;
private RecyclerView rc_view;
private SelAdapter adapter;
private LinearLayoutManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sel);
init();
initView();
intentVisit();
}
private void intentVisit() {
if (type.equals("assetclass")){
getAssetClass();
}else if (type.equals("equtypenum")){
getEquTypeNum();
}else if (type.equals("equclass")){
getEquClass();
}else if (type.equals("equspecification")){
getEquSpecification();
}else if (type.equals("equlevel")){
getEquLevel();
}
}
/**
* 设备级别
*/
private void getEquLevel() {
PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
AsyncHttpClient client = new AsyncHttpClient();
client.setCookieStore(myCookieStore);
client.post(mServer + "equipment/equipmentLevel/getEquipmentLevelForSelect.do?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
list = parseData(response);
UpdateUI();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable error) {
super.onFailure(error);
String a = error.toString();
if(!SelActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(SelActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("资产类型列表获取失败请重试!")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
getEquLevel();
}
}).show();
}
});
}
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
/**
* 设备规格
*/
private void getEquSpecification() {
PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
AsyncHttpClient client = new AsyncHttpClient();
client.setCookieStore(myCookieStore);
client.post(mServer + "equipment/equipmentSpecification/getEquipmentSpecificationForSelect.do?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
list = parseData(response);
UpdateUI();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable error) {
super.onFailure(error);
String a = error.toString();
if(!SelActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(SelActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("资产类型列表获取失败请重试!")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
getEquSpecification();
}
}).show();
}
});
}
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
/**
* 设备类型
*/
private void getEquClass() {
PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
AsyncHttpClient client = new AsyncHttpClient();
client.setCookieStore(myCookieStore);
client.post(mServer + "equipment/equipmentClass/getEquipmentClassForSelect.do?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
Log.i("assetClass", "onSuccess: "+response);
list = parseData(response);
UpdateUI();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable error) {
super.onFailure(error);
String a = error.toString();
if(!SelActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(SelActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("资产类型列表获取失败请重试!")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
getEquClass();
}
}).show();
}
});
}
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
/**
* 设备型号
*/
private void getEquTypeNum() {
PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
AsyncHttpClient client = new AsyncHttpClient();
client.setCookieStore(myCookieStore);
client.post(mServer + "equipment/equipmentTypeNumber/getEquipmentTypeNumberForSelect.do?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
Log.i("assetClass", "onSuccess: "+response);
list = parseData(response);
UpdateUI();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable error) {
super.onFailure(error);
String a = error.toString();
if(!SelActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(SelActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("资产类型列表获取失败请重试!")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
getEquTypeNum();
}
}).show();
}
});
}
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
/**
* 资产类型
*/
private void getAssetClass() {
PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
// params.put("search_code", mBizid);
// params.put("rows", "100");
// params.put("page", "1");
AsyncHttpClient client = new AsyncHttpClient();
client.setCookieStore(myCookieStore);
client.post(mServer + "equipment/assetClass/getAssetClassForSelect.do?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
Log.i("assetClass", "onSuccess: "+response);
list = parseData(response);
UpdateUI();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable error) {
super.onFailure(error);
String a = error.toString();
if(!SelActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(SelActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("资产类型列表获取失败请重试!")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
getAssetClass();
}
}).show();
}
});
}
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
private void UpdateUI() {
runOnUiThread(new Runnable() {
@Override
public void run() {
manager = new LinearLayoutManager(SelActivity.this);
rc_view.setLayoutManager(manager);
adapter = new SelAdapter(SelActivity.this, list, new SelAdapter.onRecyclerViewItemClick() {
@Override
public void onItemClick(View v, int position) {
sel_item = list.get(position);
Intent intent = new Intent();
intent.putExtra("sel",sel_item);
setResult(RESULT_OK,intent);
finish();
}
});
rc_view.setAdapter(adapter);
}
});
}
private List<InfoSel> parseData(String response) {
List<InfoSel> list = new ArrayList<>();
try {
JSONArray array = new JSONArray(response);
for (int i=0;i<array.length();i++){
InfoSel item = new InfoSel();
item.setId(array.getJSONObject(i).opt("id").toString());
item.setText(array.getJSONObject(i).opt("text").toString());
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private void initView() {
TextView tv_title = (TextView) findViewById(R.id.moudle_back_title_tv_title);
if (type.equals("assetclass")) {
tv_title.setText("资产类型");
}else if (type.equals("equtypenum")){
tv_title.setText("设备型号");
}else if (type.equals("equclass")){
tv_title.setText("设备类型");
}else if (type.equals("equspecification")){
tv_title.setText("设备规格");
}else if (type.equals("equlevel")){
tv_title.setText("设备级别");
}
ImageView btn_back = (ImageView) findViewById(R.id.moudle_back_title_iv_back);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
TextView tv_save = (TextView) findViewById(R.id.moudle_back_title_tv_save);
tv_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.putExtra("sel", (Serializable) sel_item);
setResult(RESULT_OK,intent);
finish();
}
});
rc_view = findViewById(R.id.moudle_asset_class_sel_rc);
manager = new LinearLayoutManager(SelActivity.this);
rc_view.setLayoutManager(manager);
adapter = new SelAdapter(SelActivity.this, list, new SelAdapter.onRecyclerViewItemClick() {
@Override
public void onItemClick(View v, int position) {
sel_item = list.get(position);
}
});
rc_view.setAdapter(adapter);
}
/**
* 初始化
*/
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid;
private String mBizName;
public void init(){
SharedPreferences sharedPre=getSharedPreferences("config", MODE_PRIVATE);
mServer=sharedPre.getString("server", "");
mUsername=sharedPre.getString("username", "");
mPassword=sharedPre.getString("password", "");
mUserid=sharedPre.getString("userid", "");
mCaption=sharedPre.getString("caption", "");
mBizid=sharedPre.getString("bizid", "");
mBizName=sharedPre.getString("bizname", "");
type = getIntent().getStringExtra("type");
}
}

View File

@ -0,0 +1,72 @@
package com.sipai.jspatrol.Equ;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.sipai.jspatrol.Bean.InfoSel;
import com.sipai.jspatrol.R;
import java.util.List;
/**
* created by lvliming on 2019/7/10
*/
public class SelAdapter extends RecyclerView.Adapter<SelAdapter.ViewHolder> {
private Context mContext;
private List<InfoSel> list;
private onRecyclerViewItemClick mOnRvItemClick;
public SelAdapter(Context mContext, List<InfoSel> list, onRecyclerViewItemClick mOnRvItemClick) {
this.mContext = mContext;
this.list = list;
this.mOnRvItemClick = mOnRvItemClick;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.moudle_item_sel,parent,false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
InfoSel item = list.get(position);
holder.tv_name.setText(item.getText());
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
View tview;
TextView tv_name;
public ViewHolder(View itemView) {
super(itemView);
tview = itemView;
tv_name = itemView.findViewById(R.id.moudle_item_sel_tv_name);
tview.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (mOnRvItemClick != null)
mOnRvItemClick.onItemClick(v, getAdapterPosition());
}
}
/**
* item点击接口
*/
public interface onRecyclerViewItemClick {
void onItemClick(View v, int position);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
package com.sipai.jspatrol.Fault;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import com.sipai.jspatrol.Bean.Fault;
import com.sipai.jspatrol.R;
public class DoneFaultActivity extends AppCompatActivity {
private Fault mFault;
private TextView tv_area,tv_equ,tv_fault_content,tv_date,tv_sub_man,tv_dispose_content,tv_content_added;
public static void actionStart(Context context, Fault fault){
Intent intent = new Intent(context, DoneFaultActivity.class);
intent.putExtra("fault",fault);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_done_fault);
init();
initView();
}
private void init() {
if (getIntent().getSerializableExtra("fault")!=null){
mFault = (Fault) getIntent().getSerializableExtra("fault");
}
}
private void initView() {
TextView tv_title = findViewById(R.id.moudle_back_title_tv_title);
tv_title.setText("缺陷详情");
ImageView btn_back = findViewById(R.id.moudle_back_title_iv_back);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
tv_area = findViewById(R.id.moudle_done_fault_tv_area);
tv_area.setText(mFault.getProcessSection().getName());
tv_equ = findViewById(R.id.moudle_done_fault_tv_equ_name);
tv_equ.setText(mFault.getEquipmentCard().getEquipmentname());
tv_fault_content = findViewById(R.id.moudle_done_fault_tv_fault_content);
tv_fault_content.setText(mFault.getProblemcontent());
tv_date = findViewById(R.id.moudle_done_fault_tv_date);
tv_date.setText(mFault.getInsdt().substring(0,16));
tv_sub_man = findViewById(R.id.moudle_done_fault_tv_man);
tv_sub_man.setText(mFault.getInsuser());
tv_dispose_content = findViewById(R.id.moudle_done_fault_tv_show_dispose_content);
// tv_dispose_content.setText(mFault.);
}
}

View File

@ -0,0 +1,97 @@
package com.sipai.jspatrol.Fault;
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.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.R;
import java.util.List;
/**
* Created by lvliming on 2018/7/22.
*/
public class EquSingleChoiceAdapter extends RecyclerView.Adapter<EquSingleChoiceAdapter.ViewHolder> {
private Context mContext;
private List<EquList> list;
private onRecyclerViewItemClick mOnRvItemClick;
public EquSingleChoiceAdapter(Context mContext, List<EquList> list, onRecyclerViewItemClick mOnRvItemClick) {
this.mContext = mContext;
this.list = list;
this.mOnRvItemClick = mOnRvItemClick;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_equ_single_choice,parent,false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
EquList equ = list.get(position);
if (equ.getEquipmentmanufacturer()!=null&&!equ.getEquipmentmanufacturer().isEmpty()) {
holder.tv_manufacturer.setText(equ.getEquipmentmanufacturer());
}else {
holder.tv_manufacturer.setText("厂商暂未录入");
}
holder.tv_equipmentStatusManagement.setText(equ.getEquipmentStatusManagement());
if (equ.getEquipmentStatusManagement().equals("在用")){
holder.tv_equipmentStatusManagement.setBackground(mContext.getResources().getDrawable(R.drawable.bg_layout_shape_green));
holder.tv_equipmentStatusManagement.setTextColor(mContext.getResources().getColor(R.color.green06));
}else {
holder.tv_equipmentStatusManagement.setBackground(mContext.getResources().getDrawable(R.drawable.bg_layout_shape_gray));
holder.tv_equipmentStatusManagement.setTextColor(mContext.getResources().getColor(R.color.gray));
}
holder.tv_equipmentClass.setText(equ.getEquipmentClass());
holder.tv_model.setText(equ.getEquipmentmodel());
holder.tv_equipmentLevel.setText(equ.getEquipmentLevel());
holder.tv_name.setText(equ.getEquipmentname());
holder.tv_cardid.setText(equ.getEquipmentcardid());
holder.tv_ps.setText(equ.getProcessSection());
holder.tv_model.setText(equ.getEquipmentTypeNumber());
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
View tview;
TextView tv_manufacturer,tv_name,tv_cardid,tv_ps,tv_equipmentStatusManagement,tv_equipmentLevel,tv_equipmentClass,tv_model;
public ViewHolder(View itemView) {
super(itemView);
tview = itemView;
tv_manufacturer = (TextView) itemView.findViewById(R.id.moudle_item_equ_single_choice_tv_equipmentmanufacturer);
tv_name = (TextView) itemView.findViewById(R.id.moudle_item_equ_single_choice_tv_name);
tv_cardid = (TextView) itemView.findViewById(R.id.moudle_item_equ_single_choice_tv_cardid);
tv_ps = itemView.findViewById(R.id.moudle_item_equ_single_choice_tv_ps);
tv_equipmentStatusManagement = itemView.findViewById(R.id.moudle_item_equ_single_choice_tv_equipmentStatusManagement);
tv_equipmentLevel = itemView.findViewById(R.id.moudle_item_equ_single_choice_tv_equipmentLevel);
tv_equipmentClass = itemView.findViewById(R.id.moudle_item_equ_single_choice_tv_equipmentclass);
tv_model = itemView.findViewById(R.id.moudle_item_equ_single_choice_tv_equipmentmodel);
tview.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (mOnRvItemClick != null)
mOnRvItemClick.onItemClick(v, getAdapterPosition());
}
}
/**
* item点击接口
*/
public interface onRecyclerViewItemClick {
void onItemClick(View v, int position);
}
}

View File

@ -0,0 +1,207 @@
package com.sipai.jspatrol.Fault;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.sipai.jspatrol.Bean.Fault;
import com.sipai.jspatrol.Bean.FaultFlow;
import com.sipai.jspatrol.Bean.User;
import com.sipai.jspatrol.Fault.adapter.FaultFlowAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.DateFormatUtils;
import com.sipai.jspatrol.utils.OKHttpUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import cn.pedant.SweetAlert.SweetAlertDialog;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class FaultFlowChartActivity extends AppCompatActivity {
private Fault mFault;
private List<FaultFlow> flows = new ArrayList<>();
private SwipeRefreshLayout refreshLayout;
private RecyclerView rc;
private LinearLayoutManager manager;
private FaultFlowAdapter adapter;
public static void actionStart(Context context, Fault fault){
Intent intent = new Intent(context, FaultFlowChartActivity.class);
intent.putExtra("fault",fault);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fault_flow_chart);
init();
initView();
getFlow();
}
/**
* 初始化
*/
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid;
private String mGroup;
public void init(){
SharedPreferences sharedPre=getSharedPreferences("config", MODE_PRIVATE);
mServer=sharedPre.getString("server", "");
mUsername=sharedPre.getString("username", "");
mPassword=sharedPre.getString("password", "");
mUserid=sharedPre.getString("userid", "");
mCaption=sharedPre.getString("caption", "");
mBizid=sharedPre.getString("bizid", "");
mGroup=sharedPre.getString("group", "");
if (getIntent().getSerializableExtra("fault")!=null){
mFault = (Fault) getIntent().getSerializableExtra("fault");
}
}
private void initView() {
TextView tv_title = findViewById(R.id.moudle_back_title_tv_title);
tv_title.setText("处理流程");
ImageView btn_back = findViewById(R.id.moudle_back_title_iv_back);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
refreshLayout = findViewById(R.id.moudle_fault_flow_chart_refresh);
refreshLayout.setColorSchemeResources(R.color.blue);
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
getFlow();
}
});
rc = findViewById(R.id.moudle_fault_flow_chart_rc);
manager = new LinearLayoutManager(this);
rc.setLayoutManager(manager);
}
private void getFlow() {
if (!refreshLayout.isRefreshing()) {
showRefresh();
}
HashMap<String,String> map = new HashMap<>();
map.put("id",mFault.getId());
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GetMaintenanceFlowChart_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
hideRefresh();
if (!FaultFlowChartActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(FaultFlowChartActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("流程图获取失败,请重试!")
.setConfirmText("重试")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
getFlow();
}
}).show();
}
});
}
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
hideRefresh();
flows = parseFlow(res);
updateFlow();
}
});
}
private void showRefresh() {
if (!FaultFlowChartActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(true);
}
});
}
}
private void hideRefresh() {
if (!FaultFlowChartActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(false);
}
});
}
}
private void updateFlow() {
if (!FaultFlowChartActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter = new FaultFlowAdapter(FaultFlowChartActivity.this,flows);
rc.setAdapter(adapter);
}
});
}
}
private List<FaultFlow> parseFlow(String res) {
List<FaultFlow> list = new ArrayList<>();
try {
JSONArray array = new JSONArray(res);
for (int i=0;i<array.length();i++){
FaultFlow item = new FaultFlow();
item.setId(array.getJSONObject(i).optString("id"));
item.setProcessid(array.getJSONObject(i).optString("processid"));
item.setRecord(array.getJSONObject(i).optString("record"));
item.setTaskName(array.getJSONObject(i).optString("taskName"));
item.setInsdt(DateFormatUtils.DateFormatMinString(array.getJSONObject(i).optString("insdt")));
User user = new User();
JSONObject jsonObject = array.getJSONObject(i).getJSONObject("user");
user.setId(jsonObject.optString("id"));
user.setCaption(jsonObject.optString("caption"));
item.setUser(user);
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
}

View File

@ -0,0 +1,167 @@
package com.sipai.jspatrol.Fault;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.Priority;
import com.sipai.jspatrol.R;
import java.io.File;
import java.util.List;
import java.util.Map;
//import com.lzy.ninegrid.preview.ImagePreviewActivity;
/**
* com.bm.falvzixun.adapter.GridViewAddImgAdpter
*
* @author yuandl on 2015/12/24.
* 添加上传图片适配器
*/
public class GridViewAddImgesAdpter extends BaseAdapter {
private List<Map<String, Object>> datas;
private Context context;
private LayoutInflater inflater;
/**
* 可以动态设置最多上传几张,之后就不显示+号了,用户也无法上传了
* 默认9张
*/
private int maxImages = 4;
public GridViewAddImgesAdpter(List<Map<String, Object>> datas, Context context) {
this.datas = datas;
this.context = context;
inflater = LayoutInflater.from(context);
}
/**
* 获取最大上传张数
*
* @return
*/
public int getMaxImages() {
return maxImages;
}
/**
* 设置最大上传张数
*
* @param maxImages
*/
public void setMaxImages(int maxImages) {
this.maxImages = maxImages;
}
/**
* 让GridView中的数据数目加1最后一个显示+号
*
* @return 返回GridView中的数量
*/
@Override
public int getCount() {
int count = datas == null ? 1 : datas.size() + 1;
if (count >= maxImages) {
return datas.size();
} else {
return count;
}
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
public void notifyDataSetChanged(List<Map<String, Object>> datas) {
this.datas = datas;
this.notifyDataSetChanged();
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_published_grida, parent, false);
viewHolder = new ViewHolder(convertView);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
if (datas != null && position < datas.size()) {
final File file = new File(datas.get(position).get("path").toString());
Glide.with(context)
.load(file)
.priority(Priority.HIGH)
.into(viewHolder.ivimage);
// viewHolder.ivimage.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Intent intent = new Intent(v.getContext(),PreviewActivity.class);
// intent.putExtra("url",datas.get(position).get("path").toString());
// v.getContext().startActivity(intent);
// }
// });
viewHolder.btdel.setVisibility(View.VISIBLE);
viewHolder.btdel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (file.exists()) {
file.delete();
}
datas.remove(position);
notifyDataSetChanged();
}
});
// viewHolder.btadd.setVisibility(View.VISIBLE);
// viewHolder.btadd.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Intent intent = new Intent(v.getContext(),PreviewActivity.class);
// intent.putExtra("url",datas.get(position).get("path").toString());
// v.getContext().startActivity(intent);
// }
// });
} else {
Glide.with(context)
.load(R.mipmap.image_add1)
.priority(Priority.HIGH)
.centerCrop()
.into(viewHolder.ivimage);
viewHolder.ivimage.setScaleType(ImageView.ScaleType.FIT_XY);
viewHolder.btdel.setVisibility(View.GONE);
// viewHolder.btadd.setVisibility(View.GONE);
}
return convertView;
}
public class ViewHolder {
public final ImageView ivimage;
// public final Button btadd;
public final Button btdel;
public final View root;
public ViewHolder(View root) {
ivimage = (ImageView) root.findViewById(R.id.iv_image);
btdel = (Button) root.findViewById(R.id.bt_del);
// btadd = (Button) root.findViewById(R.id.bt_add);
this.root = root;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,638 @@
package com.sipai.jspatrol.Fault;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.hitomi.tilibrary.transfer.TransferConfig;
import com.hitomi.tilibrary.transfer.Transferee;
import com.sipai.jspatrol.Bean.Fault;
import com.sipai.jspatrol.Bean.Picture;
import com.sipai.jspatrol.Bean.User;
import com.sipai.jspatrol.Fault.adapter.PicAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.vansz.glideimageloader.GlideImageLoader;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import cn.pedant.SweetAlert.SweetAlertDialog;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class NewFaultDetailActivity extends AppCompatActivity implements View.OnClickListener{
private TextView tv_company,tv_processsection,tv_abnormitydescription,tv_remark,tv_equs,tv_sub_man,tv_sub_time;
private LinearLayout ll_equ;
private LinearLayout ll_todo;//生成缺陷
private TextView tv_receiver,tv_fault_type;
private Spinner sp_dispose_type;
private String st_dispose_type;
private String is_make_todo = "";
private String st_sel_receiver_id = "";
private EditText edt_complete_date;
private Fault mfault;
private List<User> receivers = new ArrayList<>();
private List<User> sel_receivers = new ArrayList<>();
private static final int SEND_RECEIVERS = 131;
private Calendar cal;
private int year,month,day,hour,minute;
private String mseriverip;
private RecyclerView rc_pic;
private List<Picture> pics = new ArrayList<>();
private PicAdapter picAdapter;
private LinearLayoutManager stmanager;
private Button btn_sub;
private SweetAlertDialog pDialog;
private ImageView iv;
private Transferee transferee;
private EditText edt_planMoney;
private String planMoney = "";
public static void actionStart(Context context, Fault fault, String todo){
Intent intent = new Intent(context, NewFaultDetailActivity.class);
intent.putExtra("fault",fault);
intent.putExtra("todo",todo);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_fault_detail);
init();
getNowData();
initView();
initData();
getPic();
if (is_make_todo.equals("yes")){
ll_todo.setVisibility(View.VISIBLE);
getReceiver();
}else {
ll_todo.setVisibility(View.GONE);
}
}
private void getPic() {
HashMap<String,String> map = new HashMap<>();
map.put("masterId",mfault.getId());
map.put("tbName","tb_maintenance_problem_fille");
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GetFaultPics_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
loadPicFail(e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
pics = getPicData(res);
updatePic();
}
});
}
private void loadPicFail(IOException e) {
if (!NewFaultDetailActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(NewFaultDetailActivity.this, "图片获取失败:" + e.toString(), Toast.LENGTH_SHORT).show();
}
});
}
}
private void updatePic() {
if (!NewFaultDetailActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
if (pics.size()>0) {
List<String> ivUrls = new ArrayList<>();
for (int i=0;i<pics.size();i++){
ivUrls.add(pics.get(i).getAbspath());
}
TransferConfig config = TransferConfig.build()
.setSourceUrlList(ivUrls)
.setDuration(350)
.setImageLoader(GlideImageLoader.with(getApplicationContext()))
.bindRecyclerView(rc_pic, R.id.moudle_new_fault_detail_rc_pic);
rc_pic.setVisibility(View.VISIBLE);
picAdapter = new PicAdapter(pics, NewFaultDetailActivity.this, new PicAdapter.PicAdapterOnClickListener() {
@Override
public void onItemClick(View v, int position) {
config.setNowThumbnailIndex(position);
transferee.apply(config).show();
}
});
rc_pic.setAdapter(picAdapter);
stmanager = new LinearLayoutManager(NewFaultDetailActivity.this);
stmanager.setOrientation(LinearLayoutManager.HORIZONTAL);
rc_pic.setLayoutManager(stmanager);
}else {
rc_pic.setVisibility(View.GONE);
}
}
});
}
}
private List<Picture> getPicData(String response) {
List<Picture> list = new ArrayList<>();
try {
JSONArray aNews = new JSONArray(response);
for (int i=0;i<aNews.length();i++){
Picture item = new Picture();
item.setId(aNews.getJSONObject(i).get("id").toString());
String abs = aNews.getJSONObject(i).get("abspath").toString();
String url = "http://"+mseriverip.substring(0,mseriverip.length())+"////UploadFile////MaintenanceProblem////"+abs.substring(abs.lastIndexOf("\\")+1,abs.length());
item.setAbspath(url);
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private void getNowData() {
cal=Calendar.getInstance();
year=cal.get(Calendar.YEAR); //获取年月日时分秒
month=cal.get(Calendar.MONTH); //获取到的月份是从0开始计数
day=cal.get(Calendar.DAY_OF_MONTH);
hour = cal.get(Calendar.HOUR_OF_DAY);
minute = cal.get(Calendar.MONTH);
}
private void getReceiver() {
HashMap<String,String> map = new HashMap<>();
map.put("search_pid",mBizid);
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETUSERLISt_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
if (!NewFaultDetailActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(NewFaultDetailActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("人员列表获取失败,请重试!")
.setConfirmText("重试")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
getReceiver();
}
}).show();
}
});
}
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
receivers = parseReceiver(res);
}
});
// PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
// RequestParams params = new RequestParams();
// params.put("search_pid",mBizid);
// params.put("rows","1000");
// AsyncHttpClient client = new AsyncHttpClient();
// client.setCookieStore(myCookieStore);
// client.post(mServer+"user/getUsers.do?", params, new AsyncHttpResponseHandler() {
// @Override
// public void onSuccess(String response) {
// receivers = parseReceiver(response);
// }
//
// @Override
// public void onStart() {
// super.onStart();
// }
//
// @Override
// public void onFinish() {
// super.onFinish();
// }
//
// @Override
// public void onFailure(final Throwable error) {
// super.onFailure(error);
//
// }
// });
}
private List<User> parseReceiver(String response) {
List<User> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray aNews = new JSONArray(jsonObject.getString("rows"));
for (int i=0;i<aNews.length();i++){
User item = new User();
item.setId(aNews.getJSONObject(i).get("id").toString());
item.setCaption(aNews.getJSONObject(i).get("caption").toString());
item.setName(aNews.getJSONObject(i).get("name").toString());
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private void initData() {
if (mfault.getBiz()!=null&&mfault.getBiz().getName().length()>0){
runOnUiThread(new Runnable() {
@Override
public void run() {
tv_company.setText(mfault.getBiz().getName());
tv_processsection.setText(mfault.getProcessSection().getName());
tv_abnormitydescription.setText(mfault.getAbnormityDescription());
tv_remark.setText(mfault.getRemark());
tv_equs.setText(mfault.getEquipmentNames());
tv_sub_man.setText(mfault.getInsuser());
tv_sub_time.setText(mfault.getInsdt().substring(5, 16));
}
});
}
}
private void initView(){
TextView tv_title = findViewById(R.id.moudle_back_title_tv_title);
tv_title.setText("异常详情");
ImageView btn_back = findViewById(R.id.moudle_back_title_iv_back);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE);
pDialog.getProgressHelper().setBarColor(Color.parseColor("#419DE4"));
pDialog.setTitleText("数据上传中...");
pDialog.setCancelable(true);
pDialog.setCanceledOnTouchOutside(true);
tv_company = findViewById(R.id.moudle_new_fault_detail_tv_company);
tv_processsection = findViewById(R.id.moudle_new_fault_detail_tv_processsection);
tv_abnormitydescription = findViewById(R.id.moudle_new_fault_detail_tv_abnormitydescription);
tv_remark = findViewById(R.id.moudle_new_fault_detail_tv_remark);
ll_equ = findViewById(R.id.moudle_new_fault_detail_ll_equ);
tv_equs = findViewById(R.id.moudle_new_fault_detail_tv_equs);
tv_sub_man = findViewById(R.id.moudle_new_fault_detail_tv_sub_man);
tv_sub_time = findViewById(R.id.moudle_new_fault_detail_tv_sub_time);
ll_todo = findViewById(R.id.moudle_new_fault_detail_ll_todo);
sp_dispose_type = findViewById(R.id.moudle_new_fault_detail_sp);
final String[] repairtypes = getResources().getStringArray(R.array.dispose_type);
ArrayAdapter repairtypeAdapter = new ArrayAdapter(this, R.layout.item_normal_little_spin, R.id.moudle_normal_little_spin_tv_title, repairtypes);
sp_dispose_type.setAdapter(repairtypeAdapter);
sp_dispose_type.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
st_dispose_type = String.valueOf(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
st_dispose_type = "0";
}
});
edt_complete_date = findViewById(R.id.moudle_new_fault_detail_edt_complete_date);
edt_complete_date.setOnClickListener(this);
//在TextView上显示日期
String smonth = "";
String sday = "";
String shour = "";
String smin = "00";
//在TextView上显示日期
if (month<9){
smonth = "0"+String.valueOf(month+1);
}else {
smonth = String.valueOf(month+1);
}
if (day<10){
sday = "0"+String.valueOf(day);
}else {
sday = String.valueOf(day);
}
if (hour<10){
shour = "0"+String.valueOf(hour);
}else {
shour = String.valueOf(hour);
}
transferee = Transferee.getDefault(this);
edt_complete_date.setText(year+"-"+smonth+"-"+sday+" "+shour+":"+"00:00");
edt_complete_date.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//创建DatePickerDialog对象
if (event.getAction() == MotionEvent.ACTION_DOWN) {
DatePickerDialog dpd = new DatePickerDialog(NewFaultDetailActivity.this, Datelistener, year, month, day);
dpd.show();//显示DatePickerDialog组件
}
return false;
}
});
edt_planMoney = findViewById(R.id.moudle_new_fault_detail_edt_planMoney);
tv_receiver = findViewById(R.id.moudle_new_fault_detail_tv_receiver);
tv_receiver.setOnClickListener(this);
tv_fault_type = findViewById(R.id.moudle_new_fault_detail_tv_fault_type);
tv_fault_type.setOnClickListener(this);
btn_sub = findViewById(R.id.moudle_new_fault_detail_btn_sub);
btn_sub.setOnClickListener(this);
rc_pic = findViewById(R.id.moudle_new_fault_detail_rc_pic);
// picAdapter = new PicAdapter(pics,NewFaultDetailActivity.this);
// rc_pic.setAdapter(picAdapter);
stmanager = new LinearLayoutManager(NewFaultDetailActivity.this);
stmanager.setOrientation(LinearLayoutManager.HORIZONTAL);
rc_pic.setLayoutManager(stmanager);
}
private DatePickerDialog.OnDateSetListener Datelistener=new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) {
//修改year、month、day的变量值以便以后单击按钮时DatePickerDialog上显示上一次修改后的值
year=myyear;
month=monthOfYear;
day=dayOfMonth;
//更新日期
updateDate();
}
//当DatePickerDialog关闭时更新日期显示
private void updateDate()
{
//在TextView上显示日期
TimePickerDialog dpd=new TimePickerDialog(NewFaultDetailActivity.this,Timelistener,hour,minute,true);
dpd.show();//显示DatePickerDialog组件
}
};
private TimePickerDialog.OnTimeSetListener Timelistener=new TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker view, int hours, int minutes) {
//修改year、month、day的变量值以便以后单击按钮时DatePickerDialog上显示上一次修改后的值
hour=hours;
minute=minutes;
//更新日期
updateDate();
}
//当DatePickerDialog关闭时更新日期显示
private void updateDate()
{
//在TextView上显示日期
String smonth = "";
String sday = "";
String shour = "";
String smin = "00";
//在TextView上显示日期
if (month<9){
smonth = "0"+String.valueOf(month+1);
}else {
smonth = String.valueOf(month+1);
}
if (day<10){
sday = "0"+String.valueOf(day);
}else {
sday = String.valueOf(day);
}
if (hour<10){
shour = "0"+String.valueOf(hour);
}else {
shour = String.valueOf(hour);
}
//在TextView上显示日期
if(edt_complete_date.isFocused()){
edt_complete_date.setText(year+"-"+smonth+"-"+sday+" "+shour+":"+"00:00");
}
}
};
/**
* 初始化
*/
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid;
private String mGroup;
private String role;
public void init(){
SharedPreferences sharedPre=getSharedPreferences("config", MODE_PRIVATE);
role = sharedPre.getString("role","");
mServer=sharedPre.getString("server", "");
mseriverip=sharedPre.getString("serverip", "");
mUsername=sharedPre.getString("username", "");
mPassword=sharedPre.getString("password", "");
mUserid=sharedPre.getString("userid", "");
mCaption=sharedPre.getString("caption", "");
mBizid=sharedPre.getString("bizid", "");
mGroup=sharedPre.getString("group", "");
mfault = (Fault) getIntent().getSerializableExtra("fault");
is_make_todo = getIntent().getStringExtra("todo");
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.moudle_new_fault_detail_edt_complete_date:
break;
case R.id.moudle_new_fault_detail_tv_receiver:
if (receivers.size()>0) {
Intent intent = new Intent(NewFaultDetailActivity.this, PersonSelectorActivity.class);
intent.putExtra("users", (Serializable) receivers);
startActivityForResult(intent,SEND_RECEIVERS);
}else {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(NewFaultDetailActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("暂未配置接收人")
.show();
}
});
}
break;
case R.id.moudle_new_fault_detail_tv_fault_type:
break;
case R.id.moudle_new_fault_detail_btn_sub:
sub();
break;
}
}
private void pDialogHide() {
if (!NewFaultDetailActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
pDialog.hide();
}
});
}
}
private void pDialogshow() {
if (!NewFaultDetailActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
pDialog.show();
}
});
}
}
/*
生成缺陷
*/
private void sub() {
pDialogshow();
if (edt_planMoney.getText()!=null&&!edt_planMoney.getText().toString().isEmpty()){
planMoney = edt_planMoney.getText().toString();
}
HashMap<String,String> map = new HashMap<>();
map.put("maintenanceWay",st_dispose_type);
map.put("plannedenddt",edt_complete_date.getText().toString());
map.put("solver",st_sel_receiver_id);
map.put("planMoney",planMoney);
map.put("problemtypeid","");
map.put("ids",mfault.getId());
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.IssuedFault_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
pDialogHide();
if (!NewFaultDetailActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(NewFaultDetailActivity.this, "生成缺陷失败:" + e.toString(), Toast.LENGTH_SHORT).show();
}
});
}
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
pDialogHide();
if (res.equals("1")||res.equals("2")){
SubSuccess();
}else {
SubFail();
}
}
});
}
private void SubFail() {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(NewFaultDetailActivity.this, SweetAlertDialog.ERROR_TYPE)
.setTitleText("上传失败,请重试")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
}
}).show();
}
});
}
private void SubSuccess() {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(NewFaultDetailActivity.this, SweetAlertDialog.SUCCESS_TYPE)
.setTitleText("上传成功")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
finish();
}
}).show();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case SEND_RECEIVERS:
if (resultCode == RESULT_OK) {
sel_receivers = (List<User>) data.getSerializableExtra("sel");
String suser = "";
st_sel_receiver_id = "";
if (sel_receivers.size() > 0) {
for (int i = 0; i < sel_receivers.size(); i++) {
if (i == 0) {
suser = sel_receivers.get(i).getCaption();
st_sel_receiver_id = sel_receivers.get(i).getId();
} else if (0<i &&i < sel_receivers.size()) {
suser = suser + "," + sel_receivers.get(i).getCaption();
st_sel_receiver_id = st_sel_receiver_id + "," + sel_receivers.get(i).getId();
}
}
}
final String st = suser;
runOnUiThread(new Runnable() {
@Override
public void run() {
if (sel_receivers.size() > 0) {
tv_receiver.setText(st);
}
}
});
break;
}
}
}
}

View File

@ -0,0 +1,71 @@
package com.sipai.jspatrol.Fault;
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.sipai.jspatrol.Bean.ProcessSection;
import com.sipai.jspatrol.R;
import java.util.List;
/**
* Created by lvliming on 2018/7/22.
*/
public class PSSingleChoiceAdapter extends RecyclerView.Adapter<PSSingleChoiceAdapter.ViewHolder> {
private Context mContext;
private List<ProcessSection> list;
private onRecyclerViewItemClick mOnRvItemClick;
public PSSingleChoiceAdapter(Context mContext, List<ProcessSection> list, onRecyclerViewItemClick mOnRvItemClick) {
this.mContext = mContext;
this.list = list;
this.mOnRvItemClick = mOnRvItemClick;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_ps_single_choice,parent,false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
ProcessSection item = list.get(position);
holder.tv_name.setText(item.getName());
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
View tview;
TextView tv_name;
public ViewHolder(View itemView) {
super(itemView);
tview = itemView;
tv_name = itemView.findViewById(R.id.moudle_item_ps_single_choice_tv_name);
tview.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (mOnRvItemClick != null)
mOnRvItemClick.onItemClick(v, getAdapterPosition());
}
}
/**
* item点击接口
*/
public interface onRecyclerViewItemClick {
void onItemClick(View v, int position);
}
}

View File

@ -0,0 +1,152 @@
package com.sipai.jspatrol.Fault;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.sipai.jspatrol.Bean.User;
import com.sipai.jspatrol.Fault.adapter.PersonSelectorAdapter;
import com.sipai.jspatrol.R;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class PersonSelectorActivity extends AppCompatActivity {
private List<User> users = new ArrayList<>();
private List<User> search_users = new ArrayList<>();
private List<User> sel_users = new ArrayList<>();
private RecyclerView rc_view;
private PersonSelectorAdapter adapter;
private LinearLayoutManager manager;
private ImageView iv_search;
private EditText edt_name;
private String sel_mark;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_person_selector);
init();
initView();
}
private void initView() {
ImageView btn_back = (ImageView) findViewById(R.id.moudle_ps_iv_back);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
TextView tv_save = (TextView) findViewById(R.id.moudle_ps_tv_save);
tv_save.setText("保存");
tv_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sel_users.clear();
Map<Integer, Boolean> map1 = adapter.getMap();
for (int i = map1.size()-1; 0<=i; i--) {
if (map1.get(i)) {
Log.d("TAG", "你选了第:" + i + "");
if (sel_mark.equals("all")) {
sel_users.add(users.get(i));
}else {
sel_users.add(search_users.get(i));
}
}
}
Intent intent = new Intent();
intent.putExtra("sel", (Serializable) sel_users);
setResult(RESULT_OK,intent);
finish();
}
});
iv_search = findViewById(R.id.moudle_ps_iv_search);
edt_name = findViewById(R.id.moudle_ps_edt_name);
edt_name.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (!s.toString().isEmpty()) {
checkUsers(String.valueOf(s));
}else {
showAll();
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
rc_view = findViewById(R.id.moudle_person_selector_rc);
adapter = new PersonSelectorAdapter(users,PersonSelectorActivity.this);
rc_view.setAdapter(adapter);
manager = new LinearLayoutManager(this);
rc_view.setLayoutManager(manager);
sel_mark = "all";
}
private void showAll() {
if (!PersonSelectorActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
sel_mark = "all";
adapter = new PersonSelectorAdapter(users,PersonSelectorActivity.this);
rc_view.setAdapter(adapter);
}
});
}
}
private void checkUsers(String s) {
search_users = new ArrayList<>();
for (int i=0;i<users.size();i++){
if (users.get(i).getCaption().contains(s)){
search_users.add(users.get(i));
}
}
sel_mark = "sel";
adapter = new PersonSelectorAdapter(search_users,PersonSelectorActivity.this);
rc_view.setAdapter(adapter);
}
/**
* 初始化
*/
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid;
private String mGroup;
private String role;
public void init(){
SharedPreferences sharedPre=getSharedPreferences("config", MODE_PRIVATE);
role = sharedPre.getString("role","");
mServer=sharedPre.getString("server", "");
mUsername=sharedPre.getString("username", "");
mPassword=sharedPre.getString("password", "");
mUserid=sharedPre.getString("userid", "");
mCaption=sharedPre.getString("caption", "");
mBizid=sharedPre.getString("bizid", "");
mGroup=sharedPre.getString("group", "");
users = (List<User>) getIntent().getSerializableExtra("users");
}
}

View File

@ -0,0 +1,355 @@
package com.sipai.jspatrol.Fault;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Bean.Measuringpoint;
import com.sipai.jspatrol.Bean.ProcessSection;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.OKHttpUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class SingleChoiceActivity extends AppCompatActivity implements View.OnClickListener {
private ImageView iv_back;
private EditText edt_name;
private TextView tv_search;
private String mark = "";
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid, mBizName;
private String name = "";
private String sel_ps_id = "";
private RecyclerView rc_list;
private SwipeRefreshLayout refreshLayout;
private List<EquList> equLists = new ArrayList<>();
private PSSingleChoiceAdapter psAdapter;
private EquSingleChoiceAdapter equAdapter;
private LinearLayoutManager manager;
private List<ProcessSection> processSections = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_single_choice);
init();
initView();
startSearch();
}
private void initView() {
iv_back = findViewById(R.id.moudle_single_choice_iv_back);
iv_back.setOnClickListener(this);
edt_name = findViewById(R.id.moudle_single_choice_edt_equname);
tv_search = findViewById(R.id.moudle_single_choice_tv_search);
tv_search.setOnClickListener(this);
rc_list = findViewById(R.id.moudle_single_choice_rc);
refreshLayout = findViewById(R.id.moudle_single_choice_refresh);
refreshLayout.setColorSchemeResources(R.color.blue);
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
startSearch();
}
});
}
private void init() {
SharedPreferences sharedPre = this.getSharedPreferences("config", 0);
mServer = sharedPre.getString("server", "");
mUsername = sharedPre.getString("username", "");
mPassword = sharedPre.getString("password", "");
mUserid = sharedPre.getString("userid", "");
mCaption = sharedPre.getString("caption", "");
mBizid = sharedPre.getString("bizid", "");
mBizName = sharedPre.getString("bizname", "");
if (getIntent().getStringExtra("mark")!=null&&!getIntent().getStringExtra("mark").isEmpty()){
mark = getIntent().getStringExtra("mark");
}
if (getIntent().getStringExtra("psId")!=null&&!getIntent().getStringExtra("psId").isEmpty()){
sel_ps_id = getIntent().getStringExtra("psId");
}
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.moudle_single_choice_iv_back:
finish();
break;
case R.id.moudle_single_choice_tv_search:
startSearch();
break;
}
}
private void startSearch() {
if (edt_name.getText()!=null&&!edt_name.getText().toString().isEmpty()){
name = edt_name.getText().toString();
}
judgeRefresh();
if (mark.equals("equ")) {
searchEqu(name);
}else if(mark.equals("ps")){
searchPS(name);
}
}
private void judgeRefresh() {
if (!SingleChoiceActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!refreshLayout.isRefreshing()){
refreshLayout.setRefreshing(true);
}
}
});
}
}
/**
* 搜索工艺段
* @param name
*/
private void searchPS(String name) {
HashMap<String,String> map = new HashMap<>();
map.put("search_code",mBizid);
map.put("search_name",name);
map.put("rows","300");
map.put("page","1");
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETPSLISt_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
if (!SingleChoiceActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(false);
Toast.makeText(SingleChoiceActivity.this, "失败:" + e.toString(), Toast.LENGTH_SHORT).show();
}
});
}
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res.contains("total")&&res.contains("rows")) {
processSections = parsePS(res);
}
updatePSList();
}
});
}
private void updatePSList() {
if (!SingleChoiceActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(false);
psAdapter = new PSSingleChoiceAdapter(SingleChoiceActivity.this, processSections, new PSSingleChoiceAdapter.onRecyclerViewItemClick() {
@Override
public void onItemClick(View v, int position) {
Intent intent = new Intent();
intent.putExtra("ps",processSections.get(position));
setResult(RESULT_OK,intent);
finish();
}
});
rc_list.setAdapter(psAdapter);
manager = new LinearLayoutManager(SingleChoiceActivity.this);
rc_list.setLayoutManager(manager);
}
});
}
}
private List<ProcessSection> parsePS(String res) {
List<ProcessSection> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(res);
JSONArray array = jsonObject.getJSONArray("rows");
for (int i=0;i<array.length();i++){
ProcessSection item = new ProcessSection();
item.setSid(array.getJSONObject(i).optString("id"));
item.setSname(array.getJSONObject(i).optString("sname"));
item.setName(array.getJSONObject(i).optString("name"));
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
/**
* 搜索设备
* @param name
*/
private void searchEqu(String name) {
HashMap<String,String> map = new HashMap<>();
map.put("companyId",mBizid);
map.put("equipmentName",name);
map.put("processSectionId",sel_ps_id);
map.put("rows","30");
map.put("page","1");
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETEQULISt_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
if (!SingleChoiceActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(false);
Toast.makeText(SingleChoiceActivity.this, "失败:" + e.toString(), Toast.LENGTH_SHORT).show();
}
});
}
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res.contains("total")&&res.contains("rows")) {
equLists = parseEqu(res);
}
updateEquList();
}
});
}
private void updateEquList() {
if (!SingleChoiceActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(false);
equAdapter = new EquSingleChoiceAdapter(SingleChoiceActivity.this, equLists, new EquSingleChoiceAdapter.onRecyclerViewItemClick() {
@Override
public void onItemClick(View v, int position) {
Intent intent = new Intent();
intent.putExtra("ppid",equLists.get(position).getId());
intent.putExtra("class","equ");
intent.putExtra("equ",equLists.get(position));
setResult(RESULT_OK,intent);
finish();
}
});
rc_list.setAdapter(equAdapter);
manager = new LinearLayoutManager(SingleChoiceActivity.this);
rc_list.setLayoutManager(manager);
}
});
}
}
private List<EquList> parseEqu(String res) {
List<EquList> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(res);
JSONArray array = jsonObject.getJSONArray("rows");
for (int i=0;i<array.length();i++){
EquList item = new EquList();
item.setId(array.getJSONObject(i).optString("id"));
item.setEquipmentmanufacturer(array.getJSONObject(i).optString("equipmentmanufacturer"));
item.setEquipmentname(array.getJSONObject(i).optString("equipmentname"));
item.setEquipmentcardid(array.getJSONObject(i).optString("equipmentcardid"));
item.setEquipmentmodel(array.getJSONObject(i).optString("equipmentmodelname"));
if (!array.getJSONObject(i).optString("processSection").equals("null")&&!array.getJSONObject(i).optString("processSection").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("processSection"));
item.setProcessSection(js.optString("name"));
item.setProcesssectionid(js.optString("id"));
}else {
item.setProcessSection("暂未配置");
}
if (!array.getJSONObject(i).optString("equipmentStatusManagement").equals("null")&&!array.getJSONObject(i).optString("equipmentStatusManagement").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("equipmentStatusManagement"));
item.setEquipmentStatusManagement(js.optString("name"));
}else {
item.setEquipmentStatusManagement("未知");
}
if (!array.getJSONObject(i).optString("equipmentLevel").equals("null")&&!array.getJSONObject(i).optString("equipmentLevel").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("equipmentLevel"));
item.setEquipmentLevel(js.optString("levelname")+"");
}else {
item.setEquipmentLevel("未知");
}
item.setAreaid(array.getJSONObject(i).optString("areaid"));
if (!array.getJSONObject(i).optString("company").equals("null")&&!array.getJSONObject(i).optString("company").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("company"));
item.setCompany(js.optString("name"));
}else {
item.setCompany("暂未配置");
}
if (!array.getJSONObject(i).optString("equipmentTypeNumber").equals("null")&&!array.getJSONObject(i).optString("equipmentTypeNumber").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("equipmentTypeNumber"));
item.setEquipmentTypeNumber(js.optString("name"));
}else {
item.setEquipmentTypeNumber("暂未配置");
}
if (!array.getJSONObject(i).optString("equipmentClass").equals("null")&&!array.getJSONObject(i).optString("equipmentClass").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("equipmentClass"));
item.setEquipmentClass(js.optString("name"));
}else {
item.setEquipmentClass("暂未配置");
}
if (!array.getJSONObject(i).optString("equipmentClass").equals("null")&&!array.getJSONObject(i).optString("equipmentClass").isEmpty()){
JSONObject js = new JSONObject(array.getJSONObject(i).optString("equipmentClass"));
item.setEquipmentClass(js.optString("name"));
}else {
item.setEquipmentClass("暂未配置");
}
if (!array.getJSONObject(i).optString("mPoint4APP").equals("null")&&!array.getJSONObject(i).optString("mPoint4APP").isEmpty()){
JSONArray arrayPoint = array.getJSONObject(i).getJSONArray("mPoint4APP");
List<Measuringpoint> points = new ArrayList<>();
for (int a=0;a<arrayPoint.length();a++){
Measuringpoint point = new Measuringpoint();
point.setSid(arrayPoint.getJSONObject(a).opt("id").toString());
point.setName(arrayPoint.getJSONObject(a).opt("parmname").toString());
point.setUnit(arrayPoint.getJSONObject(a).opt("unit").toString());
point.setCvalue(arrayPoint.getJSONObject(a).opt("parmvalue").toString());
point.setType(arrayPoint.getJSONObject(a).opt("signalType").toString());
point.setScadacode(arrayPoint.getJSONObject(a).opt("id").toString());
point.setAlarmmax(arrayPoint.getJSONObject(a).opt("alarmmax").toString());
point.setAlarmmin(arrayPoint.getJSONObject(a).opt("alarmmin").toString());
points.add(point);
}
item.setMeasuringpoints(points);
}
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
}

View File

@ -0,0 +1,136 @@
package com.sipai.jspatrol.Fault.adapter;
import android.content.Context;
import android.view.View;
import com.mcxtzhang.swipemenulib.SwipeMenuLayout;
import com.sipai.jspatrol.Bean.Fault;
import com.sipai.jspatrol.Fault.DoingFaultDetailActivity;
import com.sipai.jspatrol.Fault.FaultFlowChartActivity;
import com.sipai.jspatrol.R;
import com.superrecycleview.superlibrary.adapter.BaseViewHolder;
import com.superrecycleview.superlibrary.adapter.SuperBaseAdapter;
import java.util.List;
/**
* Created by lvliming on 2019/3/19.
*/
public class DoingFaultAdapter extends SuperBaseAdapter<Fault> {
private List<Fault> data;
private Context context;
private onSwipeListener mOnSwipeListener;
public DoingFaultAdapter(Context context, List<Fault> data) {
super(context, data);
this.data = data;
this.context = context;
}
@Override
protected void convert(final BaseViewHolder holder, Fault item, final int position) {
item = data.get(position);
((SwipeMenuLayout)holder.itemView).setIos(false).setLeftSwipe(true);
final Fault finalItem = item;
holder.setOnClickListener(R.id.moudle_item_doing_fault_ll_all, new View.OnClickListener() {
@Override
public void onClick(View view) {
if (finalItem.getTodoTask()!=null) {
if (finalItem.getTodoTask().contains("维修确认")) {
// Toast.makeText(context, "工单验收完善中,敬请期待...", Toast.LENGTH_SHORT).show();
FaultFlowChartActivity.actionStart(context, finalItem);
} else {
// if (finalItem.getTodoTask().contains("维修确认")||finalItem.getTodoTask().contains("班长")){
//// Toast.makeText(context, "工单审核中...", Toast.LENGTH_SHORT).show();
// FaultFlowChartActivity.actionStart(context, finalItem);
// }else {
DoingFaultDetailActivity.actionStart(context, finalItem);
// }
}
}
}
});
if (item.getProcessSection().getName()!=null&&!item.getProcessSection().getName().equals("")){
holder.setVisible(R.id.moudle_item_doing_fault_tv_area,true);
holder.setText(R.id.moudle_item_doing_fault_tv_area,item.getProcessSection().getName());
}else {
holder.setVisible(R.id.moudle_item_doing_fault_tv_area,false);
}
if (item.getProblemcontent()!=null&&!item.getProblemcontent().isEmpty()) {
holder.setText(R.id.moudle_item_doing_fault_tv_content, item.getProblemcontent());
}else {
holder.setText(R.id.moudle_item_doing_fault_tv_content, "");
}
if (item.getProblemTypeNames()!=null&&item.getProblemTypeNames().length()>0) {
holder.setText(R.id.moudle_item_doing_fault_tv_remark,item.getProblemTypeNames());
}else {
holder.setVisible(R.id.moudle_item_doing_fault_tv_remark,false);
}
if (item.getEquipmentCard()!=null&&!item.getEquipmentCard().getEquipmentname().equals("")){
holder.setVisible(R.id.moudle_item_doing_fault_tv_equ,true);
holder.setText(R.id.moudle_item_doing_fault_tv_equ,item.getEquipmentCard().getEquipmentname());
}else {
holder.setVisible(R.id.moudle_item_doing_fault_tv_equ,false);
}
if (item.getInsdt()!=null&&item.getInsdt().length()>16) {
holder.setText(R.id.moudle_item_doing_fault_tv_date,item.getInsdt().substring(5, 16));
}else {
holder.setText(R.id.moudle_item_doing_fault_tv_date,"");
}
if (item.getInsuser()!=null&&!item.getInsuser().isEmpty()) {
holder.setText(R.id.moudle_item_doing_fault_tv_man, item.getInsuser());
}else {
holder.setText(R.id.moudle_item_doing_fault_tv_man, "");
}
if (item.getTodoTask()!=null) {
if (item.getTodoTask().equals("待签收")) {
holder.setText(R.id.moudle_item_doing_fault_tv_todotask, item.getTodoTask());
holder.setTextColor(R.id.moudle_item_doing_fault_tv_todotask, context.getResources().getColor(R.color.error_red));
// holder.setVisible(R.id.moudle_item_doing_fault_btn_make_fault, false);
} else {
holder.setText(R.id.moudle_item_doing_fault_tv_todotask, item.getTodoTask());
}
}
// holder.setOnClickListener(R.id.moudle_item_doing_fault_btn_make_fault, new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// if (null!=mOnSwipeListener){
// mOnSwipeListener.onFault(position);
// ((SwipeMenuLayout) holder.itemView).smoothClose();
// }
// }
// });
// holder.setOnClickListener(R.id.moudle_item_doing_fault_btn_delete, new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// if (null!=mOnSwipeListener){
// mOnSwipeListener.onDel(position);
// ((SwipeMenuLayout) holder.itemView).smoothClose();
// }
// }
// });
}
@Override
protected int getItemViewLayoutId(int position, Fault item) {
return R.layout.item_doing_fault;
}
/**
* 和Activity通信的接口
*/
public interface onSwipeListener {
void onFault(int pos);
void onDel(int pos);
}
public onSwipeListener getOnDelListener() {
return mOnSwipeListener;
}
public void setOnDelListener(onSwipeListener mOnDelListener) {
this.mOnSwipeListener = mOnDelListener;
}
}

View File

@ -0,0 +1,72 @@
package com.sipai.jspatrol.Fault.adapter;
import android.content.Context;
import android.view.View;
import com.sipai.jspatrol.Bean.Fault;
import com.sipai.jspatrol.Fault.FaultFlowChartActivity;
import com.sipai.jspatrol.R;
import com.superrecycleview.superlibrary.adapter.BaseViewHolder;
import com.superrecycleview.superlibrary.adapter.SuperBaseAdapter;
import java.util.List;
/**
* Created by lvliming on 2019/3/19.
*/
public class DoneFaultAdapter extends SuperBaseAdapter<Fault> {
private List<Fault> data;
private Context context;
public DoneFaultAdapter(Context context, List<Fault> data) {
super(context, data);
this.data = data;
this.context = context;
}
@Override
protected void convert(BaseViewHolder holder, Fault item, final int position) {
item = data.get(position);
final Fault finalItem = item;
holder.setOnClickListener(R.id.moudle_item_done_fault_ll_all, new View.OnClickListener() {
@Override
public void onClick(View view) {
// DoneFaultActivity.actionStart(context,finalItem);
// Toast.makeText(context, "工单详情完善中,敬请期待...", Toast.LENGTH_SHORT).show();
FaultFlowChartActivity.actionStart(context, finalItem);
}
});
if (item.getProcessSection().getName()!=null&&!item.getProcessSection().getName().equals("")){
holder.setVisible(R.id.moudle_item_done_fault_tv_area,true);
holder.setVisible(R.id.moudle_item_done_fault_ll_area,true);
holder.setText(R.id.moudle_item_done_fault_tv_area,item.getProcessSection().getName());
}else {
holder.setVisible(R.id.moudle_item_done_fault_ll_area,false);
holder.setVisible(R.id.moudle_item_done_fault_tv_area,false);
}
holder.setText(R.id.moudle_item_done_fault_tv_content,item.getProblemcontent());
if (item.getProblemTypeNames()!=null&&item.getProblemTypeNames().length()>0) {
holder.setText(R.id.moudle_item_done_fault_tv_remark,item.getProblemTypeNames());
}else {
holder.setVisible(R.id.moudle_item_done_fault_tv_remark,false);
}
if (item.getEquipmentCard()!=null&&!item.getEquipmentCard().getEquipmentname().equals("")){
holder.setVisible(R.id.moudle_item_done_fault_tv_equ,true);
holder.setText(R.id.moudle_item_done_fault_tv_equ,item.getEquipmentCard().getEquipmentname());
}else {
holder.setVisible(R.id.moudle_item_done_fault_tv_equ,false);
}
if (item.getInsdt().length()>16) {
holder.setText(R.id.moudle_item_done_fault_tv_date,item.getInsdt().substring(5, 16));
}else {
holder.setText(R.id.moudle_item_done_fault_tv_date,"");
}
holder.setText(R.id.moudle_item_done_fault_tv_man,item.getInsuser());
}
@Override
protected int getItemViewLayoutId(int position, Fault item) {
return R.layout.item_done_fault;
}
}

View File

@ -0,0 +1,39 @@
package com.sipai.jspatrol.Fault.adapter;
import android.content.Context;
import com.sipai.jspatrol.Bean.FaultFlow;
import com.sipai.jspatrol.R;
import com.superrecycleview.superlibrary.adapter.BaseViewHolder;
import com.superrecycleview.superlibrary.adapter.SuperBaseAdapter;
import java.util.List;
/**
* created by lvliming on 2020/12/14
*/
public class FaultFlowAdapter extends SuperBaseAdapter<FaultFlow> {
private Context context;
private List<FaultFlow> list;
public FaultFlowAdapter(Context context, List<FaultFlow> data) {
super(context, data);
this.context = context;
this.list = data;
}
@Override
protected void convert(BaseViewHolder holder, FaultFlow item, int position) {
item = list.get(position);
holder.setText(R.id.moudle_item_fault_flow_tv_num,String.valueOf(position+1));
holder.setText(R.id.moudle_item_fault_flow_tv_title,item.getTaskName());
holder.setText(R.id.moudle_item_fault_flow_tv_content,item.getRecord());
holder.setText(R.id.moudle_item_fault_flow_tv_time,item.getInsdt());
// holder.setText(R.id.moudle_item_fault_flow_tv_num,String.valueOf(position+1));
}
@Override
protected int getItemViewLayoutId(int position, FaultFlow item) {
return R.layout.item_fault_flow;
}
}

View File

@ -0,0 +1,98 @@
package com.sipai.jspatrol.Fault.adapter;
import android.content.Context;
import android.view.View;
import com.mcxtzhang.swipemenulib.SwipeMenuLayout;
import com.sipai.jspatrol.Bean.Fault;
import com.sipai.jspatrol.Fault.NewFaultDetailActivity;
import com.sipai.jspatrol.R;
import com.superrecycleview.superlibrary.adapter.BaseViewHolder;
import com.superrecycleview.superlibrary.adapter.SuperBaseAdapter;
import java.util.List;
/**
* Created by lvliming on 2019/2/27.
*/
public class NewFaultAdapter extends SuperBaseAdapter<Fault> {
private List<Fault> data;
private Context context;
private onSwipeListener mOnSwipeListener;
public NewFaultAdapter(Context context, List<Fault> data) {
super(context, data);
this.data = data;
this.context = context;
}
@Override
protected void convert(final BaseViewHolder holder, Fault item, final int position) {
item = data.get(position);
((SwipeMenuLayout)holder.itemView).setIos(false).setLeftSwipe(true);
final Fault finalItem = item;
holder.setOnClickListener(R.id.moudle_item_new_fault_ll_all, new View.OnClickListener() {
@Override
public void onClick(View view) {
NewFaultDetailActivity.actionStart(context,finalItem,"no");
}
});
holder.setText(R.id.moudle_item_new_fault_tv_area,item.getProcessSection().getName());
holder.setText(R.id.moudle_item_new_fault_tv_content,item.getAbnormityDescription());
if (item.getRemark()!=null&&item.getRemark().length()>0) {
holder.setText(R.id.moudle_item_new_fault_tv_remark,item.getRemark());
}else {
holder.setVisible(R.id.moudle_item_new_fault_tv_remark,false);
}
if (item.getEquipmentNames()!=null){
holder.setText(R.id.moudle_item_new_fault_tv_equ,item.getEquipmentNames());
}
if (item.getInsdt().length()>16) {
holder.setText(R.id.moudle_item_new_fault_tv_date,item.getInsdt().substring(5, 16));
}else {
holder.setText(R.id.moudle_item_new_fault_tv_date,"");
}
holder.setText(R.id.moudle_item_new_fault_tv_man,item.getInsuser());
holder.setOnClickListener(R.id.moudle_item_new_fault_btn_make_fault, new View.OnClickListener() {
@Override
public void onClick(View view) {
if (null!=mOnSwipeListener){
mOnSwipeListener.onFault(position);
((SwipeMenuLayout) holder.itemView).smoothClose();
}
}
});
holder.setOnClickListener(R.id.moudle_item_new_fault_btn_delete, new View.OnClickListener() {
@Override
public void onClick(View view) {
if (null!=mOnSwipeListener){
mOnSwipeListener.onDel(position);
((SwipeMenuLayout) holder.itemView).smoothClose();
}
}
});
}
/**
* 和Activity通信的接口
*/
public interface onSwipeListener {
void onFault(int pos);
void onDel(int pos);
}
public onSwipeListener getOnDelListener() {
return mOnSwipeListener;
}
public void setOnDelListener(onSwipeListener mOnDelListener) {
this.mOnSwipeListener = mOnDelListener;
}
@Override
protected int getItemViewLayoutId(int position, Fault item) {
return R.layout.item_new_fault;
}
}

View File

@ -0,0 +1,147 @@
package com.sipai.jspatrol.Fault.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.sipai.jspatrol.Bean.User;
import com.sipai.jspatrol.R;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by lvliming on 2019/3/24.
*/
public class PersonSelectorAdapter extends RecyclerView.Adapter<PersonSelectorAdapter.ViewHolder> implements View.OnClickListener{
//数据源
private List<User> list;
private Context context;
//是否显示单选框
private boolean isshowBox = true;
//存储勾选框状态的map集合
private Map<Integer,Boolean> map = new HashMap<>();
//接口实例
private RecyclerViewOnItemClickListener onItemClickListener;
public PersonSelectorAdapter(List<User> list, Context context) {
this.list = list;
this.context = context;
initMap();
}
//初始化map集合默认不选中
private void initMap() {
for (int i=0;i<list.size();i++){
map.put(i,false);
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View root = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_selector_person, parent, false);
ViewHolder vh = new ViewHolder(root);
//为Item设置点击事件
root.setOnClickListener(this);
return vh;
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
User item = list.get(position);
holder.tv_name.setText(item.getCaption());
Animation animation = AnimationUtils.loadAnimation(context, R.anim.list_anim);
//设置Tag
holder.root.setTag(position);
//设置checkBox改变监听
holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//用map集合保存
map.put(position, isChecked);
if (holder.checkBox.isChecked()){
holder.ll_card.setBackgroundColor(context.getResources().getColor(R.color.little_blue));
}else {
holder.ll_card.setBackgroundColor(context.getResources().getColor(R.color.green));
}
}
});
// 设置CheckBox的状态
if (map.get(position) == null) {
map.put(position, false);
}
holder.checkBox.setChecked(map.get(position));
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public void onClick(View v) {
if (onItemClickListener != null) {
//注意这里使用getTag方法获取数据
onItemClickListener.onItemClickListener(v, (Integer) v.getTag());
}
}
//视图管理
public class ViewHolder extends RecyclerView.ViewHolder{
private TextView tv_name;
private CheckBox checkBox;
private LinearLayout ll_card;
private View root;
public ViewHolder(View itemView) {
super(itemView);
this.root = itemView;
tv_name = root.findViewById(R.id.item_selector_person_tv_name);
checkBox = (CheckBox) root.findViewById(R.id.item_selector_person_cb);
ll_card = root.findViewById(R.id.item_selector_person_ll_card);
}
}
//设置点击事件
public void setRecyclerViewOnItemClickListener(RecyclerViewOnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
//设置是否显示CheckBox
public void setShowBox() {
//取反
isshowBox = !isshowBox;
}
//点击item选中CheckBox
public void setSelectItem(int position) {
//对当前状态取反
if (map.get(position)) {
map.put(position, false);
} else {
map.put(position, true);
}
notifyItemChanged(position);
}
//返回集合给MainActivity
public Map<Integer, Boolean> getMap() {
return map;
}
//接口回调设置点击事件
public interface RecyclerViewOnItemClickListener {
//点击事件
void onItemClickListener(View view, int position);
}
}

View File

@ -0,0 +1,80 @@
package com.sipai.jspatrol.Fault.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.sipai.jspatrol.Bean.Picture;
import com.sipai.jspatrol.R;
import java.util.List;
/**
* Created by lvliming on 2019/3/25.
*/
public class PicAdapter extends RecyclerView.Adapter<PicAdapter.ViewHolder> {
private List<Picture> list;
private Context context;
private PicAdapterOnClickListener mlistener;
public PicAdapter(List<Picture> list, Context context, PicAdapterOnClickListener listener) {
this.list = list;
this.context = context;
this.mlistener = listener;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_show_pic,parent,false);
final ViewHolder viewHolder = new ViewHolder(view);
// viewHolder.pic.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// int position = viewHolder.getAdapterPosition();
// Intent intent = new Intent(context,PictureDetailActivity.class);
// intent.putExtra("url",list.get(position).getAbspath());
// context.startActivity(intent);
// }
// });
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Picture item = list.get(position);
Glide.with(context).load(item.getAbspath()).into(holder.iv);
}
@Override
public int getItemCount() {
return list.size();
}
class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
ImageView iv;
View pic;
public ViewHolder(View itemView) {
super(itemView);
pic = itemView;
iv = itemView.findViewById(R.id.moudle_item_show_pic_iv);
iv.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (mlistener!=null){
mlistener.onItemClick(v,getAdapterPosition());
}
}
}
public interface PicAdapterOnClickListener{
void onItemClick(View v,int position);
}
}

View File

@ -0,0 +1,24 @@
package com.sipai.jspatrol.Flutter;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.FrameLayout;
public class FlutterTestActivity extends AppCompatActivity {
private FrameLayout fl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 通过FlutterView引入Flutter编写的页面
// View flutterView = Flutter.createView(this, getLifecycle(), "调转");
// FrameLayout.LayoutParams layout = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
// addContentView(flutterView, layout);
// FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
// tx.replace(R.id.fl_container,Flutter.createFragment("调转"));
// tx.commit();
}
}

View File

@ -0,0 +1,675 @@
package com.sipai.jspatrol.Loading;
import android.Manifest;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider;
import com.sipai.jspatrol.Base.ActivityCollector;
import com.sipai.jspatrol.Base.BaseView;
import com.sipai.jspatrol.Bean.Biz;
import com.sipai.jspatrol.Bean.LoginInfo;
import com.sipai.jspatrol.BuildConfig;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.Login.LoginActivity;
import com.sipai.jspatrol.Main.MainActivity;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.utils.EncryptUtils;
import com.sipai.jspatrol.utils.Global.GlobalVal;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.RandomStringUtils;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.litepal.LitePal;
import org.xutils.x;
import java.io.File;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.pedant.SweetAlert.SweetAlertDialog;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class LoadingActivity extends BaseView<LoadingPresenter, LoadingContract.View> {
private String mServer;
private String mServerIP;
private String mUserid;
private String mPwd;
private String mBizid;
private String mBizName;
private String mUsername;
private String lcversion;
private String androidId = "";
private String apkname, vercod;
private ProgressDialog progressDialog;
private String BASE_URL = "CPELM_APK/";
private String Nowurl = "";
private String[] permissions = {Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.INTERNET, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE};
List<String> mPermissionList = new ArrayList<>();
private final int mRequestCode = 100;//权限请求码
private static final int GET_UNKNOWN_APP_SOURCES = 321;
private static final int RESULT_PRE = 123;
private HashMap<String, String> map = new HashMap<>();
private int times = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loading);
ActivityCollector.addActivity(this);
init();
// SQLiteDatabase db = LitePal.getDatabase();
}
@Override
protected void onResume() {
super.onResume();
initPermissions();
}
@Override
protected LoadingPresenter getPresenter() {
return new LoadingPresenter();
}
@Override
public LoadingContract.View getContract() {
return new LoadingContract.View<LoginInfo>() {
@Override
public void handlerResult(LoginInfo item) {
if (item != null) {
if (item.isStatus()) {
saveLoginInfo(item);
// registerXG();
getComList(item);
} else {
ToLogin();
}
} else {
ToLogin();
}
}
@Override
public void handlerComResult(String result, String t) {
if (result.equals(GlobalVal.RESULT_SUCCESS)) {
List<Biz> bizs = parseBiz(t);
if (bizs.size() > 0) {
if (bizs.size()==1){
mBizid = bizs.get(0).getBizid();
mBizName = bizs.get(0).getName();
}else if (mBizName==null||mBizName.isEmpty()){
mBizid = bizs.get(0).getBizid();
mBizName = bizs.get(0).getName();
}
}
saveBizlist(LoadingActivity.this, "response", mBizid, mBizName, t);
MainActivity.actionStart(LoadingActivity.this);
finish();
} else {
ToLogin();
}
}
};
}
private List<Biz> parseBiz(String result) {
List<Biz> list = new ArrayList<>();
try {
JSONArray array = new JSONArray(result);
for (int i = 0; i < array.length(); i++) {
Biz item = new Biz();
item.setId(array.getJSONObject(i).optString("id"));
item.setBizid(array.getJSONObject(i).optString("id"));
item.setName(array.getJSONObject(i).optString("text"));
if (item.getName().contains("一车")){
mBizid = item.getBizid();
mBizName = item.getName();
}
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
return list;
}
return list;
}
private void getComList(LoginInfo item) {
map = new HashMap<>();
p.getContract().requestComList(LoadingActivity.this, map, mServer, MethodURL.ComList_Method, item.getUser().getToken());
}
private void saveBizlist(Context context, String response, String bizid, String bizname, String t) {
//获取SharedPreferences对象
SharedPreferences sharedPre = context.getSharedPreferences("config", MODE_PRIVATE);
//获取Editor对象
SharedPreferences.Editor editor = sharedPre.edit();
editor.putString("bizlist", response);
editor.putString("bizid", bizid);
editor.putString("bizname", bizname);
editor.putString("biz", t);
//提交
editor.commit();
}
private void saveLoginInfo(LoginInfo item) {
SharedPreferencesData sharedPreferencesData = new SharedPreferencesData(this);
Map<String, String> map = new HashMap<>();
map.put("userid", item.getUser().getId());
map.put("caption", item.getUser().getCaption());
map.put("name", item.getUser().getName());
map.put("totaltime", String.valueOf(Math.round(item.getUser().getTotaltime())));
map.put("lastlogintime", item.getUser().getLastlogintime());
map.put("nfc", item.getUser().getNfc());
map.put("subtask", item.getUser().getSubTask());
sharedPreferencesData.saveInfo(map);
}
private void init() {
SharedPreferences sharedPre = getSharedPreferences("config", MODE_PRIVATE);
mServer = sharedPre.getString("server", "");
mServerIP = sharedPre.getString("serverip", "");
mUserid = sharedPre.getString("userid", "");
mPwd = sharedPre.getString("password", "");
mBizid = sharedPre.getString("bizid", "");
mBizName = sharedPre.getString("bizname", "");
mUsername = sharedPre.getString("username", "");
lcversion = getLocalVersionName(this);
TelephonyManager tm = (TelephonyManager) LoadingActivity.this.getSystemService(TELEPHONY_SERVICE);
// mtyb = android.os.Build.BRAND;// 手机品牌
// mtype = android.os.Build.MODEL; // 手机型号
// imei = tm.getDeviceId();//uuid
androidId = Settings.System.getString(
getContentResolver(), Settings.Secure.ANDROID_ID);//10.0以后获取不到UUID用androidId来代表唯一性
}
private void check() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
if (!LoadingActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
startActivityForResult(intent, 350);
}
});
}
} else {
final int nWelcomeScreenDisplay = 1000;
if (mServer != null && !mServer.isEmpty()) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
checkAPKVersion();
}
}, nWelcomeScreenDisplay);
} else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
ToLogin();
}
}, nWelcomeScreenDisplay);
}
}
} else {
final int nWelcomeScreenDisplay = 1000;
if (mServer != null && !mServer.isEmpty()) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
checkAPKVersion();
// login();
}
}, nWelcomeScreenDisplay);
} else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
ToLogin();
}
}, nWelcomeScreenDisplay);
}
}
}
/**
* 检测服务器APK版本
*/
private void checkAPKVersion() {
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.Check_Apk_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
login();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
try {
JSONObject jsonObject = new JSONObject(res);
if (res != null && !res.isEmpty()) {
apkname = jsonObject.getString("ApkName");
int ind = apkname.lastIndexOf("-");
int end = apkname.lastIndexOf(".");
vercod = apkname.substring(ind + 1, end);
BASE_URL = getString(R.string.appflag) + "_APK/";
Nowurl = mServer + BASE_URL + apkname;
if (Double.valueOf(lcversion) < Double.valueOf(vercod)) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(LoadingActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("检测到有新版本,是否更新?")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
String path = Environment.getExternalStorageDirectory() + "/" + getString(R.string.appflag) + "/" + getString(R.string.appflag) + "_APK/";
downloadFile(Nowurl, path);
}
}).setCancelText("取消")
.setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
login();
}
}).show();
}
});
} else {
login();
}
}
} catch (Exception e) {
login();
}
}
});
}
private void downloadFile(String nowurl, String path) {
File filep = new File(path);
if (!filep.exists()) {
filep.mkdirs();
}
filep = null;
progressDialog = new ProgressDialog(this);
org.xutils.http.RequestParams requestParams = new org.xutils.http.RequestParams(nowurl);
requestParams.setAutoRename(false);
requestParams.setSaveFilePath(path + apkname);
x.http().get(requestParams, new org.xutils.common.Callback.ProgressCallback<File>() {
@Override
public void onWaiting() {
}
@Override
public void onStarted() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(LoadingActivity.this, "开始下载", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onLoading(long total, long current, boolean isDownloading) {
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("下载中...");
progressDialog.show();
progressDialog.setProgressNumberFormat("");
progressDialog.setMax((int) total);
progressDialog.setProgress((int) current);
}
@Override
public void onSuccess(File result) {
Toast.makeText(LoadingActivity.this, "下载成功", Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
//下载成功,file为下载好的APk文件
File file = result;
Log.d("xutil", "下载成功");
//安装apk的方法
installAPK(file);
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
ex.printStackTrace();
Toast.makeText(LoadingActivity.this, "下载失败请检查网络和SD卡", Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
login();
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
private void login() {
if (mUsername != null && !mUsername.isEmpty() && mPwd != null && !mPwd.isEmpty()) {
map = new HashMap<>();
String p_pwd = "";
String vcode = "";
String code = RandomStringUtils.getRandomStr(1,4);
try {
vcode = "64368180";
vcode = "64368180"+code;
vcode = EncryptUtils.encrypt(vcode).replace("\n","");
code = EncryptUtils.encrypt(code).replace("\n","");
vcode = URLEncoder.encode(vcode,"UTF-8");
code = URLEncoder.encode(code,"UTF-8");
p_pwd = URLEncoder.encode(mPwd,"UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
map.put("j_password",p_pwd);
map.put("j_username",mUsername);
map.put("androidId",androidId);
map.put("verCode",vcode);
map.put("code",code);
p.getContract().requestData(LoadingActivity.this,map,mServer, MethodURL.Login_Method);
} else {
ToLogin();
}
}
private void ToLogin() {
Intent intent = new Intent(LoadingActivity.this, LoginActivity.class);
startActivity(intent);
finish();
}
private void initPermissions() {
if (Build.VERSION.SDK_INT >= 26) {
boolean isAllowed = getPackageManager().canRequestPackageInstalls();
if (isAllowed) {
for (int i = 0; i < permissions.length; i++) {
if (ContextCompat.checkSelfPermission(this, permissions[i]) != PackageManager.PERMISSION_GRANTED) {
mPermissionList.add(permissions[i]);//添加还未授予的权限
}
}
// 权限是否已经 授权 GRANTED---授权 DINIED---拒绝
if (mPermissionList.size() > 0) {
// 如果没有授予该权限,就去提示用户请求
ActivityCompat.requestPermissions(this, permissions, mRequestCode);
} else {
check();
}
} else {
//无权限 申请权限
showInstallAPKDialog();
}
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
for (int i = 0; i < permissions.length; i++) {
if (ContextCompat.checkSelfPermission(this, permissions[i]) != PackageManager.PERMISSION_GRANTED) {
mPermissionList.add(permissions[i]);//添加还未授予的权限
}
}
// 权限是否已经 授权 GRANTED---授权 DINIED---拒绝
if (mPermissionList.size() > 0) {
// 如果没有授予该权限,就去提示用户请求
ActivityCompat.requestPermissions(this, permissions, mRequestCode);
} else {
check();
}
} else {
check();
}
// check();
}
}
/**
* 获取本地软件版本号名称
*/
public static String getLocalVersionName(Context ctx) {
String localVersion = "";
try {
PackageInfo packageInfo = ctx.getApplicationContext()
.getPackageManager()
.getPackageInfo(ctx.getPackageName(), 0);
localVersion = packageInfo.versionName;
// LogUtil.d("TAG", "本软件的版本号。。" + localVersion);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return localVersion;
}
private void showInstallAPKDialog() {
if (!LoadingActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(LoadingActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("检测到暂无APP安装权限请前往开启以便检测最新版本")
.setConfirmText("确定")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
//将用户引导至安装未知应用界面。
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
startActivityForResult(intent, GET_UNKNOWN_APP_SOURCES);
}
}).show();
}
});
}
}
private void showHaveNewAPKDialog(final String durl) {
if (!LoadingActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(LoadingActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("检测到有新版本,请更新")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
String path = Environment.getExternalStorageDirectory() + "/" + getString(R.string.app_flag) + "/" + getString(R.string.app_flag) + "_APK/";
// downloadFile(durl, path);
}
})
.show();
}
});
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
boolean hasPermissionDismiss = false;//有权限没有通过
if (mRequestCode == requestCode) {
for (int i = 0; i < grantResults.length; i++) {
if (grantResults[i] == -1) {
hasPermissionDismiss = true;
}
}
if (hasPermissionDismiss) {
// 用户还是想用我的 APP 的
// 提示用户去应用设置界面手动开启权限
showDialogTipUserGoToAppSettting();
} else {
if (times == 0) {
times = times + 1;
check();
}
}
}
}
// 提示用户去应用设置界面手动开启权限
private void showDialogTipUserGoToAppSettting() {
if (!LoadingActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(LoadingActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("部分权限不可用")
.setContentText("请在-应用设置-权限-中,点击允许")
.setConfirmText("确定")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
goToAppSetting();
}
}).show();
}
});
}
}
// 跳转到当前应用的设置界面
private void goToAppSetting() {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivityForResult(intent, RESULT_PRE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 0:
if (resultCode == RESULT_OK) {
} else {
LoginNow();
}
break;
// case GET_UNKNOWN_APP_SOURCES:
// initPermissions();
// break;
case RESULT_PRE:
if (resultCode == RESULT_OK) {
LoginNow();
}
break;
case 350:
check();
break;
}
}
/**
* 登录
*/
private void LoginNow() {
if (mUsername != null && !mUsername.isEmpty() && mPwd != null && !mPwd.isEmpty()) {
map = new HashMap<>();
String p_pwd = "";
String vcode = "";
String code = RandomStringUtils.getRandomStr(1,4);
try {
vcode = "64368180";
vcode = "64368180"+code;
vcode = EncryptUtils.encrypt(vcode).replace("\n","");
code = EncryptUtils.encrypt(code).replace("\n","");
vcode = URLEncoder.encode(vcode,"UTF-8");
code = URLEncoder.encode(code,"UTF-8");
p_pwd = URLEncoder.encode(mPwd,"UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
map.put("j_password",p_pwd);
map.put("j_username",mUsername);
map.put("androidId",androidId);
map.put("verCode",vcode);
map.put("code",code);
p.getContract().requestData(LoadingActivity.this,map,mServer, MethodURL.Login_Method);
} else {
ToLogin();
}
}
/**
* 开启安装APK页面的逻辑
*
* @param file 要安装的APK文件
*/
private void installAPK(File file) {
Intent intent = new Intent(Intent.ACTION_VIEW);
//版本在7.0以上是不能直接通过uri访问的
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
// File file = (new File(apkPath));
// 由于没有在Activity环境下启动Activity,设置下面的标签
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//参数1 上下文, 参数2 Provider主机地址 和配置文件中保持一致 参数3 共享的文件
Uri apkUri = FileProvider.getUriForFile(getApplicationContext(), BuildConfig.APPLICATION_ID + ".fileProvider", file);
//添加这一句表示对目标应用临时授权该Uri所代表的文件
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
} else {
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
}
startActivity(intent);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}

View File

@ -0,0 +1,40 @@
package com.sipai.jspatrol.Loading;
import android.content.Context;
import com.sipai.jspatrol.Bean.BaseEntity;
import java.util.HashMap;
/**
* created by lvliming on 2020/3/23
*/
public interface LoadingContract {
interface Model{
void executeData(Context context, HashMap<String, String> map, String server, String url) throws Exception;
void executeComData(Context context, HashMap<String, String> map, String server, String url,String token) throws Exception;
}
interface View<T extends BaseEntity>{
void handlerResult(T t);
void handlerComResult(String result,String bizs);
}
interface Presenter<T extends BaseEntity>{
//登录请求
void requestData(Context context, HashMap<String, String> map, String server, String url);
//登录结果响应
void responseResult(T t);
//厂区列表请求
void requestComList(Context context, HashMap<String, String> map, String server, String url,String token);
//厂区请求结果响应
void responseComResult(String result,String biz);
}
}

View File

@ -0,0 +1,161 @@
package com.sipai.jspatrol.Loading;
import android.content.Context;
import com.sipai.jspatrol.Base.BaseModel;
import com.sipai.jspatrol.Bean.LoginInfo;
import com.sipai.jspatrol.Bean.User;
import com.sipai.jspatrol.utils.Global.GlobalVal;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.okHttpCookie.CookiesManager;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.HashMap;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
/**
* created by lvliming on 2019/9/11
*/
public class LoadingModel extends BaseModel<LoadingPresenter, LoadingContract.Model> {
public LoadingModel(LoadingPresenter loginPresenter){
super(loginPresenter);
}
@Override
public LoadingContract.Model getContract() {
return new LoadingContract.Model() {
@Override
public void executeData(Context context, HashMap<String, String> map, String server, String url) throws Exception {
CookiesManager.clearCookie(context);
OKHttpUtils.OKCallGet(map,server,url).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String result = GlobalVal.NET_ERROR;
LoginInfo item = new LoginInfo();
if (result.equals(GlobalVal.NET_ERROR)) {
item.setStatus(false);
}else if (result.equals(GlobalVal.DATA_ERROR)){
item.setStatus(false);
}else {
item = parseData(result);
}
p.getContract().responseResult(item);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String result = response.body().string();
if (result!=null&&!result.isEmpty()&&!result.contains("html")){
// res = result;
LoginInfo item = new LoginInfo();
if (result.equals(GlobalVal.NET_ERROR)) {
item.setStatus(false);
}else if (result.equals(GlobalVal.DATA_ERROR)){
item.setStatus(false);
}else if(result.contains("该设备未关联")){
item.setStatus(false);
item.setReason("该设备未关联该用户!请至平台关联!");
}else {
item = parseData(result);
}
p.getContract().responseResult(item);
}else {
result = GlobalVal.DATA_ERROR;
LoginInfo item = new LoginInfo();
if (result.equals(GlobalVal.NET_ERROR)) {
item.setStatus(false);
}else if (result.equals(GlobalVal.DATA_ERROR)){
item.setStatus(false);
}else {
item = parseData(result);
}
p.getContract().responseResult(item);
}
}
});
}
@Override
public void executeComData(Context context, HashMap<String, String> map, String server, String url, String token) throws Exception {
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map,server,url)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String result = GlobalVal.NET_ERROR;
String bizs = "";
p.getContract().responseComResult(result,bizs);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res!=null&&!res.isEmpty()&&!res.contains("html")){
p.getContract().responseComResult(GlobalVal.RESULT_SUCCESS,res);
}else {
p.getContract().responseComResult(GlobalVal.DATA_ERROR,res);
}
}
});
}
};
}
private LoginInfo parseData(String result) {
LoginInfo info = new LoginInfo();
User user = new User();
try {
JSONObject jsonObject = new JSONObject(result);
String res = jsonObject.optString("res");
if (jsonObject.optString("Access_Token") != null && !jsonObject.optString("Access_Token").isEmpty()) {
user.setToken(jsonObject.optString("Access_Token"));
} else {
user.setToken("");
}
if (jsonObject.getBoolean("status")) {
JSONObject json = new JSONObject(res);
user.setCaption(json.optString("caption"));
user.setName(json.optString("name"));
user.setId(json.optString("id"));
if (json.optString("totaltime")!=null&&!json.optString("totaltime").isEmpty()) {
user.setTotaltime(Double.parseDouble(json.optString("totaltime")));
}else {
user.setTotaltime(0);
}
user.setLastlogintime(json.optString("lastlogintime"));
if (json.optString("dept") != null && !json.optString("dept").isEmpty()) {
JSONObject jsonob = new JSONObject(json.optString("dept"));
if (jsonob.optString("patrolTypeId") != null && !jsonob.optString("patrolTypeId").isEmpty()) {
user.setPatrolTypeId(jsonob.optString("patrolTypeId"));
}
} else {
user.setPatrolTypeId("P");
}
if (json.optString("roles").contains("管理员")){
user.setNfc("true");
}else {
user.setNfc("false");
}
if (json.optString("roles").contains("提交")){
user.setSubTask("true");
}else {
user.setSubTask("false");
}
info.setUser(user);
info.setStatus(true);
} else {
info.setStatus(false);
info.setReason("登录失败");
}
} catch (JSONException e) {
e.printStackTrace();
}
return info;
}
}

View File

@ -0,0 +1,52 @@
package com.sipai.jspatrol.Loading;
import android.content.Context;
import com.sipai.jspatrol.Base.BasePresenter;
import com.sipai.jspatrol.Bean.LoginInfo;
import java.util.HashMap;
/**
* created by lvliming on 2019/9/11
*/
public class LoadingPresenter extends BasePresenter<LoadingActivity, LoadingModel, LoadingContract.Presenter> {
@Override
public LoadingContract.Presenter getContract() {
return new LoadingContract.Presenter<LoginInfo>(){
@Override
public void requestData(Context context, HashMap<String, String> map, String server, String url) {
try {
m.getContract().executeData(context,map,server,url);
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public void responseResult(LoginInfo item) {
getView().getContract().handlerResult(item);
}
@Override
public void requestComList(Context context, HashMap<String, String> map, String server, String url, String token) {
try {
m.getContract().executeComData(context,map,server,url,token);
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public void responseComResult(String result,String bizs) {
getView().getContract().handlerComResult(result,bizs);
}
};
}
@Override
public LoadingModel getModel() {
return new LoadingModel(this);
}
}

View File

@ -0,0 +1,648 @@
package com.sipai.jspatrol.Loading;
import android.Manifest;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import com.sipai.jspatrol.Bean.Biz;
import com.sipai.jspatrol.Patrol.ProPatrolTaskListActivity;
import com.sipai.jspatrol.utils.DoubleClickUtils.DoubleHandler;
import com.sipai.jspatrol.utils.DoubleClickUtils.DoubleManager;
import com.sipai.jspatrol.utils.DoubleClickUtils.DoubleRunnable;
import com.sipai.jspatrol.utils.DoubleClickUtils.OnDoubleClickListener;
import com.sipai.jspatrol.R;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import cn.pedant.SweetAlert.SweetAlertDialog;
public class LoginActivity extends AppCompatActivity implements OnClickListener {
protected static final String TAG = "LoginInActivity";
private LinearLayout mLoginLinearLayout; // 登录内容的容器
private LinearLayout mUserIdLinearLayout; // 将下拉弹出窗口在此容器下方显示
private Animation mTranslate; // 位移动画
private Dialog mLoginingDlg; // 显示正在登录的Dialog
private EditText mNameEditText; // 登录ID编辑框
private EditText mPwdEditText; // 登录密码编辑框
private Button mLoginButton; // 登录按钮
private String mNameString;
private String mPwdString;
private String mBizid = "";
private String mCaption;
private String mUserName;
private String mUserid;
private String patrolTypeId;//运行组别
private String totaltime;
private String token;
private String role_id;
private String role_name;
private String role_description;
private String role_serial;
private String mBizName;
private List<Biz> bizList = new ArrayList<>();
private String mServer = "";
private String mGroup;
private String lcversion = "";
public static final int REQUSET = 1;
private DoubleManager keyDoubleManager = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
initView();
mServer=getSharedPreferences("config", MODE_PRIVATE).getString("server", "");
setListener();
initialvar();
mLoginLinearLayout.startAnimation(mTranslate); // Y轴水平移动
/*获取上次登录的用户名和密码*/
if (!getSharedPreferences("config", MODE_PRIVATE).getString("username", "").equals("")) {
mNameString = getSharedPreferences("config", MODE_PRIVATE).getString("username", "");
}
if (!getSharedPreferences("config", MODE_PRIVATE).getString("password", "").equals("")) {
mPwdString = getSharedPreferences("config", MODE_PRIVATE).getString("password", "");
}
if (!getSharedPreferences("config", MODE_PRIVATE).getString("userid", "").equals("")) {
mUserid = getSharedPreferences("config", MODE_PRIVATE).getString("userid", "");
}
if (!getSharedPreferences("config", MODE_PRIVATE).getString("caption", "").equals("")) {
mCaption = getSharedPreferences("config", MODE_PRIVATE).getString("caption", "");
}
mNameEditText.setText(mNameString);
initPermissions();
}
private void initPermissions() {
/*
动态申请网络权限
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
List<String> permissionList = new ArrayList<>();
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
permissionList.add(Manifest.permission.ACCESS_COARSE_LOCATION);
permissionList.add(Manifest.permission.REQUEST_INSTALL_PACKAGES);
permissionList.add(Manifest.permission.READ_PHONE_STATE);
permissionList.add(Manifest.permission.ACCESS_WIFI_STATE);
permissionList.add(Manifest.permission.ACCESS_NETWORK_STATE);
permissionList.add(Manifest.permission.WAKE_LOCK);
permissionList.add(Manifest.permission.VIBRATE);
permissionList.add(Manifest.permission.READ_CONTACTS);
permissionList.add(Manifest.permission.WRITE_CONTACTS);
permissionList.add(Manifest.permission.RECEIVE_BOOT_COMPLETED);
permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
permissionList.add(Manifest.permission.WRITE_SETTINGS);
permissionList.add(Manifest.permission.RESTART_PACKAGES);
permissionList.add(Manifest.permission.BROADCAST_STICKY);
permissionList.add(Manifest.permission.KILL_BACKGROUND_PROCESSES);
permissionList.add(Manifest.permission.GET_TASKS);
permissionList.add(Manifest.permission.READ_LOGS);
permissionList.add(Manifest.permission.BLUETOOTH);
permissionList.add(Manifest.permission.BATTERY_STATS);
permissionList.add(Manifest.permission.VIBRATE);
permissionList.add(Manifest.permission.CAMERA);
permissionList.add(Manifest.permission.DISABLE_KEYGUARD);
permissionList.add(Manifest.permission.WAKE_LOCK);
permissionList.add(Manifest.permission.SYSTEM_ALERT_WINDOW);
permissionList.add(Manifest.permission.NFC);
}
if (!permissionList.isEmpty()) {
String[] permissions = permissionList.toArray(new String[permissionList.size()]);
ActivityCompat.requestPermissions(this, permissions, 1212);
}
}
}
/**
* 获取本地软件版本号名称
*/
public static String getLocalVersionName(Context ctx) {
String localVersion = "";
try {
PackageInfo packageInfo = ctx.getApplicationContext()
.getPackageManager()
.getPackageInfo(ctx.getPackageName(), 0);
localVersion = packageInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return localVersion;
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public String getMacAddress() {
// start get mac address
WifiManager wifiMan = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
if (wifiMan != null) {
WifiInfo wifiInf = wifiMan.getConnectionInfo();
if (wifiInf != null && wifiInf.getMacAddress() != null) {
// 48位如FA:34:7C:6D:E4:D7
return wifiInf.getMacAddress();
}
}
return null;
}
private void setListener() {
mNameEditText.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
mNameString = s.toString();
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void afterTextChanged(Editable s) {
}
});
mPwdEditText.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
mPwdString = s.toString();
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void afterTextChanged(Editable s) {
}
});
mLoginButton.setOnClickListener(this);
}
private void initView() {
// mNameEditText = findViewById(R.id.login_edtId);
// mPwdEditText = findViewById(R.id.login_edtPwd);
// mLoginButton = findViewById(R.id.login_btnLogin);
mLoginLinearLayout = findViewById(R.id.login_linearLayout);
mUserIdLinearLayout = findViewById(R.id.userId_LinearLayout);
mTranslate = AnimationUtils.loadAnimation(this, R.anim.my_translate); // 初始化动画对象
TextView tv_lc_version = findViewById(R.id.tv_version);
lcversion = getLocalVersionName(this);
tv_lc_version.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (keyDoubleManager == null) {
keyDoubleManager = new DoubleManager(new DoubleRunnable(new DoubleHandler(new OnDoubleClickListener() {
@Override
public void onSinglePress() {
}
@Override
public void onDoublePress() {
// Intent intent = new Intent(LoginInActivity.this, SettingActivity.class);
// startActivity(intent);
}
})));
}
keyDoubleManager.start();
}
});
if (lcversion != null && !lcversion.isEmpty()) {
tv_lc_version.setText("版本号V" + lcversion);
}
initLoginingDlg();
}
/* 初始化正在登录对话框 */
private void initLoginingDlg() {
mLoginingDlg = new Dialog(this, R.style.loginingDlg);
mLoginingDlg.setContentView(R.layout.logining_dlg);
Window window = mLoginingDlg.getWindow();
WindowManager.LayoutParams params = window.getAttributes();
// 获取和mLoginingDlg关联的当前窗口的属性从而设置它在屏幕中显示的位置
// 获取屏幕的高宽
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int cxScreen = dm.widthPixels;
int cyScreen = dm.heightPixels;
int height = (int) getResources().getDimension(
R.dimen.loginingdlg_height);// 高42dp
int lrMargin = (int) getResources().getDimension(
R.dimen.loginingdlg_lr_margin); // 左右边沿10dp
int topMargin = (int) getResources().getDimension(
R.dimen.loginingdlg_top_margin); // 上沿20dp
params.y = ((cyScreen - height) / 2) + topMargin; // -199
/* 对话框默认位置在屏幕中心,所以x,y表示此控件到"屏幕中心"的偏移量 */
params.width = cxScreen;
params.height = height;
// width,height表示mLoginingDlg的实际大小
mLoginingDlg.setCanceledOnTouchOutside(true); // 设置点击Dialog外部任意区域关闭Dialog
}
/* 显示正在登录对话框 */
private void showLoginingDlg() {
if (!LoginActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mLoginingDlg != null)
mLoginingDlg.show();
}
});
}
}
/* 关闭正在登录对话框 */
private void closeLoginingDlg() {
if (!LoginActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mLoginingDlg != null && mLoginingDlg.isShowing())
mLoginingDlg.dismiss();
}
});
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
// case R.id.login_btnLogin:
// showLoginingDlg(); // 显示"正在登录"对话框,因为此Demo没有登录到web服务器,所以效果可能看不出.可以结合情况使用
// attemptLogin(LoginActivity.this);
// break;
default:
break;
}
}
/* 退出此Activity时保存users */
@Override
public void onPause() {
super.onPause();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
sign_out();
}
return false;
}
public void attemptLogin(Context context) {
if (mServer.equals("")) {
closeLoginingDlg();// 关闭对话框
Toast.makeText(LoginActivity.this, "未设置服务器IP地址", Toast.LENGTH_SHORT).show();
return;
}
// Reset errors.
mNameEditText.setError(null);
mPwdEditText.setError(null);
if (mNameEditText.getText() != null) {
mUserName = mNameEditText.getText().toString();
} else {
runOnUiThread(new Runnable() {
@Override
public void run() {
mNameEditText.setError("请填写用户名");
}
});
return;
}
if (mPwdEditText.getText() != null) {
mPwdString = mPwdEditText.getText().toString();
} else {
runOnUiThread(new Runnable() {
@Override
public void run() {
mPwdEditText.setError("不能为空");
}
});
return;
}
if (mUserName != null && !mUserName.isEmpty() && mPwdString != null && !mPwdString.isEmpty()) {
validateLogin(mUserName, mPwdString, mBizid, mGroup);//验证用户名密码
} else {
Toast.makeText(LoginActivity.this, "用户名或密码不能为空!", Toast.LENGTH_SHORT).show();
}
}
private String[] permissions = {Manifest.permission.READ_PHONE_STATE};
private void validateLogin(String user, final String password, String bizid, String group) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mNameEditText.getWindowToken(), 0);
imm.hideSoftInputFromWindow(mPwdEditText.getWindowToken(), 0);
final String username = user;
final String passwords = password;
// CookieUtils.clearCookie(this);
RequestParams params = new RequestParams();
params.put("j_username", user);
params.put("j_password", password);
params.put("verCode", "64368180");
AsyncHttpClient client = new AsyncHttpClient();
client.setTimeout(5000);
// CookieUtils.saveCookie(client, this);
client.post(mServer + "SIPAIIS_Base/j_spring_security_check?", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
if (response != null && response.length() > 0) {
try {
JSONObject jsonObject = new JSONObject(response);
String res = jsonObject.optString("res");
token = jsonObject.optString("Access_Token");
if (jsonObject.getBoolean("status")) {
JSONObject json = new JSONObject(res);
mCaption = json.optString("caption");
mUserName = json.optString("name");
mUserid = json.optString("id");
totaltime = json.optString("totaltime");
if (json.optString("dept")!=null&&!json.optString("dept").isEmpty()) {
JSONObject jsonob = new JSONObject(json.optString("dept"));
if (jsonob.optString("patrolTypeId")!=null&&!jsonob.optString("patrolTypeId").isEmpty()) {
patrolTypeId = jsonob.optString("patrolTypeId");
}
}else {
patrolTypeId = "P";
}
JSONArray roles = new JSONArray(json.opt("roles").toString());
for (int i=0;i<roles.length();i++){
if (roles.getJSONObject(i).optString("name").contains("管理")) {
role_id = roles.getJSONObject(i).optString("id");
role_name = roles.getJSONObject(i).optString("name");
role_description = roles.getJSONObject(i).optString("description");
break;
}else {
role_id = roles.getJSONObject(0).optString("id");
role_name = roles.getJSONObject(0).optString("name");
role_description = roles.getJSONObject(0).optString("description");
}
}
if (json.optString("serial")!=null&&!json.optString("serial").isEmpty()) {
role_serial = json.optString("serial");
}else {
role_serial = "";
}
saveUserInfo(token,mCaption, mUserName, mUserid, totaltime, role_id, role_name, role_description, role_serial, password,patrolTypeId);
String tk = token;
String url = mServer + "/SIPAIIS_Base/user/getSearchBizsByUserId4Select.do";
doGetBizList(url, tk);
} else {
errorLogin(res);
}
} catch (JSONException e) {
e.printStackTrace();
closeLoginingDlg();
loginError();
}
}
}
@Override
public void onFailure(Throwable e) {
closeLoginingDlg();// 关闭对话框
Toast.makeText(LoginActivity.this, getString(R.string.error_incorrect_connection), Toast.LENGTH_SHORT).show();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
private void loginError() {
if (!LoginActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(LoginActivity.this, "用户信息格式错误,请联系管理员!", Toast.LENGTH_LONG).show();
}
});
}
}
private void errorLogin(final String res) {
closeLoginingDlg();
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(LoginActivity.this, SweetAlertDialog.ERROR_TYPE)
.setTitleText("错误")
.setContentText(res)
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
}
}).show();
}
});
}
private void saveUserInfo(String token,String caption, String username, String userid, String totaltime, String roleid, String rolename, String roledescription, String roleserial, String password,String patrolTypeId) {
SharedPreferences sharedPre = getSharedPreferences("config", MODE_PRIVATE);
//获取Editor对象
Editor editor = sharedPre.edit();
editor.putString("token", token);
editor.putString("caption", caption);
editor.putString("username", username);
editor.putString("password", password);
editor.putString("userid", userid);
editor.putString("totaltime", totaltime);
editor.putString("roleid", roleid);
editor.putString("rolename", rolename);
editor.putString("roledescription", roledescription);
editor.putString("roleserial", roleserial);
editor.putString("patrolTypeId", patrolTypeId);
editor.commit();
}
private void doGetBizList(String url, String tk) {
// PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
RequestParams params = new RequestParams();
AsyncHttpClient client = new AsyncHttpClient();
client.addHeader("token",tk);
client.setTimeout(60000);
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
if (response != null && response.length() > 0) {
bizList = getData(response);
if (bizList.size() > 0) {
mBizid = bizList.get(0).getId();
mBizName = bizList.get(0).getName();
}
mBizid = "blgworkshop1";
mBizName = "白龙港一车间";
saveBizlist(LoginActivity.this, response, mBizid, mBizName);
Intent intent = new Intent(LoginActivity.this, ProPatrolTaskListActivity.class);
startActivity(intent);
finish();
}
}
@Override
public void onFailure(Throwable e) {
closeLoginingDlg();// 关闭对话框
Toast.makeText(LoginActivity.this, getString(R.string.error_incorrect_connection), Toast.LENGTH_SHORT).show();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
private List<Biz> getData(String response) {
List<Biz> listres = new ArrayList<Biz>();
try {
JSONArray aNews = new JSONArray(response);
if (aNews != null && aNews.length() > 0) {
for (int i = 0; i < aNews.length(); i++) {
Biz item = new Biz();
item.setId(aNews.getJSONObject(i).get("id").toString());
item.setName(aNews.getJSONObject(i).get("text").toString());
item.setBizid(aNews.getJSONObject(i).get("id").toString());
listres.add(item);
}
}
} catch (JSONException ex) {
Log.e("JSON Error: ", ex.toString());
}
return listres;
}
private void saveBizlist(Context context, String response, String bizid, String bizname) {
//获取SharedPreferences对象
SharedPreferences sharedPre = context.getSharedPreferences("config", MODE_PRIVATE);
//获取Editor对象
Editor editor = sharedPre.edit();
editor.putString("bizlist", response);
editor.putString("bizid", bizid);
editor.putString("bizname", bizname);
//提交
editor.commit();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
//requestCode标示请求的标示 resultCode表示有数据
if (requestCode == LoginActivity.REQUSET && resultCode == RESULT_OK) {
initialvar();
/* 获取已经保存好的用户密码 */
// userlist(mBizid,mGroup);
}
}
@Override
protected void onResume() {
// userlist(mBizid,mGroup);
super.onResume();
initialvar();
}
private void initialvar() {
if (!getSharedPreferences("config", MODE_PRIVATE).getString("bizid", "").equals("")) {
mBizid = getSharedPreferences("config", MODE_PRIVATE).getString("bizid", "");
}
if (!getSharedPreferences("config", MODE_PRIVATE).getString("server", "").equals("")) {
mServer = getSharedPreferences("config", MODE_PRIVATE).getString("server", "");
}
if (!getSharedPreferences("config", MODE_PRIVATE).getString("group", "").equals("")) {
mGroup = getSharedPreferences("config", MODE_PRIVATE).getString("group", "");
}
}
private void sign_out() {
SweetAlertDialog dia = new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE);
dia.setCanceledOnTouchOutside(true);
dia.setTitleText("确定登出?").setConfirmText("确认").setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
finish();
}
}).setCancelText("取消").setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
}
}).show();
}
}

View File

@ -0,0 +1,517 @@
package com.sipai.jspatrol.Login;
import static com.sipai.jspatrol.utils.RxCaptcha.TYPE.NUMBER;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.os.Bundle;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.text.InputType;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.kyleduo.switchbutton.SwitchButton;
import com.sipai.jspatrol.Base.ActivityCollector;
import com.sipai.jspatrol.Base.BaseView;
import com.sipai.jspatrol.Bean.Biz;
import com.sipai.jspatrol.Bean.LoginInfo;
import com.sipai.jspatrol.Main.MainActivity;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.setting.SettingActivity;
import com.sipai.jspatrol.utils.EncryptUtils;
import com.sipai.jspatrol.utils.Global.GlobalVal;
import com.sipai.jspatrol.utils.ProgressForAll;
import com.sipai.jspatrol.utils.RandomStringUtils;
import com.sipai.jspatrol.utils.RxCaptcha;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import org.json.JSONArray;
import org.json.JSONException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.pedant.SweetAlert.SweetAlertDialog;
public class LoginActivity extends BaseView<LoginPresenter,LoginContract.View> implements View.OnClickListener {
private EditText edt_name,edt_pwd;
private SwitchButton sb_network;
private Button btn_login,btn_setting;
private String ip_in_plant = "", ip_off_site = "";//厂内厂外ip地址
private String mServer = "";
private String mServerIp = "";
private static final int SET_IP = 121;
private SharedPreferencesData sharedpre;
private HashMap<String,String> map = new HashMap<>();
private HashMap<String,String> map_base = new HashMap<>();
private String androidId = "";
private String mBizid = "";
private String mBizName;
private String lcversion;
private TextView tv_version;
private ImageView iv_eye;
private Boolean isOpen = false;
private ImageView iv_code;
private EditText edt_code;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
ActivityCollector.addActivity(this);
init();
initView();
TelephonyManager tm = (TelephonyManager) LoginActivity.this.getSystemService(TELEPHONY_SERVICE);
// mtyb = android.os.Build.BRAND;// 手机品牌
// mtype = android.os.Build.MODEL; // 手机型号
// imei = tm.getDeviceId();//uuid
androidId = Settings.System.getString(
getContentResolver(), Settings.Secure.ANDROID_ID);//10.0以后获取不到UUID用androidId来代表唯一性
}
private void initView() {
edt_name = findViewById(R.id.moudle_login_edt_name);
edt_pwd = findViewById(R.id.moudle_login_edt_pwd);
sb_network = findViewById(R.id.moudle_login_sb_network);
sb_network.setTextColor(getResources().getColor(R.color.white));
btn_login = findViewById(R.id.moudle_login_btn_login);
btn_login.setOnClickListener(this);
btn_setting = findViewById(R.id.moudle_login_btn_setting);
btn_setting.setOnClickListener(this);
tv_version = findViewById(R.id.tv_version);
tv_version.setText("版本号V"+lcversion);
if (ip_off_site.length() < 3 && ip_in_plant.length() < 3) {
showNoIpDialog();
} else {
setSweetButton();
}
iv_eye = findViewById(R.id.moudle_iv_eye);
iv_eye.setColorFilter(getResources().getColor(R.color.gray));
iv_eye.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isOpen){
edt_pwd.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD);
iv_eye.setColorFilter(getResources().getColor(R.color.gray));
isOpen = !isOpen;
}else {
edt_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
iv_eye.setColorFilter(getResources().getColor(R.color.white));
isOpen = !isOpen;
}
}
});
edt_code = findViewById(R.id.moudle_login_edt_code);
iv_code = findViewById(R.id.moudle_iv_code);
iv_code.setOnClickListener(this);
refreshCode();
}
private void refreshCode() {
RxCaptcha.build()
.backColor(0xffffff)
.codeLength(4)
.fontSize(60)
.lineNumber(2)
.size(200, 70)
.type(NUMBER)
.into(iv_code);
}
private void showMsgFinish() {
runOnUiThread(new Runnable() {
@Override
public void run() {
ProgressForAll.cancelProgress();
}
});
}
private void showMsgDialog() {
runOnUiThread(new Runnable() {
@Override
public void run() {
ProgressForAll.showProgress(LoginActivity.this,"","登录中...");
}
});
}
private void init() {
sharedpre = new SharedPreferencesData(this);
map_base = sharedpre.getAll();
ip_in_plant = map_base.get("ip_in_plant");
ip_off_site = map_base.get("ip_off_site");
mServer = map_base.get("mServer");
mServerIp = map_base.get("mServerIp");
lcversion = getLocalVersionName(this);
}
/**
* 获取本地软件版本号名称
*/
public static String getLocalVersionName(Context ctx) {
String localVersion = "";
try {
PackageInfo packageInfo = ctx.getApplicationContext()
.getPackageManager()
.getPackageInfo(ctx.getPackageName(), 0);
localVersion = packageInfo.versionName;
// LogUtil.d("TAG", "本软件的版本号。。" + localVersion);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return localVersion;
}
private void setSweetButton() {
if (mServerIp != null && mServerIp.length() > 3) {
if (ip_in_plant.equals(mServerIp)) {
sb_network.setChecked(true);
} else {
sb_network.setChecked(false);
mServerIp = ip_off_site;
}
} else {
if (ip_in_plant.length()>3){
mServerIp = ip_in_plant;
sb_network.setChecked(true);
}else if (ip_off_site.length()>3){
mServerIp = ip_off_site;
sb_network.setChecked(false);
}
}
mServer = "http://" + mServerIp + "/";
final HashMap<String,String> server_map = new HashMap<>();
server_map.put("server",mServer);
server_map.put("serverip",mServerIp);
sharedpre.saveInfo(server_map);
init();
if (ip_in_plant.length()<4||ip_off_site.length()<4){
sb_network.setEnabled(false);
}else {
sb_network.setEnabled(true);
}
sb_network.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, final boolean isChecked) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (isChecked) {
mServerIp = ip_in_plant;
mServer = "http://" + mServerIp + "/";
server_map.clear();
server_map.put("server",mServer);
server_map.put("serverip",mServerIp);
sharedpre.saveInfo(server_map);
init();
} else {
mServerIp = ip_off_site;
mServer = "http://" + mServerIp + "/";
server_map.clear();
server_map.put("server",mServer);
server_map.put("serverip",mServerIp);
sharedpre.saveInfo(server_map);
init();
}
}
});
}
});
}
private void showNoIpDialog() {
if (!LoginActivity.this.isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(LoginActivity.this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("检测到APP暂未设置IP地址若不设置则无法进行下一步操作")
.setConfirmText("设置")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
Intent intent = new Intent(LoginActivity.this, SettingActivity.class);
startActivityForResult(intent, SET_IP);
}
}).setCancelText("取消")
.setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
}
}).show();
}
});
}
}
@Override
protected LoginPresenter getPresenter() {
return new LoginPresenter();
}
private void saveBizlist(Context context, String response, String bizid, String bizname,String t) {
//获取SharedPreferences对象
SharedPreferences sharedPre = context.getSharedPreferences("config", MODE_PRIVATE);
//获取Editor对象
SharedPreferences.Editor editor = sharedPre.edit();
editor.putString("bizlist", response);
editor.putString("bizid", bizid);
editor.putString("bizname", bizname);
editor.putString("biz",t);
//提交
editor.commit();
}
@Override
public LoginContract.View getContract() {
return new LoginContract.View<LoginInfo>(){
@Override
public void handlerResult(LoginInfo item) {
if (item!=null){
if (item.isStatus()){
saveLoginInfo(item);
getComList(item);
}else {
showMsgFinish();
if (item.getReason()!=null&&!item.getReason().isEmpty()) {
failLogin(item.getReason());
}else {
failLogin("登录请求失败!");
}
}
}else {
showMsgFinish();
showError("登录请求失败!");
}
}
@Override
public void handlerComResult(String result,String t) {
showMsgFinish();
if (result.equals(GlobalVal.RESULT_SUCCESS)) {
List<Biz> bizs = parseBiz(t);
if (bizs.size()>0) {
if (bizs.size()==1){
mBizid = bizs.get(0).getBizid();
mBizName = bizs.get(0).getName();
}else if (mBizid.isEmpty()){
mBizid = bizs.get(0).getBizid();
mBizName = bizs.get(0).getName();
}
saveBizlist(LoginActivity.this, "response", mBizid, mBizName,t);
MainActivity.actionStart(LoginActivity.this);
}else {
showError("未关联厂区,无法登录");
}
}else {
showError("登录失败");
}
}
};
}
private List<Biz> parseBiz(String result) {
List<Biz> list = new ArrayList<>();
try {
JSONArray array = new JSONArray(result);
for (int i=0;i<array.length();i++){
Biz item = new Biz();
item.setId(array.getJSONObject(i).optString("id"));
item.setBizid(array.getJSONObject(i).optString("id"));
item.setName(array.getJSONObject(i).optString("text"));
if (item.getName().contains("一车")){
mBizid = item.getBizid();
mBizName = item.getName();
}
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
return list;
}
return list;
}
private void getComList(LoginInfo item) {
map = new HashMap<>();
showMsgDialog();
p.getContract().requestComList(LoginActivity.this,map,mServer, MethodURL.ComList_Method,item.getUser().getToken());
}
private void saveLoginInfo(LoginInfo item) {
SharedPreferencesData sharedPreferencesData = new SharedPreferencesData(this);
Map<String,String> map = new HashMap<>();
map.put("userid",item.getUser().getId());
map.put("caption",item.getUser().getCaption());
map.put("name",item.getUser().getName());
map.put("totaltime",String.valueOf(Math.round(item.getUser().getTotaltime())));
map.put("lastlogintime",item.getUser().getLastlogintime());
map.put("username",edt_name.getText().toString());
map.put("password",edt_pwd.getText().toString());
map.put("token",item.getUser().getToken());
map.put("nfc", item.getUser().getNfc());
map.put("subtask", item.getUser().getSubTask());
sharedPreferencesData.saveInfo(map);
}
private void failLogin(final String reason) {
if (!LoginActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(LoginActivity.this, SweetAlertDialog.ERROR_TYPE)
.setTitleText("提示")
.setContentText(reason)
.setConfirmText("确定")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
}
}).show();
}
});
}
}
private void showError(String s) {
if (!LoginActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(LoginActivity.this, s, Toast.LENGTH_SHORT).show();
}
});
}
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.moudle_login_btn_login:
if (edt_code.getText()!=null&&!edt_code.getText().toString().isEmpty()&&edt_code.getText().toString().equals(RxCaptcha.build().getCode())) {
String st_name = "";
String st_pwd = "";
if (judgeString(mServer,"服务器地址")){
if (edt_name.getText()!=null&&!edt_name.getText().toString().isEmpty()){
st_name = edt_name.getText().toString();
}else {
showCannotNull(edt_name);
}
if (edt_pwd.getText()!=null&&!edt_pwd.getText().toString().isEmpty()){
st_pwd = edt_pwd.getText().toString();
}else {
showCannotNull(edt_pwd);
}
if (!st_name.isEmpty()&&!st_pwd.isEmpty()) {
toLogin(st_name, st_pwd);
}
}
}else {
Toast.makeText(this, "验证码错误", Toast.LENGTH_LONG).show();
refreshCode();
}
break;
case R.id.moudle_login_btn_setting:
Intent intent = new Intent(LoginActivity.this,SettingActivity.class);
startActivityForResult(intent,SET_IP);
break;
}
}
private void showCannotNull(final EditText edt) {
if (!LoginActivity.this.isFinishing()){
runOnUiThread(new Runnable() {
@Override
public void run() {
edt.setError("不能为空");
}
});
}
}
private void toLogin(String name, String pwd) {
String p_pwd = "";
String vcode = "";
String code = RandomStringUtils.getRandomStr(1,4);
try {
vcode = "64368180";
vcode = "64368180"+code;
vcode = EncryptUtils.encrypt(vcode).replace("\n","");
code = EncryptUtils.encrypt(code).replace("\n","");
vcode = URLEncoder.encode(vcode,"UTF-8");
code = URLEncoder.encode(code,"UTF-8");
p_pwd = URLEncoder.encode(pwd,"UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
map.put("j_password",p_pwd);
map.put("j_username",name);
map.put("androidId",androidId);
map.put("verCode",vcode);
map.put("code",code);
showMsgDialog();
p.getContract().requestData(LoginActivity.this,map,mServer, MethodURL.Login_Method);
}
private boolean judgeString(String st, final String notice) {
if (st!=null&&!st.isEmpty()){
return true;
}else {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(LoginActivity.this, notice+"不能为空", Toast.LENGTH_SHORT).show();
}
});
return false;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode==RESULT_OK){
switch (requestCode){
case SET_IP:
init();
if (ip_off_site.length() < 2 || ip_in_plant.length() < 2) {
showNoIpDialog();
} else {
setSweetButton();
}
break;
}
}
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}

View File

@ -0,0 +1,39 @@
package com.sipai.jspatrol.Login;
import android.content.Context;
import com.sipai.jspatrol.Bean.BaseEntity;
import java.util.HashMap;
/**
* created by lvliming on 2019/9/11
*/
public interface LoginContract {
interface Model{
void executeData(Context context, HashMap<String, String> map, String server, String url) throws Exception;
void executeComData(Context context, HashMap<String, String> map, String server, String url,String token) throws Exception;
}
interface View<T extends BaseEntity>{
void handlerResult(T t);
void handlerComResult(String result,String bizs);
}
interface Presenter<T extends BaseEntity>{
//登录请求
void requestData(Context context, HashMap<String, String> map, String server, String url);
//登录结果响应
void responseResult(T t);
//厂区列表请求
void requestComList(Context context, HashMap<String, String> map, String server, String url,String token);
//厂区请求结果响应
void responseComResult(String result,String biz);
}
}

View File

@ -0,0 +1,153 @@
package com.sipai.jspatrol.Login;
import android.content.Context;
import com.sipai.jspatrol.Base.BaseModel;
import com.sipai.jspatrol.Bean.LoginInfo;
import com.sipai.jspatrol.Bean.User;
import com.sipai.jspatrol.utils.Global.GlobalVal;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.okHttpCookie.CookiesManager;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.HashMap;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
/**
* created by lvliming on 2019/9/11
*/
public class LoginModel extends BaseModel<LoginPresenter, LoginContract.Model> {
// private OKHttpUtils.RequestCallBack requestCallBack;
public LoginModel(LoginPresenter loginPresenter) {
super(loginPresenter);
}
@Override
public LoginContract.Model getContract() {
return new LoginContract.Model() {
@Override
public void executeData(Context context, HashMap<String, String> map, String server, String url) throws Exception {
CookiesManager.clearCookie(context);
OKHttpUtils.OKCallGet(map,server,url).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String result = GlobalVal.NET_ERROR;
LoginInfo item = new LoginInfo();
if (result.equals(GlobalVal.NET_ERROR)) {
item.setStatus(false);
}else if (result.equals(GlobalVal.DATA_ERROR)){
item.setStatus(false);
}else {
item = parseData(result);
}
p.getContract().responseResult(item);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String result = response.body().string();
if (result!=null&&!result.isEmpty()&&!result.contains("html")){
LoginInfo item = new LoginInfo();
if(result.contains("该设备未关联")){
item.setStatus(false);
item.setReason("该设备未关联该用户!请至平台关联!");
}else {
item = parseData(result);
}
p.getContract().responseResult(item);
}else {
LoginInfo item = new LoginInfo();
item.setStatus(false);
item.setReason(result);
p.getContract().responseResult(item);
}
}
});
}
@Override
public void executeComData(Context context, HashMap<String, String> map, String server, String url, String token) throws Exception {
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map,server,url)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String result = GlobalVal.NET_ERROR;
String bizs = "";
p.getContract().responseComResult(result,bizs);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res!=null&&!res.isEmpty()&&!res.contains("html")){
p.getContract().responseComResult(GlobalVal.RESULT_SUCCESS,res);
}else {
p.getContract().responseComResult(GlobalVal.DATA_ERROR,res);
}
}
});
}
};
}
private LoginInfo parseData(String result) {
LoginInfo info = new LoginInfo();
User user = new User();
try {
JSONObject jsonObject = new JSONObject(result);
String res = jsonObject.optString("res");
if (jsonObject.optString("Access_Token") != null && !jsonObject.optString("Access_Token").isEmpty()) {
user.setToken(jsonObject.optString("Access_Token"));
} else {
user.setToken("");
}
if (jsonObject.getBoolean("status")) {
JSONObject json = new JSONObject(res);
user.setCaption(json.optString("caption"));
user.setName(json.optString("name"));
user.setId(json.optString("id"));
if (!json.optString("totaltime").isEmpty()) {
user.setTotaltime(Double.parseDouble(json.optString("totaltime")));
}else {
user.setTotaltime(0);
}
user.setLastlogintime(json.optString("lastlogintime"));
if (json.optString("dept") != null && !json.optString("dept").isEmpty()) {
JSONObject jsonob = new JSONObject(json.optString("dept"));
if (jsonob.optString("patrolTypeId") != null && !jsonob.optString("patrolTypeId").isEmpty()) {
user.setPatrolTypeId(jsonob.optString("patrolTypeId"));
}
} else {
user.setPatrolTypeId("P");
}
if (json.optString("roles").contains("管理员")){
user.setNfc("true");
}else {
user.setNfc("false");
}
if (json.optString("roles").contains("提交")){
user.setSubTask("true");
}else {
user.setSubTask("false");
}
info.setUser(user);
info.setStatus(true);
} else {
info.setStatus(false);
info.setReason(res);
}
} catch (JSONException e) {
e.printStackTrace();
info.setStatus(false);
info.setReason(e.toString());
}
return info;
}
}

View File

@ -0,0 +1,52 @@
package com.sipai.jspatrol.Login;
import android.content.Context;
import com.sipai.jspatrol.Base.BasePresenter;
import com.sipai.jspatrol.Bean.LoginInfo;
import java.util.HashMap;
/**
* created by lvliming on 2019/9/11
*/
public class LoginPresenter extends BasePresenter<LoginActivity,LoginModel,LoginContract.Presenter> {
@Override
public LoginContract.Presenter getContract() {
return new LoginContract.Presenter<LoginInfo>(){
@Override
public void requestData(Context context,HashMap<String, String> map, String server, String url) {
try {
m.getContract().executeData(context,map,server,url);
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public void responseResult(LoginInfo item) {
getView().getContract().handlerResult(item);
}
@Override
public void requestComList(Context context, HashMap<String, String> map, String server, String url, String token) {
try {
m.getContract().executeComData(context,map,server,url,token);
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public void responseComResult(String result,String bizs) {
getView().getContract().handlerComResult(result,bizs);
}
};
}
@Override
public LoginModel getModel() {
return new LoginModel(this);
}
}

View File

@ -0,0 +1,139 @@
package com.sipai.jspatrol.Main;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.sipai.jspatrol.Base.ActivityCollector;
import com.sipai.jspatrol.Main.fragment.faultfragment.FaultFragment;
import com.sipai.jspatrol.Main.fragment.fifthFragment.FifthFragment;
import com.sipai.jspatrol.Main.fragment.mainfragment.MainFragment;
import com.sipai.jspatrol.Main.fragment.promFragment.ProMFragment;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.Service.IPatrolService;
import com.sipai.jspatrol.background.locationservice.LocationService;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private FrameLayout fl;
private RelativeLayout rl_main,rl_fault,rl_pro,rl_self;
private ImageView iv_main,iv_fault,iv_pro,iv_self;
private TextView tv_main,tv_fault,tv_pro,tv_self;
public static void actionStart(Context context){
Intent inent = new Intent(context,MainActivity.class);
context.startActivity(inent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActivityCollector.addActivity(this);
initView();
startPatrolService();
replaceFragment(new MainFragment());
}
private void startPatrolService() {
Intent intent = new Intent(MainActivity.this, IPatrolService.class);
startService(intent);
Intent intent_b = new Intent(MainActivity.this, LocationService.class);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//android8.0以上通过startForegroundService启动service
startForegroundService(intent_b);
}else{
startService(intent_b);
}
}
/**
* 初始化控件
*/
private void initView() {
fl = findViewById(R.id.moudle_main_fl);
rl_main = findViewById(R.id.moudle_main_activity_rl_main);
rl_main.setOnClickListener(this);
rl_fault = findViewById(R.id.moudle_main_activity_rl_falut);
rl_fault.setOnClickListener(this);
rl_pro = findViewById(R.id.moudle_main_activity_rl_pro);
rl_pro.setOnClickListener(this);
rl_self = findViewById(R.id.moudle_main_activity_rl_self);
rl_self.setOnClickListener(this);
iv_main = findViewById(R.id.moudle_main_activity_iv_main);
iv_fault = findViewById(R.id.moudle_main_activity_iv_falut);
iv_pro = findViewById(R.id.moudle_main_activity_iv_pro);
iv_self = findViewById(R.id.moudle_main_activity_iv_self);
tv_main = findViewById(R.id.moudle_main_activity_tv_main);
tv_fault = findViewById(R.id.moudle_main_activity_tv_falut);
tv_pro = findViewById(R.id.moudle_main_activity_tv_pro);
tv_self = findViewById(R.id.moudle_main_activity_tv_self);
changeTab(tv_main);
iv_main.setImageResource(R.mipmap.moudle_tab_main_full);
}
private void changeTab(TextView tv) {
iv_main.setImageResource(R.mipmap.moudle_tab_main_empty);
iv_fault.setImageResource(R.mipmap.moudle_tab_fault_empty);
iv_pro.setImageResource(R.mipmap.moudle_tab_pro_empty);
iv_self.setImageResource(R.mipmap.moudle_tab_self_empty);
tv_main.setTextColor(getResources().getColor(R.color.tab_text_gray));
tv_fault.setTextColor(getResources().getColor(R.color.tab_text_gray));
tv_pro.setTextColor(getResources().getColor(R.color.tab_text_gray));
tv_self.setTextColor(getResources().getColor(R.color.tab_text_gray));
tv.setTextColor(getResources().getColor(R.color.black));
}
private void replaceFragment(Fragment fragment){
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.moudle_main_fl,fragment);
transaction.commit();
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.moudle_main_activity_rl_main:
replaceFragment(new MainFragment());
changeTab(tv_main);
iv_main.setImageResource(R.mipmap.moudle_tab_main_full);
break;
case R.id.moudle_main_activity_rl_falut:
replaceFragment(new FaultFragment());
changeTab(tv_fault);
iv_fault.setImageResource(R.mipmap.moudle_tab_fault_full);
break;
case R.id.moudle_main_activity_rl_pro:
replaceFragment(new ProMFragment());
changeTab(tv_pro);
iv_pro.setImageResource(R.mipmap.moudle_tab_pro_full);
break;
case R.id.moudle_main_activity_rl_self:
replaceFragment(new FifthFragment());
changeTab(tv_self);
iv_self.setImageResource(R.mipmap.moudle_tab_self_full);
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
Intent intent = new Intent(MainActivity.this, IPatrolService.class);
stopService(intent);
Intent intent_b = new Intent(MainActivity.this, LocationService.class);
stopService(intent_b);
}
}

View File

@ -0,0 +1,755 @@
package com.sipai.jspatrol.Main.fragment.faultfragment;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.sipai.jspatrol.Base.BaseFragmentView;
import com.sipai.jspatrol.Bean.Biz;
import com.sipai.jspatrol.Bean.EquList;
import com.sipai.jspatrol.Bean.Fault;
import com.sipai.jspatrol.Bean.ProcessSection;
import com.sipai.jspatrol.Fault.NewFaultActivity;
import com.sipai.jspatrol.Fault.NewFaultDetailActivity;
import com.sipai.jspatrol.Fault.adapter.DoingFaultAdapter;
import com.sipai.jspatrol.Fault.adapter.DoneFaultAdapter;
import com.sipai.jspatrol.Fault.adapter.NewFaultAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.URL.GuideMenuUrl;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.Webv.GuideMenuActivity;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.ProgressForAll;
import com.sipai.jspatrol.utils.okHttpCookie.CookiesManager;
import com.sipai.ui.EmptyLayout;
import com.superrecycleview.superlibrary.recycleview.SuperRecyclerView;
import com.superrecycleview.superlibrary.utils.SuperDivider;
import com.tencent.smtt.sdk.CookieManager;
import com.tencent.smtt.sdk.CookieSyncManager;
import com.tencent.smtt.sdk.DownloadListener;
import com.tencent.smtt.sdk.ValueCallback;
import com.tencent.smtt.sdk.WebChromeClient;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import cn.pedant.SweetAlert.SweetAlertDialog;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
/**
* created by lvliming on 2019/9/16
*/
public class FaultFragment extends BaseFragmentView<FaultFragmentPresenter, FaultFragmentContract.View> implements View.OnClickListener{
private EditText edt_search;
private TextView tv_sub;
private TextView tv_all,tv_subed,tv_doing,tv_com;
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid, mBizName;
private List<Fault> faults = new ArrayList<>();
private NewFaultAdapter newAdapter;
private DoingFaultAdapter doingFaultAdapter;
private DoneFaultAdapter doneFaultAdapter;
private LinearLayoutManager manager;
private SuperRecyclerView rc_view;
private SwipeRefreshLayout refresh;
private EmptyLayout emptyLayout;
private String type = "2";
private int page = 1;
//待办所用控件
private String url;
private String name;
private WebView webView;
private String cookies;
private String fileabspath = "";
private ProgressDialog progressDialog;
private ValueCallback<Uri> mUploadMessage;
private ValueCallback<Uri[]> uploadMessage; // 用于5.0以上
final static int FILE_SELECTED = 4;
public static final int REQUEST_SELECT_FILE = 100;
private TextView tv_backlog,tv_faultlist,tv_wwlist;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_fault,container,false);
init();
initView(view);
return view;
}
private void init() {
SharedPreferences sharedPre = getActivity().getSharedPreferences("config", 0);
mServer = sharedPre.getString("server", "");
mUsername = sharedPre.getString("username", "");
mPassword = sharedPre.getString("password", "");
mUserid = sharedPre.getString("userid", "");
mCaption = sharedPre.getString("caption", "");
mBizid = sharedPre.getString("bizid", "");
mBizName = sharedPre.getString("bizname", "");
url = GuideMenuUrl.url_backlog;
}
private void initView(View view) {
//异常模块控件
edt_search = view.findViewById(R.id.moudle_fg_fault_edt_search);
tv_sub = view.findViewById(R.id.moudle_fg_fault_tv_sub);
tv_sub.setOnClickListener(this);
tv_all = view.findViewById(R.id.moudle_fg_fault_tv_all);
tv_all.setOnClickListener(this);
tv_subed = view.findViewById(R.id.moudle_fg_fault_tv_subed);
tv_subed.setOnClickListener(this);
tv_doing = view.findViewById(R.id.moudle_fg_fault_tv_doing);
tv_doing.setOnClickListener(this);
tv_com = view.findViewById(R.id.moudle_fg_fault_tv_com);
tv_com.setOnClickListener(this);
emptyLayout = view.findViewById(R.id.moudle_fg_fault_ui_empty);
refresh = view.findViewById(R.id.moudle_fg_fault_refresh);
refresh.setColorSchemeResources(R.color.blue);
refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
page = 1;
getFaultList(type);
}
});
rc_view = view.findViewById(R.id.moudle_fg_fault_rc);
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
rc_view.setRefreshEnabled(false);
rc_view.setLoadMoreEnabled(true);
rc_view.setLoadingListener(new SuperRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
}
@Override
public void onLoadMore() {
page = page+1;
getFaultList(type);
}
});
rc_view.addItemDecoration(SuperDivider.newBitmapDivider());
edt_search.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
getFaultList(type);
}
@Override
public void afterTextChanged(Editable s) {
}
});
//待办模块控件
tv_backlog = view.findViewById(R.id.moudle_fault_tv_backlog);
tv_backlog.setOnClickListener(this);
tv_faultlist = view.findViewById(R.id.moudle_fault_tv_fault_list);
tv_faultlist.setOnClickListener(this);
tv_wwlist = view.findViewById(R.id.moudle_fault_tv_ww_list);
tv_wwlist.setOnClickListener(this);
webView = (WebView) view.findViewById(R.id.moudle_backlog_webview);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setDomStorageEnabled(true);
//设置自适应屏幕,两者合用
webView.getSettings().setUseWideViewPort(true); //将图片调整到适合webview的大小
webView.getSettings().setLoadWithOverviewMode(true); // 缩放至屏幕的大小
//缩放操作
webView.getSettings().setSupportZoom(true); //支持缩放默认为true。是下面那个的前提。
webView.getSettings().setBuiltInZoomControls(true); //设置内置的缩放控件。若为false则该WebView不可缩放
webView.getSettings().setDisplayZoomControls(false); //隐藏原生的缩放控件
webView.getSettings().setDefaultTextEncodingName("utf-8");
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String s) {
return super.shouldOverrideUrlLoading(webView, s);
}
@Override
public void onPageStarted(WebView webView, String s, Bitmap bitmap) {
super.onPageStarted(webView, s, bitmap);
showMsgDialog();
}
@Override
public void onPageFinished(WebView webView, String s) {
super.onPageFinished(webView, s);
showMsgFinish();
}
});
webView.setWebChromeClient(new WebChromeClient() {
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
mUploadMessage = uploadMsg;
if (mUploadMessage!=null) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
getActivity().startActivityForResult(
Intent.createChooser(intent, "open"),
FILE_SELECTED);
}
}
@Override
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> valueCallback, FileChooserParams fileChooserParams) {
if (uploadMessage != null) {
uploadMessage.onReceiveValue(null);
uploadMessage = null;
}
uploadMessage = valueCallback;
if (uploadMessage!=null) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
getActivity().startActivityForResult(
Intent.createChooser(intent, "open"),
REQUEST_SELECT_FILE);
}
return true;
}
});
cookies = CookiesManager.getCookieText(getActivity());
synCookies(mServer, cookies);
webView.loadUrl(mServer + MethodURL.PJ_Base + url);
webView.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(final String url, String userAgent, final String contentDisposition, final String mimeType, final long contentLength) {
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(getActivity(), SweetAlertDialog.NORMAL_TYPE)
.setTitleText("下载附件?")
.setConfirmText("确定")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
long caca = contentLength;
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
// downloadBySystem(url, contentDisposition, mimeType);
sweetAlertDialog.dismissWithAnimation();
}
})
.setCancelText("取消")
.setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
}
})
.show();
}
});
}
}
});
}
@Override
public void onResume() {
super.onResume();
// getFaultList(type);
}
private void showMsgFinish() {
if (isAdded()) {
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
ProgressForAll.cancelProgress();
}
});
}
}
}
private void showMsgDialog() {
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
ProgressForAll.showProgress(getActivity(),"","页面加载中...");
}
});
}
}
public void synCookies(String url, String cookies) {
CookieSyncManager.createInstance(getActivity().getApplicationContext());
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.setCookie(url, cookies);
CookieSyncManager.getInstance().sync();
}
@Override
public FaultFragmentContract.View getContract() {
return null;
}
@Override
public FaultFragmentPresenter getPresenter() {
return new FaultFragmentPresenter();
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.moudle_fault_tv_backlog:
webView.loadUrl(mServer + MethodURL.PJ_Base + GuideMenuUrl.url_backlog);
changeColor(tv_backlog);
break;
case R.id.moudle_fault_tv_fault_list:
webView.loadUrl(mServer + MethodURL.PJ_Base + GuideMenuUrl.url_faultlist+"unitId="+mBizid);
changeColor(tv_faultlist);
break;
case R.id.moudle_fault_tv_ww_list:
webView.loadUrl(mServer + MethodURL.PJ_Base + GuideMenuUrl.url_wwlist+"unitId="+mBizid);
changeColor(tv_wwlist);
break;
case R.id.moudle_fg_fault_tv_sub:
// NewFaultActivity.actionStart(getActivity(),"","","");
GuideMenuActivity.actionStart(getActivity(), GuideMenuUrl.url_subfault+"unitId="+mBizid, GuideMenuUrl.name_subfault);
break;
case R.id.moudle_fg_fault_tv_all:
changeColor(tv_all);
break;
case R.id.moudle_fg_fault_tv_subed:
changeColor(tv_subed);
type = "2";
getFaultList(type);
break;
case R.id.moudle_fg_fault_tv_doing:
changeColor(tv_doing);
type = "0";
getFaultList(type);
break;
case R.id.moudle_fg_fault_tv_com:
changeColor(tv_com);
type = "1";
getFaultList(type);
break;
}
}
private void getFaultList(String type) {
isShowRefresh();
String search_content = "";
if (edt_search.getText()!=null&&!edt_search.getText().toString().isEmpty()){
search_content = edt_search.getText().toString();
}
HashMap<String,String> map = new HashMap<>();
map.put("type",type);
map.put("page",String.valueOf(page));
map.put("rows","15");
map.put("bizid",mBizid);
map.put("userid",mUserid);
map.put("day","120");
map.put("search_name",search_content);
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GetFaultList_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
showError(a);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (page==1) {
faults = parseFault(res, type);
ifShowTheEmpty();
setAdapter(type);
}else {
List<Fault> list = parseFault(res, type);
if (list.size()>0) {
faults.addAll(list);
updateLoadMore();
}else {
noMore();
}
}
}
});
}
private void updateLoadMore() {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
rc_view.completeLoadMore();
if (type.equals("2")){
newAdapter.notifyDataSetChanged();
}else if (type.equals("0")){
doingFaultAdapter.notifyDataSetChanged();
}else if (type.equals("1")){
doneFaultAdapter.notifyDataSetChanged();
}
}
});
}
}
}
private void noMore() {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getActivity(), "这次是真没有了~", Toast.LENGTH_SHORT).show();
}
});
}
}
}
private void isShowRefresh() {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (page==1) {
if (!refresh.isRefreshing()) {
refresh.setRefreshing(true);
}
}
}
});
}
}
}
private void showError(String a) {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
refresh.setRefreshing(false);
Toast.makeText(getActivity(), ""+a, Toast.LENGTH_SHORT).show();
}
});
}
}
}
/*
是否显示暂无数据布局
*/
private void ifShowTheEmpty() {
if (isAdded()){
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (faults.size() == 0) {
emptyLayout.setVisibility(View.VISIBLE);
rc_view.setVisibility(View.GONE);
} else {
emptyLayout.setVisibility(View.GONE);
rc_view.setVisibility(View.VISIBLE);
}
}
});
}
}
}
private void setAdapter(String type) {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
refresh.setRefreshing(false);
if (type.equals("2")){
newAdapter = new NewFaultAdapter(getActivity(), faults);
newAdapter.setOnDelListener(new NewFaultAdapter.onSwipeListener() {
@Override
public void onFault(int pos) {
if (pos >= 0 && pos < faults.size()) {
NewFaultDetailActivity.actionStart(getActivity(),faults.get(pos),"yes");
}
}
@Override
public void onDel(int pos) {
if (pos >= 0 && pos < faults.size()) {
// DelNewFault(faults.get(pos).getId());
}
}
});
rc_view.setAdapter(newAdapter);
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
}else if (type.equals("0")){
doingFaultAdapter = new DoingFaultAdapter(getActivity(),faults);
doingFaultAdapter.setOnDelListener(new DoingFaultAdapter.onSwipeListener() {
@Override
public void onFault(int pos) {
if (pos >= 0 && pos < faults.size()) {
Toast.makeText(getActivity(), "执行" + faults.get(pos).getProblemcontent(), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onDel(int pos) {
if (pos >= 0 && pos < faults.size()) {
Toast.makeText(getActivity(), "删除" + pos, Toast.LENGTH_SHORT).show();
}
}
});
rc_view.setAdapter(doingFaultAdapter);
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
}else if (type.equals("1")){
doneFaultAdapter = new DoneFaultAdapter(getActivity(),faults);
rc_view.setAdapter(doneFaultAdapter);
manager = new LinearLayoutManager(getActivity());
rc_view.setLayoutManager(manager);
}
}
});
}
}
}
private List<Fault> parseFault(String response, String type) {
List<Fault> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(response);
if (type.equals("2")){
JSONArray news = new JSONArray(jsonObject.optString("content1"));
for (int i=0;i<news.length();i++){
Fault new_fault = new Fault();
new_fault.setId(news.getJSONObject(i).opt("id").toString());
new_fault.setAbnormityDescription(news.getJSONObject(i).opt("abnormityDescription").toString());
if (news.getJSONObject(i).opt("company")!=null&&!news.getJSONObject(i).opt("company").toString().equals("null")&&news.getJSONObject(i).opt("company").toString().length()>0) {
JSONObject comp = new JSONObject(news.getJSONObject(i).opt("company").toString());
Biz biz = new Biz();
biz.setId(comp.optString("id"));
biz.setName(comp.optString("name"));
new_fault.setBiz(biz);
}else {
Biz biz = new Biz();
biz.setId("");
biz.setName("");
new_fault.setBiz(biz);
}
if (news.getJSONObject(i).opt("processSection")!=null&&!news.getJSONObject(i).opt("processSection").toString().equals("null")&&news.getJSONObject(i).opt("processSection").toString().length()>0) {
JSONObject area = new JSONObject(news.getJSONObject(i).opt("processSection").toString());
ProcessSection proc = new ProcessSection();
proc.setSid(area.optString("id"));
proc.setName(area.optString("name"));
new_fault.setProcessSection(proc);
}else {
ProcessSection proc = new ProcessSection();
proc.setSid("");
proc.setName("");
new_fault.setProcessSection(proc);
}
new_fault.setRemark(news.getJSONObject(i).opt("remark").toString());
new_fault.setInsdt(news.getJSONObject(i).opt("insdt").toString());
if (news.getJSONObject(i).opt("insertUser")!=null&&!news.getJSONObject(i).opt("insertUser").toString().equals("null")&&news.getJSONObject(i).opt("insertUser").toString().length()>0) {
JSONObject capt = new JSONObject(news.getJSONObject(i).opt("insertUser").toString());
new_fault.setInsuser(capt.optString("caption"));
}else {
new_fault.setInsuser("");
}
new_fault.setEquipmentIds(news.getJSONObject(i).opt("equipmentIds").toString());
new_fault.setEquipmentNames(news.getJSONObject(i).opt("equipmentNames").toString());
list.add(new_fault);
}
}else if (type.equals("0")) {
JSONArray doings = new JSONArray(jsonObject.getString("content1"));
for (int i=0;i<doings.length();i++){
Fault doing_fault = new Fault();
doing_fault.setId(doings.getJSONObject(i).opt("id").toString());
if (doings.getJSONObject(i).opt("processSection")!=null&&!doings.getJSONObject(i).opt("processSection").toString().equals("null")&&doings.getJSONObject(i).opt("processSection").toString().length()>0) {
JSONObject area = new JSONObject(doings.getJSONObject(i).opt("processSection").toString());
ProcessSection proc = new ProcessSection();
proc.setSid(area.optString("id"));
proc.setName(area.optString("name"));
doing_fault.setProcessSection(proc);
}else {
ProcessSection proc = new ProcessSection();
proc.setSid("");
proc.setName("");
doing_fault.setProcessSection(proc);
}
doing_fault.setProblemTypeNames(doings.getJSONObject(i).opt("problemTypeNames").toString());
doing_fault.setProblemcontent(doings.getJSONObject(i).opt("problemcontent").toString());
doing_fault.setPlanMoney(doings.getJSONObject(i).opt("planMoney").toString());
if (doings.getJSONObject(i).opt("equipmentCard")!=null&&doings.getJSONObject(i).opt("equipmentCard").toString().length()>0&&!doings.getJSONObject(i).opt("equipmentCard").toString().equals("null")) {
EquList card = new EquList();
JSONObject equ = new JSONObject(doings.getJSONObject(i).opt("equipmentCard").toString());
card.setEquipmentname(equ.opt("equipmentname").toString());
card.setEquipmentcardid(equ.opt("equipmentcardid").toString());
card.setId(equ.optString("id"));
doing_fault.setEquipmentCard(card);
}else {
EquList card = new EquList();
card.setId("");
card.setEquipmentname("");
card.setEquipmentcardid("");
doing_fault.setEquipmentCard(card);
}
if (doings.getJSONObject(i).opt("insertUser")!=null&&!doings.getJSONObject(i).opt("insertUser").toString().equals("null")&&doings.getJSONObject(i).opt("insertUser").toString().length()>0) {
JSONObject capt = new JSONObject(doings.getJSONObject(i).opt("insertUser").toString());
doing_fault.setInsuser(capt.getString("caption"));
}else {
doing_fault.setInsuser("");
}
if (doings.getJSONObject(i).opt("todoTask")!=null&&!doings.getJSONObject(i).opt("todoTask").toString().equals("null")&&doings.getJSONObject(i).opt("todoTask").toString().length()>0) {
JSONArray todos = new JSONArray(doings.getJSONObject(i).opt("todoTask").toString());
JSONObject capt = new JSONObject(todos.get(0).toString());
JSONObject todo = new JSONObject(capt.opt("task").toString());
if (todo.opt("status")!=null&&todo.opt("status").toString().length()>0){
if (todo.opt("status").toString().contains("handle")){
if (todo.optString("name").contains("验收")){
doing_fault.setTaskId(todo.opt("id").toString());
doing_fault.setTodoTask("验收中");
}else {
if (capt.opt("assigneeUser")!=null&&!capt.opt("assigneeUser").toString().equals("null")&&capt.opt("assigneeUser").toString().length()>0) {
doing_fault.setTaskId(todo.opt("id").toString());
doing_fault.setTodoTask("执行中");
}else {
doing_fault.setTaskId(todo.opt("id").toString());
doing_fault.setTodoTask("待签收");
}
}
}else if (todo.opt("status").toString().contains("audit")){
doing_fault.setTaskId(todo.optString("id"));
doing_fault.setTodoTask(todo.optString("name"));
}
}
JSONObject pine = new JSONObject(capt.opt("processInstance").toString());
doing_fault.setProcessInstanceId(pine.opt("id").toString());
}
doing_fault.setInsdt(doings.getJSONObject(i).opt("insdt").toString());
doing_fault.setPlannedenddt(doings.getJSONObject(i).opt("plannedenddt").toString());
list.add(doing_fault);
}
}else if (type.equals("1")) {
JSONArray dones = new JSONArray(jsonObject.getString("content1"));
for (int i=0;i<dones.length();i++){
Fault done_fault = new Fault();
done_fault.setId(dones.getJSONObject(i).opt("id").toString());
if (dones.getJSONObject(i).opt("processSection")!=null&&!dones.getJSONObject(i).opt("processSection").toString().equals("null")&&dones.getJSONObject(i).opt("processSection").toString().length()>0) {
JSONObject area = new JSONObject(dones.getJSONObject(i).opt("processSection").toString());
ProcessSection proc = new ProcessSection();
proc.setSid(area.optString("id"));
proc.setName(area.optString("name"));
done_fault.setProcessSection(proc);
}else {
ProcessSection proc = new ProcessSection();
proc.setSid("");
proc.setName("");
done_fault.setProcessSection(proc);
}
done_fault.setProblemTypeNames(dones.getJSONObject(i).opt("problemTypeNames").toString());
done_fault.setProblemcontent(dones.getJSONObject(i).opt("problemcontent").toString());
done_fault.setPlanMoney(dones.getJSONObject(i).opt("planMoney").toString());
if (dones.getJSONObject(i).opt("equipmentCard")!=null&&dones.getJSONObject(i).opt("equipmentCard").toString().length()>0&&!dones.getJSONObject(i).opt("equipmentCard").toString().equals("null")) {
EquList card = new EquList();
JSONObject equ = new JSONObject(dones.getJSONObject(i).opt("equipmentCard").toString());
card.setEquipmentname(equ.opt("equipmentname").toString());
card.setEquipmentcardid(equ.opt("equipmentcardid").toString());
done_fault.setEquipmentCard(card);
}else {
EquList card = new EquList();
card.setEquipmentname("");
card.setEquipmentcardid("");
done_fault.setEquipmentCard(card);
}
if (dones.getJSONObject(i).opt("insertUser")!=null&&!dones.getJSONObject(i).optString("insertUser").equals("null")&&dones.getJSONObject(i).optString("insertUser").length()>0) {
JSONObject capt = new JSONObject(dones.getJSONObject(i).optString("insertUser"));
done_fault.setInsuser(capt.optString("caption"));
}else {
done_fault.setInsuser("");
}
done_fault.setTodoTask("任务完成");
done_fault.setInsdt(dones.getJSONObject(i).optString("insdt"));
done_fault.setEquipmentOpinion(dones.getJSONObject(i).optString("equipmentOpinion"));
done_fault.setPlanMoney(dones.getJSONObject(i).optString("planMoney"));
done_fault.setPlannedenddt(dones.getJSONObject(i).optString("plannedenddt"));
done_fault.setMaterialOpinion(dones.getJSONObject(i).optString("materialOpinion"));
done_fault.setQualityOpinion(dones.getJSONObject(i).optString("qualityOpinion"));
list.add(done_fault);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private void changeColor(TextView tv) {
tv_backlog.setTextColor(getResources().getColor(R.color.gray03));
tv_faultlist.setTextColor(getResources().getColor(R.color.gray03));
tv_wwlist.setTextColor(getResources().getColor(R.color.gray03));
tv.setTextColor(getResources().getColor(R.color.text_blue));
}
}

View File

@ -0,0 +1,22 @@
package com.sipai.jspatrol.Main.fragment.faultfragment;
import com.sipai.jspatrol.Bean.BaseEntity;
/**
* created by lvliming on 2019/9/16
*/
public interface FaultFragmentContract {
interface Model{
}
interface View<T extends BaseEntity>{
}
interface Presenter<T extends BaseEntity>{
}
}

View File

@ -0,0 +1,18 @@
package com.sipai.jspatrol.Main.fragment.faultfragment;
import com.sipai.jspatrol.Base.BaseFragmentModel;
/**
* created by lvliming on 2019/9/16
*/
public class FaultFragmentModel extends BaseFragmentModel<FaultFragmentPresenter, FaultFragmentContract.Model> {
public FaultFragmentModel(FaultFragmentPresenter mainFragmentPresenter) {
super(mainFragmentPresenter);
}
@Override
public FaultFragmentContract.Model getContract() {
return null;
}
}

View File

@ -0,0 +1,19 @@
package com.sipai.jspatrol.Main.fragment.faultfragment;
import com.sipai.jspatrol.Base.BaseFragmentPresenter;
/**
* created by lvliming on 2019/9/16
*/
public class FaultFragmentPresenter extends BaseFragmentPresenter<FaultFragment, FaultFragmentModel, FaultFragmentContract.Presenter> {
@Override
public FaultFragmentContract.Presenter getContract() {
return null;
}
@Override
public FaultFragmentModel getModel() {
return new FaultFragmentModel(this);
}
}

View File

@ -0,0 +1,233 @@
package com.sipai.jspatrol.Main.fragment.fifthFragment;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.sipai.jspatrol.Base.ActivityCollector;
import com.sipai.jspatrol.Base.BaseFragmentView;
import com.sipai.jspatrol.Login.LoginActivity;
import com.sipai.jspatrol.NFC.NFCGuideActivity;
import com.sipai.jspatrol.Patrol.ProPatrolTaskListActivity;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.Service.IPatrolService;
import com.sipai.jspatrol.URL.GuideMenuUrl;
import com.sipai.jspatrol.Webv.GuideMenuActivity;
import com.sipai.jspatrol.Webv.GuideMenuLandscapeActivity;
import com.sipai.jspatrol.background.locationservice.LocationService;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import java.util.HashMap;
import cn.pedant.SweetAlert.SweetAlertDialog;
import static android.content.Context.MODE_PRIVATE;
/**
* created by lvliming on 2019/9/16
*/
public class FifthFragment extends BaseFragmentView<FifthFragmentPresenter, FifthFragmentContract.View> implements View.OnClickListener {
private SharedPreferencesData sharedpre;
private HashMap<String, String> map_base = new HashMap<>();
private String mServer;
private String ip_in_plant = "", ip_off_site = "";//厂内厂外ip地址
private String mCaption;
private String mBizid;
private String mTotaltime;
private String mLastlogintime;
private String nfc;
private RelativeLayout rl_screen;
private TextView tv_name,tv_totaltime,tv_lastlogin;
private LinearLayout ll_about,ll_switch,ll_exit,ll_video;
private Button btn_sub,btn_catch;
private TextView tv_shift_record;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_fifth,container,false);
init();
initView(view);
return view;
}
private void initView(View view) {
tv_name = view.findViewById(R.id.moudle_fifth_fg_tv_name);
showText(tv_name,mCaption);
tv_totaltime = view.findViewById(R.id.moudle_fifth_fg_tv_totaltime);
showText(tv_totaltime,"登录时长: "+mTotaltime+" 小时");
tv_lastlogin = view.findViewById(R.id.moudle_fifth_fg_tv_lastlogin);
showText(tv_lastlogin,"上次登录: "+mLastlogintime);
ll_about = view.findViewById(R.id.moudle_fifth_fg_ll_about);
ll_about.setOnClickListener(this);
ll_switch = view.findViewById(R.id.moudle_fifth_fg_ll_switch);
ll_switch.setOnClickListener(this);
ll_exit = view.findViewById(R.id.moudle_fifth_fg_ll_exit);
ll_exit.setOnClickListener(this);
ll_video = view.findViewById(R.id.moudle_fifth_fg_ll_nfc);
ll_video.setOnClickListener(this);
if (!nfc.equals("true")){
ll_video.setVisibility(View.GONE);
}
btn_sub = view.findViewById(R.id.moudle_fifth_fg_btn_sub);
btn_sub.setOnClickListener(this);
btn_catch = view.findViewById(R.id.moudle_fifth_fg_btn_catch);
btn_catch.setOnClickListener(this);
tv_shift_record = view.findViewById(R.id.moudle_fifth_fg_tv_shift_record);
tv_shift_record.setOnClickListener(this);
}
private void showText(final TextView tv, String st) {
if (tv!=null&&st!=null){
if (st.isEmpty()){
st = "";
}
if (!getActivity().isFinishing()){
final String finalSt = st;
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
tv.setText(finalSt);
}
});
}
}
}
private void init() {
sharedpre = new SharedPreferencesData(getActivity());
map_base = sharedpre.getAll();
ip_in_plant = map_base.get("ip_in_plant");
ip_off_site = map_base.get("ip_off_site");
mServer = map_base.get("mServer");
mCaption = map_base.get("mCaption");
mTotaltime = map_base.get("mTotaltime");
mLastlogintime = map_base.get("mLastlogintime");
SharedPreferences sharedPre=getActivity().getSharedPreferences("config", MODE_PRIVATE);
mBizid = sharedPre.getString("bizid", "");
nfc=sharedPre.getString("nfc", "");
}
@Override
public FifthFragmentContract.View getContract() {
return null;
}
@Override
public FifthFragmentPresenter getPresenter() {
return new FifthFragmentPresenter();
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.moudle_fifth_fg_tv_shift_record:
GuideMenuLandscapeActivity.actionStart(getActivity(), GuideMenuUrl.url_shift_record+"?unitId="+mBizid, GuideMenuUrl.name_shift_record);
break;
case R.id.moudle_fifth_fg_btn_sub:
GuideMenuActivity.actionStart(getActivity(), GuideMenuUrl.url_sub+"?unitId="+mBizid, GuideMenuUrl.name_sub);
break;
case R.id.moudle_fifth_fg_btn_catch:
GuideMenuActivity.actionStart(getActivity(), GuideMenuUrl.url_catch+"?unitId="+mBizid, GuideMenuUrl.name_catch);
break;
case R.id.moudle_fifth_fg_ll_about:
// Intent intent = new Intent(getActivity(), AboutOfSoftwareActivity.class);
// startActivity(intent);
break;
case R.id.moudle_fifth_fg_ll_switch:
showDialog("switch");
break;
case R.id.moudle_fifth_fg_ll_exit:
showDialog("exit");
break;
case R.id.moudle_fifth_fg_ll_nfc:
if (nfc.equals("true")){
Intent intent = new Intent(getActivity(), NFCGuideActivity.class);
startActivity(intent);
}else {
showToast("请联系管理员开放此权限");
}
// Intent intent_video = new Intent(getActivity(), CameraListActivity.class);
// startActivity(intent_video);
// Intent intent_video = new Intent(getActivity(), HKWSActivity.class);
// startActivity(intent_video);
break;
}
}
private void showToast(String s) {
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getActivity(), s, Toast.LENGTH_LONG).show();
}
});
}
}
private void showDialog(String st) {
if (!getActivity().isFinishing()){
if (st.equals("switch")){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(getActivity(), SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("是否确认切换用户?")
.setConfirmText("切换")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
sharedpre.removePwd();
getActivity().finish();
Intent intent = new Intent(getActivity(), LoginActivity.class);
getActivity().startActivity(intent);
}
}).setCancelText("取消").show();
}
});
}else if (st.equals("exit")){
new SweetAlertDialog(getActivity(), SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("是否确认退出?")
.setConfirmText("退出")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
Intent intent = new Intent(getActivity(), IPatrolService.class);
getActivity().stopService(intent);
Intent intent_loc = new Intent(getActivity(), LocationService.class);
getActivity().stopService(intent_loc);
sweetAlertDialog.dismissWithAnimation();
ActivityCollector.finishAll();
}
}).setCancelText("取消").show();
}
}
}
}

View File

@ -0,0 +1,22 @@
package com.sipai.jspatrol.Main.fragment.fifthFragment;
import com.sipai.jspatrol.Bean.BaseEntity;
/**
* created by lvliming on 2019/9/16
*/
public interface FifthFragmentContract {
interface Model{
}
interface View<T extends BaseEntity>{
}
interface Presenter<T extends BaseEntity>{
}
}

View File

@ -0,0 +1,18 @@
package com.sipai.jspatrol.Main.fragment.fifthFragment;
import com.sipai.jspatrol.Base.BaseFragmentModel;
/**
* created by lvliming on 2019/9/16
*/
public class FifthFragmentModel extends BaseFragmentModel<FifthFragmentPresenter, FifthFragmentContract.Model> {
public FifthFragmentModel(FifthFragmentPresenter mainFragmentPresenter) {
super(mainFragmentPresenter);
}
@Override
public FifthFragmentContract.Model getContract() {
return null;
}
}

View File

@ -0,0 +1,19 @@
package com.sipai.jspatrol.Main.fragment.fifthFragment;
import com.sipai.jspatrol.Base.BaseFragmentPresenter;
/**
* created by lvliming on 2019/9/16
*/
public class FifthFragmentPresenter extends BaseFragmentPresenter<FifthFragment, FifthFragmentModel, FifthFragmentContract.Presenter> {
@Override
public FifthFragmentContract.Presenter getContract() {
return null;
}
@Override
public FifthFragmentModel getModel() {
return new FifthFragmentModel(this);
}
}

View File

@ -0,0 +1,801 @@
package com.sipai.jspatrol.Main.fragment.mainfragment;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.gigamole.navigationtabstrip.NavigationTabStrip;
import com.sipai.jspatrol.Alarm.AlarmListActivity;
import com.sipai.jspatrol.Base.BaseFragmentView;
import com.sipai.jspatrol.Bean.Biz;
import com.sipai.jspatrol.Bean.MainTab;
import com.sipai.jspatrol.Bean.Measuringpoint;
import com.sipai.jspatrol.Bean.Message;
import com.sipai.jspatrol.Bean.Patrol;
import com.sipai.jspatrol.Bean.PatrolModel;
import com.sipai.jspatrol.Equ.EquSearchActivity;
import com.sipai.jspatrol.Fault.NewFaultActivity;
import com.sipai.jspatrol.Message.MessageAdapter;
import com.sipai.jspatrol.MonitorScreen.MonitorScreenListActivity;
import com.sipai.jspatrol.Patrol.ProPatrolTaskListActivity;
import com.sipai.jspatrol.PointAnalysis.SelPointListActivity;
import com.sipai.jspatrol.PointAnalysis.SolutionListActivity;
import com.sipai.jspatrol.ProMonitoring.MeasurePointsAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.Service.IPatrolService;
import com.sipai.jspatrol.Statement.StatementTypeActivity;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.Webv.GuideMenuActivity;
import com.sipai.jspatrol.URL.GuideMenuUrl;
import com.sipai.jspatrol.utils.BroadCastManager;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.jspatrol.utils.SharedPreferencesData;
import com.sipai.jspatrol.utils.okHttpCookie.CookiesManager;
import com.sipai.ui.EmptyLayout;
import com.sipai.ui.bizPopWindow.CustomListPopupWindow;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import cn.pedant.SweetAlert.SweetAlertDialog;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import static android.content.Context.MODE_PRIVATE;
import static com.sipai.jspatrol.Service.IPatrolService.update_biz;
/**
* created by lvliming on 2020/6/16
* 主页
*/
public class MainFragment extends BaseFragmentView<MainFragmentPresenter, MainFragmentContract.View> implements View.OnClickListener, CustomListPopupWindow.ItemClickCallBack {
private SharedPreferencesData sharedpre;
private HashMap<String, String> map_key_msg = new HashMap<>();
private HashMap<String, String> map_base = new HashMap<>();
private String mServer;
private String mUserid;
private String ip_in_plant = "", ip_off_site = "";//厂内厂外ip地址
private SweetAlertDialog pDialog;
private RelativeLayout rl_patrol,rl_equ_search;
private BroadcastReceiver mReceiver,pointReceiver;
private List<Patrol> patrols = new ArrayList<>();
private TextView tv_duration, tv_task_name;
private TextView tv_all, tv_unsub, tv_sub;
private String all;
private String unsub;
private String sub;
private List<Message> msgs = new ArrayList<>();
private RecyclerView rc_msg;
private MessageAdapter msgAdapter;
private LinearLayoutManager manager;
private RelativeLayout rl_file,rl_wz,rl_backlog,rl_alarm,rl_statement,rl_monitor_screen,rl_sel_point,rl_solution;
private TextView tv_biz;
CustomListPopupWindow mPopupWindow;
private CustomListPopupWindow.ItemClickCallBack mCallBack;
private String mCheckedUId="";
private Context mContext;
private String bizs;
private List<Biz> bizList = new ArrayList<>();
private String mBizName;
private String mBizid;
private NavigationTabStrip tab;
// private List<String> tab_title = Arrays.asList(new String[]{"进水", "出水", "液位"});
private String[] tab_title;
private List<MainTab> mainTabs = new ArrayList<>();
private List<Measuringpoint> points = new ArrayList<>();
private MeasurePointsAdapter pointlistadapter;
private EmptyLayout emptyLayout;
private List<Patrol> daily_patrols = new ArrayList<>();
private String patrolType;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_main, container, false);
mCallBack=this;
mContext=getActivity();
init();
initView(view);
initBroadcast();
getTab();
return view;
}
@Override
public void onResume() {
super.onResume();
getPatrolTask();
}
private void getTab() {
HashMap<String,String> map = new HashMap<>();
map.put("unitId",mBizid);
OKHttpUtils.OKCall(map, mServer, MethodURL.GetMainTab_Method).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
showDialog("标签获取失败,请重试");
noPoint();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res.contains("code")&&res.contains("msg")&&res.contains("result")){
mainTabs = parseMainTab(res);
if (mainTabs.size()>0){
tab_title = new String[mainTabs.size()];
for (int i=0;i<mainTabs.size();i++){
tab_title[i] = mainTabs.get(i).getSname();
}
updateTab();
}else {
showDialog("请至平台配置首页标签");
noPoint();
}
}else {
showDialog("标签获取失败,请重试");
noPoint();
}
}
});
}
private void noPoint() {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
rc_msg.setVisibility(View.GONE);
emptyLayout.setVisibility(View.VISIBLE);
}
});
}
}
}
private void updateTab() {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
tab.setTitles(tab_title);
if (tab_title.length>0){
tab.setTabIndex(0);
getTabPointList(mainTabs.get(0).getId());
}
}
});
}
}
}
private List<MainTab> parseMainTab(String res) {
List<MainTab> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(res);
JSONArray array = jsonObject.getJSONArray("result");
for (int i=0;i<array.length();i++){
MainTab item = new MainTab();
item.setId(array.getJSONObject(i).optString("id"));
item.setName(array.getJSONObject(i).optString("name"));
item.setSname(array.getJSONObject(i).optString("sname"));
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private void getMsgs() {
HashMap<String,String> map = new HashMap<>();
map.put("page","1");
map.put("rows","50");
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GetMsgList_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
// showError(a);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res.contains("rows")&&res.contains("total")){
msgs = parseMsgs(res);
updateMsgs();
}
}
});
}
private void updateMsgs() {
if (isAdded()) {
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (msgs.size() > 0) {
manager = new LinearLayoutManager(getActivity());
rc_msg.setLayoutManager(manager);
msgAdapter = new MessageAdapter(msgs);
rc_msg.setAdapter(msgAdapter);
}
}
});
}
}
}
private List<Message> parseMsgs(String res) {
List<Message> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(res);
JSONArray array = jsonObject.getJSONArray("rows");
if (array.length()>0){
for (int i=0;i<array.length();i++){
Message item = new Message();
item.setId(array.getJSONObject(i).optString("id"));
item.setContent(array.getJSONObject(i).optString("content"));
item.setRedflag(array.getJSONObject(i).optString("redflag"));
item.setSdt(array.getJSONObject(i).optString("sdt"));
list.add(item);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private void initBroadcast() {
IntentFilter filter_nv = new IntentFilter();
filter_nv.addAction(IPatrolService.update_newvalue);
pointReceiver = new NewValueReceiver();
BroadCastManager.getInstance().registerReceiver(getActivity(), pointReceiver, filter_nv);
IntentFilter filter = new IntentFilter();
filter.addAction(IPatrolService.update_task);
mReceiver = new NowTaskReceiver();
BroadCastManager.getInstance().registerReceiver(getActivity(), mReceiver, filter);
}
/**
* 更新数据广播
*/
class NewValueReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
String nValue = intent.getStringExtra("newvalue");
parsenValue(nValue);
} catch (Exception e) {
}
}
}
private void parsenValue(String nValue) {
int cou=0;
try {
JSONArray array = new JSONArray(nValue);
for (int i=0;i<array.length();i++){
for (int a=0;a<points.size();a++){
if (points.get(a).getSid().equals(array.getJSONObject(i).optString("id"))){
cou+=1;
points.get(a).setCvalue(array.getJSONObject(i).optString("parmvalue"));
}
}
}
if (cou>0) {
pointlistadapter.setData(points);
updateNValue();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
private void updateNValue() {
if (isAdded()&&!getActivity().isFinishing()){
getActivity().runOnUiThread(()->{
pointlistadapter.notifyDataSetChanged();
});
}
}
@Override
public void callBack(Biz biz) {
mCheckedUId=biz.getBizid();
final String name = biz.getName();
saveBizid(getActivity(),mCheckedUId,name);
if (isAdded()) {
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
tv_biz.setText(name);
mPopupWindow.dismiss();
}
});
}
}
getTab();
}
private void saveBizid(Context context,String bizid, String name) {
//获取SharedPreferences对象
SharedPreferences sharedPre=context.getSharedPreferences("config", MODE_PRIVATE);
//获取Editor对象
SharedPreferences.Editor editor=sharedPre.edit();
//设置参数
editor.putString("bizid", bizid);
editor.putString("bizname",name);
//提交
editor.commit();
mBizid=sharedPre.getString("bizid", "");
mBizName = sharedPre.getString("bizname","");
Intent intent = new Intent(update_biz);
getActivity().sendBroadcast(intent);
}
class NowTaskReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
patrols = (List<Patrol>) intent.getSerializableExtra("tasks");
all = intent.getStringExtra("all");
unsub = intent.getStringExtra("unsub");
sub = intent.getStringExtra("sub");
updatePatrols();
} catch (Exception e) {
}
}
}
private void updatePatrols() {
if (isAdded()){
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
tv_all.setText(all);
tv_unsub.setText(unsub);
tv_sub.setText(sub);
if (patrols.size() > 0) {
if (patrols.get(0).getStartTime().length()>15&&patrols.get(0).getEndTime().length()>15) {
tv_duration.setText("(" + patrols.get(0).getStartTime().substring(5, 16) + " -- " + patrols.get(0).getEndTime().substring(5, 16) + ")");
}
if (patrols.get(0).getName()!=null&&!patrols.get(0).getName().isEmpty()) {
tv_task_name.setText(patrols.get(0).getName());
}
} else {
tv_duration.setText("");
tv_duration.setText("暂无任务");
}
}
});
}
}
}
private void initView(View view) {
pDialog = new SweetAlertDialog(getActivity(), SweetAlertDialog.PROGRESS_TYPE);
pDialog.getProgressHelper().setBarColor(Color.parseColor("#419DE4"));
pDialog.setCancelable(true);
pDialog.setCanceledOnTouchOutside(true);
tab = view.findViewById(R.id.moudle_fg_main_tab);
tab.setOnTabStripSelectedIndexListener(new NavigationTabStrip.OnTabStripSelectedIndexListener() {
@Override
public void onStartTabSelected(String title, int index) {
getTabPointList(mainTabs.get(index).getId());
}
@Override
public void onEndTabSelected(String title, int index) {
}
});
emptyLayout = view.findViewById(R.id.moudle_main_fg_ui_empty);
emptyLayout.setOnClickListener(this);
rl_sel_point = view.findViewById(R.id.moudle_main_fg_rl_sel_point);
rl_sel_point.setOnClickListener(this);
rl_solution = view.findViewById(R.id.moudle_main_fg_rl_solution);
rl_solution.setOnClickListener(this);
rl_alarm = view.findViewById(R.id.moudle_main_fg_rl_alarm);
rl_alarm.setOnClickListener(this);
rl_patrol = view.findViewById(R.id.moudle_fg_main_rl_patrol);
rl_patrol.setOnClickListener(this);
rl_equ_search = view.findViewById(R.id.moudle_main_fg_rl_equ_search);
rl_equ_search.setOnClickListener(this);
rl_statement = view.findViewById(R.id.moudle_main_fg_rl_statement);
rl_statement.setOnClickListener(this);
tv_duration = view.findViewById(R.id.moudle_fg_main_tv_duration);
tv_task_name = view.findViewById(R.id.moudle_fg_main_tv_task_name);
tv_all = view.findViewById(R.id.moudle_main_fg_task_all);
tv_unsub = view.findViewById(R.id.moudle_main_fg_task_unsub);
tv_sub = view.findViewById(R.id.moudle_main_fg_task_sub);
rc_msg = view.findViewById(R.id.moudle_main_fg_rc_msg);
manager = new LinearLayoutManager(getActivity());
rc_msg.setLayoutManager(manager);
rl_monitor_screen = view.findViewById(R.id.moudle_main_fg_rl_monitor_screen);
rl_monitor_screen.setOnClickListener(this);
// rl_file = view.findViewById(R.id.moudle_main_fg_rl_file);
// rl_file.setOnClickListener(this);
rl_backlog = view.findViewById(R.id.moudle_main_fg_rl_backlog);
rl_backlog.setOnClickListener(this);
tv_biz = view.findViewById(R.id.moudle_fg_main_tv_bizname);
tv_biz.setText(mBizName);
tv_biz.setOnClickListener(this);
}
private void getTabPointList(String id) {
HashMap<String,String> map = new HashMap<>();
map.put("page","1");
map.put("rows","100");
map.put("unitId",mBizid);
map.put("pid",id);
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GetMainTabPointList_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
// showError(a);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res!=null&&!res.isEmpty()&&!res.contains("html")){
points = parsePoints(res);
if (points.size()>0) {
updatePoints();
}else {
showDialog("请至平台配置关联测量点");
noPoint();
}
}else {
showDialog("测量点获取失败,请重试");
noPoint();
}
}
});
}
private void updatePoints() {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
emptyLayout.setVisibility(View.GONE);
rc_msg.setVisibility(View.VISIBLE);
pointlistadapter = new MeasurePointsAdapter(getActivity(),points);
rc_msg.setAdapter(pointlistadapter);
}
});
}
}
}
private List<Measuringpoint> parsePoints(String res) {
List<Measuringpoint> list = new ArrayList<>();
try {
JSONArray array = new JSONArray(res);
for (int i=0;i<array.length();i++){
Measuringpoint item = new Measuringpoint();
JSONObject js = array.getJSONObject(i).getJSONObject("mPoint");
item.setSid(js.optString("id"));
item.setName(js.opt("parmname").toString());
item.setUnit(js.opt("unit").toString());
item.setCvalue(js.opt("parmvalue").toString());
item.setType(js.optString("signaltype"));
item.setScadacode(js.opt("id").toString());
item.setAlarmmax(js.opt("alarmmax").toString());
item.setAlarmmin(js.opt("alarmmin").toString());
item.setUnitId(js.optString("bizid"));
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private void init() {
sharedpre = new SharedPreferencesData(getActivity());
map_base = sharedpre.getAll();
ip_in_plant = map_base.get("ip_in_plant");
ip_off_site = map_base.get("ip_off_site");
mServer = map_base.get("mServer");
mUserid = map_base.get("mUserid");
SharedPreferences sharedPreferences = getActivity().getSharedPreferences("config",MODE_PRIVATE);
patrolType = sharedPreferences.getString("patrolTypeId","");
bizs = sharedPreferences.getString("biz","");
bizList = parseBiz(bizs);
mBizid = sharedPreferences.getString("bizid","");
mBizName = sharedPreferences.getString("bizname","");
}
private List<Biz> parseBiz(String result) {
List<Biz> list = new ArrayList<>();
try {
JSONArray array = new JSONArray(result);
for (int i=0;i<array.length();i++){
Biz item = new Biz();
item.setId(array.getJSONObject(i).optString("id"));
item.setBizid(array.getJSONObject(i).optString("id"));
item.setName(array.getJSONObject(i).optString("text"));
list.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
return list;
}
return list;
}
private void showMsgFinish() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
pDialog.hide();
}
});
}
private void showMsgDialog() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
initDialog("数据获取中...");
pDialog.show();
}
});
}
private void initDialog(String st) {
pDialog.setTitleText(st);
}
@Override
public MainFragmentContract.View getContract() {
return new MainFragmentContract.View() {
};
}
private void showDialog(final String st) {
if (isAdded()){
if (!getActivity().isFinishing()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(getActivity(),SweetAlertDialog.WARNING_TYPE)
.setTitleText("注意")
.setContentText(st)
.setConfirmText("确定")
.show();
}
});
}
}
}
@Override
public MainFragmentPresenter getPresenter() {
return new MainFragmentPresenter();
}
@Override
public void onDestroy() {
super.onDestroy();
BroadCastManager.getInstance().unregisterReceiver(getActivity(),mReceiver);
BroadCastManager.getInstance().unregisterReceiver(getActivity(),pointReceiver);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.moudle_main_fg_rl_sel_point:
Intent intent = new Intent(getActivity(), SelPointListActivity.class);
getActivity().startActivity(intent);
break;
case R.id.moudle_main_fg_rl_solution:
Intent intent_solution = new Intent(getActivity(), SolutionListActivity.class);
getActivity().startActivity(intent_solution);
break;
case R.id.moudle_main_fg_rl_alarm:
AlarmListActivity.actionStart(getActivity());
break;
case R.id.moudle_main_fg_ui_empty:
if (mainTabs.size()>0){
getTabPointList(mainTabs.get(tab.getTabIndex()).getId());
}else {
getTab();
}
break;
case R.id.moudle_main_fg_rl_backlog:
NewFaultActivity.actionStart(getActivity(),"","","");
// GuideMenuActivity.actionStart(getActivity(), GuideMenuUrl.url_backlog, GuideMenuUrl.name_backlog);
// GuideMenuActivity.actionStart(getActivity(), GuideMenuUrl.url_subfault+"unitId="+mBizid, GuideMenuUrl.name_subfault);
break;
case R.id.moudle_main_fg_rl_monitor_screen:
Intent intent_ms = new Intent(getActivity(), MonitorScreenListActivity.class);
startActivity(intent_ms);
break;
// case R.id.moudle_main_fg_rl_file:
// GuideMenuActivity.actionStart(getActivity(), GuideMenuUrl.url_technical_file, GuideMenuUrl.name_technical_file);
// break;
case R.id.moudle_fg_main_rl_patrol:
Intent intent_patrol = new Intent(getActivity(), ProPatrolTaskListActivity.class);
startActivity(intent_patrol);
break;
case R.id.moudle_main_fg_rl_equ_search:
EquSearchActivity.actionStart(getActivity());
break;
case R.id.moudle_fg_main_tv_bizname:
mPopupWindow=new CustomListPopupWindow(mContext, bizList,mCheckedUId, mCallBack);
mPopupWindow.showAsDropDown(tv_biz);
break;
case R.id.moudle_main_fg_rl_statement:
Intent intent_statement = new Intent(getActivity(), StatementTypeActivity.class);
startActivity(intent_statement);
break;
}
}
private void getPatrolTask() {
HashMap<String,String> map = new HashMap<>();
map.put("unitId",mBizid);
map.put("userIds",mUserid);
map.put("bizid",mBizid);
map.put("type","P");
OKHttpUtils.OKCallGet(map, mServer, MethodURL.GetPatrolList_Method).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (!res.contains("fail")&&res.contains("allNum")) {
daily_patrols = getDailyPatrols(res);
if (daily_patrols.size()>0){
List<Patrol> nowPatrols = checkPatrols(daily_patrols);
patrols = nowPatrols;
if (nowPatrols.size()==0){
Patrol patrol = new Patrol();
patrol.setContent("暂无任务");
patrol.setEndTime("");
patrol.setName("暂无任务");
patrol.setStartTime("");
nowPatrols.add(patrol);
}
updatePatrols();
}
}
}
});
}
private List<Patrol> getDailyPatrols(String response) {
List<Patrol> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(response);
all = jsonObject.opt("allNum").toString();
unsub = jsonObject.opt("inCompleteNum").toString();
sub = jsonObject.opt("completeNum").toString();
JSONArray arry = new JSONArray(jsonObject.optString("content1"));
for (int i=0;i<arry.length();i++){
Patrol patrol = new Patrol();
patrol.setBizid(arry.getJSONObject(i).opt("bizId").toString());
patrol.setContent(arry.getJSONObject(i).opt("content").toString());
patrol.setEndTime(arry.getJSONObject(i).opt("endTime").toString());
patrol.setSid(arry.getJSONObject(i).opt("id").toString());
patrol.setName(arry.getJSONObject(i).opt("name").toString());
patrol.setPatrolArea(arry.getJSONObject(i).opt("patrolArea").toString());
patrol.setPatrolAreaId(arry.getJSONObject(i).opt("patrolAreaId").toString());
patrol.setPatrolModelId(arry.getJSONObject(i).opt("patrolModelId").toString());
patrol.setPatrolPlanId(arry.getJSONObject(i).opt("patrolPlanId").toString());
patrol.setStartTime(arry.getJSONObject(i).opt("startTime").toString());
patrol.setStatus(arry.getJSONObject(i).opt("status").toString());
patrol.setType(arry.getJSONObject(i).opt("type").toString());
patrol.setWorkResult(arry.getJSONObject(i).opt("workResult").toString());
patrol.setWorker(arry.getJSONObject(i).opt("worker").toString());
patrol.setWorkerId(arry.getJSONObject(i).opt("workerId").toString());
patrol.setPatrolType(patrolType);
PatrolModel patrolModel = new PatrolModel();
if (arry.getJSONObject(i).opt("patrolModel")!=null&&!arry.getJSONObject(i).opt("patrolModel").toString().equals("null")) {
JSONObject js = new JSONObject(arry.getJSONObject(i).opt("patrolModel").toString());
patrolModel.setSid(js.opt("id").toString());
patrolModel.setActive(js.opt("active").toString());
patrolModel.setBizId(js.opt("bizId").toString());
patrolModel.setDefaultFlag(js.opt("defaultFlag").toString());
patrolModel.setName(js.opt("name").toString());
patrolModel.setType(js.opt("type").toString());
patrolModel.setWhere(js.opt("where").toString());
patrol.setPatrolModel(patrolModel);
}else {
patrolModel.setSid("");
patrolModel.setActive("");
patrolModel.setBizId("");
patrolModel.setDefaultFlag("");
patrolModel.setName("");
patrolModel.setType("");
patrolModel.setWhere("");
patrol.setPatrolModel(patrolModel);
}
list.add(patrol);
}
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}
private List<Patrol> checkPatrols(List<Patrol> daily_patrols) {
List<Patrol> list = new ArrayList<>();
for (int i=0;i<daily_patrols.size();i++){
Patrol item = daily_patrols.get(i);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date curDate = new Date(System.currentTimeMillis());
Calendar cnow = Calendar.getInstance();
Calendar cstart = Calendar.getInstance();
Calendar cend = Calendar.getInstance();
int result = 0;
int result1 = 0;
try {
cnow.setTime(curDate);
cstart.setTime(df.parse(item.getStartTime()));
cend.setTime(df.parse(item.getEndTime()));
result = cnow.compareTo(cstart);
result1 = cnow.compareTo(cend);
if (result>=0&&result1<=0){
list.add(item);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
return list;
}
}

View File

@ -0,0 +1,21 @@
package com.sipai.jspatrol.Main.fragment.mainfragment;
import com.sipai.jspatrol.Bean.BaseEntity;
/**
* created by lvliming on 2019/9/16
*/
public interface MainFragmentContract {
interface Model{
}
interface View<T extends BaseEntity>{
}
interface Presenter<T extends BaseEntity>{
}
}

View File

@ -0,0 +1,25 @@
package com.sipai.jspatrol.Main.fragment.mainfragment;
import com.sipai.jspatrol.Base.BaseFragmentModel;
/**
* created by lvliming on 2019/9/16
*/
public class MainFragmentModel extends BaseFragmentModel<MainFragmentPresenter,MainFragmentContract.Model> {
private String result;
private int un;
public MainFragmentModel(MainFragmentPresenter mainFragmentPresenter) {
super(mainFragmentPresenter);
}
/**
* 获取系统消息
* @return
*/
@Override
public MainFragmentContract.Model getContract() {
return new MainFragmentContract.Model() {
};
}
}

View File

@ -0,0 +1,20 @@
package com.sipai.jspatrol.Main.fragment.mainfragment;
import com.sipai.jspatrol.Base.BaseFragmentPresenter;
/**
* created by lvliming on 2019/9/16
*/
public class MainFragmentPresenter extends BaseFragmentPresenter<MainFragment,MainFragmentModel,MainFragmentContract.Presenter> {
@Override
public MainFragmentContract.Presenter getContract() {
return new MainFragmentContract.Presenter() {
};
}
@Override
public MainFragmentModel getModel() {
return new MainFragmentModel(this);
}
}

View File

@ -0,0 +1,661 @@
package com.sipai.jspatrol.Main.fragment.promFragment;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.gigamole.navigationtabstrip.NavigationTabStrip;
import com.sipai.jspatrol.Base.BaseFragmentView;
import com.sipai.jspatrol.Bean.Area;
import com.sipai.jspatrol.Bean.Measuringpoint;
import com.sipai.jspatrol.ProMonitoring.MeasurePointsAdapter;
import com.sipai.jspatrol.R;
import com.sipai.jspatrol.Service.IPatrolService;
import com.sipai.jspatrol.URL.MethodURL;
import com.sipai.jspatrol.utils.BroadCastManager;
import com.sipai.jspatrol.utils.OKHttpUtils;
import com.sipai.ui.EmptyLayout;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import cn.pedant.SweetAlert.SweetAlertDialog;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
/**
* created by lvliming on 2019/9/16
*/
public class ProMFragment extends BaseFragmentView<ProMFragmentPresenter, ProMFragmentContract.View> implements View.OnClickListener{
private String mServer;
private String mUsername;
private String mPassword;
private String mUserid;
private String mCaption;
private String mBizid;
private String mGroup;
private String mGroup_com;
private String type_name = "";//type名称
private Spinner area_sp;//区域sp
private Spinner type_sp;//类别sp
private Button iv_refresh;
private BroadcastReceiver mReceiver;
private BroadcastReceiver iReceiver;
private BroadcastReceiver refreshReceiver;
private SwipeRefreshLayout refreshLayout;
private RecyclerView recyclerView;
private ArrayAdapter<String> typeadapter;
private static String[] types = {"全部信号","AI","DI"};
private ArrayAdapter<String> areaadapter;
private List<Area> areas = new ArrayList<>();
private List<String> areaname = new ArrayList<>();
private static final int AREAS = 1;
private static final int POINTS = 2;
private LinearLayoutManager manager;
//上一个界面传过来的标志,用于判断返回
private String b_mark;
private String area_id = "";
private List<Measuringpoint> points = new ArrayList<>();
private MeasurePointsAdapter pointlistadapter;
private SweetAlertDialog pDialog;
private int area_locate = 0;//标记所选工艺段的下标
private EmptyLayout emptyLayout;
private NavigationTabStrip tab;
private String[] tab_title = {"所有点","已收藏"};
private String name = "";
private int sel = 0;
private EditText edt_search;
private TextView tv_search,tv_show_search;
private LinearLayout ll_search;
private BroadcastReceiver pointReceiver;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case AREAS:
if (isAdded()) {
if (!getActivity().isFinishing()) {
refreshLayout.setRefreshing(false);
areaadapter = new ArrayAdapter<String>(getActivity(), R.layout.item_down, R.id.tv_down_sp, areaname);
area_sp.setAdapter(areaadapter);
area_sp.setSelection(area_locate);
}
}
break;
case POINTS:
if (isAdded()) {
if (!getActivity().isFinishing()) {
refreshLayout.setRefreshing(false);
if (points.size()>0) {
recyclerView.setVisibility(View.VISIBLE);
emptyLayout.setVisibility(View.GONE);
pointlistadapter = new MeasurePointsAdapter(getActivity(),points);
pointlistadapter.setOnCollecteListener(new MeasurePointsAdapter.onSwipeListener() {
@Override
public void onCollecte(int pos) {
if (!points.get(pos).getUserid().isEmpty()&&!points.get(pos).getUserid().equals("null")){
unCollectePoints(points.get(pos),pos);
}else {
collectePoints(points.get(pos),pos);
}
}
});
recyclerView.setAdapter(pointlistadapter);
}else {
recyclerView.setVisibility(View.GONE);
emptyLayout.setVisibility(View.VISIBLE);
}
}
}
break;
}
}
};
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_pro_m,container,false);
init();
initView(view);
initBroadcast();
// getarea();
return view;
}
private void initBroadcast() {
IntentFilter filter_nv = new IntentFilter();
filter_nv.addAction(IPatrolService.update_newvalue);
pointReceiver = new NewValueReceiver();
BroadCastManager.getInstance().registerReceiver(getActivity(), pointReceiver, filter_nv);
}
private void init() {
SharedPreferences sharedPre = getActivity().getSharedPreferences("config", 0);
mServer = sharedPre.getString("server", "");
mUsername = sharedPre.getString("username", "");
mPassword = sharedPre.getString("password", "");
mUserid = sharedPre.getString("userid", "");
mCaption = sharedPre.getString("caption", "");
mBizid = sharedPre.getString("bizid", "");
}
private void initView(View view) {
pDialog = new SweetAlertDialog(getActivity(), SweetAlertDialog.PROGRESS_TYPE);
pDialog.getProgressHelper().setBarColor(Color.parseColor("#419DE4"));
pDialog.setTitleText("搜索中...");
pDialog.setCancelable(false);
pDialog.setCanceledOnTouchOutside(false);
emptyLayout = view.findViewById(R.id.production_monitor_ui_empty);
edt_search = view.findViewById(R.id.production_monitor_edt_search);
ll_search = view.findViewById(R.id.moudle_pro_ll_search);
tv_search = view.findViewById(R.id.production_tv_search);
tv_search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// page=1;
getAllPoints(sel);
}
});
tv_show_search = view.findViewById(R.id.production_tv_show_search);
tv_show_search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (ll_search.getVisibility()==View.GONE){
tv_show_search.setText("隐藏");
ll_search.setVisibility(View.VISIBLE);
}else {
tv_show_search.setText("搜索");
edt_search.setText("");
ll_search.setVisibility(View.GONE);
}
}
});
type_sp = view.findViewById(R.id.production_monitor_type_sp);
typeadapter = new ArrayAdapter<String>(getActivity(),R.layout.item_down,R.id.tv_down_sp,types);
type_sp.setAdapter(typeadapter);
type_sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
type_name = types[position];
if (type_name.equals("全部信号")){
type_name="全部";
}
if (area_id!=null&&!area_id.isEmpty()) {
getAllPoints(sel);
}else {
area_id = "";
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
tab = view.findViewById(R.id.moudle_fg_pro_management_tab);
tab.setTitles(tab_title);
tab.setTabIndex(0);
tab.setOnTabStripSelectedIndexListener(new NavigationTabStrip.OnTabStripSelectedIndexListener() {
@Override
public void onStartTabSelected(String title, int index) {
sel = index;
getAllPoints(sel);
}
@Override
public void onEndTabSelected(String title, int index) {
}
});
pointlistadapter = new MeasurePointsAdapter(getActivity(),points);
manager = new LinearLayoutManager(getActivity());
area_sp = view.findViewById(R.id.production_monitor_area_sp);
iv_refresh = view.findViewById(R.id.production_iv_refresh);
iv_refresh.setOnClickListener(this);
refreshLayout = view.findViewById(R.id.production_monitor_refresh);
recyclerView = view.findViewById(R.id.production_monitor_recycleview);
recyclerView.setLayoutManager(manager);
recyclerView.setAdapter(pointlistadapter);
refreshLayout.setColorSchemeResources(R.color.blue);
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
getarea();
}
});
areaadapter = new ArrayAdapter<String>(getActivity(),R.layout.item_down,R.id.tv_down_sp,areaname);
area_sp.setAdapter(areaadapter);
area_sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// Toast.makeText(ProductionMonitorActivity.this, ""+areaname.get(position), Toast.LENGTH_SHORT).show();
if (areaname.get(position).equals("")||areas.size()<1) {
if (type_name != null && !type_name.isEmpty()) {
// getAllPoints();
}
}else {
area_id = areas.get(position).getId();
area_locate = position;
if (type_name != null && !type_name.isEmpty()) {
getAllPoints(sel);
}
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Toast.makeText(ProductionMonitorActivity.this, ""+areaname.get(0), Toast.LENGTH_SHORT).show();
// area_id = areas.get(0).getCode();
// getAllPoints();
}
});
}
@Override
public void onResume() {
super.onResume();
getarea();
}
@Override
public ProMFragmentContract.View getContract() {
return null;
}
@Override
public ProMFragmentPresenter getPresenter() {
return new ProMFragmentPresenter();
}
@Override
public void onDestroy() {
super.onDestroy();
BroadCastManager.getInstance().unregisterReceiver(getActivity(),pointReceiver);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.production_iv_refresh:
getarea();
break;
}
}
/**
* 更新数据广播
*/
class NewValueReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
String nValue = intent.getStringExtra("newvalue");
parsenValue(nValue);
} catch (Exception e) {
}
}
}
private void parsenValue(String nValue) {
int cou=0;
try {
JSONArray array = new JSONArray(nValue);
for (int i=0;i<array.length();i++){
for (int a=0;a<points.size();a++){
if (points.get(a).getSid().equals(array.getJSONObject(i).optString("id"))){
cou+=1;
points.get(a).setCvalue(array.getJSONObject(i).optString("parmvalue"));
}
}
}
if (cou>0) {
updatePoints();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
private void updatePoints() {
if (isAdded()&&!getActivity().isFinishing()){
getActivity().runOnUiThread(()->{
pointlistadapter.setData(points);
pointlistadapter.notifyDataSetChanged();
});
}
}
private void getarea() {
showDialog();
HashMap<String,String> map = new HashMap<>();
map.put("page","1");
map.put("rows","500");
map.put("search_code",mBizid);
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GETPSLISt_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
hideDialog();
String a = e.toString();
if (isAdded()) {
if (!getActivity().isFinishing()) {
refreshLayout.setRefreshing(false);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
new SweetAlertDialog(getActivity(), SweetAlertDialog.WARNING_TYPE)
.setTitleText("提示")
.setContentText("工艺段数据获取失败请重试!")
.setConfirmText("确认")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sweetAlertDialog) {
sweetAlertDialog.dismissWithAnimation();
getarea();
}
}).show();
}
});
}
}
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
Log.i("areaname", "onSuccess: "+response);
hideDialog();
areaname.clear();
areas = getAreaData(res);
Log.i("areaname", "onSuccess: "+areas.size());
if (areas!=null&&!areas.isEmpty()){
for (int i=0;i<areas.size();i++){
areaname.add(areas.get(i).getName());
}
}else {
areaname.add("");
}
Message message = new Message();
message.what = AREAS;
handler.sendMessage(message);
}
});
}
private List<Area> getAreaData(String response) {
List<Area> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray aNews = new JSONArray(jsonObject.getString("rows"));
if (aNews != null && aNews.length() > 0) {
for (int i = 0; i <aNews.length(); i++) {
Area item = new Area();
item.setId(aNews.getJSONObject(i).optString("id"));
item.setName(aNews.getJSONObject(i).optString("name"));
item.setCode(aNews.getJSONObject(i).optString("code"));
list.add(item);
}
}
} catch (JSONException ex) {
Log.e("JSON Error: ", ex.toString());
}
return list;
}
private void getAllPoints(int index) throws OutOfMemoryError{
if (edt_search.getText()!=null){
name = edt_search.getText().toString();
}
HashMap<String,String> map = new HashMap<>();
map.put("bizid",mBizid);//厂id
map.put("processSectionCode", area_id);//工艺段
map.put("isCollected",String.valueOf(index==1));
map.put("page","1");
map.put("userId",mUserid);
map.put("search_name",name);
map.put("rows","300");
map.put("type", type_name);//类型
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.GetAllCollectePoint_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
refreshLayout.setRefreshing(false);
Toast.makeText(getActivity(), "测量点刷新失败,请重试!", Toast.LENGTH_SHORT).show();
}
});
}
}
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
points = getAreaPoints(res,type_name);
Message message = new Message();
message.what = POINTS;
handler.sendMessage(message);
isShowEmpty();
}
});
}
private List<Measuringpoint> getAreaPoints(String response,String type) {
List<Measuringpoint> list = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray aNews = new JSONArray(jsonObject.getString("content1"));
if (aNews != null && aNews.length() > 0) {
for (int i = 0; i <aNews.length(); i++) {
Measuringpoint item = new Measuringpoint();
item.setSid(aNews.getJSONObject(i).opt("id").toString());
item.setName(aNews.getJSONObject(i).opt("parmname").toString());
item.setUnit(aNews.getJSONObject(i).opt("unit").toString());
DecimalFormat df = new DecimalFormat("#.####");
if (!aNews.getJSONObject(i).optString("parmvalue").contains("-")) {
item.setCvalue(aNews.getJSONObject(i).optString("parmvalue"));
}else {
item.setCvalue(df.format(aNews.getJSONObject(i).opt("parmvalue")));
}
// item.setCvalue(aNews.getJSONObject(i).opt("parmvalue").toString());
item.setType(aNews.getJSONObject(i).opt("signalType").toString());
item.setScadacode(aNews.getJSONObject(i).opt("id").toString());
item.setAlarmmax(aNews.getJSONObject(i).opt("alarmmax").toString());
item.setAlarmmin(aNews.getJSONObject(i).opt("alarmmin").toString());
if (aNews.getJSONObject(i).optString("userid").isEmpty()){
item.setUserid("null");
}else {
item.setUserid(aNews.getJSONObject(i).optString("userid"));
}
if (type_name.equals("全部")) {
list.add(item);
}else if (item.getType().equals(type_name)){
list.add(item);
}
}
}
} catch (JSONException ex) {
Log.e("JSON Error: ", ex.toString());
}
return list;
}
private void showDialog() {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
pDialog.show();
}
});
}
}
}
private void hideDialog() {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (pDialog.isShowing()){
pDialog.hide();
}
}
});
}
}
}
private void isShowEmpty() {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (points.size()>0){
recyclerView.setVisibility(View.VISIBLE);
emptyLayout.setVisibility(View.GONE);
}else {
recyclerView.setVisibility(View.GONE);
emptyLayout.setVisibility(View.VISIBLE);
}
}
});
}
}
}
private void collectePoints(Measuringpoint point,int pos){
HashMap<String,String> map = new HashMap<>();
map.put("bizid",mBizid);//厂id
map.put("userId",mUserid);
map.put("mpid",point.getSid());
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.CollectePoint_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
showToast("co","fail",pos);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res.equals("fail")){
showToast("co","fail",pos);
}else if (res.equals("suc")){
showToast("co","suc",pos);
}
}
});
}
private void unCollectePoints(Measuringpoint point,int pos){
HashMap<String,String> map = new HashMap<>();
map.put("bizid",mBizid);//厂id
map.put("userId",mUserid);
map.put("mpid",point.getSid());
OKHttpUtils.getClient().newCall(OKHttpUtils.OKHttpRequest(map, mServer, MethodURL.UnCollectePoint_Method)).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String a = e.toString();
showToast("un","fail",pos);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
if (res.equals("fail")){
showToast("un","fail",pos);
}else if (res.equals("suc")){
showToast("un","suc",pos);
}
}
});
}
private void showToast(String mark,String st,int pos) {
if (isAdded()){
if (!getActivity().isFinishing()){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (mark.equals("un")) {
if (st.equals("suc")) {
Toast.makeText(getActivity(), "取消收藏成功", Toast.LENGTH_SHORT).show();
if (sel==1){
points.remove(pos);
pointlistadapter.setData(points);
pointlistadapter.notifyDataSetChanged();
isShowEmpty();
}else {
points.get(pos).setUserid("");
pointlistadapter.notifyItemChanged(pos);
}
} else {
Toast.makeText(getActivity(), "取消收藏失败", Toast.LENGTH_SHORT).show();
}
}else if (mark.equals("co")){
if (st.equals("suc")) {
Toast.makeText(getActivity(), "收藏成功", Toast.LENGTH_SHORT).show();
points.get(pos).setUserid(mUserid);
pointlistadapter.notifyItemChanged(pos);
} else {
Toast.makeText(getActivity(), "收藏失败", Toast.LENGTH_SHORT).show();
}
}
}
});
}
}
}
}

View File

@ -0,0 +1,22 @@
package com.sipai.jspatrol.Main.fragment.promFragment;
import com.sipai.jspatrol.Bean.BaseEntity;
/**
* created by lvliming on 2019/9/16
*/
public interface ProMFragmentContract {
interface Model{
}
interface View<T extends BaseEntity>{
}
interface Presenter<T extends BaseEntity>{
}
}

View File

@ -0,0 +1,18 @@
package com.sipai.jspatrol.Main.fragment.promFragment;
import com.sipai.jspatrol.Base.BaseFragmentModel;
/**
* created by lvliming on 2019/9/16
*/
public class ProMFragmentModel extends BaseFragmentModel<ProMFragmentPresenter, ProMFragmentContract.Model> {
public ProMFragmentModel(ProMFragmentPresenter mainFragmentPresenter) {
super(mainFragmentPresenter);
}
@Override
public ProMFragmentContract.Model getContract() {
return null;
}
}

View File

@ -0,0 +1,19 @@
package com.sipai.jspatrol.Main.fragment.promFragment;
import com.sipai.jspatrol.Base.BaseFragmentPresenter;
/**
* created by lvliming on 2019/9/16
*/
public class ProMFragmentPresenter extends BaseFragmentPresenter<ProMFragment, ProMFragmentModel, ProMFragmentContract.Presenter> {
@Override
public ProMFragmentContract.Presenter getContract() {
return null;
}
@Override
public ProMFragmentModel getModel() {
return new ProMFragmentModel(this);
}
}

View File

@ -0,0 +1,25 @@
package com.sipai.jspatrol.Message;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import com.sipai.jspatrol.R;
public class MessageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_message);
init();
initView();
}
private void initView() {
}
private void init() {
}
}

View File

@ -0,0 +1,59 @@
package com.sipai.jspatrol.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.sipai.jspatrol.Bean.Message;
import com.sipai.jspatrol.R;
import java.util.List;
/**
* Created by lvliming on 2017/10/24.
*/
public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.ViewHolder> {
private List<Message> list;
public MessageAdapter(List<Message> list) {
this.list = list;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_message,parent,false);
final ViewHolder viewHolder = new ViewHolder(view);
viewHolder.msg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Message item = list.get(position);
holder.time.setText(item.getSdt());
holder.content.setText(item.getContent());
}
@Override
public int getItemCount() {
return list.size();
}
static class ViewHolder extends RecyclerView.ViewHolder{
View msg;
TextView time,content;
public ViewHolder(View itemView) {
super(itemView);
msg = itemView;
time = itemView.findViewById(R.id.moudle_item_message_tv_time);
content = itemView.findViewById(R.id.moudle_item_message_tv_content);
}
}
}

View File

@ -0,0 +1,80 @@
package com.sipai.jspatrol.MonitorScreen;
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.sipai.jspatrol.Bean.Nodes;
import com.sipai.jspatrol.R;
import java.util.List;
/**
* created by lvliming on 2021/3/19
*/
public class MenuTypeAdapter extends RecyclerView.Adapter<MenuTypeAdapter.ViewHolder> {
private List<Nodes> list;
private Context context;
//接口实例
private RecyclerViewOnItemClickListener onItemClickListener;
public MenuTypeAdapter(List<Nodes> list, Context context, RecyclerViewOnItemClickListener onItemClickListener) {
this.list = list;
this.context = context;
this.onItemClickListener = onItemClickListener;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_monitor_screen,parent,false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Nodes item = list.get(position);
holder.name.setText(item.getText());
if (item.getSel().equals("sel")){
holder.name.setTextColor(context.getResources().getColor(R.color.white));
holder.name.setBackground(context.getResources().getDrawable(R.drawable.bg_layout_shape_type_blue));
}else {
holder.name.setTextColor(context.getResources().getColor(R.color.gray));
holder.name.setBackground(context.getResources().getDrawable(R.drawable.bg_layout_shape_type_white));
}
holder.mth.setTag(position);
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
View mth;
TextView name;
public ViewHolder(View itemView) {
super(itemView);
mth = itemView;
name = (TextView) itemView.findViewById(R.id.moudle_item_monitor_screen_tv_title);
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (onItemClickListener != null) {
//注意这里使用getTag方法获取数据
onItemClickListener.onItemClickListener(v, (Integer) v.getTag());
}
}
}
//接口回调设置点击事件
public interface RecyclerViewOnItemClickListener {
//点击事件
void onItemClickListener(View view, int position);
}
}

Some files were not shown because too many files have changed in this diff Show More