diff --git a/BHDXJ/app/.gitignore b/BHDXJ/app/.gitignore new file mode 100755 index 0000000..796b96d --- /dev/null +++ b/BHDXJ/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/BHDXJ/app/build.gradle b/BHDXJ/app/build.gradle new file mode 100755 index 0000000..2690863 --- /dev/null +++ b/BHDXJ/app/build.gradle @@ -0,0 +1,78 @@ +apply plugin: 'com.android.application' +apply plugin: 'org.jetbrains.kotlin.android' + +android { + compileSdkVersion 33 + buildToolsVersion '33.0.0' + defaultConfig { + applicationId "com.rehome.bhdxj" + minSdkVersion 24 + targetSdkVersion 33 + versionCode 110 + versionName "1.1.0" + multiDexEnabled true + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + //每个应用拥有不同的authorities,防止相同的在同一个手机上无法同时安装 + resValue "string", "authorities", applicationId + resourceConfigurations += ['zh', 'en', 'hdpi'] + + } + buildFeatures { + viewBinding = true + } + buildTypes { + release { + lintOptions { + checkReleaseBuilds false + abortOnError false + } + minifyEnabled false + zipAlignEnabled true // 对齐zip + debuggable false // 是否debug + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } + namespace 'com.rehome.bhdxj' +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + implementation 'com.zhy:autolayout:1.4.5' + implementation 'com.android.volley:volley:1.2.1' + implementation 'com.yolanda.nohttp:nohttp:1.0.5' + implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0' + implementation 'com.squareup.retrofit2:retrofit:2.9.0' + implementation 'com.squareup.retrofit2:converter-gson:2.9.0' + implementation 'org.litepal.android:core:1.5.1' + implementation 'com.yanzhenjie:permission:2.0.3' + implementation 'com.github.huangyanbin:SmartTable:2.2.0' + implementation 'com.google.android.material:material:1.2.1' + implementation 'androidx.multidex:multidex:2.0.1' + implementation 'androidx.recyclerview:recyclerview:1.1.0' + implementation 'com.github.bumptech.glide:glide:4.11.0' + implementation 'de.hdodenhof:circleimageview:3.1.0' + //第三方库图片选择器 + // PictureSelector basic (Necessary) + implementation 'io.github.lucksiege:pictureselector:v3.10.7' + // image compress library (Not necessary) + implementation 'io.github.lucksiege:compress:v3.10.7' + // uCrop library (Not necessary) + implementation 'io.github.lucksiege:ucrop:v3.10.7' + // simple camerax library (Not necessary) + implementation 'io.github.lucksiege:camerax:v3.10.7' + implementation 'io.github.azhon:appupdate:4.2.6' + implementation 'com.tencent.bugly:crashreport:3.2.1' + implementation 'com.github.xuexiangjys:XUI:1.1.4' + testImplementation 'junit:junit:4.13.1' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + configurations { + all*.exclude group: 'com.google.code.gson' + } +} diff --git a/BHDXJ/app/libs/MiPush_SDK_Client_3_2_2.jar b/BHDXJ/app/libs/MiPush_SDK_Client_3_2_2.jar new file mode 100755 index 0000000..bd8562e Binary files /dev/null and b/BHDXJ/app/libs/MiPush_SDK_Client_3_2_2.jar differ diff --git a/BHDXJ/app/libs/SangforSDK.jar b/BHDXJ/app/libs/SangforSDK.jar new file mode 100755 index 0000000..56abdc0 Binary files /dev/null and b/BHDXJ/app/libs/SangforSDK.jar differ diff --git a/BHDXJ/app/libs/ZSDK_API.jar b/BHDXJ/app/libs/ZSDK_API.jar new file mode 100755 index 0000000..bd0a7e6 Binary files /dev/null and b/BHDXJ/app/libs/ZSDK_API.jar differ diff --git a/BHDXJ/app/libs/armeabi-v7a/libauth_forward.so b/BHDXJ/app/libs/armeabi-v7a/libauth_forward.so new file mode 100644 index 0000000..5ba6711 Binary files /dev/null and b/BHDXJ/app/libs/armeabi-v7a/libauth_forward.so differ diff --git a/BHDXJ/app/libs/armeabi-v7a/libhttps.so b/BHDXJ/app/libs/armeabi-v7a/libhttps.so new file mode 100644 index 0000000..6205d39 Binary files /dev/null and b/BHDXJ/app/libs/armeabi-v7a/libhttps.so differ diff --git a/BHDXJ/app/libs/armeabi-v7a/libpkcs12cert.so b/BHDXJ/app/libs/armeabi-v7a/libpkcs12cert.so new file mode 100644 index 0000000..7e54870 Binary files /dev/null and b/BHDXJ/app/libs/armeabi-v7a/libpkcs12cert.so differ diff --git a/BHDXJ/app/libs/armeabi-v7a/libsvpnservice.so b/BHDXJ/app/libs/armeabi-v7a/libsvpnservice.so new file mode 100644 index 0000000..be78cfa Binary files /dev/null and b/BHDXJ/app/libs/armeabi-v7a/libsvpnservice.so differ diff --git a/BHDXJ/app/libs/armeabi/libauth_forward.so b/BHDXJ/app/libs/armeabi/libauth_forward.so new file mode 100644 index 0000000..e7cf4a5 Binary files /dev/null and b/BHDXJ/app/libs/armeabi/libauth_forward.so differ diff --git a/BHDXJ/app/libs/armeabi/libhttps.so b/BHDXJ/app/libs/armeabi/libhttps.so new file mode 100644 index 0000000..fd1dd3e Binary files /dev/null and b/BHDXJ/app/libs/armeabi/libhttps.so differ diff --git a/BHDXJ/app/libs/armeabi/libpkcs12cert.so b/BHDXJ/app/libs/armeabi/libpkcs12cert.so new file mode 100644 index 0000000..e8432bf Binary files /dev/null and b/BHDXJ/app/libs/armeabi/libpkcs12cert.so differ diff --git a/BHDXJ/app/libs/armeabi/libsvpnservice.so b/BHDXJ/app/libs/armeabi/libsvpnservice.so new file mode 100644 index 0000000..c6fe6c9 Binary files /dev/null and b/BHDXJ/app/libs/armeabi/libsvpnservice.so differ diff --git a/BHDXJ/app/libs/badgeview.jar b/BHDXJ/app/libs/badgeview.jar new file mode 100755 index 0000000..8190474 Binary files /dev/null and b/BHDXJ/app/libs/badgeview.jar differ diff --git a/BHDXJ/app/libs/gson-2.7.jar b/BHDXJ/app/libs/gson-2.7.jar new file mode 100755 index 0000000..be5b59b Binary files /dev/null and b/BHDXJ/app/libs/gson-2.7.jar differ diff --git a/BHDXJ/app/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar b/BHDXJ/app/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar new file mode 100755 index 0000000..3a97971 Binary files /dev/null and b/BHDXJ/app/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar differ diff --git a/BHDXJ/app/libs/x86/libauth_forward.so b/BHDXJ/app/libs/x86/libauth_forward.so new file mode 100644 index 0000000..28cc2f5 Binary files /dev/null and b/BHDXJ/app/libs/x86/libauth_forward.so differ diff --git a/BHDXJ/app/libs/x86/libhttps.so b/BHDXJ/app/libs/x86/libhttps.so new file mode 100644 index 0000000..dce099f Binary files /dev/null and b/BHDXJ/app/libs/x86/libhttps.so differ diff --git a/BHDXJ/app/libs/x86/libpkcs12cert.so b/BHDXJ/app/libs/x86/libpkcs12cert.so new file mode 100644 index 0000000..e6d2081 Binary files /dev/null and b/BHDXJ/app/libs/x86/libpkcs12cert.so differ diff --git a/BHDXJ/app/libs/x86/libsvpnservice.so b/BHDXJ/app/libs/x86/libsvpnservice.so new file mode 100644 index 0000000..5825ffe Binary files /dev/null and b/BHDXJ/app/libs/x86/libsvpnservice.so differ diff --git a/BHDXJ/app/libs/zxing.jar b/BHDXJ/app/libs/zxing.jar new file mode 100755 index 0000000..c069965 Binary files /dev/null and b/BHDXJ/app/libs/zxing.jar differ diff --git a/BHDXJ/app/proguard-rules.pro b/BHDXJ/app/proguard-rules.pro new file mode 100755 index 0000000..a52ded5 --- /dev/null +++ b/BHDXJ/app/proguard-rules.pro @@ -0,0 +1,25 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/ruihong/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/BHDXJ/app/src/androidTest/java/com/rehome/bhdxj/ExampleInstrumentedTest.java b/BHDXJ/app/src/androidTest/java/com/rehome/bhdxj/ExampleInstrumentedTest.java new file mode 100755 index 0000000..d8fbf58 --- /dev/null +++ b/BHDXJ/app/src/androidTest/java/com/rehome/bhdxj/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.rehome.bhdxj; + +import android.content.Context; +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumentation test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("com.rehome.bhdxj", appContext.getPackageName()); + } +} diff --git a/BHDXJ/app/src/main/AndroidManifest.xml b/BHDXJ/app/src/main/AndroidManifest.xml new file mode 100755 index 0000000..c07126b --- /dev/null +++ b/BHDXJ/app/src/main/AndroidManifest.xml @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/assets/litepal.xml b/BHDXJ/app/src/main/assets/litepal.xml new file mode 100755 index 0000000..9060b33 --- /dev/null +++ b/BHDXJ/app/src/main/assets/litepal.xml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/AjhScInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/AjhScInfo.java new file mode 100755 index 0000000..14fbae2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/AjhScInfo.java @@ -0,0 +1,94 @@ +package com.rehome.bhdxj.DBModel; + +/** + * 安建环上传信息 + */ + +public class AjhScInfo { + + private String SCNR;//检查结果 是,否 + private String JCSJ;//时间 + private String BZID;//班组ID + private String JCR;//检查人 + private String JHID;//计划ID + private String YSID;// + private String MS;//描述 + private boolean CHECKED;//是否已检 + private String SMFX;//扫码方式 + + public boolean isCHECKED() { + return CHECKED; + } + + public String getSMFX() { + return SMFX; + } + + public void setSMFX(String SMFX) { + this.SMFX = SMFX; + } + + public String getSCNR() { + return SCNR; + } + + public void setSCNR(String SCNR) { + this.SCNR = SCNR; + } + + public String getJCSJ() { + return JCSJ; + } + + public void setJCSJ(String JCSJ) { + this.JCSJ = JCSJ; + } + + public String getBZID() { + return BZID; + } + + public void setBZID(String BZID) { + this.BZID = BZID; + } + + public String getJCR() { + return JCR; + } + + public void setJCR(String JCR) { + this.JCR = JCR; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getYSID() { + return YSID; + } + + public void setYSID(String YSID) { + this.YSID = YSID; + } + + public String getMS() { + return MS; + } + + public void setMS(String MS) { + this.MS = MS; + } + + public boolean getCHECKED() { + return CHECKED; + } + + public void setCHECKED(boolean CHECKED) { + this.CHECKED = CHECKED; + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhjh.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhjh.java new file mode 100755 index 0000000..dafe100 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhjh.java @@ -0,0 +1,65 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/7. + */ + +public class Ajhjh extends DataSupport { + + private boolean checked; + private boolean download; + private String JHID; + private String JHMC; + private String DQSJ; + private String DJJHID; + + public String getDJJHID() { + return DJJHID; + } + + public void setDJJHID(String DJJHID) { + this.DJJHID = DJJHID; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isDownload() { + return download; + } + + public void setDownload(boolean download) { + this.download = download; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getJHMC() { + return JHMC; + } + + public void setJHMC(String JHMC) { + this.JHMC = JHMC; + } + + public String getDQSJ() { + return DQSJ; + } + + public void setDQSJ(String DQSJ) { + this.DQSJ = DQSJ; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/AjhjhList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/AjhjhList.java new file mode 100755 index 0000000..d4ae96d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/AjhjhList.java @@ -0,0 +1,52 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * 安健环计划 + */ + +public class AjhjhList extends DataSupport { + + /** + * Rows : [{"JHID":"AJH00000000001","JHMC":"XCJ228","DQSJ":"2016-11-09"}] + * Total : 1 + */ + + private int id; + + private int Total; + /** + * JHID : AJH00000000001 + * JHMC : XCJ228 + * DQSJ : 2016-11-09 + */ + + private List Rows; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/AjhjhxzrwList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/AjhjhxzrwList.java new file mode 100755 index 0000000..d9642fb --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/AjhjhxzrwList.java @@ -0,0 +1,65 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by gzw on 2016/11/7. + */ + +public class AjhjhxzrwList implements Parcelable { + + private int Total; + private List Rows; + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.Total); + dest.writeList(this.Rows); + } + + public AjhjhxzrwList() { + } + + protected AjhjhxzrwList(Parcel in) { + this.Total = in.readInt(); + this.Rows = new ArrayList(); + in.readList(this.Rows, Ajhxzrwqylist.class.getClassLoader()); + } + + public static final Creator CREATOR = new Creator() { + @Override + public AjhjhxzrwList createFromParcel(Parcel source) { + return new AjhjhxzrwList(source); + } + + @Override + public AjhjhxzrwList[] newArray(int size) { + return new AjhjhxzrwList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhxcjs.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhxcjs.java new file mode 100755 index 0000000..dc27ece --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhxcjs.java @@ -0,0 +1,56 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/9. + */ + +public class Ajhxcjs extends DataSupport { + + private String jhid; + private String areacode; + private String jsr; + private String file; + private String bz; + + public String getBz() { + return bz; + } + + public void setBz(String bz) { + this.bz = bz; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getAreacode() { + return areacode; + } + + public void setAreacode(String areacode) { + this.areacode = areacode; + } + + public String getJsr() { + return jsr; + } + + public void setJsr(String jsr) { + this.jsr = jsr; + } + + public String getFile() { + return file; + } + + public void setFile(String file) { + this.file = file; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhxzrwqy.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhxzrwqy.java new file mode 100755 index 0000000..3df0b60 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhxzrwqy.java @@ -0,0 +1,229 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/7. + */ + +public class Ajhxzrwqy extends DataSupport implements Parcelable { + + private String YSID; + private String JHID; + private String BZMC; + private String JHMC; + private String JCNY; + private String NFCBH; + private String BQBM; + private String AREACODE; + private String AREANAME; + private String XCZQ; + private AjhjhxzrwList list; + private boolean checked; + private String MS; + private String SCRN;//是或者否 + private boolean SFHG;//是否合格 + private String DATE;//时间 + private boolean SMFX;//扫描方式,0 NFC 1 一维码二维码 + + public boolean isSMFX() { + return SMFX; + } + + public void setSMFX(boolean SMFX) { + this.SMFX = SMFX; + } + + public String getAREACODE() { + return AREACODE; + } + + public void setAREACODE(String AREACODE) { + this.AREACODE = AREACODE; + } + + public String getDATE() { + return DATE; + } + + public void setDATE(String DATE) { + this.DATE = DATE; + } + + public String getXCZQ() { + return XCZQ; + } + + public void setXCZQ(String XCZQ) { + this.XCZQ = XCZQ; + } + + public String getAREANAME() { + return AREANAME; + } + + public void setAREANAME(String AREANAME) { + this.AREANAME = AREANAME; + } + + public boolean isSFHG() { + return SFHG; + } + + public void setSFHG(boolean SFHG) { + this.SFHG = SFHG; + } + + public String getMS() { + return MS; + } + + public void setMS(String MS) { + this.MS = MS; + } + + public String getSCRN() { + return SCRN; + } + + public void setSCRN(String SCRN) { + this.SCRN = SCRN; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public AjhjhxzrwList getList() { + return list; + } + + public void setList(AjhjhxzrwList list) { + this.list = list; + } + + public String getYSID() { + return YSID; + } + + public void setYSID(String YSID) { + this.YSID = YSID; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getBZMC() { + return BZMC; + } + + public void setBZMC(String BZMC) { + this.BZMC = BZMC; + } + + public String getJHMC() { + return JHMC; + } + + public void setJHMC(String JHMC) { + this.JHMC = JHMC; + } + + public String getJCNY() { + return JCNY; + } + + public void setJCNY(String JCNY) { + this.JCNY = JCNY; + } + + public String getNFCBH() { + return NFCBH; + } + + public void setNFCBH(String NFCBH) { + this.NFCBH = NFCBH; + } + + public String getBQBM() { + return BQBM; + } + + public void setBQBM(String BQBM) { + this.BQBM = BQBM; + } + + + public Ajhxzrwqy() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.YSID); + dest.writeString(this.JHID); + dest.writeString(this.BZMC); + dest.writeString(this.JHMC); + dest.writeString(this.JCNY); + dest.writeString(this.NFCBH); + dest.writeString(this.BQBM); + dest.writeString(this.AREACODE); + dest.writeString(this.AREANAME); + dest.writeString(this.XCZQ); + dest.writeParcelable(this.list, flags); + dest.writeByte(this.checked ? (byte) 1 : (byte) 0); + dest.writeString(this.MS); + dest.writeString(this.SCRN); + dest.writeByte(this.SFHG ? (byte) 1 : (byte) 0); + dest.writeString(this.DATE); + dest.writeByte(this.SMFX ? (byte) 1 : (byte) 0); + } + + protected Ajhxzrwqy(Parcel in) { + this.YSID = in.readString(); + this.JHID = in.readString(); + this.BZMC = in.readString(); + this.JHMC = in.readString(); + this.JCNY = in.readString(); + this.NFCBH = in.readString(); + this.BQBM = in.readString(); + this.AREACODE = in.readString(); + this.AREANAME = in.readString(); + this.XCZQ = in.readString(); + this.list = in.readParcelable(AjhjhxzrwList.class.getClassLoader()); + this.checked = in.readByte() != 0; + this.MS = in.readString(); + this.SCRN = in.readString(); + this.SFHG = in.readByte() != 0; + this.DATE = in.readString(); + this.SMFX = in.readByte() != 0; + } + + public static final Creator CREATOR = new Creator() { + @Override + public Ajhxzrwqy createFromParcel(Parcel source) { + return new Ajhxzrwqy(source); + } + + @Override + public Ajhxzrwqy[] newArray(int size) { + return new Ajhxzrwqy[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhxzrwqylist.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhxzrwqylist.java new file mode 100755 index 0000000..64a9101 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Ajhxzrwqylist.java @@ -0,0 +1,33 @@ +package com.rehome.bhdxj.DBModel; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +/** + * Created by gzw on 2016/11/7. + */ + +public class Ajhxzrwqylist { + + public AjhjhxzrwList getListl() { + return listl; + } + + public void setListl(AjhjhxzrwList listl) { + this.listl = listl; + } + + private AjhjhxzrwList listl; + + @SerializedName("区域分组") + private List Ajhxzrwqys; + + public List getAjhxzrwqys() { + return Ajhxzrwqys; + } + + public void setAjhxzrwqys(List Ajhxzrwqys) { + this.Ajhxzrwqys = Ajhxzrwqys; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DataBaseYhpc.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DataBaseYhpc.java new file mode 100644 index 0000000..4179277 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DataBaseYhpc.java @@ -0,0 +1,91 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +public class DataBaseYhpc extends DataSupport { + + private String WTQY;//问题区域(必填) + private String WTMS;//问题描述(必填) + private String LRSJ;//录入时间 + private String FXLB;//风险类别(选填) + private String YHDJ;//隐患等级(选填) + private String ZRBM;//责任部门(选填) + private String photopatglist;//图片集合 + private boolean checked;//0:未选中,1:已选中 + private boolean uploaded; + + + public String getWTQY() { + return WTQY; + } + + public void setWTQY(String WTQY) { + this.WTQY = WTQY; + } + + public String getWTMS() { + return WTMS; + } + + public void setWTMS(String WTMS) { + this.WTMS = WTMS; + } + + public String getLRSJ() { + return LRSJ; + } + + public void setLRSJ(String LRSJ) { + this.LRSJ = LRSJ; + } + + public String getFXLB() { + return FXLB; + } + + public void setFXLB(String FXLB) { + this.FXLB = FXLB; + } + + public String getYHDJ() { + return YHDJ; + } + + public void setYHDJ(String YHDJ) { + this.YHDJ = YHDJ; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getPhotopatglist() { + return photopatglist; + } + + public void setPhotopatglist(String photopatglist) { + this.photopatglist = photopatglist; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Djjh.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Djjh.java new file mode 100755 index 0000000..42632c3 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Djjh.java @@ -0,0 +1,101 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * 点检计划 + */ + +public class Djjh extends DataSupport { + + private int id; + private String GWID; + private String GWMC; + private String GWDS; + private String GWLX; + private String GWBS; + private String SC_ET; + private boolean checked;//0:未选中,1:已选中 + private int download;//0:未下载,1:已经下载 + private DjjhList djjhList; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getGWID() { + return GWID; + } + + public void setGWID(String GWID) { + this.GWID = GWID; + } + + public String getGWMC() { + return GWMC; + } + + public void setGWMC(String GWMC) { + this.GWMC = GWMC; + } + + public String getGWDS() { + return GWDS; + } + + public void setGWDS(String GWDS) { + this.GWDS = GWDS; + } + + public String getGWLX() { + return GWLX; + } + + public void setGWLX(String GWLX) { + this.GWLX = GWLX; + } + + public String getGWBS() { + return GWBS; + } + + public void setGWBS(String GWBS) { + this.GWBS = GWBS; + } + + public String getSC_ET() { + return SC_ET; + } + + public void setSC_ET(String SC_ET) { + this.SC_ET = SC_ET; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public int getDownload() { + return download; + } + + public void setDownload(int download) { + this.download = download; + } + + public DjjhList getDjjhList() { + return djjhList; + } + + public void setDjjhList(DjjhList djjhList) { + this.djjhList = djjhList; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhList.java new file mode 100755 index 0000000..7e396f5 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhList.java @@ -0,0 +1,50 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; + +/** + * 点检计划列表 + */ + +public class DjjhList extends DataSupport { + + private int id; + private String state; + private String msg; + private List data = new ArrayList(); + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhRwList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhRwList.java new file mode 100755 index 0000000..a0e51b4 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhRwList.java @@ -0,0 +1,92 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * 点检计划任务列表 + */ + +public class DjjhRwList extends DataSupport implements Parcelable { + + private String JHID; + + private boolean deleted; + + private int Total; + + private List Rows; + + + + + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public boolean isDeleted() { + return deleted; + } + + public void setDeleted(boolean deleted) { + this.deleted = deleted; + } + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.JHID); + dest.writeInt(this.Total); + dest.writeTypedList(this.Rows); + } + + public DjjhRwList() { + } + + protected DjjhRwList(Parcel in) { + this.JHID = in.readString(); + this.Total = in.readInt(); + this.Rows = in.createTypedArrayList(DjjhRwQyList.CREATOR); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DjjhRwList createFromParcel(Parcel source) { + return new DjjhRwList(source); + } + + @Override + public DjjhRwList[] newArray(int size) { + return new DjjhRwList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhRwQy.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhRwQy.java new file mode 100755 index 0000000..5873442 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhRwQy.java @@ -0,0 +1,496 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * 点检计划任务区域 + */ + +public class DjjhRwQy extends DataSupport implements Parcelable { + + private int id; + private DjjhRwQyList djjhRwQyList; + private String POINTNUM; + private String JHID; + private String JHMC; + private String NFCBH; + private String BQBM; + private String JHLX; + private String POINTNAME; + private String MEAAREA; + private String AREACODE; + private String SBMC; + private String SBBH; + private String BJMC; + private String BJBH; + private String MEAMETHOD; + private String JCLB; + private String JCBZ; + private String LRLX; + private String LRNR; + private String ASSETNUM;//设备编号 + private String UNITOFMEASURE; + private String DESCRIPTION; + private String LOWERWARNING; + private String UPPERWARNING; + private String LOWERACTION; + private String UPPERACTION; + private String MEAPOS; + private String MEASTATUS; + private String MEASTANDARD; + private boolean checked;//是否已经检查 + private String CJJG; + private String fxnr; + private boolean uploaded; + private boolean deleted;//true 已删除,false 未删除 + private String JHDW; + private boolean SMFX;//扫描方式,0 NFC 1 一维码二维码 + private boolean SBZT = true;// + private String DATE;//保存时间 + private boolean BYZT;//备用状态 + private String SCID; + + + public String getSBMC() { + return SBMC; + } + + public void setSBMC(String SBMC) { + this.SBMC = SBMC; + } + + public String getSBBH() { + return SBBH; + } + + public void setSBBH(String SBBH) { + this.SBBH = SBBH; + } + + public String getBJMC() { + return BJMC; + } + + public void setBJMC(String BJMC) { + this.BJMC = BJMC; + } + + public String getBJBH() { + return BJBH; + } + + public void setBJBH(String BJBH) { + this.BJBH = BJBH; + } + + public String getLRLX() { + return LRLX; + } + + public void setLRLX(String LRLX) { + this.LRLX = LRLX; + } + + public String getLRNR() { + return LRNR; + } + + public void setLRNR(String LRNR) { + this.LRNR = LRNR; + } + + + public String getJCLB() { + return JCLB; + } + + public void setJCLB(String JCLB) { + this.JCLB = JCLB; + } + + public String getJCBZ() { + return JCBZ; + } + + public void setJCBZ(String JCBZ) { + this.JCBZ = JCBZ; + } + + public boolean isBYZT() { + return BYZT; + } + + public void setBYZT(boolean BYZT) { + this.BYZT = BYZT; + } + + public String getDATE() { + return DATE; + } + + public void setDATE(String DATE) { + this.DATE = DATE; + } + + public boolean isSBZT() { + return SBZT; + } + + public void setSBZT(boolean SBZT) { + this.SBZT = SBZT; + } + + public String getASSETNUM() { + return ASSETNUM; + } + + public void setASSETNUM(String ASSETNUM) { + this.ASSETNUM = ASSETNUM; + } + + public String getAREACODE() { + return AREACODE; + } + + public void setAREACODE(String AREACODE) { + this.AREACODE = AREACODE; + } + + public String getUNITOFMEASURE() { + return UNITOFMEASURE; + } + + public void setUNITOFMEASURE(String UNITOFMEASURE) { + this.UNITOFMEASURE = UNITOFMEASURE; + } + + public boolean isSMFX() { + return SMFX; + } + + public void setSMFX(boolean SMFX) { + this.SMFX = SMFX; + } + + public String getJHDW() { + return JHDW; + } + + public void setJHDW(String JHDW) { + this.JHDW = JHDW; + } + + public String getFxnr() { + return fxnr; + } + + public void setFxnr(String fxnr) { + this.fxnr = fxnr; + } + + public boolean isDeleted() { + return deleted; + } + + public void setDeleted(boolean deleted) { + this.deleted = deleted; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } + + public String getCJJG() { + return CJJG; + } + + public void setCJJG(String CJJG) { + this.CJJG = CJJG; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public DjjhRwQyList getDjjhRwQyList() { + return djjhRwQyList; + } + + public void setDjjhRwQyList(DjjhRwQyList djjhRwQyList) { + this.djjhRwQyList = djjhRwQyList; + } + + public String getPOINTNUM() { + return POINTNUM; + } + + public void setPOINTNUM(String POINTNUM) { + this.POINTNUM = POINTNUM; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getJHMC() { + return JHMC; + } + + public void setJHMC(String JHMC) { + this.JHMC = JHMC; + } + + public String getNFCBH() { + return NFCBH; + } + + public void setNFCBH(String NFCBH) { + this.NFCBH = NFCBH; + } + + public String getBQBM() { + return BQBM; + } + + public void setBQBM(String BQBM) { + this.BQBM = BQBM; + } + + public String getJHLX() { + return JHLX; + } + + public void setJHLX(String JHLX) { + this.JHLX = JHLX; + } + + public String getPOINTNAME() { + return POINTNAME; + } + + public void setPOINTNAME(String POINTNAME) { + this.POINTNAME = POINTNAME; + } + + public String getMEAAREA() { + return MEAAREA; + } + + public void setMEAAREA(String MEAAREA) { + this.MEAAREA = MEAAREA; + } + + public String getMEAMETHOD() { + return MEAMETHOD; + } + + public void setMEAMETHOD(String MEAMETHOD) { + this.MEAMETHOD = MEAMETHOD; + } + + public String getDESCRIPTION() { + return DESCRIPTION; + } + + public void setDESCRIPTION(String DESCRIPTION) { + this.DESCRIPTION = DESCRIPTION; + } + + public String getLOWERWARNING() { + return LOWERWARNING; + } + + public void setLOWERWARNING(String LOWERWARNING) { + this.LOWERWARNING = LOWERWARNING; + } + + public String getUPPERWARNING() { + return UPPERWARNING; + } + + public void setUPPERWARNING(String UPPERWARNING) { + this.UPPERWARNING = UPPERWARNING; + } + + public String getLOWERACTION() { + return LOWERACTION; + } + + public void setLOWERACTION(String LOWERACTION) { + this.LOWERACTION = LOWERACTION; + } + + public String getUPPERACTION() { + return UPPERACTION; + } + + public void setUPPERACTION(String UPPERACTION) { + this.UPPERACTION = UPPERACTION; + } + + public String getMEAPOS() { + return MEAPOS; + } + + public void setMEAPOS(String MEAPOS) { + this.MEAPOS = MEAPOS; + } + + public String getMEASTATUS() { + return MEASTATUS; + } + + public void setMEASTATUS(String MEASTATUS) { + this.MEASTATUS = MEASTATUS; + } + + public String getMEASTANDARD() { + return MEASTANDARD; + } + + public void setMEASTANDARD(String MEASTANDARD) { + this.MEASTANDARD = MEASTANDARD; + } + + public String getSCID() { + return SCID; + } + + public void setSCID(String SCID) { + this.SCID = SCID; + } + + public DjjhRwQy() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.id); + dest.writeParcelable(this.djjhRwQyList, flags); + dest.writeString(this.POINTNUM); + dest.writeString(this.JHID); + dest.writeString(this.JHMC); + dest.writeString(this.NFCBH); + dest.writeString(this.BQBM); + dest.writeString(this.JHLX); + dest.writeString(this.POINTNAME); + dest.writeString(this.MEAAREA); + dest.writeString(this.MEAMETHOD); + dest.writeString(this.DESCRIPTION); + dest.writeString(this.LOWERWARNING); + dest.writeString(this.UPPERWARNING); + dest.writeString(this.LOWERACTION); + dest.writeString(this.UPPERACTION); + dest.writeString(this.UNITOFMEASURE); + dest.writeString(this.MEAPOS); + dest.writeString(this.MEASTATUS); + dest.writeString(this.MEASTANDARD); + dest.writeString(this.SBMC); + dest.writeString(this.SBBH); + dest.writeString(this.BJMC); + dest.writeString(this.BJBH); + dest.writeString(this.JCLB); + dest.writeString(this.JCBZ); + dest.writeString(this.LRLX); + dest.writeString(this.LRNR); + dest.writeByte(this.checked ? (byte) 1 : (byte) 0); + dest.writeString(this.CJJG); + dest.writeString(this.fxnr); + dest.writeByte(this.uploaded ? (byte) 1 : (byte) 0); + dest.writeByte(this.deleted ? (byte) 1 : (byte) 0); + dest.writeString(this.JHDW); + dest.writeByte(this.SMFX ? (byte) 1 : (byte) 0); + dest.writeString(this.AREACODE); + dest.writeString(this.ASSETNUM); + dest.writeByte(this.SBZT ? (byte) 1 : (byte) 0); + dest.writeString(this.DATE); + dest.writeByte(this.BYZT ? (byte) 1 : (byte) 0); + dest.writeString(this.SCID); + + + } + + protected DjjhRwQy(Parcel in) { + this.id = in.readInt(); + this.djjhRwQyList = in.readParcelable(DjjhRwQyList.class.getClassLoader()); + this.POINTNUM = in.readString(); + this.JHID = in.readString(); + this.JHMC = in.readString(); + this.NFCBH = in.readString(); + this.BQBM = in.readString(); + this.JHLX = in.readString(); + this.POINTNAME = in.readString(); + this.MEAAREA = in.readString(); + this.MEAMETHOD = in.readString(); + this.DESCRIPTION = in.readString(); + this.LOWERWARNING = in.readString(); + this.UPPERWARNING = in.readString(); + this.LOWERACTION = in.readString(); + this.UPPERACTION = in.readString(); + this.UNITOFMEASURE = in.readString(); + this.MEAPOS = in.readString(); + this.MEASTATUS = in.readString(); + this.MEASTANDARD = in.readString(); + this.SBMC = in.readString(); + this.SBBH = in.readString(); + this.BJMC = in.readString(); + this.BJBH = in.readString(); + this.JCLB = in.readString(); + this.JCBZ = in.readString(); + this.LRLX = in.readString(); + this.LRNR = in.readString(); + this.checked = in.readByte() != 0; + this.CJJG = in.readString(); + this.fxnr = in.readString(); + this.uploaded = in.readByte() != 0; + this.deleted = in.readByte() != 0; + this.JHDW = in.readString(); + this.SMFX = in.readByte() != 0; + this.AREACODE = in.readString(); + this.ASSETNUM = in.readString(); + this.SBZT = in.readByte() != 0; + this.DATE = in.readString(); + this.BYZT = in.readByte() != 0; + this.SCID = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DjjhRwQy createFromParcel(Parcel source) { + return new DjjhRwQy(source); + } + + @Override + public DjjhRwQy[] newArray(int size) { + return new DjjhRwQy[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhRwQyList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhRwQyList.java new file mode 100755 index 0000000..08c8ffb --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/DjjhRwQyList.java @@ -0,0 +1,97 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import com.google.gson.annotations.SerializedName; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * 点检计划任务区域列表 + */ + + +public class DjjhRwQyList extends DataSupport implements Parcelable { + + private String qymc;//区域名称 + + private String JHID;//计划id + + private List DjjhRqqys; + + private DjjhRwList djjhRwList; + + + + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + @SerializedName("区域分组") + + + public String getQymc() { + return qymc; + } + + public void setQymc(String qymc) { + this.qymc = qymc; + } + + public DjjhRwList getDjjhRwList() { + return djjhRwList; + } + + public void setDjjhRwList(DjjhRwList djjhRwList) { + this.djjhRwList = djjhRwList; + } + + public List getDjjhRqqys() { + return DjjhRqqys; + } + + public void setDjjhRqqys(List DjjhRqqys) { + this.DjjhRqqys = DjjhRqqys; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.qymc); + dest.writeParcelable(this.djjhRwList, flags); + dest.writeTypedList(this.DjjhRqqys); + } + + public DjjhRwQyList() { + } + + protected DjjhRwQyList(Parcel in) { + this.qymc = in.readString(); + this.djjhRwList = in.readParcelable(DjjhRwList.class.getClassLoader()); + this.DjjhRqqys = in.createTypedArrayList(DjjhRwQy.CREATOR); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DjjhRwQyList createFromParcel(Parcel source) { + return new DjjhRwQyList(source); + } + + @Override + public DjjhRwQyList[] newArray(int size) { + return new DjjhRwQyList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Gwzyxcqrnr.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Gwzyxcqrnr.java new file mode 100755 index 0000000..debab71 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Gwzyxcqrnr.java @@ -0,0 +1,63 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/2/3. + */ + +public class Gwzyxcqrnr extends DataSupport { + + private int mPositionID; + + private String GDID; + + private String QRID; + + private String QRNR; + + private String QRSJ; + + public String getGDID() { + return GDID; + } + + public void setGDID(String GDID) { + this.GDID = GDID; + } + + public int getmPositionID() { + return mPositionID; + } + + public void setmPositionID(int mPositionID) { + this.mPositionID = mPositionID; + } + + public String getQRID() { + return QRID; + } + + public void setQRID(String QRID) { + this.QRID = QRID; + } + + public String getQRNR() { + return QRNR; + } + + public void setQRNR(String QRNR) { + this.QRNR = QRNR; + } + + public String getQRSJ() { + return QRSJ; + } + + public void setQRSJ(String QRSJ) { + this.QRSJ = QRSJ; + } + + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyXcjsInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyXcjsInfo.java new file mode 100755 index 0000000..6c8ff89 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyXcjsInfo.java @@ -0,0 +1,83 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/22. + */ + +public class LyXcjsInfo extends DataSupport { + + private int id; + private String ms; + private String jhid; + private String xfid; + private String djr; + private String path; + private String filename; + private boolean uploaded; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getXfid() { + return xfid; + } + + public void setXfid(String xfid) { + this.xfid = xfid; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getMs() { + return ms; + } + + public void setMs(String ms) { + this.ms = ms; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getDjr() { + return djr; + } + + public void setDjr(String djr) { + this.djr = djr; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyYhpcInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyYhpcInfo.java new file mode 100755 index 0000000..2cade46 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyYhpcInfo.java @@ -0,0 +1,56 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/1. + */ + +public class LyYhpcInfo extends DataSupport { + + private String NR;//内容 + private String WT;//问题 + private String AREACODE;//区域编号 + private String FXR;//发现人 + private String FXSJ;//发现时间 + + public String getNR() { + return NR; + } + + public void setNR(String NR) { + this.NR = NR; + } + + public String getWT() { + return WT; + } + + public void setWT(String WT) { + this.WT = WT; + } + + public String getAREACODE() { + return AREACODE; + } + + public void setAREACODE(String AREACODE) { + this.AREACODE = AREACODE; + } + + public String getFXR() { + return FXR; + } + + public void setFXR(String FXR) { + this.FXR = FXR; + } + + public String getFXSJ() { + return FXSJ; + } + + public void setFXSJ(String FXSJ) { + this.FXSJ = FXSJ; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcXm.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcXm.java new file mode 100755 index 0000000..ef8b9f1 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcXm.java @@ -0,0 +1,74 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/12. + */ + +public class LyxcXm extends DataSupport { + + /** + * xmid : 78cb0bb2df5548ea9ab0fda3d4220e4a + * ssid : 4a68a4e25eea4b23bd17c11131485e0b + * jhid : 20161103192018 + * typename : 是否完好 + * type1 : 是 + * type2 : 否 + */ + + private String xmid; + private String ssid; + private String jhid; + private String typename; + private String type1; + private String type2; + + public String getXmid() { + return xmid; + } + + public void setXmid(String xmid) { + this.xmid = xmid; + } + + public String getSsid() { + return ssid; + } + + public void setSsid(String ssid) { + this.ssid = ssid; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getTypename() { + return typename; + } + + public void setTypename(String typename) { + this.typename = typename; + } + + public String getType1() { + return type1; + } + + public void setType1(String type1) { + this.type1 = type1; + } + + public String getType2() { + return type2; + } + + public void setType2(String type2) { + this.type2 = type2; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcXmJg.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcXmJg.java new file mode 100755 index 0000000..42089d4 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcXmJg.java @@ -0,0 +1,92 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/12. + */ + +public class LyxcXmJg extends DataSupport { + + /** + * xmid : 78cb0bb2df5548ea9ab0fda3d4220e4a + * ssid : 4a68a4e25eea4b23bd17c11131485e0b + * jhid : 20161103192018 + * typename : 是否完好 + * type1 : 是 + * type2 : 否 + */ + + private String xmid; + private String ssid; + private String jhid; + private String typename; + private String type1; + private String type2; + private String qyid; + private boolean jg; + + public String getQyid() { + return qyid; + } + + public void setQyid(String qyid) { + this.qyid = qyid; + } + + public boolean isJg() { + return jg; + } + + public void setJg(boolean jg) { + this.jg = jg; + } + + public String getXmid() { + return xmid; + } + + public void setXmid(String xmid) { + this.xmid = xmid; + } + + public String getSsid() { + return ssid; + } + + public void setSsid(String ssid) { + this.ssid = ssid; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getTypename() { + return typename; + } + + public void setTypename(String typename) { + this.typename = typename; + } + + public String getType1() { + return type1; + } + + public void setType1(String type1) { + this.type1 = type1; + } + + public String getType2() { + return type2; + } + + public void setType2(String type2) { + this.type2 = type2; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcXmList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcXmList.java new file mode 100755 index 0000000..ec8664e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcXmList.java @@ -0,0 +1,36 @@ +package com.rehome.bhdxj.DBModel; + +import java.util.List; + +/** + * Created by gzw on 2016/11/12. + */ + +public class LyxcXmList { + + + /** + * Rows : [{"xmid":"78cb0bb2df5548ea9ab0fda3d4220e4a","ssid":"4a68a4e25eea4b23bd17c11131485e0b","jhid":"20161103192018","typename":"是否完好","type1":"是","type2":"否"},{"xmid":"ebd90304b3f14156adbf71fc00123e85","ssid":"28dbda78ceb94c809f014635227951b5","jhid":"20161103192018","typename":"是否完好","type1":"是","type2":"否"},{"xmid":"2d76e717394c456e924029b0e5ee290b","ssid":"9cc7e7c905ee4ab69e2b3da729494b84","jhid":"20161103192018","typename":"是否完好","type1":"是","type2":"否"},{"xmid":"af90e99c237d498d8ca34b4ecb2921e5","ssid":"b9046a62f25e422db0583b8b38369fad","jhid":"20161103192018","typename":"是否完好","type1":"是","type2":"否"},{"xmid":"0381dab762aa4751b165d2f385a4b907","ssid":"1d619e47b2a14e508bdfb5ce66f8a019","jhid":"20161103192018","typename":"是否完好","type1":"是","type2":"否"},{"xmid":"3debf515f3704af7925d2b49ef572a9c","ssid":"f0d823228a194796bfafdd685da15336","jhid":"20161103192018","typename":"是否有漏水","type1":"是","type2":"否"},{"xmid":"fc5ff06fb8c14e9ab4c31dca6e66e5f8","ssid":"d47cc191a913403aae4c3ba41e313b9f","jhid":"20161103192018","typename":"是否有掉灰","type1":"是","type2":"否"},{"xmid":"6918731a58474be186a77ba3e97168c9","ssid":"01a13ca9a4c14a3a971c61bcf75b6a28","jhid":"20161103192018","typename":"是否正常","type1":"是","type2":"否"},{"xmid":"2a0879f795be4dd69bb776b0c0da7dcd","ssid":"65fd15e7a85842dd8d2f535171fd36b3","jhid":"20161103192018","typename":"是否正常","type1":"是","type2":"否"},{"xmid":"e9692c642e2a457f9b954314c373e1b6","ssid":"d533905e89ed4ab0af7db27f39b8e2cc","jhid":"20161103192018","typename":"是否完好","type1":"是","type2":"否"}] + * Total : 10 + */ + + private String Total; + private List Rows; + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcqyList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcqyList.java new file mode 100755 index 0000000..9d573d3 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/LyxcqyList.java @@ -0,0 +1,50 @@ +package com.rehome.bhdxj.DBModel; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +/** + * Created by gzw on 2016/11/12. + */ + +public class LyxcqyList { + + + /** + * Rows : [{"区域分组":[{"BH":"5","XMNAME":"楼梯、走廊瓷砖","QYNAME":"大仓库","TXMBH":"5","QYNFC":"5","XMID":"e9692c642e2a457f9b954314c373e1b6","QYID":"2f90396dd8324dda835c5439f241e994","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"5","XMNAME":"排水系统","QYNAME":"大仓库","TXMBH":"5","QYNFC":"5","XMID":"2a0879f795be4dd69bb776b0c0da7dcd","QYID":"2f90396dd8324dda835c5439f241e994","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"5","XMNAME":"卫生间卫浴设备","QYNAME":"大仓库","TXMBH":"5","QYNFC":"5","XMID":"6918731a58474be186a77ba3e97168c9","QYID":"2f90396dd8324dda835c5439f241e994","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"5","XMNAME":"墙面","QYNAME":"大仓库","TXMBH":"5","QYNFC":"5","XMID":"fc5ff06fb8c14e9ab4c31dca6e66e5f8","QYID":"2f90396dd8324dda835c5439f241e994","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"5","XMNAME":"建筑物","QYNAME":"大仓库","TXMBH":"5","QYNFC":"5","XMID":"3debf515f3704af7925d2b49ef572a9c","QYID":"2f90396dd8324dda835c5439f241e994","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"5","XMNAME":"瓷砖","QYNAME":"大仓库","TXMBH":"5","QYNFC":"5","XMID":"0381dab762aa4751b165d2f385a4b907","QYID":"2f90396dd8324dda835c5439f241e994","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"5","XMNAME":"天花","QYNAME":"大仓库","TXMBH":"5","QYNFC":"5","XMID":"af90e99c237d498d8ca34b4ecb2921e5","QYID":"2f90396dd8324dda835c5439f241e994","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"5","XMNAME":"窗户及玻璃、窗帘","QYNAME":"大仓库","TXMBH":"5","QYNFC":"5","XMID":"2d76e717394c456e924029b0e5ee290b","QYID":"2f90396dd8324dda835c5439f241e994","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"5","XMNAME":"门及门框","QYNAME":"大仓库","TXMBH":"5","QYNFC":"5","XMID":"ebd90304b3f14156adbf71fc00123e85","QYID":"2f90396dd8324dda835c5439f241e994","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"}]},{"区域分组":[{"BH":"8","XMNAME":"窗户及玻璃、窗帘","QYNAME":"扒机检修间","TXMBH":"8","QYNFC":"8","XMID":"2d76e717394c456e924029b0e5ee290b","QYID":"f7539875c44b4613a037978fc66f736e","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"8","XMNAME":"门及门框","QYNAME":"扒机检修间","TXMBH":"8","QYNFC":"8","XMID":"ebd90304b3f14156adbf71fc00123e85","QYID":"f7539875c44b4613a037978fc66f736e","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"8","XMNAME":"楼梯、走廊瓷砖","QYNAME":"扒机检修间","TXMBH":"8","QYNFC":"8","XMID":"e9692c642e2a457f9b954314c373e1b6","QYID":"f7539875c44b4613a037978fc66f736e","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"8","XMNAME":"排水系统","QYNAME":"扒机检修间","TXMBH":"8","QYNFC":"8","XMID":"2a0879f795be4dd69bb776b0c0da7dcd","QYID":"f7539875c44b4613a037978fc66f736e","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"8","XMNAME":"卫生间卫浴设备","QYNAME":"扒机检修间","TXMBH":"8","QYNFC":"8","XMID":"6918731a58474be186a77ba3e97168c9","QYID":"f7539875c44b4613a037978fc66f736e","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"8","XMNAME":"墙面","QYNAME":"扒机检修间","TXMBH":"8","QYNFC":"8","XMID":"fc5ff06fb8c14e9ab4c31dca6e66e5f8","QYID":"f7539875c44b4613a037978fc66f736e","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"8","XMNAME":"建筑物","QYNAME":"扒机检修间","TXMBH":"8","QYNFC":"8","XMID":"3debf515f3704af7925d2b49ef572a9c","QYID":"f7539875c44b4613a037978fc66f736e","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"8","XMNAME":"瓷砖","QYNAME":"扒机检修间","TXMBH":"8","QYNFC":"8","XMID":"0381dab762aa4751b165d2f385a4b907","QYID":"f7539875c44b4613a037978fc66f736e","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"8","XMNAME":"天花","QYNAME":"扒机检修间","TXMBH":"8","QYNFC":"8","XMID":"af90e99c237d498d8ca34b4ecb2921e5","QYID":"f7539875c44b4613a037978fc66f736e","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"}]},{"区域分组":[{"BH":"6","XMNAME":"楼梯、走廊瓷砖","QYNAME":"除盐控制室","TXMBH":"6","QYNFC":"6","XMID":"e9692c642e2a457f9b954314c373e1b6","QYID":"4a033d646c9a4a46949d52c0380a6f32","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"6","XMNAME":"排水系统","QYNAME":"除盐控制室","TXMBH":"6","QYNFC":"6","XMID":"2a0879f795be4dd69bb776b0c0da7dcd","QYID":"4a033d646c9a4a46949d52c0380a6f32","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"6","XMNAME":"卫生间卫浴设备","QYNAME":"除盐控制室","TXMBH":"6","QYNFC":"6","XMID":"6918731a58474be186a77ba3e97168c9","QYID":"4a033d646c9a4a46949d52c0380a6f32","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"6","XMNAME":"墙面","QYNAME":"除盐控制室","TXMBH":"6","QYNFC":"6","XMID":"fc5ff06fb8c14e9ab4c31dca6e66e5f8","QYID":"4a033d646c9a4a46949d52c0380a6f32","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"6","XMNAME":"建筑物","QYNAME":"除盐控制室","TXMBH":"6","QYNFC":"6","XMID":"3debf515f3704af7925d2b49ef572a9c","QYID":"4a033d646c9a4a46949d52c0380a6f32","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"6","XMNAME":"瓷砖","QYNAME":"除盐控制室","TXMBH":"6","QYNFC":"6","XMID":"0381dab762aa4751b165d2f385a4b907","QYID":"4a033d646c9a4a46949d52c0380a6f32","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"6","XMNAME":"天花","QYNAME":"除盐控制室","TXMBH":"6","QYNFC":"6","XMID":"af90e99c237d498d8ca34b4ecb2921e5","QYID":"4a033d646c9a4a46949d52c0380a6f32","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"6","XMNAME":"窗户及玻璃、窗帘","QYNAME":"除盐控制室","TXMBH":"6","QYNFC":"6","XMID":"2d76e717394c456e924029b0e5ee290b","QYID":"4a033d646c9a4a46949d52c0380a6f32","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"6","XMNAME":"门及门框","QYNAME":"除盐控制室","TXMBH":"6","QYNFC":"6","XMID":"ebd90304b3f14156adbf71fc00123e85","QYID":"4a033d646c9a4a46949d52c0380a6f32","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"}]},{"区域分组":[{"BH":"4","XMNAME":"楼梯、走廊瓷砖","QYNAME":"电控楼","TXMBH":"4","QYNFC":"4","XMID":"e9692c642e2a457f9b954314c373e1b6","QYID":"4910a771647f4d978ea99804ef9f6986","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"4","XMNAME":"排水系统","QYNAME":"电控楼","TXMBH":"4","QYNFC":"4","XMID":"2a0879f795be4dd69bb776b0c0da7dcd","QYID":"4910a771647f4d978ea99804ef9f6986","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"4","XMNAME":"卫生间卫浴设备","QYNAME":"电控楼","TXMBH":"4","QYNFC":"4","XMID":"6918731a58474be186a77ba3e97168c9","QYID":"4910a771647f4d978ea99804ef9f6986","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"4","XMNAME":"墙面","QYNAME":"电控楼","TXMBH":"4","QYNFC":"4","XMID":"fc5ff06fb8c14e9ab4c31dca6e66e5f8","QYID":"4910a771647f4d978ea99804ef9f6986","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"4","XMNAME":"建筑物","QYNAME":"电控楼","TXMBH":"4","QYNFC":"4","XMID":"3debf515f3704af7925d2b49ef572a9c","QYID":"4910a771647f4d978ea99804ef9f6986","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"4","XMNAME":"瓷砖","QYNAME":"电控楼","TXMBH":"4","QYNFC":"4","XMID":"0381dab762aa4751b165d2f385a4b907","QYID":"4910a771647f4d978ea99804ef9f6986","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"4","XMNAME":"天花","QYNAME":"电控楼","TXMBH":"4","QYNFC":"4","XMID":"af90e99c237d498d8ca34b4ecb2921e5","QYID":"4910a771647f4d978ea99804ef9f6986","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"4","XMNAME":"窗户及玻璃、窗帘","QYNAME":"电控楼","TXMBH":"4","QYNFC":"4","XMID":"2d76e717394c456e924029b0e5ee290b","QYID":"4910a771647f4d978ea99804ef9f6986","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"},{"BH":"4","XMNAME":"门及门框","QYNAME":"电控楼","TXMBH":"4","QYNFC":"4","XMID":"ebd90304b3f14156adbf71fc00123e85","QYID":"4910a771647f4d978ea99804ef9f6986","JHID":"20161103192018","NEXTTIME":"2016/11/15 0:00:00"}]}] + * Total : 36 + */ + + private int Total; + private List Rows; + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class RowsBean { + @SerializedName("区域分组") + private List lyxcrwqys; + + public List getLyxcrwqys() { + return lyxcrwqys; + } + + public void setLyxcrwqys(List lyxcrwqys) { + this.lyxcrwqys = lyxcrwqys; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Lyxcrwqy.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Lyxcrwqy.java new file mode 100755 index 0000000..307dd1d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Lyxcrwqy.java @@ -0,0 +1,159 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/12. + */ + +public class Lyxcrwqy extends DataSupport { + + /** + * BH : 5 + * XMNAME : 楼梯、走廊瓷砖 + * QYNAME : 大仓库 + * TXMBH : 5 + * QYNFC : 5 + * XMID : e9692c642e2a457f9b954314c373e1b6 + * QYID : 2f90396dd8324dda835c5439f241e994 + * JHID : 20161103192018 + * NEXTTIME : 2016/11/15 0:00:00 + */ + + private String BH; + private String XMNAME; + private String QYNAME; + private String TXMBH; + private String QYNFC; + private String XMID; + private String QYID; + private String JHID; + private String NEXTTIME; + private String ISZC;// 1表示正常 0表示不正常, 不正常就生成缺陷工单 + private String CJJG;//备注 + private String CJSJ;//日期 + private boolean checked; + private String CJR;//采集人 + private String SMFX;//扫描方式 + + public String getSMFX() { + return SMFX; + } + + public void setSMFX(String SMFX) { + this.SMFX = SMFX; + } + + public String getCJJG() { + return CJJG; + } + + public void setCJJG(String CJJG) { + this.CJJG = CJJG; + } + + public String getCJR() { + return CJR; + } + + public void setCJR(String CJR) { + this.CJR = CJR; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public String getCJSJ() { + return CJSJ; + } + + public void setCJSJ(String CJSJ) { + this.CJSJ = CJSJ; + } + + public String getISZC() { + return ISZC; + } + + public void setISZC(String ISZC) { + this.ISZC = ISZC; + } + + + public String getBH() { + return BH; + } + + public void setBH(String BH) { + this.BH = BH; + } + + public String getXMNAME() { + return XMNAME; + } + + public void setXMNAME(String XMNAME) { + this.XMNAME = XMNAME; + } + + public String getQYNAME() { + return QYNAME; + } + + public void setQYNAME(String QYNAME) { + this.QYNAME = QYNAME; + } + + public String getTXMBH() { + return TXMBH; + } + + public void setTXMBH(String TXMBH) { + this.TXMBH = TXMBH; + } + + public String getQYNFC() { + return QYNFC; + } + + public void setQYNFC(String QYNFC) { + this.QYNFC = QYNFC; + } + + public String getXMID() { + return XMID; + } + + public void setXMID(String XMID) { + this.XMID = XMID; + } + + public String getQYID() { + return QYID; + } + + public void setQYID(String QYID) { + this.QYID = QYID; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getNEXTTIME() { + return NEXTTIME; + } + + public void setNEXTTIME(String NEXTTIME) { + this.NEXTTIME = NEXTTIME; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Othersbsave.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Othersbsave.java new file mode 100755 index 0000000..82ed8fc --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Othersbsave.java @@ -0,0 +1,102 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/1/8. + */ + +public class Othersbsave extends DataSupport { + + private String JHID;//计划ID(必填) + private String WTQY;//问题区域(必填) + private String WTMS;//问题描述(必填) + private String LRSJ;//录入时间 + private String FXLB;//风险类别(选填) + private String YHDJ;//隐患等级(选填) + private String ZRBM;//责任部门(选填) + + private String photopatglist;//图片集合 + private boolean checked;//0:未选中,1:已选中 + private boolean uploaded; + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getWTQY() { + return WTQY; + } + + public void setWTQY(String WTQY) { + this.WTQY = WTQY; + } + + public String getWTMS() { + return WTMS; + } + + public void setWTMS(String WTMS) { + this.WTMS = WTMS; + } + + public String getLRSJ() { + return LRSJ; + } + + public void setLRSJ(String LRSJ) { + this.LRSJ = LRSJ; + } + + public String getFXLB() { + return FXLB; + } + + public void setFXLB(String FXLB) { + this.FXLB = FXLB; + } + + public String getYHDJ() { + return YHDJ; + } + + public void setYHDJ(String YHDJ) { + this.YHDJ = YHDJ; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getPhotopatglist() { + return photopatglist; + } + + public void setPhotopatglist(String photopatglist) { + this.photopatglist = photopatglist; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QYAQFXDATABean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QYAQFXDATABean.java new file mode 100755 index 0000000..c390cf9 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QYAQFXDATABean.java @@ -0,0 +1,138 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by Johnny_Chen + * on 2018/3/1. + */ + +public class QYAQFXDATABean extends DataSupport implements Parcelable { + /** + * AQFXID : D3F75475F4D14A25BCBC1C798ED38368 + * FXLX : 安全风险测试 + * FXMS : 风险描述 + * FHCS : 防护措施 + */ + + private long id; + private String AQFXID; + private String FXLX; + private String FXMS; + private String FHCS; + private XDJJHXZDataBean xdjjhxzDataBean; + private String QYEWM; + private String QYNFC; + + + public QYAQFXDATABean() { + } + + protected QYAQFXDATABean(Parcel in) { + AQFXID = in.readString(); + FXLX = in.readString(); + FXMS = in.readString(); + FHCS = in.readString(); + QYEWM = in.readString(); + QYNFC = in.readString(); + + } + + public static final Creator CREATOR = new Creator() { + @Override + public QYAQFXDATABean createFromParcel(Parcel in) { + return new QYAQFXDATABean(in); + } + + @Override + public QYAQFXDATABean[] newArray(int size) { + return new QYAQFXDATABean[size]; + } + }; + + public void setId(long id) { + this.id = id; + } + + public XDJJHXZDataBean getXdjjhxzDataBean() { + return xdjjhxzDataBean; + } + + public void setXdjjhxzDataBean(XDJJHXZDataBean xdjjhxzDataBean) { + this.xdjjhxzDataBean = xdjjhxzDataBean; + } + + public long getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getAQFXID() { + return AQFXID; + } + + public void setAQFXID(String AQFXID) { + this.AQFXID = AQFXID; + } + + public String getFXLX() { + return FXLX; + } + + public void setFXLX(String FXLX) { + this.FXLX = FXLX; + } + + public String getFXMS() { + return FXMS; + } + + public void setFXMS(String FXMS) { + this.FXMS = FXMS; + } + + public String getFHCS() { + return FHCS; + } + + public void setFHCS(String FHCS) { + this.FHCS = FHCS; + } + + public String getQYEWM() { + return QYEWM; + } + + public void setQYEWM(String QYEWM) { + this.QYEWM = QYEWM; + } + + public String getQYNFC() { + return QYNFC; + } + + public void setQYNFC(String QYNFC) { + this.QYNFC = QYNFC; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(AQFXID); + dest.writeString(FXLX); + dest.writeString(FXMS); + dest.writeString(FHCS); + dest.writeString(QYEWM); + dest.writeString(QYNFC); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QYDDATABean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QYDDATABean.java new file mode 100755 index 0000000..0d2eda7 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QYDDATABean.java @@ -0,0 +1,395 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by Johnny_Chen + * on 2018/2/28. + */ + +public class QYDDATABean extends DataSupport implements Parcelable { + + private long id; + private String SCID; + private String SBMC; + private String SBID; + private String BJMC; + private String DID; + private String DMC; + private String BZZ; + private String SJMC; + private String SJDW; + private String JCFS; + private String LRFS; + private String LRMRZ; + private String DJ_ST; + private String DJ_ET; + private String DJNR; + private XDJJHXZDataBean xdjjhxzDataBean; + private boolean checked;//是否已经检查 + private boolean uploaded;//是否上传 + private boolean deleted;//true 已删除,false 未删除 + private boolean SMFX;//扫描方式,0 NFC 1 一维码二维码 + private String CJJG; + private String FXNR; + private String DATE;//保存时间 + private String GWMC; + private String GWID; + private String QYBH; + private String QYEWM; + private String QYNFC; + private String SBMCSTATE;//设备状态 + private String SBMCSTATEVALUE;//设备状态值 + private String second;//是否曾经用过NFC和二维码进入过区域 + + public QYDDATABean() { + } + + + protected QYDDATABean(Parcel in) { + SCID = in.readString(); + SBMC = in.readString(); + SBID = in.readString(); + BJMC = in.readString(); + DID = in.readString(); + DMC = in.readString(); + BZZ = in.readString(); + SJMC = in.readString(); + SJDW = in.readString(); + JCFS = in.readString(); + LRFS = in.readString(); + LRMRZ = in.readString(); + DJ_ST = in.readString(); + DJ_ET = in.readString(); + DJNR = in.readString(); + FXNR = in.readString(); + checked = in.readByte() != 0; + uploaded = in.readByte() != 0; + deleted = in.readByte() != 0; + SMFX = in.readByte() != 0; + CJJG = in.readString(); + DATE = in.readString(); + GWMC = in.readString(); + GWID = in.readString(); + QYBH = in.readString(); + QYEWM = in.readString(); + QYNFC = in.readString(); + SBMCSTATE = in.readString(); + SBMCSTATEVALUE = in.readString(); + second = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public QYDDATABean createFromParcel(Parcel in) { + return new QYDDATABean(in); + } + + @Override + public QYDDATABean[] newArray(int size) { + return new QYDDATABean[size]; + } + }; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public XDJJHXZDataBean getXdjjhxzDataBean() { + return xdjjhxzDataBean; + } + + public void setXdjjhxzDataBean(XDJJHXZDataBean xdjjhxzDataBean) { + this.xdjjhxzDataBean = xdjjhxzDataBean; + } + + public void setId(int id) { + this.id = id; + } + + public String getSCID() { + return SCID; + } + + public void setSCID(String SCID) { + this.SCID = SCID; + } + + public String getSBMC() { + return SBMC; + } + + public void setSBMC(String SBMC) { + this.SBMC = SBMC; + } + + public String getSBID() { + return SBID; + } + + public void setSBID(String SBID) { + this.SBID = SBID; + } + + public String getBJMC() { + return BJMC; + } + + public void setBJMC(String BJMC) { + this.BJMC = BJMC; + } + + public String getDID() { + return DID; + } + + public void setDID(String DID) { + this.DID = DID; + } + + public String getDMC() { + return DMC; + } + + public String getSecond() { + return second; + } + + public void setSecond(String second) { + this.second = second; + } + + public void setDMC(String DMC) { + this.DMC = DMC; + } + + public String getBZZ() { + return BZZ; + } + + public void setBZZ(String BZZ) { + this.BZZ = BZZ; + } + + public String getSJMC() { + return SJMC; + } + + public void setSJMC(String SJMC) { + this.SJMC = SJMC; + } + + public String getSJDW() { + return SJDW; + } + + public void setSJDW(String SJDW) { + this.SJDW = SJDW; + } + + public String getJCFS() { + return JCFS; + } + + public void setJCFS(String JCFS) { + this.JCFS = JCFS; + } + + public String getLRFS() { + return LRFS; + } + + public void setLRFS(String LRFS) { + this.LRFS = LRFS; + } + + public String getLRMRZ() { + return LRMRZ; + } + + public void setLRMRZ(String LRMRZ) { + this.LRMRZ = LRMRZ; + } + + public String getDJ_ST() { + return DJ_ST; + } + + public void setDJ_ST(String DJ_ST) { + this.DJ_ST = DJ_ST; + } + + public String getFXNR() { + return FXNR; + } + + public void setFXNR(String FXNR) { + this.FXNR = FXNR; + } + + public String getDJNR() { + return DJNR; + } + + public void setDJNR(String DJNR) { + this.DJNR = DJNR; + } + + public String getDJ_ET() { + return DJ_ET; + } + + public void setDJ_ET(String DJ_ET) { + this.DJ_ET = DJ_ET; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } + + public boolean isDeleted() { + return deleted; + } + + public void setDeleted(boolean deleted) { + this.deleted = deleted; + } + + public boolean isSMFX() { + return SMFX; + } + + public void setSMFX(boolean SMFX) { + this.SMFX = SMFX; + } + + public String getCJJG() { + return CJJG; + } + + public void setCJJG(String CJJG) { + this.CJJG = CJJG; + } + + public String getDATE() { + return DATE; + } + + public void setDATE(String DATE) { + this.DATE = DATE; + } + + public String getGWMC() { + return GWMC; + } + + public void setGWMC(String GWMC) { + this.GWMC = GWMC; + } + + public String getGWID() { + return GWID; + } + + public void setGWID(String GWID) { + this.GWID = GWID; + } + + public String getQYBH() { + return QYBH; + } + + public void setQYBH(String QYBH) { + this.QYBH = QYBH; + } + + public String getQYEWM() { + return QYEWM; + } + + public void setQYEWM(String QYEWM) { + this.QYEWM = QYEWM; + } + + public String getQYNFC() { + return QYNFC; + } + + public void setQYNFC(String QYNFC) { + this.QYNFC = QYNFC; + } + + public String getSBMCSTATE() { + return SBMCSTATE; + } + + public void setSBMCSTATE(String SBMCSTATE) { + this.SBMCSTATE = SBMCSTATE; + } + + public String getSBMCSTATEVALUE() { + return SBMCSTATEVALUE; + } + + public void setSBMCSTATEVALUE(String SBMCSTATEVALUE) { + this.SBMCSTATEVALUE = SBMCSTATEVALUE; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(SCID); + dest.writeString(SBMC); + dest.writeString(SBID); + dest.writeString(BJMC); + dest.writeString(DID); + dest.writeString(DMC); + dest.writeString(BZZ); + dest.writeString(SJMC); + dest.writeString(SJDW); + dest.writeString(JCFS); + dest.writeString(LRFS); + dest.writeString(LRMRZ); + dest.writeString(DJ_ST); + dest.writeString(DJ_ET); + dest.writeString(DJNR); + dest.writeString(FXNR); + dest.writeByte(this.checked ? (byte) 1 : (byte) 0); + dest.writeByte(this.uploaded ? (byte) 1 : (byte) 0); + dest.writeByte(this.deleted ? (byte) 1 : (byte) 0); + dest.writeByte(this.SMFX ? (byte) 1 : (byte) 0); + dest.writeString(CJJG); + dest.writeString(DATE); + dest.writeString(GWMC); + dest.writeString(GWID); + dest.writeString(QYBH); + dest.writeString(QYEWM); + dest.writeString(QYNFC); + dest.writeString(SBMCSTATE); + dest.writeString(SBMCSTATEVALUE); + dest.writeString(second); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QxgdInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QxgdInfo.java new file mode 100755 index 0000000..3e166d7 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QxgdInfo.java @@ -0,0 +1,47 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/22. + */ + +public class QxgdInfo extends DataSupport { + + private String qxms; + private String zyid; + private String bgr; + private String date; + + public String getQxms() { + return qxms; + } + + public void setQxms(String qxms) { + this.qxms = qxms; + } + + public String getZyid() { + return zyid; + } + + public void setZyid(String zyid) { + this.zyid = zyid; + } + + public String getBgr() { + return bgr; + } + + public void setBgr(String bgr) { + this.bgr = bgr; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Qy.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Qy.java new file mode 100755 index 0000000..d61ed69 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Qy.java @@ -0,0 +1,47 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/11. + */ + +public class Qy extends DataSupport { + + private String AREACODE; + private String AREANAME; + private String BQBM; + private String TXM; + + public String getAREACODE() { + return AREACODE; + } + + public void setAREACODE(String AREACODE) { + this.AREACODE = AREACODE; + } + + public String getAREANAME() { + return AREANAME; + } + + public void setAREANAME(String AREANAME) { + this.AREANAME = AREANAME; + } + + public String getBQBM() { + return BQBM; + } + + public void setBQBM(String BQBM) { + this.BQBM = BQBM; + } + + public String getTXM() { + return TXM; + } + + public void setTXM(String TXM) { + this.TXM = TXM; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QyList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QyList.java new file mode 100755 index 0000000..f2ebefa --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/QyList.java @@ -0,0 +1,42 @@ +package com.rehome.bhdxj.DBModel; + +import java.util.List; + +/** + * Created by gzw on 2016/11/11. + */ + +public class QyList { + + + /** + * Rows : [{"AREACODE":"HX02","AREANAME":"1、2号机组废水处理区域","BQBM":"BQ2234","TXM":"TM2233"},{"AREACODE":"CH07","AREANAME":"1、2号机组灰控室","BQBM":"123456","TXM":"654321"},{"AREACODE":"HX05","AREANAME":"1、2号机组公用循环水加药系统区域","BQBM":"3332135","TXM":"55656132"},{"AREACODE":"CH05","AREANAME":"1、2号炉灰库区域","BQBM":"12345","TXM":"111222"},{"AREACODE":"CH06","AREANAME":"1、2号炉输送风机及气化风机区域","BQBM":"33333333333","TXM":"444444"},{"AREACODE":"GL08","AREANAME":"1号炉0米层区域","BQBM":"555555555","TXM":"666666"},{"AREACODE":"CH04","AREANAME":"1号炉电除尘区域","BQBM":"8885567","TXM":"888888"},{"AREACODE":"QT06","AREANAME":"机械车间","BQBM":"","TXM":""},{"AREACODE":"TS05","AREANAME":"1号机组脱硫吸收塔GGH层区域","BQBM":"","TXM":""},{"AREACODE":"TS08","AREANAME":"1、2号机组脱硫废水楼区域","BQBM":"","TXM":""},{"AREACODE":"HC10","AREANAME":"灰场堆料机B区域","BQBM":"","TXM":""},{"AREACODE":"MT07","AREANAME":"4号卸船机","BQBM":"","TXM":""},{"AREACODE":"RL229","AREANAME":"TT5除尘区域","BQBM":"","TXM":""},{"AREACODE":"GL26","AREANAME":"2号炉电梯5楼区域","BQBM":"","TXM":""},{"AREACODE":"MT02","AREANAME":"煤码头区域","BQBM":"","TXM":""},{"AREACODE":"RL226","AREANAME":"C9A皮带区域","BQBM":"","TXM":""},{"AREACODE":"HX04","AREANAME":"全厂公用制氢站区域","BQBM":"","TXM":""},{"AREACODE":"RL232","AREANAME":"TT7电气房区域","BQBM":"","TXM":""},{"AREACODE":"MT06","AREANAME":"C1B皮带机","BQBM":"","TXM":""},{"AREACODE":"QT04","AREANAME":"行政楼生产楼区域","BQBM":"","TXM":""},{"AREACODE":"RL233","AREANAME":"TT8除尘区域","BQBM":"","TXM":""},{"AREACODE":"HX03","AREANAME":"1号、2号机汽水取样区域","BQBM":"","TXM":""},{"AREACODE":"RL217","AREANAME":"C6A/B碎煤机区域","BQBM":"","TXM":""},{"AREACODE":"RL234","AREANAME":"煤场喷淋泵房及沉淀池区域 ","BQBM":"","TXM":""},{"AREACODE":"RL221","AREANAME":"C7A皮带区域","BQBM":"","TXM":""},{"AREACODE":"GL06","AREANAME":"1号炉电梯1楼区域","BQBM":"","TXM":""},{"AREACODE":"RL205","AREANAME":"2号堆取料机区域","BQBM":"","TXM":""},{"AREACODE":"TS09","AREANAME":"2号机组脱硫露天0米区域","BQBM":"","TXM":""},{"AREACODE":"TS12","AREANAME":"2号机组脱硫吸收塔GGH层区域","BQBM":"","TXM":""},{"AREACODE":"RL37","AREANAME":"2A取样收集站区域","BQBM":"","TXM":""},{"AREACODE":"RL228","AREANAME":"TT4除尘区域","BQBM":"","TXM":""},{"AREACODE":"GL11","AREANAME":"2号炉电梯4楼区域","BQBM":"","TXM":""},{"AREACODE":"RL113","AREANAME":"煤控PLC房区域","BQBM":"","TXM":""},{"AREACODE":"GL10","AREANAME":"1号炉电梯5楼区域","BQBM":"","TXM":""},{"AREACODE":"HC01","AREANAME":"灰场管式皮带A头部区域","BQBM":"","TXM":""},{"AREACODE":"RL202","AREANAME":"1号污水井区域","BQBM":"","TXM":""},{"AREACODE":"MT04","AREANAME":"1号卸船机","BQBM":"","TXM":""},{"AREACODE":"HC06","AREANAME":"灰场管式皮带B4号炉段区域","BQBM":"","TXM":""},{"AREACODE":"RL106","AREANAME":"煤控电气房区域","BQBM":"","TXM":""},{"AREACODE":"GL15","AREANAME":"2号炉电梯7楼区域","BQBM":"","TXM":""},{"AREACODE":"RL222","AREANAME":"C7B皮带区域","BQBM":"","TXM":""},{"AREACODE":"RL211","AREANAME":"C3A皮带区域","BQBM":"","TXM":""},{"AREACODE":"RL92","AREANAME":"C8A/B取样收集站区域","BQBM":"","TXM":""},{"AREACODE":"HC03","AREANAME":"灰场管式皮带A3号炉段区域","BQBM":"","TXM":""},{"AREACODE":"JK03","AREANAME":"1、2号机组集控楼3楼","BQBM":"","TXM":""},{"AREACODE":"MT08","AREANAME":"3号卸船机","BQBM":"","TXM":""},{"AREACODE":"RL224","AREANAME":"C8A皮带区域","BQBM":"","TXM":""},{"AREACODE":"GL23","AREANAME":"2号炉电梯2楼区域","BQBM":"","TXM":""},{"AREACODE":"GL18","AREANAME":"2号炉电梯6楼区域","BQBM":"","TXM":""},{"AREACODE":"QJ13","AREANAME":"1号机组汽机房0米层区域","BQBM":"","TXM":""},{"AREACODE":"QJ12","AREANAME":"2号机组汽机房6米层区域","BQBM":"","TXM":""},{"AREACODE":"CH02","AREANAME":"1号炉底灰皮带区域","BQBM":"","TXM":""},{"AREACODE":"HC09","AREANAME":"灰场堆料机A区域","BQBM":"","TXM":""},{"AREACODE":"GL01","AREANAME":"2号炉电梯10楼区域","BQBM":"","TXM":""},{"AREACODE":"GL09","AREANAME":"1号炉南侧区域","BQBM":"","TXM":""},{"AREACODE":"RL218","AREANAME":"C6A/B振动筛区域","BQBM":"","TXM":""},{"AREACODE":"DQ06","AREANAME":"2号主变、厂高变区域","BQBM":"","TXM":""},{"AREACODE":"GL13","AREANAME":"2号炉0米层区域","BQBM":"","TXM":""},{"AREACODE":"CH10","AREANAME":"2号炉脱水仓区域","BQBM":"","TXM":""},{"AREACODE":"RL215","AREANAME":"C5A皮带区域","BQBM":"","TXM":""},{"AREACODE":"QJ03","AREANAME":"2号机组汽机房除氧器区域","BQBM":"","TXM":""},{"AREACODE":"QT05","AREANAME":"油库区域","BQBM":"","TXM":""},{"AREACODE":"RL208","AREANAME":"3号污水井区域","BQBM":"","TXM":""},{"AREACODE":"HC02","AREANAME":"灰场管式皮带B头部区域","BQBM":"","TXM":""},{"AREACODE":"CH03","AREANAME":"1号炉脱水仓区域","BQBM":"","TXM":""},{"AREACODE":"QJ14","AREANAME":"2号机组汽机房0米层区域","BQBM":"","TXM":""},{"AREACODE":"RL223","AREANAME":"C8A/B取样区域","BQBM":"","TXM":""},{"AREACODE":"TS07","AREANAME":"2号机组脱硫循环泵泵房","BQBM":"","TXM":""},{"AREACODE":"CH08","AREANAME":"1、2号机组烟囱区域","BQBM":"","TXM":""},{"AREACODE":"TS03","AREANAME":"1、2号机组脱硫电控楼3楼","BQBM":"","TXM":""},{"AREACODE":"HC08","AREANAME":"灰场管式皮带B中段区域","BQBM":"","TXM":""},{"AREACODE":"CH09","AREANAME":"灰场区域","BQBM":"","TXM":""},{"AREACODE":"GL02","AREANAME":"1号炉电梯2楼区域","BQBM":"","TXM":""},{"AREACODE":"GL20","AREANAME":"1号炉电梯6楼区域","BQBM":"","TXM":""},{"AREACODE":"MT05","AREANAME":"C1A皮带机","BQBM":"","TXM":""},{"AREACODE":"DQ03","AREANAME":"1、2号启备变区域","BQBM":"","TXM":""},{"AREACODE":"QJ02","AREANAME":"2号机组汽机房13米层区域","BQBM":"","TXM":""},{"AREACODE":"RL90","AREANAME":"TT7电气房区域","BQBM":"","TXM":""},{"AREACODE":"MT01","AREANAME":"2号卸船机","BQBM":"","TXM":""},{"AREACODE":"RL225","AREANAME":"C8B皮带区域","BQBM":"","TXM":""},{"AREACODE":"GL12","AREANAME":"1号炉电梯10楼区域","BQBM":"","TXM":""},{"AREACODE":"TS06","AREANAME":"1、2号机组脱硫工艺楼区域","BQBM":"","TXM":""},{"AREACODE":"GL03","AREANAME":"2号炉北侧区域","BQBM":"","TXM":""},{"AREACODE":"RL209","AREANAME":"C2A皮带区域","BQBM":"","TXM":""},{"AREACODE":"RL210","AREANAME":"C2B皮带区域","BQBM":"","TXM":""},{"AREACODE":"RL204","AREANAME":"2B取样区域","BQBM":"","TXM":""},{"AREACODE":"CH01","AREANAME":"2号炉电除尘区域","BQBM":"","TXM":""},{"AREACODE":"RL207","AREANAME":"2号污水井区域","BQBM":"","TXM":""},{"AREACODE":"GL19","AREANAME":"2号炉电梯8楼区域","BQBM":"","TXM":""},{"AREACODE":"HC04","AREANAME":"灰场管式皮带B3号炉段区域","BQBM":"","TXM":""},{"AREACODE":"RL214","AREANAME":"C4B皮带区域","BQBM":"","TXM":""},{"AREACODE":"TS11","AREANAME":"1、2号机组脱硫电控楼","BQBM":"","TXM":""},{"AREACODE":"RL212","AREANAME":"C3B皮带区域","BQBM":"","TXM":""},{"AREACODE":"QJ11","AREANAME":"1、2机组循环水区域","BQBM":"","TXM":""},{"AREACODE":"RL108","AREANAME":"码头电气房区域","BQBM":"","TXM":""},{"AREACODE":"RL230","AREANAME":"TT6除尘区域","BQBM":"","TXM":""},{"AREACODE":"GL16","AREANAME":"2号炉引风机区域","BQBM":"","TXM":""},{"AREACODE":"RL235","AREANAME":"煤控电气房及PLC房区域","BQBM":"","TXM":""},{"AREACODE":"QJ08","AREANAME":"1号机组闭式冷却水区域","BQBM":"","TXM":""},{"AREACODE":"RL227","AREANAME":"C9B皮带区域","BQBM":"","TXM":""},{"AREACODE":"QJ05","AREANAME":"2号机组闭式冷却水区域","BQBM":"","TXM":""},{"AREACODE":"RL216","AREANAME":"C5B皮带区域","BQBM":"","TXM":""},{"AREACODE":"GL25","AREANAME":"2号炉电梯1楼区域","BQBM":"","TXM":""},{"AREACODE":"QT08","AREANAME":"消防保卫楼","BQBM":"","TXM":""},{"AREACODE":"RL219","AREANAME":"C6A皮带区域","BQBM":"","TXM":""},{"AREACODE":"DQ05","AREANAME":"电气车间","BQBM":"","TXM":""},{"AREACODE":"RL231","AREANAME":"TT7除尘区域","BQBM":"","TXM":""},{"AREACODE":"RL203","AREANAME":"2A取样区域","BQBM":"","TXM":""},{"AREACODE":"GL22","AREANAME":"1号炉电梯8楼区域","BQBM":"","TXM":""},{"AREACODE":"HX06","AREANAME":"全厂公用除盐水、生活水区域","BQBM":"","TXM":""},{"AREACODE":"QJ04","AREANAME":"1号机组汽机房除氧器区域","BQBM":"","TXM":""},{"AREACODE":"CH11","AREANAME":"2号炉底灰皮带区域","BQBM":"","TXM":""},{"AREACODE":"RL200","AREANAME":"1号堆取料机区域","BQBM":"","TXM":""},{"AREACODE":"HC07","AREANAME":"灰场管式皮带A中段区域","BQBM":"","TXM":""},{"AREACODE":"RL201","AREANAME":"1号炉原煤仓除尘区域","BQBM":"","TXM":""},{"AREACODE":"QJ01","AREANAME":"1、2号机组汽机房0米层中间区域","BQBM":"","TXM":""},{"AREACODE":"GL05","AREANAME":"1号炉电梯4楼区域","BQBM":"","TXM":""},{"AREACODE":"DQ04","AREANAME":"1号主变、厂高变区域","BQBM":"","TXM":""},{"AREACODE":"QT03","AREANAME":"仓库","BQBM":"","TXM":""},{"AREACODE":"QJ06","AREANAME":"1号机组汽机房13米层区域","BQBM":"","TXM":""},{"AREACODE":"DQ02","AREANAME":"220KV GIS区域","BQBM":"","TXM":""},{"AREACODE":"GL14","AREANAME":"1号炉电梯7楼区域","BQBM":"","TXM":""},{"AREACODE":"HX01","AREANAME":"全厂公用生水预处理区域及消防水泵房","BQBM":"","TXM":""},{"AREACODE":"RL213","AREANAME":"C4A皮带区域","BQBM":"","TXM":""},{"AREACODE":"RL220","AREANAME":"C6B皮带区域","BQBM":"","TXM":""},{"AREACODE":"TS04","AREANAME":"1号机组脱硫循环泵泵房","BQBM":"","TXM":""},{"AREACODE":"JK01","AREANAME":"1、2号机组集控楼1楼","BQBM":"","TXM":""},{"AREACODE":"JK04","AREANAME":"1、2号机组集控楼2楼","BQBM":"","TXM":""},{"AREACODE":"JK02","AREANAME":"1、2号机组集控楼5楼","BQBM":"","TXM":""},{"AREACODE":"RL206","AREANAME":"2号炉原煤仓除尘区域","BQBM":"","TXM":""},{"AREACODE":"QJ10","AREANAME":"1号机组汽机房6米层区域","BQBM":"","TXM":""},{"AREACODE":"RL39","AREANAME":"2B取样收集站区域","BQBM":"","TXM":""},{"AREACODE":"TS01","AREANAME":"1号机组脱硫露天0米区域","BQBM":"","TXM":""},{"AREACODE":"DQ01","AREANAME":"220KV网控楼","BQBM":"","TXM":""},{"AREACODE":"GL21","AREANAME":"1号炉电梯3楼区域","BQBM":"","TXM":""},{"AREACODE":"MT03","AREANAME":"油码头区域","BQBM":"","TXM":""},{"AREACODE":"GL17","AREANAME":"1号炉引风机区域","BQBM":"","TXM":""},{"AREACODE":"GL24","AREANAME":"2号炉电梯3楼区域","BQBM":"","TXM":""},{"AREACODE":"RL236","AREANAME":"码头电气房区域","BQBM":"","TXM":""},{"AREACODE":"HC05","AREANAME":"灰场管式皮带A4号炉段区域","BQBM":"","TXM":""},{"AREACODE":"JK05","AREANAME":"1、2号机组集控楼4楼","BQBM":"","TXM":""}] + * Total : 141 + */ + + private int Total; + /** + * AREACODE : HX02 + * AREANAME : 1、2号机组废水处理区域 + * BQBM : BQ2234 + * TXM : TM2233 + */ + + private List Rows; + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadaqjcsave.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadaqjcsave.java new file mode 100755 index 0000000..c564bdb --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadaqjcsave.java @@ -0,0 +1,101 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/1/8. + */ + +public class Uploadaqjcsave extends DataSupport { + + private String JHID;//计划ID(必填) + private String WTQY;//问题区域(必填) + private String WTMS;//问题描述(必填) + private String LRSJ;//录入时间 + private String FXLB;//风险类别(选填) + private String YHDJ;//隐患等级(选填) + private String ZRBM;//责任部门(选填) + private String photopatglist;//图片集合 + private boolean checked;//0:未选中,1:已选中 + private boolean uploaded; + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getWTQY() { + return WTQY; + } + + public void setWTQY(String WTQY) { + this.WTQY = WTQY; + } + + public String getWTMS() { + return WTMS; + } + + public void setWTMS(String WTMS) { + this.WTMS = WTMS; + } + + public String getLRSJ() { + return LRSJ; + } + + public void setLRSJ(String LRSJ) { + this.LRSJ = LRSJ; + } + + public String getFXLB() { + return FXLB; + } + + public void setFXLB(String FXLB) { + this.FXLB = FXLB; + } + + public String getYHDJ() { + return YHDJ; + } + + public void setYHDJ(String YHDJ) { + this.YHDJ = YHDJ; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getPhotopatglist() { + return photopatglist; + } + + public void setPhotopatglist(String photopatglist) { + this.photopatglist = photopatglist; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadsblcsave.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadsblcsave.java new file mode 100755 index 0000000..274fff3 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadsblcsave.java @@ -0,0 +1,105 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2017/12/23. + */ + +public class Uploadsblcsave extends DataSupport { + + private String JHID;//计划ID(必填) + private String LCSB;//联查设备(必填) + private String WTMS;//问题描述(必填) + private String LRSJ;//录入时间 + private String ZGYJ;//整改意见(选填) + private String ZGBM;//整改部门(选填) + private String ZGZRR;//整改责任人(选填) + + private String photopatglist;//图片集合 + private boolean checked;//0:未选中,1:已选中 + private boolean uploaded; + + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getLCSB() { + return LCSB; + } + + public void setLCSB(String LCSB) { + this.LCSB = LCSB; + } + + public String getWTMS() { + return WTMS; + } + + public void setWTMS(String WTMS) { + this.WTMS = WTMS; + } + + public String getLRSJ() { + return LRSJ; + } + + public void setLRSJ(String LRSJ) { + this.LRSJ = LRSJ; + } + + public String getZGYJ() { + return ZGYJ; + } + + public void setZGYJ(String ZGYJ) { + this.ZGYJ = ZGYJ; + } + + public String getZGBM() { + return ZGBM; + } + + public void setZGBM(String ZGBM) { + this.ZGBM = ZGBM; + } + + public String getZGZRR() { + return ZGZRR; + } + + public void setZGZRR(String ZGZRR) { + this.ZGZRR = ZGZRR; + } + + public String getPhotopatglist() { + return photopatglist; + } + + public void setPhotopatglist(String photopatglist) { + this.photopatglist = photopatglist; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadzdcsrw.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadzdcsrw.java new file mode 100755 index 0000000..e289019 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadzdcsrw.java @@ -0,0 +1,109 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/1/24. + */ + +public class Uploadzdcsrw extends DataSupport { + + + private String ZXID;//执行ID(必填) + private String QYBH;//区域编号 + private String WTMS;//问题描述 + private String LUSJ;//录入时间 + private String FXLB;//风险类别 + private String ZRBM;//责任部门 + private String YHDJ;//隐患等级 + + private String photopatglist;//图片集合 + private boolean checked;//0:未选中,1:已选中 + private boolean uploaded; + + + public String getZXID() { + return ZXID; + } + + public void setZXID(String ZXID) { + this.ZXID = ZXID; + } + + public String getQYBH() { + return QYBH; + } + + public void setQYBH(String QYBH) { + this.QYBH = QYBH; + } + + public String getWTMS() { + return WTMS; + } + + public void setWTMS(String WTMS) { + this.WTMS = WTMS; + } + + public String getLUSJ() { + return LUSJ; + } + + public void setLUSJ(String LUSJ) { + this.LUSJ = LUSJ; + } + + public String getFXLB() { + return FXLB; + } + + public void setFXLB(String FXLB) { + this.FXLB = FXLB; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getYHDJ() { + return YHDJ; + } + + public void setYHDJ(String YHDJ) { + this.YHDJ = YHDJ; + } + + public String getPhotopatglist() { + return photopatglist; + } + + public void setPhotopatglist(String photopatglist) { + this.photopatglist = photopatglist; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } + + + + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadzgjg.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadzgjg.java new file mode 100755 index 0000000..664fc80 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadzgjg.java @@ -0,0 +1,75 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2017/12/27. + */ + +public class Uploadzgjg extends DataSupport { + + private String JHID;//计划ID(必填) + private String RWID;//任务ID(必填) + private String ZGJG;//整改结果(必填) + private String photopatglist;//图片集合 + private boolean checked;//0:未选中,1:已选中 + private boolean uploaded; + private String LRSJ;//录入时间 + + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getRWID() { + return RWID; + } + + public void setRWID(String RWID) { + this.RWID = RWID; + } + + public String getZGJG() { + return ZGJG; + } + + public void setZGJG(String ZGJG) { + this.ZGJG = ZGJG; + } + + public String getPhotopatglist() { + return photopatglist; + } + + public void setPhotopatglist(String photopatglist) { + this.photopatglist = photopatglist; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } + + public String getLRSJ() { + return LRSJ; + } + + public void setLRSJ(String LRSJ) { + this.LRSJ = LRSJ; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadzjcszg.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadzjcszg.java new file mode 100755 index 0000000..b925dcd --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Uploadzjcszg.java @@ -0,0 +1,74 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/1/25. + */ + +public class Uploadzjcszg extends DataSupport { + + private String RWID;//任务ID(必填) + private String ZXID;//执行ID(必填) + private String ZGJG;//整改结果(必填) + private String LRSJ;//录入时间 + private String photopatglist;//图片集合 + private boolean checked;//0:未选中,1:已选中 + private boolean uploaded; + + public String getRWID() { + return RWID; + } + + public void setRWID(String RWID) { + this.RWID = RWID; + } + + public String getZXID() { + return ZXID; + } + + public void setZXID(String ZXID) { + this.ZXID = ZXID; + } + + public String getZGJG() { + return ZGJG; + } + + public void setZGJG(String ZGJG) { + this.ZGJG = ZGJG; + } + + public String getLRSJ() { + return LRSJ; + } + + public void setLRSJ(String LRSJ) { + this.LRSJ = LRSJ; + } + + public String getPhotopatglist() { + return photopatglist; + } + + public void setPhotopatglist(String photopatglist) { + this.photopatglist = photopatglist; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbList.java new file mode 100755 index 0000000..45e90b7 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbList.java @@ -0,0 +1,100 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/7/27. + */ + +public class WjbList extends DataSupport implements Parcelable { + private long id; + private String bagid; + private String title; + private String keywords; + private Listzjd; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getBagid() { + return bagid; + } + + public void setBagid(String bagid) { + this.bagid = bagid; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getKeywords() { + return keywords; + } + + public void setKeywords(String keywords) { + this.keywords = keywords; + } + + public List getZjd() { + return zjd; + } + + public void setZjd(List zjd) { + this.zjd = zjd; + } + + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(this.id); + dest.writeString(this.bagid); + dest.writeString(this.title); + dest.writeString(this.keywords); + dest.writeList(this.zjd); + } + + public WjbList() { + } + + protected WjbList(Parcel in) { + this.id = in.readLong(); + this.bagid = in.readString(); + this.title = in.readString(); + this.keywords = in.readString(); + this.zjd = new ArrayList(); + in.readList(this.zjd, WjbzjdList.class.getClassLoader()); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public WjbList createFromParcel(Parcel source) { + return new WjbList(source); + } + + @Override + public WjbList[] newArray(int size) { + return new WjbList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbStateList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbStateList.java new file mode 100755 index 0000000..2c13d92 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbStateList.java @@ -0,0 +1,74 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/27. + */ + +public class WjbStateList implements Parcelable { + private int state; + private String msg; + private Listdata; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.state); + dest.writeString(this.msg); + dest.writeTypedList(this.data); + } + + public WjbStateList() { + } + + protected WjbStateList(Parcel in) { + this.state = in.readInt(); + this.msg = in.readString(); + this.data = in.createTypedArrayList(WjbList.CREATOR); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public WjbStateList createFromParcel(Parcel source) { + return new WjbStateList(source); + } + + @Override + public WjbStateList[] newArray(int size) { + return new WjbStateList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbjxitemList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbjxitemList.java new file mode 100755 index 0000000..bf1ed3b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbjxitemList.java @@ -0,0 +1,106 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/7/27. + */ + +public class WjbjxitemList extends DataSupport implements Parcelable { + private long id; + private String xhid; + private String zjid; + private String bagid; + private String itemname; + private WjbzjdList wjbList; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getXhid() { + return xhid; + } + + public void setXhid(String xhid) { + this.xhid = xhid; + } + + public String getZjid() { + return zjid; + } + + public void setZjid(String zjid) { + this.zjid = zjid; + } + + public String getBagid() { + return bagid; + } + + public void setBagid(String bagid) { + this.bagid = bagid; + } + + public String getItemname() { + return itemname; + } + + public void setItemname(String itemname) { + this.itemname = itemname; + } + + public WjbzjdList getWjbList() { + return wjbList; + } + + public void setWjbList(WjbzjdList wjbList) { + this.wjbList = wjbList; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(this.id); + dest.writeString(this.xhid); + dest.writeString(this.zjid); + dest.writeString(this.bagid); + dest.writeString(this.itemname); + dest.writeParcelable(this.wjbList, flags); + } + + public WjbjxitemList() { + } + + protected WjbjxitemList(Parcel in) { + this.id = in.readLong(); + this.xhid = in.readString(); + this.zjid = in.readString(); + this.bagid = in.readString(); + this.itemname = in.readString(); + this.wjbList = in.readParcelable(WjbzjdList.class.getClassLoader()); + } + + public static final Creator CREATOR = new Creator() { + @Override + public WjbjxitemList createFromParcel(Parcel source) { + return new WjbjxitemList(source); + } + + @Override + public WjbjxitemList[] newArray(int size) { + return new WjbjxitemList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbrwList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbrwList.java new file mode 100755 index 0000000..649949d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbrwList.java @@ -0,0 +1,91 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/7/27. + */ + +public class WjbrwList extends DataSupport implements Parcelable { + + private int id; + private String state; + private String msg; + private List data = new ArrayList<>(); + + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.id); + dest.writeString(this.state); + dest.writeString(this.msg); + dest.writeList(this.data); + } + + public WjbrwList() { + } + + protected WjbrwList(Parcel in) { + this.id = in.readInt(); + this.state = in.readString(); + this.msg = in.readString(); + this.data = new ArrayList(); + in.readList(this.data, WjbrwinfoList.class.getClassLoader()); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public WjbrwList createFromParcel(Parcel source) { + return new WjbrwList(source); + } + + @Override + public WjbrwList[] newArray(int size) { + return new WjbrwList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbrwinfoList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbrwinfoList.java new file mode 100755 index 0000000..a687b21 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbrwinfoList.java @@ -0,0 +1,119 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/7/27. + */ + +public class WjbrwinfoList extends DataSupport implements Parcelable { + + private int id; + private String JHTITLE; + private String FILEBAGTITLE; + private String FILEBAGID; + private boolean checked;//0:未选中,1:已选中 + private int download;//0:未下载,1:已经下载 + private WjbrwList wjbrwList; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getJHTITLE() { + return JHTITLE; + } + + public void setJHTITLE(String JHTITLE) { + this.JHTITLE = JHTITLE; + } + + public String getFILEBAGTITLE() { + return FILEBAGTITLE; + } + + public void setFILEBAGTITLE(String FILEBAGTITLE) { + this.FILEBAGTITLE = FILEBAGTITLE; + } + + public String getFILEBAGID() { + return FILEBAGID; + } + + public void setFILEBAGID(String FILEBAGID) { + this.FILEBAGID = FILEBAGID; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public int getDownload() { + return download; + } + + public void setDownload(int download) { + this.download = download; + } + + public WjbrwList getWjbrwList() { + return wjbrwList; + } + + public void setWjbrwList(WjbrwList wjbrwList) { + this.wjbrwList = wjbrwList; + } + + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.id); + dest.writeString(this.JHTITLE); + dest.writeString(this.FILEBAGTITLE); + dest.writeString(this.FILEBAGID); + dest.writeByte(this.checked ? (byte) 1 : (byte) 0); + dest.writeInt(this.download); + dest.writeParcelable(this.wjbrwList, flags); + } + + public WjbrwinfoList() { + } + + protected WjbrwinfoList(Parcel in) { + this.id = in.readInt(); + this.JHTITLE = in.readString(); + this.FILEBAGTITLE = in.readString(); + this.FILEBAGID = in.readString(); + this.checked = in.readByte() != 0; + this.download = in.readInt(); + this.wjbrwList = in.readParcelable(WjbrwList.class.getClassLoader()); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public WjbrwinfoList createFromParcel(Parcel source) { + return new WjbrwinfoList(source); + } + + @Override + public WjbrwinfoList[] newArray(int size) { + return new WjbrwinfoList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbzjdList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbzjdList.java new file mode 100755 index 0000000..da4685c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/WjbzjdList.java @@ -0,0 +1,111 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/7/27. + */ + +public class WjbzjdList extends DataSupport implements Parcelable { + + private long id; + private String zjid; + private String bagid; + private String name; + private WjbList wjbList; + private List jxitem; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getZjid() { + return zjid; + } + + public void setZjid(String zjid) { + this.zjid = zjid; + } + + public String getBagid() { + return bagid; + } + + public void setBagid(String bagid) { + this.bagid = bagid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public WjbList getWjbList() { + return wjbList; + } + + public void setWjbList(WjbList wjbList) { + this.wjbList = wjbList; + } + + public List getJxitem() { + return jxitem; + } + + public void setJxitem(List jxitem) { + this.jxitem = jxitem; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(this.id); + dest.writeString(this.zjid); + dest.writeString(this.bagid); + dest.writeString(this.name); + dest.writeParcelable(this.wjbList, flags); + dest.writeList(this.jxitem); + } + + public WjbzjdList() { + } + + protected WjbzjdList(Parcel in) { + this.id = in.readLong(); + this.zjid = in.readString(); + this.bagid = in.readString(); + this.name = in.readString(); + this.wjbList = in.readParcelable(WjbList.class.getClassLoader()); + this.jxitem = new ArrayList(); + in.readList(this.jxitem, WjbjxitemList.class.getClassLoader()); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public WjbzjdList createFromParcel(Parcel source) { + return new WjbzjdList(source); + } + + @Override + public WjbzjdList[] newArray(int size) { + return new WjbzjdList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XDJJHXZBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XDJJHXZBean.java new file mode 100755 index 0000000..e0dc897 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XDJJHXZBean.java @@ -0,0 +1,74 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * Created by ruihong on 2018/2/26. + */ + +public class XDJJHXZBean extends DataSupport implements Parcelable { + + private int state; + private String msg; + private List data; + + protected XDJJHXZBean(Parcel in) { + state = in.readInt(); + msg = in.readString(); + data = in.createTypedArrayList(XDJJHXZDataBean.CREATOR); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XDJJHXZBean createFromParcel(Parcel in) { + return new XDJJHXZBean(in); + } + + @Override + public XDJJHXZBean[] newArray(int size) { + return new XDJJHXZBean[size]; + } + }; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(state); + dest.writeString(msg); + dest.writeTypedList(data); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XDJJHXZDataBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XDJJHXZDataBean.java new file mode 100755 index 0000000..e898d09 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XDJJHXZDataBean.java @@ -0,0 +1,200 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Johnny_Chen + * on 2018/2/28. + */ + +public class XDJJHXZDataBean extends DataSupport implements Parcelable { + + private long id; + private String GWID; + private String QYBH; + private String QYMC; + private String QYEWM; + private String QYEWMZT; + private String QYNFC; + private String QYNFCZT; + private List QYD_DATA = new ArrayList<>(); + private List QYAQFX_DATA = new ArrayList<>(); + private int SN; //自定义序号 + private String GWMC; + private String countPercent; //已检/总数 + private boolean isChecked; + + + public String getCountPercent() { + return countPercent; + } + + public void setCountPercent(String countPercent) { + this.countPercent = countPercent; + } + + public boolean isChecked() { + return isChecked; + } + + public void setChecked(boolean checked) { + isChecked = checked; + } + + public long getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getSN() { + return SN; + } + + public void setSN(int SN) { + this.SN = SN; + } + + public XDJJHXZDataBean() { + } + + protected XDJJHXZDataBean(Parcel in) { + QYBH = in.readString(); + QYMC = in.readString(); + QYEWM = in.readString(); + QYEWMZT = in.readString(); + GWID = in.readString(); + QYNFC = in.readString(); + QYNFCZT = in.readString(); + QYD_DATA = in.createTypedArrayList(QYDDATABean.CREATOR); + QYAQFX_DATA = in.createTypedArrayList(QYAQFXDATABean.CREATOR); + SN = in.readInt(); + isChecked = in.readByte() != 0; + countPercent = in.readString(); + GWMC = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XDJJHXZDataBean createFromParcel(Parcel in) { + return new XDJJHXZDataBean(in); + } + + @Override + public XDJJHXZDataBean[] newArray(int size) { + return new XDJJHXZDataBean[size]; + } + }; + + public String getQYBH() { + return QYBH; + } + + public void setQYBH(String QYBH) { + this.QYBH = QYBH; + } + + public String getQYMC() { + return QYMC; + } + + public void setQYMC(String QYMC) { + this.QYMC = QYMC; + } + + public String getQYEWM() { + return QYEWM; + } + + public void setQYEWM(String QYEWM) { + this.QYEWM = QYEWM; + } + + public String getQYEWMZT() { + return QYEWMZT; + } + + public void setQYEWMZT(String QYEWMZT) { + this.QYEWMZT = QYEWMZT; + } + + public String getGWID() { + return GWID; + } + + public void setGWID(String GWID) { + this.GWID = GWID; + } + + public String getQYNFC() { + return QYNFC; + } + + public void setQYNFC(String QYNFC) { + this.QYNFC = QYNFC; + } + + public String getQYNFCZT() { + return QYNFCZT; + } + + public void setQYNFCZT(String QYNFCZT) { + this.QYNFCZT = QYNFCZT; + } + + public List getQYD_DATA() { + return QYD_DATA; + } + + public void setQYD_DATA(List QYD_DATA) { + this.QYD_DATA = QYD_DATA; + } + + public List getQYAQFX_DATA() { + return QYAQFX_DATA; + } + + public void setQYAQFX_DATA(List QYAQFX_DATA) { + this.QYAQFX_DATA = QYAQFX_DATA; + } + + + public String getGWMC() { + return GWMC; + } + + public void setGWMC(String GWMC) { + this.GWMC = GWMC; + } + + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(QYBH); + dest.writeString(QYMC); + dest.writeString(QYEWM); + dest.writeString(QYEWMZT); + dest.writeString(GWID); + dest.writeString(QYNFC); + dest.writeString(QYNFCZT); + dest.writeTypedList(QYD_DATA); + dest.writeTypedList(QYAQFX_DATA); + dest.writeInt(SN); + dest.writeByte(this.isChecked ? (byte) 1 : (byte) 0); + dest.writeString(countPercent); + dest.writeString(GWMC); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XSJJHDataBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XSJJHDataBean.java new file mode 100755 index 0000000..49b7d94 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XSJJHDataBean.java @@ -0,0 +1,487 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by Johnny_Chen + * on 2018/2/28. + */ + +public class XSJJHDataBean extends DataSupport implements Parcelable { + + + private long id; + private String scid; + private String dbh; + private String dlxbh; + private String dlxmc; + private String sbid; + private String sb; + private String sbmc; + private String zymc; + private String dw; + private String dz; + private String gz; + private String zczt; + private String bsyl; + private String bqyl; + private String xcnr; + private String cbsz; + private String djsj; + private String zcmc; + private String cbr; + private String fxnr; + private String smfs; + private String dpx; + private String sisData; + private String LRFS; + private String MRNR; + private XSJJHXZDataBean xsjjhxzDataBean; + private boolean checked;//是否已经检查 + private boolean uploaded;//是否上传 + private boolean deleted;//true 已删除,false 未删除 + private String DATE;//保存时间 + private String zxid; + + private String SBMCSTATE;//设备状态 + private String SBMCSTATEVALUE;//设备状态值 + + + private String CJJG; + private String BJMC; + + private String nfcbm; + private String txm; + + private String TJXJZT; + private String second; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getScid() { + return scid; + } + + public void setScid(String scid) { + this.scid = scid; + } + + public String getDbh() { + return dbh; + } + + public void setDbh(String dbh) { + this.dbh = dbh; + } + + public String getDlxbh() { + return dlxbh; + } + + public void setDlxbh(String dlxbh) { + this.dlxbh = dlxbh; + } + + public String getDlxmc() { + return dlxmc; + } + + public void setDlxmc(String dlxmc) { + this.dlxmc = dlxmc; + } + + public String getSb() { + return sb; + } + + public void setSb(String sb) { + this.sb = sb; + } + + public String getSbmc() { + return sbmc; + } + + public void setSbmc(String sbmc) { + this.sbmc = sbmc; + } + + public String getZymc() { + return zymc; + } + + public void setZymc(String zymc) { + this.zymc = zymc; + } + + public String getDw() { + return dw; + } + + public void setDw(String dw) { + this.dw = dw; + } + + public String getDz() { + return dz; + } + + public void setDz(String dz) { + this.dz = dz; + } + + public String getGz() { + return gz; + } + + public void setGz(String gz) { + this.gz = gz; + } + + public String getZczt() { + return zczt; + } + + public void setZczt(String zczt) { + this.zczt = zczt; + } + + public String getBsyl() { + return bsyl; + } + + public void setBsyl(String bsyl) { + this.bsyl = bsyl; + } + + public String getBqyl() { + return bqyl; + } + + public void setBqyl(String bqyl) { + this.bqyl = bqyl; + } + + public String getXcnr() { + return xcnr; + } + + public void setXcnr(String xcnr) { + this.xcnr = xcnr; + } + + public String getCbsz() { + return cbsz; + } + + public void setCbsz(String cbsz) { + this.cbsz = cbsz; + } + + public String getDjsj() { + return djsj; + } + + public void setDjsj(String djsj) { + this.djsj = djsj; + } + + public String getZcmc() { + return zcmc; + } + + public void setZcmc(String zcmc) { + this.zcmc = zcmc; + } + + public String getCbr() { + return cbr; + } + + public void setCbr(String cbr) { + this.cbr = cbr; + } + + public String getFxnr() { + return fxnr; + } + + public void setFxnr(String fxnr) { + this.fxnr = fxnr; + } + + public String getSmfs() { + return smfs; + } + + public void setSmfs(String smfs) { + this.smfs = smfs; + } + + public String getDpx() { + return dpx; + } + + public void setDpx(String dpx) { + this.dpx = dpx; + } + + public String getSisData() { + return sisData; + } + + public void setSisData(String sisData) { + this.sisData = sisData; + } + + public String getLRFS() { + return LRFS; + } + + public void setLRFS(String LRFS) { + this.LRFS = LRFS; + } + + public String getMRNR() { + return MRNR; + } + + public void setMRNR(String MRNR) { + this.MRNR = MRNR; + } + + public XSJJHXZDataBean getXsjjhxzDataBean() { + return xsjjhxzDataBean; + } + + public void setXsjjhxzDataBean(XSJJHXZDataBean xsjjhxzDataBean) { + this.xsjjhxzDataBean = xsjjhxzDataBean; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } + + public boolean isDeleted() { + return deleted; + } + + public void setDeleted(boolean deleted) { + this.deleted = deleted; + } + + public String getDATE() { + return DATE; + } + + public void setDATE(String DATE) { + this.DATE = DATE; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getSBMCSTATE() { + return SBMCSTATE; + } + + public void setSBMCSTATE(String SBMCSTATE) { + this.SBMCSTATE = SBMCSTATE; + } + + public String getSBMCSTATEVALUE() { + return SBMCSTATEVALUE; + } + + public void setSBMCSTATEVALUE(String SBMCSTATEVALUE) { + this.SBMCSTATEVALUE = SBMCSTATEVALUE; + } + + public String getSbid() { + return sbid; + } + + public void setSbid(String sbid) { + this.sbid = sbid; + } + + public String getCJJG() { + return CJJG; + } + + public void setCJJG(String CJJG) { + this.CJJG = CJJG; + } + + public String getBJMC() { + return BJMC; + } + + public void setBJMC(String BJMC) { + this.BJMC = BJMC; + } + + public String getNfcbm() { + return nfcbm; + } + + public void setNfcbm(String nfcbm) { + this.nfcbm = nfcbm; + } + + public String getTxm() { + return txm; + } + + public void setTxm(String txm) { + this.txm = txm; + } + + public String getTJXJZT() { + return TJXJZT; + } + + public void setTJXJZT(String TJXJZT) { + this.TJXJZT = TJXJZT; + } + + public String getSecond() { + return second; + } + + public void setSecond(String second) { + this.second = second; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(this.id); + dest.writeString(this.scid); + dest.writeString(this.dbh); + dest.writeString(this.dlxbh); + dest.writeString(this.dlxmc); + dest.writeString(this.sbid); + dest.writeString(this.sb); + dest.writeString(this.sbmc); + dest.writeString(this.zymc); + dest.writeString(this.dw); + dest.writeString(this.dz); + dest.writeString(this.gz); + dest.writeString(this.zczt); + dest.writeString(this.bsyl); + dest.writeString(this.bqyl); + dest.writeString(this.xcnr); + dest.writeString(this.cbsz); + dest.writeString(this.djsj); + dest.writeString(this.zcmc); + dest.writeString(this.cbr); + dest.writeString(this.fxnr); + dest.writeString(this.smfs); + dest.writeString(this.dpx); + dest.writeString(this.sisData); + dest.writeString(this.LRFS); + dest.writeString(this.MRNR); + dest.writeByte(this.checked ? (byte) 1 : (byte) 0); + dest.writeByte(this.uploaded ? (byte) 1 : (byte) 0); + dest.writeByte(this.deleted ? (byte) 1 : (byte) 0); + dest.writeString(this.DATE); + dest.writeString(this.zxid); + dest.writeString(this.SBMCSTATE); + dest.writeString(this.SBMCSTATEVALUE); + dest.writeString(this.CJJG); + dest.writeString(this.BJMC); + dest.writeString(this.nfcbm); + dest.writeString(this.txm); + dest.writeString(this.TJXJZT); + dest.writeString(this.second); + } + + public XSJJHDataBean() { + } + + protected XSJJHDataBean(Parcel in) { + this.id = in.readLong(); + this.scid = in.readString(); + this.dbh = in.readString(); + this.dlxbh = in.readString(); + this.dlxmc = in.readString(); + this.sbid = in.readString(); + this.sb = in.readString(); + this.sbmc = in.readString(); + this.zymc = in.readString(); + this.dw = in.readString(); + this.dz = in.readString(); + this.gz = in.readString(); + this.zczt = in.readString(); + this.bsyl = in.readString(); + this.bqyl = in.readString(); + this.xcnr = in.readString(); + this.cbsz = in.readString(); + this.djsj = in.readString(); + this.zcmc = in.readString(); + this.cbr = in.readString(); + this.fxnr = in.readString(); + this.smfs = in.readString(); + this.dpx = in.readString(); + this.sisData = in.readString(); + this.LRFS = in.readString(); + this.MRNR = in.readString(); + this.checked = in.readByte() != 0; + this.uploaded = in.readByte() != 0; + this.deleted = in.readByte() != 0; + this.DATE = in.readString(); + this.zxid = in.readString(); + this.SBMCSTATE = in.readString(); + this.SBMCSTATEVALUE = in.readString(); + this.CJJG = in.readString(); + this.BJMC = in.readString(); + this.nfcbm = in.readString(); + this.txm = in.readString(); + this.TJXJZT = in.readString(); + this.second = in.readString(); + + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public XSJJHDataBean createFromParcel(Parcel source) { + return new XSJJHDataBean(source); + } + + @Override + public XSJJHDataBean[] newArray(int size) { + return new XSJJHDataBean[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XSJJHXZBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XSJJHXZBean.java new file mode 100755 index 0000000..44c257a --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XSJJHXZBean.java @@ -0,0 +1,74 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * Created by ruihong on 2018/2/26. + */ + +public class XSJJHXZBean extends DataSupport implements Parcelable { + + private int state; + private String msg; + private List data; + + protected XSJJHXZBean(Parcel in) { + state = in.readInt(); + msg = in.readString(); + data = in.createTypedArrayList(XSJJHXZDataBean.CREATOR); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XSJJHXZBean createFromParcel(Parcel in) { + return new XSJJHXZBean(in); + } + + @Override + public XSJJHXZBean[] newArray(int size) { + return new XSJJHXZBean[size]; + } + }; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(state); + dest.writeString(msg); + dest.writeTypedList(data); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XSJJHXZDataBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XSJJHXZDataBean.java new file mode 100755 index 0000000..8a5db22 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XSJJHXZDataBean.java @@ -0,0 +1,261 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * Created by Johnny_Chen + * on 2018/2/28. + */ + +public class XSJJHXZDataBean extends DataSupport implements Parcelable { + + + private long id; + private String zxid; + private String qybh; + private String qymc; + private String nfcbm; + private String txm; + private String sczt; + private String scsj; + private String fxnr; + private List data; + private int SN; //自定义序号 + private boolean isChecked; + private String countPercent; //已检/总数 + private String jhmc; + private String sbmc; + + + private String SBMCSTATE;//设备状态 + private String SBMCSTATEVALUE;//设备状态值 + + private String TJXJZT;//1停用不需要检查了 0停用也要检查 + + private String second;//是否曾经用过NFC和二维码进入过区域 + + + + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getQybh() { + return qybh; + } + + public void setQybh(String qybh) { + this.qybh = qybh; + } + + public String getQymc() { + return qymc; + } + + public void setQymc(String qymc) { + this.qymc = qymc; + } + + public String getNfcbm() { + return nfcbm; + } + + public void setNfcbm(String nfcbm) { + this.nfcbm = nfcbm; + } + + public String getTxm() { + return txm; + } + + public void setTxm(String txm) { + this.txm = txm; + } + + public String getSczt() { + return sczt; + } + + public void setSczt(String sczt) { + this.sczt = sczt; + } + + public String getScsj() { + return scsj; + } + + public void setScsj(String scsj) { + this.scsj = scsj; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public int getSN() { + return SN; + } + + public void setSN(int SN) { + this.SN = SN; + } + + public boolean isChecked() { + return isChecked; + } + + public void setChecked(boolean checked) { + isChecked = checked; + } + + public String getCountPercent() { + return countPercent; + } + + public void setCountPercent(String countPercent) { + this.countPercent = countPercent; + } + + public String getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } + + public String getSbmc() { + return sbmc; + } + + public void setSbmc(String sbmc) { + this.sbmc = sbmc; + } + + public String getSBMCSTATE() { + return SBMCSTATE; + } + + public void setSBMCSTATE(String SBMCSTATE) { + this.SBMCSTATE = SBMCSTATE; + } + + public String getSBMCSTATEVALUE() { + return SBMCSTATEVALUE; + } + + public void setSBMCSTATEVALUE(String SBMCSTATEVALUE) { + this.SBMCSTATEVALUE = SBMCSTATEVALUE; + } + + public String getTJXJZT() { + return TJXJZT; + } + + public void setTJXJZT(String TJXJZT) { + this.TJXJZT = TJXJZT; + } + + public String getSecond() { + return second; + } + + public void setSecond(String second) { + this.second = second; + } + + public String getFxnr() { + return fxnr; + } + + public void setFxnr(String fxnr) { + this.fxnr = fxnr; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(this.id); + dest.writeString(this.zxid); + dest.writeString(this.qybh); + dest.writeString(this.qymc); + dest.writeString(this.nfcbm); + dest.writeString(this.txm); + dest.writeString(this.sczt); + dest.writeString(this.scsj); + dest.writeString(this.fxnr); + dest.writeTypedList(this.data); + dest.writeInt(this.SN); + dest.writeByte(this.isChecked ? (byte) 1 : (byte) 0); + dest.writeString(this.countPercent); + dest.writeString(this.jhmc); + dest.writeString(this.sbmc); + dest.writeString(this.SBMCSTATE); + dest.writeString(this.SBMCSTATEVALUE); + dest.writeString(this.TJXJZT); + dest.writeString(this.second); + } + + public XSJJHXZDataBean() { + } + + protected XSJJHXZDataBean(Parcel in) { + this.id = in.readLong(); + this.zxid = in.readString(); + this.qybh = in.readString(); + this.qymc = in.readString(); + this.nfcbm = in.readString(); + this.txm = in.readString(); + this.sczt = in.readString(); + this.scsj = in.readString(); + this.fxnr = in.readString(); + this.data = in.createTypedArrayList(XSJJHDataBean.CREATOR); + this.SN = in.readInt(); + this.isChecked = in.readByte() != 0; + this.countPercent = in.readString(); + this.jhmc = in.readString(); + this.sbmc = in.readString(); + this.SBMCSTATE = in.readString(); + this.SBMCSTATEVALUE = in.readString(); + this.TJXJZT = in.readString(); + this.second = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XSJJHXZDataBean createFromParcel(Parcel source) { + return new XSJJHXZDataBean(source); + } + + @Override + public XSJJHXZDataBean[] newArray(int size) { + return new XSJJHXZDataBean[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XcjsInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XcjsInfo.java new file mode 100755 index 0000000..0994555 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XcjsInfo.java @@ -0,0 +1,74 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/22. + */ + +public class XcjsInfo extends DataSupport { + + private int id; + private String ms; + private String jhid; + private String pointnum; + private String djr; + private String filename; + private boolean uploaded; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getMs() { + return ms; + } + + public void setMs(String ms) { + this.ms = ms; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getPointnum() { + return pointnum; + } + + public void setPointnum(String pointnum) { + this.pointnum = pointnum; + } + + public String getDjr() { + return djr; + } + + public void setDjr(String djr) { + this.djr = djr; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfBaxcRwqy.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfBaxcRwqy.java new file mode 100755 index 0000000..54d5834 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfBaxcRwqy.java @@ -0,0 +1,191 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/11/5. + */ + +public class XfBaxcRwqy extends DataSupport implements Parcelable { + + private int id; + private String jhid; + private String xgid; + private String xgtype; + private String bh; + private String qyname; + private String qynfc; + private String qywz; + private XfBaxcRwqyList xfBaxcRwqyList; + private boolean checked; + private String txmbh; + private String smfx = "";//检查方式 + private String cjsj;//采集时间 + private String cjr;//采集人 + + public String getCjsj() { + return cjsj; + } + + public void setCjsj(String cjsj) { + this.cjsj = cjsj; + } + + public String getCjr() { + return cjr; + } + + public void setCjr(String cjr) { + this.cjr = cjr; + } + + public String getSmfx() { + return smfx; + } + + public void setSmfx(String smfx) { + this.smfx = smfx; + } + + public String getTxmbh() { + return txmbh; + } + + public void setTxmbh(String txmbh) { + this.txmbh = txmbh; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public XfBaxcRwqyList getXfBaxcRwqyList() { + return xfBaxcRwqyList; + } + + public void setXfBaxcRwqyList(XfBaxcRwqyList xfBaxcRwqyList) { + this.xfBaxcRwqyList = xfBaxcRwqyList; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getXgid() { + return xgid; + } + + public void setXgid(String xgid) { + this.xgid = xgid; + } + + public String getXgtype() { + return xgtype; + } + + public void setXgtype(String xgtype) { + this.xgtype = xgtype; + } + + public String getBh() { + return bh; + } + + public void setBh(String bh) { + this.bh = bh; + } + + public String getQyname() { + return qyname; + } + + public void setQyname(String qyname) { + this.qyname = qyname; + } + + public String getQynfc() { + return qynfc; + } + + public void setQynfc(String qynfc) { + this.qynfc = qynfc; + } + + public String getQywz() { + return qywz; + } + + public void setQywz(String qywz) { + this.qywz = qywz; + } + + public XfBaxcRwqy() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.id); + dest.writeString(this.jhid); + dest.writeString(this.xgid); + dest.writeString(this.xgtype); + dest.writeString(this.bh); + dest.writeString(this.qyname); + dest.writeString(this.qynfc); + dest.writeString(this.qywz); + dest.writeParcelable(this.xfBaxcRwqyList, flags); + dest.writeByte(this.checked ? (byte) 1 : (byte) 0); + dest.writeString(this.txmbh); + dest.writeString(this.smfx); + } + + protected XfBaxcRwqy(Parcel in) { + this.id = in.readInt(); + this.jhid = in.readString(); + this.xgid = in.readString(); + this.xgtype = in.readString(); + this.bh = in.readString(); + this.qyname = in.readString(); + this.qynfc = in.readString(); + this.qywz = in.readString(); + this.xfBaxcRwqyList = in.readParcelable(XfBaxcRwqyList.class.getClassLoader()); + this.checked = in.readByte() != 0; + this.txmbh = in.readString(); + this.smfx = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XfBaxcRwqy createFromParcel(Parcel source) { + return new XfBaxcRwqy(source); + } + + @Override + public XfBaxcRwqy[] newArray(int size) { + return new XfBaxcRwqy[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfBaxcRwqyList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfBaxcRwqyList.java new file mode 100755 index 0000000..ac96980 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfBaxcRwqyList.java @@ -0,0 +1,105 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * 保安巡查任务区域 + */ + +public class XfBaxcRwqyList extends DataSupport implements Parcelable { + + + /** + * Rows : [{"jhid":"20161013090900","xgid":"f90f5fd3dedc4b4aa7a60c5b00295157","xgtype":"2","bh":"BH1","qyname":"1号点","qynfc":"3344NFC","qywz":"1号门岗"},{"jhid":"20161013090900","xgid":"7dcca569747d42e3883df3787cc4fb24","xgtype":"1","bh":"BHA001","qyname":"1号点","qynfc":"BHA001NFC","qywz":"行政楼1楼"},{"jhid":"20161013090900","xgid":"703b5509fca54beb9be2343d80b91918","xgtype":"1","bh":"A002","qyname":"2号点","qynfc":"A002DF","qywz":"TT4东侧治安监控点"}] + * Total : 3 + */ + + private int id; + + private String jhid; + + private String Total; + /** + * jhid : 20161013090900 + * xgid : f90f5fd3dedc4b4aa7a60c5b00295157 + * xgtype : 2 + * bh : BH1 + * qyname : 1号点 + * qynfc : 3344NFC + * qywz : 1号门岗 + */ + + private List Rows; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.id); + dest.writeString(this.jhid); + dest.writeString(this.Total); + dest.writeTypedList(this.Rows); + } + + public XfBaxcRwqyList() { + } + + protected XfBaxcRwqyList(Parcel in) { + this.id = in.readInt(); + this.jhid = in.readString(); + this.Total = in.readString(); + this.Rows = in.createTypedArrayList(XfBaxcRwqy.CREATOR); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XfBaxcRwqyList createFromParcel(Parcel source) { + return new XfBaxcRwqyList(source); + } + + @Override + public XfBaxcRwqyList[] newArray(int size) { + return new XfBaxcRwqyList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjh.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjh.java new file mode 100755 index 0000000..2740ad3 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjh.java @@ -0,0 +1,101 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/21. + */ + +public class XfDjjh extends DataSupport { + + private int id; + private String jhid; + private String jhmc; + private String xdjzq; + private String khzq; + private String nexttime; + private boolean checked;//是否选择 + private int download; + private XfDjjhList xfDjjhList; + private String xctypes;//1:消防 2:保安 3:楼宇 + + public String getXctypes() { + return xctypes; + } + + public void setXctypes(String xctypes) { + this.xctypes = xctypes; + } + + public XfDjjhList getXfDjjhList() { + return xfDjjhList; + } + + public void setXfDjjhList(XfDjjhList xfDjjhList) { + this.xfDjjhList = xfDjjhList; + } + + public int getDownload() { + return download; + } + + public void setDownload(int download) { + this.download = download; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } + + public String getXdjzq() { + return xdjzq; + } + + public void setXdjzq(String xdjzq) { + this.xdjzq = xdjzq; + } + + public String getKhzq() { + return khzq; + } + + public void setKhzq(String khzq) { + this.khzq = khzq; + } + + public String getNexttime() { + return nexttime; + } + + public void setNexttime(String nexttime) { + this.nexttime = nexttime; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhList.java new file mode 100755 index 0000000..b1c7da4 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhList.java @@ -0,0 +1,54 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * 消防点检计划列表 + */ + +public class XfDjjhList extends DataSupport { + + private int id; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + /** + * Rows : [{"id":"20161019184614","jhmc":"消防计划2","xdjzq":"10","khzq":"7","nexttime":"2016/10/19 0:00:00"},{"id":"20161014165348","jhmc":"消防巡查计划10月15号开始","xdjzq":"10","khzq":"7","nexttime":"2016/10/15 0:00:00"}] + * Total : 2 + */ + + private String Total; + /** + * id : 20161019184614 + * jhmc : 消防计划2 + * xdjzq : 10 + * khzq : 7 + * nexttime : 2016/10/19 0:00:00 + */ + + private List Rows; + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhRwList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhRwList.java new file mode 100755 index 0000000..a8f3a4b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhRwList.java @@ -0,0 +1,93 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/21. + */ + +public class XfDjjhRwList extends DataSupport implements Parcelable { + + + /** + * Rows : [{"区域分组":[{"BH":"1","XFTYPE":"2","XFWZ":"TT1一层","XFNAME":"消防栓","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"配水枪1支、水带1盘","XMID":"a0349df3eca44c7d8eafe39469bdddae","XFID":"8544fa6528c04c2c889fd03ad3776689","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"2","XFTYPE":"2","XFWZ":"TT1二层","XFNAME":"消防栓","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"配水枪1支、水带1盘","XMID":"a0349df3eca44c7d8eafe39469bdddae","XFID":"1ee542a998c248db8cfa76e90dbfc8db","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"3","XFTYPE":"2","XFWZ":"TT1三层","XFNAME":"消防栓","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"配水枪1支、水带1盘","XMID":"a0349df3eca44c7d8eafe39469bdddae","XFID":"fa3e06f4a7fe4678918b25fd0cd89885","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"38","XFTYPE":"3","XFWZ":"TT1一层北面","XFNAME":"防火门安全出口灯","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"TT1","XMID":"1b179cac1cff41b4a4e9aa26f934660c","XFID":"07bc3be9b11c40c88130216690d3b97a","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"1","SL2":"1","BZXQ":"单"},{"BH":"38","XFTYPE":"3","XFWZ":"TT1三层北面","XFNAME":"防火门安全出口灯","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"TT1","XMID":"1b179cac1cff41b4a4e9aa26f934660c","XFID":"eb0e804742c845d8837b7219a040aa43","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"2","SL2":"","BZXQ":"单"},{"BH":"38","XFTYPE":"3","XFWZ":"TT1三层南面楼梯口","XFNAME":"防火门安全出口灯","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"TT1","XMID":"1b179cac1cff41b4a4e9aa26f934660c","XFID":"a6c604bbb8b94e5bb081662e4de86fd9","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"1","BZXQ":""},{"BH":"38","XFTYPE":"3","XFWZ":"TT1二层北面","XFNAME":"防火门安全出口灯","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"TT1","XMID":"1b179cac1cff41b4a4e9aa26f934660c","XFID":"b8132310000446219acb96d0848bea69","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"1","SL2":"1","BZXQ":"单"},{"BH":"4","XFTYPE":"2","XFWZ":"输煤系统C1A皮带","XFNAME":"消防栓","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"配水枪1支、水带1盘","XMID":"a0349df3eca44c7d8eafe39469bdddae","XFID":"416f01f0841b46bfbfdad57be647d955","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"5","XFTYPE":"2","XFWZ":"输煤系统C1A皮带","XFNAME":"消防栓","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"配水枪1支、水带1盘","XMID":"a0349df3eca44c7d8eafe39469bdddae","XFID":"0c033535710645c4ba6c22315705e4a5","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"6","XFTYPE":"2","XFWZ":"输煤系统C1B皮带","XFNAME":"消防栓","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"配水枪1支、水带1盘","XMID":"a0349df3eca44c7d8eafe39469bdddae","XFID":"31020a569ca0447f82807137ffd9ea3c","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"AG058","XFTYPE":"1","XFWZ":"四号卸煤机驾驶室","XFNAME":"灭火器材","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"2KG干粉","XMID":"e202262940b147a3997abd76473a7646","XFID":"03644aa0219e4afaaedc7bccd1da12e5","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"AG061","XFTYPE":"1","XFWZ":"一号卸煤机驾驶室","XFNAME":"灭火器材","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"2KG干粉","XMID":"e202262940b147a3997abd76473a7646","XFID":"63527182f85f4c6b929b5591410ed8b0","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"AG063","XFTYPE":"1","XFWZ":"三号卸煤机变压器房门口","XFNAME":"灭火器材","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"4瓶 4KG干粉","XMID":"e202262940b147a3997abd76473a7646","XFID":"a23465a7737245a0963b12163eebf393","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"AG064","XFTYPE":"1","XFWZ":"三号卸煤机驾驶室","XFNAME":"灭火器材","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"2KG干粉","XMID":"e202262940b147a3997abd76473a7646","XFID":"3bc50b00acd14332b80c4377ce3df146","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"AG106","XFTYPE":"1","XFWZ":"三号卸煤机变压器房门口","XFNAME":"灭火器材","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"4瓶 4KG干粉","XMID":"e202262940b147a3997abd76473a7646","XFID":"4c4c70ed2c114048b22112c294062e9a","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"AG112","XFTYPE":"1","XFWZ":"二号卸煤机变压器房门口","XFNAME":"灭火器材","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"4瓶 4KG干粉","XMID":"e202262940b147a3997abd76473a7646","XFID":"7bda9f5abb7f483e82773d351771e53f","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"AG120","XFTYPE":"1","XFWZ":"四号卸煤机变压器房门口","XFNAME":"灭火器材","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"4瓶 4KG干粉","XMID":"e202262940b147a3997abd76473a7646","XFID":"9f4f685060504b989838a9bbe1e1bc49","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"AG125","XFTYPE":"1","XFWZ":"一号卸煤机变压器房门口","XFNAME":"灭火器材","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"4瓶 4KG干粉","XMID":"e202262940b147a3997abd76473a7646","XFID":"8651eb5cdbc045e4a6dd9db0828fb5e6","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""},{"BH":"AG173","XFTYPE":"1","XFWZ":"TT2一层","XFNAME":"灭火器材","QYNAME":"TT1转运塔、卸船机、C1A(B)输煤皮带","XHNUM":"4KG干粉3KGCO2","XMID":"e202262940b147a3997abd76473a7646","XFID":"933011da673e49c5b63ae7498d5a36e3","QYID":"d660b42aa743451194a04c5f69862622","JHID":"20161014163244","NEXTTIME":"2016/10/18 0:00:00","SL1":"","SL2":"","BZXQ":""}]},{"区域分组":[]}] + * Total : 19 + */ + + private int id; + private int Total; + private String jhid; + private List Rows; + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.id); + dest.writeInt(this.Total); + dest.writeString(this.jhid); + dest.writeTypedList(this.Rows); + } + + public XfDjjhRwList() { + } + + protected XfDjjhRwList(Parcel in) { + this.id = in.readInt(); + this.Total = in.readInt(); + this.jhid = in.readString(); + this.Rows = in.createTypedArrayList(XfDjjhRwqyList.CREATOR); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XfDjjhRwList createFromParcel(Parcel source) { + return new XfDjjhRwList(source); + } + + @Override + public XfDjjhRwList[] newArray(int size) { + return new XfDjjhRwList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhRwqy.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhRwqy.java new file mode 100755 index 0000000..d053c61 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhRwqy.java @@ -0,0 +1,299 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/21. + */ + +public class XfDjjhRwqy extends DataSupport implements Parcelable { + + private int id; + private String BH; + private String XFTYPE; + private String XFWZ; + private String XFNAME; + private String QYNAME; + private String XHNUM; + private String XMID; + private String XFID; + private String QYID; + private String JHID; + private String NEXTTIME; + private String SL1; + private String SL2; + private String BZXQ; + private XfDjjhRwqyList xfDjjhRwqyList; + private boolean checked; + private String CJJG; + private String iszc;//0不正常,1正常 + private String TXMBH; + private String QYNFC; + private String CJR; + private String CJSJ; + private String SMFX; + + public String getSMFX() { + return SMFX; + } + + public void setSMFX(String SMFX) { + this.SMFX = SMFX; + } + + public String getCJSJ() { + return CJSJ; + } + + public void setCJSJ(String CJSJ) { + this.CJSJ = CJSJ; + } + + public String getCJR() { + return CJR; + } + + public void setCJR(String CJR) { + this.CJR = CJR; + } + + public String getTXMBH() { + return TXMBH; + } + + public void setTXMBH(String TXMBH) { + this.TXMBH = TXMBH; + } + + public String getQYNFC() { + return QYNFC; + } + + public void setQYNFC(String QYNFC) { + this.QYNFC = QYNFC; + } + + public String getIszc() { + return iszc; + } + + public void setIszc(String iszc) { + this.iszc = iszc; + } + + public String getCJJG() { + return CJJG; + } + + public void setCJJG(String CJJG) { + this.CJJG = CJJG; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public XfDjjhRwqyList getXfDjjhRwqyList() { + return xfDjjhRwqyList; + } + + public void setXfDjjhRwqyList(XfDjjhRwqyList xfDjjhRwqyList) { + this.xfDjjhRwqyList = xfDjjhRwqyList; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getBH() { + return BH; + } + + public void setBH(String BH) { + this.BH = BH; + } + + public String getXFTYPE() { + return XFTYPE; + } + + public void setXFTYPE(String XFTYPE) { + this.XFTYPE = XFTYPE; + } + + public String getXFWZ() { + return XFWZ; + } + + public void setXFWZ(String XFWZ) { + this.XFWZ = XFWZ; + } + + public String getXFNAME() { + return XFNAME; + } + + public void setXFNAME(String XFNAME) { + this.XFNAME = XFNAME; + } + + public String getQYNAME() { + return QYNAME; + } + + public void setQYNAME(String QYNAME) { + this.QYNAME = QYNAME; + } + + public String getXHNUM() { + return XHNUM; + } + + public void setXHNUM(String XHNUM) { + this.XHNUM = XHNUM; + } + + public String getXMID() { + return XMID; + } + + public void setXMID(String XMID) { + this.XMID = XMID; + } + + public String getXFID() { + return XFID; + } + + public void setXFID(String XFID) { + this.XFID = XFID; + } + + public String getQYID() { + return QYID; + } + + public void setQYID(String QYID) { + this.QYID = QYID; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getNEXTTIME() { + return NEXTTIME; + } + + public void setNEXTTIME(String NEXTTIME) { + this.NEXTTIME = NEXTTIME; + } + + public String getSL1() { + return SL1; + } + + public void setSL1(String SL1) { + this.SL1 = SL1; + } + + public String getSL2() { + return SL2; + } + + public void setSL2(String SL2) { + this.SL2 = SL2; + } + + public String getBZXQ() { + return BZXQ; + } + + public void setBZXQ(String BZXQ) { + this.BZXQ = BZXQ; + } + + public XfDjjhRwqy() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.id); + dest.writeString(this.BH); + dest.writeString(this.XFTYPE); + dest.writeString(this.XFWZ); + dest.writeString(this.XFNAME); + dest.writeString(this.QYNAME); + dest.writeString(this.XHNUM); + dest.writeString(this.XMID); + dest.writeString(this.XFID); + dest.writeString(this.QYID); + dest.writeString(this.JHID); + dest.writeString(this.NEXTTIME); + dest.writeString(this.SL1); + dest.writeString(this.SL2); + dest.writeString(this.BZXQ); + dest.writeParcelable(this.xfDjjhRwqyList, flags); + dest.writeByte(this.checked ? (byte) 1 : (byte) 0); + dest.writeString(this.CJJG); + dest.writeString(this.iszc); + dest.writeString(this.TXMBH); + dest.writeString(this.QYNFC); + } + + protected XfDjjhRwqy(Parcel in) { + this.id = in.readInt(); + this.BH = in.readString(); + this.XFTYPE = in.readString(); + this.XFWZ = in.readString(); + this.XFNAME = in.readString(); + this.QYNAME = in.readString(); + this.XHNUM = in.readString(); + this.XMID = in.readString(); + this.XFID = in.readString(); + this.QYID = in.readString(); + this.JHID = in.readString(); + this.NEXTTIME = in.readString(); + this.SL1 = in.readString(); + this.SL2 = in.readString(); + this.BZXQ = in.readString(); + this.xfDjjhRwqyList = in.readParcelable(XfDjjhRwqyList.class.getClassLoader()); + this.checked = in.readByte() != 0; + this.CJJG = in.readString(); + this.iszc = in.readString(); + this.TXMBH = in.readString(); + this.QYNFC = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XfDjjhRwqy createFromParcel(Parcel source) { + return new XfDjjhRwqy(source); + } + + @Override + public XfDjjhRwqy[] newArray(int size) { + return new XfDjjhRwqy[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhRwqyList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhRwqyList.java new file mode 100755 index 0000000..b2a0950 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfDjjhRwqyList.java @@ -0,0 +1,81 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import com.google.gson.annotations.SerializedName; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/21. + */ + +public class XfDjjhRwqyList extends DataSupport implements Parcelable { + + private String qyname; + + private XfDjjhRwList xfDjjhRwList; + + public XfDjjhRwList getXfDjjhRwList() { + return xfDjjhRwList; + } + + public void setXfDjjhRwList(XfDjjhRwList xfDjjhRwList) { + this.xfDjjhRwList = xfDjjhRwList; + } + + public String getQyname() { + return qyname; + } + + public void setQyname(String qyname) { + this.qyname = qyname; + } + + @SerializedName("区域分组") + private List xfdjjhrwqy; + + public List getXfdjjhrwqy() { + return xfdjjhrwqy; + } + + public void setXfdjjhrwqy(List xfdjjhrwqy) { + this.xfdjjhrwqy = xfdjjhrwqy; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.qyname); + dest.writeParcelable(this.xfDjjhRwList, flags); + dest.writeTypedList(this.xfdjjhrwqy); + } + + public XfDjjhRwqyList() { + } + + protected XfDjjhRwqyList(Parcel in) { + this.qyname = in.readString(); + this.xfDjjhRwList = in.readParcelable(XfDjjhRwList.class.getClassLoader()); + this.xfdjjhrwqy = in.createTypedArrayList(XfDjjhRwqy.CREATOR); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XfDjjhRwqyList createFromParcel(Parcel source) { + return new XfDjjhRwqyList(source); + } + + @Override + public XfDjjhRwqyList[] newArray(int size) { + return new XfDjjhRwqyList[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcjsInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcjsInfo.java new file mode 100755 index 0000000..8d0803b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcjsInfo.java @@ -0,0 +1,83 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/22. + */ + +public class XfXcjsInfo extends DataSupport { + + private int id; + private String ms; + private String jhid; + private String xfid; + private String djr; + private String path; + private String filename; + private boolean uploaded; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getXfid() { + return xfid; + } + + public void setXfid(String xfid) { + this.xfid = xfid; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getMs() { + return ms; + } + + public void setMs(String ms) { + this.ms = ms; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getDjr() { + return djr; + } + + public void setDjr(String djr) { + this.djr = djr; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public boolean isUploaded() { + return uploaded; + } + + public void setUploaded(boolean uploaded) { + this.uploaded = uploaded; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcmhqc.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcmhqc.java new file mode 100755 index 0000000..d05761e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcmhqc.java @@ -0,0 +1,110 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/21. + */ + +public class XfXcmhqc extends DataSupport { + + private int id; + private String bh; + private String xftype; + private String xhnum; + private String xmid; + private String xfid; + private String qyid; + private String jhid; + private String nexttime; + private String scrq; + private String yxrq; + + public String getScrq() { + return scrq; + } + + public void setScrq(String scrq) { + this.scrq = scrq; + } + + public String getYxrq() { + return yxrq; + } + + public void setYxrq(String yxrq) { + this.yxrq = yxrq; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getBh() { + return bh; + } + + public void setBh(String bh) { + this.bh = bh; + } + + public String getXftype() { + return xftype; + } + + public void setXftype(String xftype) { + this.xftype = xftype; + } + + public String getXhnum() { + return xhnum; + } + + public void setXhnum(String xhnum) { + this.xhnum = xhnum; + } + + public String getXmid() { + return xmid; + } + + public void setXmid(String xmid) { + this.xmid = xmid; + } + + public String getXfid() { + return xfid; + } + + public void setXfid(String xfid) { + this.xfid = xfid; + } + + public String getQyid() { + return qyid; + } + + public void setQyid(String qyid) { + this.qyid = qyid; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getNexttime() { + return nexttime; + } + + public void setNexttime(String nexttime) { + this.nexttime = nexttime; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcmhqcList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcmhqcList.java new file mode 100755 index 0000000..5c38f42 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcmhqcList.java @@ -0,0 +1,58 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * 消防巡查灭火器材列表 + */ + +public class XfXcmhqcList extends DataSupport { + + private int id; + + /** + * Rows : [{"bh":"AG120","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"1b179cac1cff41b4a4e9aa26f934660c","xfid":"9f4f685060504b989838a9bbe1e1bc49","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG120","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"e202262940b147a3997abd76473a7646","xfid":"9f4f685060504b989838a9bbe1e1bc49","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG120","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"a0349df3eca44c7d8eafe39469bdddae","xfid":"9f4f685060504b989838a9bbe1e1bc49","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG058","xftype":"1","xhnum":"2KG干粉","xmid":"1b179cac1cff41b4a4e9aa26f934660c","xfid":"03644aa0219e4afaaedc7bccd1da12e5","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG058","xftype":"1","xhnum":"2KG干粉","xmid":"e202262940b147a3997abd76473a7646","xfid":"03644aa0219e4afaaedc7bccd1da12e5","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG058","xftype":"1","xhnum":"2KG干粉","xmid":"a0349df3eca44c7d8eafe39469bdddae","xfid":"03644aa0219e4afaaedc7bccd1da12e5","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG173","xftype":"1","xhnum":"4KG干粉3KGCO2","xmid":"1b179cac1cff41b4a4e9aa26f934660c","xfid":"933011da673e49c5b63ae7498d5a36e3","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG173","xftype":"1","xhnum":"4KG干粉3KGCO2","xmid":"e202262940b147a3997abd76473a7646","xfid":"933011da673e49c5b63ae7498d5a36e3","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG173","xftype":"1","xhnum":"4KG干粉3KGCO2","xmid":"a0349df3eca44c7d8eafe39469bdddae","xfid":"933011da673e49c5b63ae7498d5a36e3","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG061","xftype":"1","xhnum":"2KG干粉","xmid":"1b179cac1cff41b4a4e9aa26f934660c","xfid":"63527182f85f4c6b929b5591410ed8b0","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG061","xftype":"1","xhnum":"2KG干粉","xmid":"e202262940b147a3997abd76473a7646","xfid":"63527182f85f4c6b929b5591410ed8b0","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG061","xftype":"1","xhnum":"2KG干粉","xmid":"a0349df3eca44c7d8eafe39469bdddae","xfid":"63527182f85f4c6b929b5591410ed8b0","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG112","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"1b179cac1cff41b4a4e9aa26f934660c","xfid":"7bda9f5abb7f483e82773d351771e53f","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG112","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"e202262940b147a3997abd76473a7646","xfid":"7bda9f5abb7f483e82773d351771e53f","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG112","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"a0349df3eca44c7d8eafe39469bdddae","xfid":"7bda9f5abb7f483e82773d351771e53f","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG063","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"1b179cac1cff41b4a4e9aa26f934660c","xfid":"a23465a7737245a0963b12163eebf393","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG063","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"e202262940b147a3997abd76473a7646","xfid":"a23465a7737245a0963b12163eebf393","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG063","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"a0349df3eca44c7d8eafe39469bdddae","xfid":"a23465a7737245a0963b12163eebf393","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG106","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"1b179cac1cff41b4a4e9aa26f934660c","xfid":"4c4c70ed2c114048b22112c294062e9a","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG106","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"e202262940b147a3997abd76473a7646","xfid":"4c4c70ed2c114048b22112c294062e9a","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG106","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"a0349df3eca44c7d8eafe39469bdddae","xfid":"4c4c70ed2c114048b22112c294062e9a","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG064","xftype":"1","xhnum":"2KG干粉","xmid":"1b179cac1cff41b4a4e9aa26f934660c","xfid":"3bc50b00acd14332b80c4377ce3df146","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG064","xftype":"1","xhnum":"2KG干粉","xmid":"e202262940b147a3997abd76473a7646","xfid":"3bc50b00acd14332b80c4377ce3df146","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG064","xftype":"1","xhnum":"2KG干粉","xmid":"a0349df3eca44c7d8eafe39469bdddae","xfid":"3bc50b00acd14332b80c4377ce3df146","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG125","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"1b179cac1cff41b4a4e9aa26f934660c","xfid":"8651eb5cdbc045e4a6dd9db0828fb5e6","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG125","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"e202262940b147a3997abd76473a7646","xfid":"8651eb5cdbc045e4a6dd9db0828fb5e6","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"},{"bh":"AG125","xftype":"1","xhnum":"4瓶 4KG干粉","xmid":"a0349df3eca44c7d8eafe39469bdddae","xfid":"8651eb5cdbc045e4a6dd9db0828fb5e6","qyid":"d660b42aa743451194a04c5f69862622","jhid":"20161014163244","nexttime":"2016/10/18 0:00:00"}] + * Total : 27 + */ + + private String Total; + /** + * bh : AG120 + * xftype : 1 + * xhnum : 4瓶 4KG干粉 + * xmid : 1b179cac1cff41b4a4e9aa26f934660c + * xfid : 9f4f685060504b989838a9bbe1e1bc49 + * qyid : d660b42aa743451194a04c5f69862622 + * jhid : 20161014163244 + * nexttime : 2016/10/18 0:00:00 + */ + + private List Rows; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcxm.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcxm.java new file mode 100755 index 0000000..0534846 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcxm.java @@ -0,0 +1,83 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/21. + */ + +public class XfXcxm extends DataSupport { + + private int id; + private String xmid; + private String ssid; + private String xftype; + private String typename; + private String type1; + private String type2; + private String jhid; + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getXmid() { + return xmid; + } + + public void setXmid(String xmid) { + this.xmid = xmid; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getSsid() { + return ssid; + } + + public void setSsid(String ssid) { + this.ssid = ssid; + } + + public String getXftype() { + return xftype; + } + + public void setXftype(String xftype) { + this.xftype = xftype; + } + + public String getTypename() { + return typename; + } + + public void setTypename(String typename) { + this.typename = typename; + } + + public String getType1() { + return type1; + } + + public void setType1(String type1) { + this.type1 = type1; + } + + public String getType2() { + return type2; + } + + public void setType2(String type2) { + this.type2 = type2; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcxmList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcxmList.java new file mode 100755 index 0000000..5a6bd88 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcxmList.java @@ -0,0 +1,47 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/21. + */ + +public class XfXcxmList extends DataSupport { + + + /** + * Rows : [{"xmid":"e202262940b147a3997abd76473a7646","id":"dbfcee97c583464cb28d9f1d1e19b393","xftype":"1","typename":"结果","type1":"正常","type2":"不正常"},{"xmid":"a0349df3eca44c7d8eafe39469bdddae","id":"f111c59a845342bdbce9f9dc0909d696","xftype":"2","typename":"结果","type1":"正常","type2":"不正常"},{"xmid":"1b179cac1cff41b4a4e9aa26f934660c","id":"ae4e5bb311c2498293593482e2aaf0eb","xftype":"3","typename":"门","type1":"正常","type2":"不正常"},{"xmid":"a0349df3eca44c7d8eafe39469bdddae","id":"8f8073765dfd466187a0ddc625e0172f","xftype":"2","typename":"结果2","type1":"正常2","type2":"不正常2"},{"xmid":"1b179cac1cff41b4a4e9aa26f934660c","id":"70fc834605994822bde12b34d7c97d58","xftype":"3","typename":"灯","type1":"正常","type2":"不正常"}] + * Total : 5 + */ + + private String Total; + /** + * xmid : e202262940b147a3997abd76473a7646 + * id : dbfcee97c583464cb28d9f1d1e19b393 + * xftype : 1 + * typename : 结果 + * type1 : 正常 + * type2 : 不正常 + */ + + private List Rows; + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcxmjg.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcxmjg.java new file mode 100755 index 0000000..bd0bd26 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XfXcxmjg.java @@ -0,0 +1,101 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/21. + */ + +public class XfXcxmjg extends DataSupport { + + private int id; + private String xfid; + private String xmid; + private String ssid; + private String xftype; + private String typename; + private String type1; + private String type2; + private String jhid; + private boolean jg; + + public String getXfid() { + return xfid; + } + + public void setXfid(String xfid) { + this.xfid = xfid; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public boolean isJg() { + return jg; + } + + public void setJg(boolean jg) { + this.jg = jg; + } + + public String getXmid() { + return xmid; + } + + public void setXmid(String xmid) { + this.xmid = xmid; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getSsid() { + return ssid; + } + + public void setSsid(String ssid) { + this.ssid = ssid; + } + + public String getXftype() { + return xftype; + } + + public void setXftype(String xftype) { + this.xftype = xftype; + } + + public String getTypename() { + return typename; + } + + public void setTypename(String typename) { + this.typename = typename; + } + + public String getType1() { + return type1; + } + + public void setType1(String type1) { + this.type1 = type1; + } + + public String getType2() { + return type2; + } + + public void setType2(String type2) { + this.type2 = type2; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Xjjh.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Xjjh.java new file mode 100755 index 0000000..8b7c74a --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Xjjh.java @@ -0,0 +1,154 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/3/29. + */ + +public class Xjjh extends DataSupport { + private int id; + private String jhid; + private String zxid; + private String jhmc; + private String jhlx; + private String jhzq; + private String st; + private String et; + private String wczt; + private String ljds; + private String jhds; + private String zc; + private String iswsc; + private boolean checked;//0:未选中,1:已选中 + private int download;//0:未下载,1:已经下载 + private XjjhList xjjhList; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } + + public String getJhlx() { + return jhlx; + } + + public void setJhlx(String jhlx) { + this.jhlx = jhlx; + } + + public String getJhzq() { + return jhzq; + } + + public void setJhzq(String jhzq) { + this.jhzq = jhzq; + } + + public String getSt() { + return st; + } + + public void setSt(String st) { + this.st = st; + } + + public String getEt() { + return et; + } + + public void setEt(String et) { + this.et = et; + } + + public String getWczt() { + return wczt; + } + + public void setWczt(String wczt) { + this.wczt = wczt; + } + + public String getLjds() { + return ljds; + } + + public void setLjds(String ljds) { + this.ljds = ljds; + } + + public String getJhds() { + return jhds; + } + + public void setJhds(String jhds) { + this.jhds = jhds; + } + + public String getZc() { + return zc; + } + + public void setZc(String zc) { + this.zc = zc; + } + + public String getIswsc() { + return iswsc; + } + + public void setIswsc(String iswsc) { + this.iswsc = iswsc; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public int getDownload() { + return download; + } + + public void setDownload(int download) { + this.download = download; + } + + public XjjhList getXjjhList() { + return xjjhList; + } + + public void setXjjhList(XjjhList xjjhList) { + this.xjjhList = xjjhList; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XjjhList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XjjhList.java new file mode 100755 index 0000000..fe2b7d3 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XjjhList.java @@ -0,0 +1,52 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/3/29. + */ + +public class XjjhList extends DataSupport { + + private int id; + private String state; + private String msg; + private List data = new ArrayList<>(); + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Xjzjrw.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Xjzjrw.java new file mode 100755 index 0000000..8e502ad --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Xjzjrw.java @@ -0,0 +1,177 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/7/21. + */ + +public class Xjzjrw extends DataSupport { + + + private int id; + private String classid; + private String title; + private String name; + private String isaudit; + private String auditname; + private String nextatuser; + private String prouserid; + private String prousername; + private String addtime; + private String rwid; + private String sbnum; + private String iswc; + private String wjbmc; + private String zjtime; + + + + private boolean checked;//0:未选中,1:已选中 + private int download;//0:未下载,1:已经下载 + private XjzjrwList xjzjrwList; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getClassid() { + return classid; + } + + public void setClassid(String classid) { + this.classid = classid; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getIsaudit() { + return isaudit; + } + + public void setIsaudit(String isaudit) { + this.isaudit = isaudit; + } + + public String getAuditname() { + return auditname; + } + + public void setAuditname(String auditname) { + this.auditname = auditname; + } + + public String getNextatuser() { + return nextatuser; + } + + public void setNextatuser(String nextatuser) { + this.nextatuser = nextatuser; + } + + public String getProuserid() { + return prouserid; + } + + public void setProuserid(String prouserid) { + this.prouserid = prouserid; + } + + public String getProusername() { + return prousername; + } + + public void setProusername(String prousername) { + this.prousername = prousername; + } + + public String getAddtime() { + return addtime; + } + + public void setAddtime(String addtime) { + this.addtime = addtime; + } + + public String getRwid() { + return rwid; + } + + public void setRwid(String rwid) { + this.rwid = rwid; + } + + public String getSbnum() { + return sbnum; + } + + public void setSbnum(String sbnum) { + this.sbnum = sbnum; + } + + public String getIswc() { + return iswc; + } + + public void setIswc(String iswc) { + this.iswc = iswc; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public int getDownload() { + return download; + } + + public void setDownload(int download) { + this.download = download; + } + + public XjzjrwList getXjzjrwList() { + return xjzjrwList; + } + + public void setXjzjrwList(XjzjrwList xjzjrwList) { + this.xjzjrwList = xjzjrwList; + } + + public String getWjbmc() { + return wjbmc; + } + + public void setWjbmc(String wjbmc) { + this.wjbmc = wjbmc; + } + + public String getZjtime() { + return zjtime; + } + + public void setZjtime(String zjtime) { + this.zjtime = zjtime; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XjzjrwList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XjzjrwList.java new file mode 100755 index 0000000..0b5817c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XjzjrwList.java @@ -0,0 +1,49 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/7/21. + */ + +public class XjzjrwList extends DataSupport { + private int id; + private String state; + private String msg; + private List data = new ArrayList<>(); + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcJh.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcJh.java new file mode 100755 index 0000000..7144c70 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcJh.java @@ -0,0 +1,103 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/11. + */ + +public class XwaqgcJh extends DataSupport { + + /** + * JHID : GCJH00000000001 + * GCRY : 210041 + * AREANAME : 油码头区域 + * AREACODE : MT03 + * WCZT : + * ST : 2016-11-08 19:41:49 + * DQSJ : 2016-11-15 19:11:49 + */ + + private String JHID; + private String GCRY; + private String AREANAME; + private String AREACODE; + private String WCZT; + private String ST; + private String DQSJ; + private String JHMC; + private boolean checked; + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public String getJHMC() { + return JHMC; + } + + public void setJHMC(String JHMC) { + this.JHMC = JHMC; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getGCRY() { + return GCRY; + } + + public void setGCRY(String GCRY) { + this.GCRY = GCRY; + } + + public String getAREANAME() { + return AREANAME; + } + + public void setAREANAME(String AREANAME) { + this.AREANAME = AREANAME; + } + + public String getAREACODE() { + return AREACODE; + } + + public void setAREACODE(String AREACODE) { + this.AREACODE = AREACODE; + } + + public String getWCZT() { + return WCZT; + } + + public void setWCZT(String WCZT) { + this.WCZT = WCZT; + } + + public String getST() { + return ST; + } + + public void setST(String ST) { + this.ST = ST; + } + + public String getDQSJ() { + return DQSJ; + } + + public void setDQSJ(String DQSJ) { + this.DQSJ = DQSJ; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcJhList.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcJhList.java new file mode 100755 index 0000000..8485e3f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcJhList.java @@ -0,0 +1,35 @@ +package com.rehome.bhdxj.DBModel; + +import java.util.List; + +/** + * Created by gzw on 2016/11/12. + */ + +public class XwaqgcJhList { + + + /** + * Rows : [{"区域分组":[{"JHID":"GCJH00000000001","GCRY":"210041","AREANAME":"油码头区域","AREACODE":"MT03","WCZT":"","ST":"2016-11-08 19:41:49","DQSJ":"2016-11-15 19:11:49"}]}] + * Total : 1 + */ + + private int Total; + private List Rows; + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcJs.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcJs.java new file mode 100755 index 0000000..49639aa --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcJs.java @@ -0,0 +1,92 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/10. + */ + +public class XwaqgcJs extends DataSupport { + + private String jhid; + private String jsr; + private String areacode; + private String xwzt; + private String kndz; + private String jzcs; + private String itemid; + private String path; + private String xwjljsid; + + public String getXwjljsid() { + return xwjljsid; + } + + public void setXwjljsid(String xwjljsid) { + this.xwjljsid = xwjljsid; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getItemid() { + return itemid; + } + + public void setItemid(String itemid) { + this.itemid = itemid; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getJsr() { + return jsr; + } + + public void setJsr(String jsr) { + this.jsr = jsr; + } + + public String getAreacode() { + return areacode; + } + + public void setAreacode(String areacode) { + this.areacode = areacode; + } + + public String getXwzt() { + return xwzt; + } + + public void setXwzt(String xwzt) { + this.xwzt = xwzt; + } + + public String getKndz() { + return kndz; + } + + public void setKndz(String kndz) { + this.kndz = kndz; + } + + public String getJzcs() { + return jzcs; + } + + public void setJzcs(String jzcs) { + this.jzcs = jzcs; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcSc.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcSc.java new file mode 100755 index 0000000..e982249 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/XwaqgcSc.java @@ -0,0 +1,193 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/8. + */ + +public class XwaqgcSc extends DataSupport implements Parcelable { + + private String GZDD;//: "1号炉0米层区域", + private String CBS;// "承包商2", + private String BGCR;//: "李四", + private String BT;// "1.员工的反应", + private String XBT;//"观察到人员的异常反应", + private String NR;//"调整个人防护装备、遮掩/离开", + private String JCSJ;//":"2016-11-08 21:04", + private String JCR;//":"180021", + private String JHID;//":"GCJH00000000001" + private String SMFX;//扫描条码" "NFC标签" + private String GZP;//工作票 + private String GZNR;//工作内容 + private String GCID;//观察ID,以时间作为ID + private String XWJLJSID;//记录ID + + public String getXWJLJSID() { + return XWJLJSID; + } + + public void setXWJLJSID(String XWJLJSID) { + this.XWJLJSID = XWJLJSID; + } + + public String getGCID() { + return GCID; + } + + public void setGCID(String GCID) { + this.GCID = GCID; + } + + public String getGZP() { + return GZP; + } + + public void setGZP(String GZP) { + this.GZP = GZP; + } + + public String getGZNR() { + return GZNR; + } + + public void setGZNR(String GZNR) { + this.GZNR = GZNR; + } + + public String getSMFX() { + return SMFX; + } + + public void setSMFX(String SMFX) { + this.SMFX = SMFX; + } + + public String getGZDD() { + return GZDD; + } + + public void setGZDD(String GZDD) { + this.GZDD = GZDD; + } + + public String getCBS() { + return CBS; + } + + public void setCBS(String CBS) { + this.CBS = CBS; + } + + public String getBGCR() { + return BGCR; + } + + public void setBGCR(String BGCR) { + this.BGCR = BGCR; + } + + public String getBT() { + return BT; + } + + public void setBT(String BT) { + this.BT = BT; + } + + public String getXBT() { + return XBT; + } + + public void setXBT(String XBT) { + this.XBT = XBT; + } + + public String getNR() { + return NR; + } + + public void setNR(String NR) { + this.NR = NR; + } + + public String getJCSJ() { + return JCSJ; + } + + public void setJCSJ(String JCSJ) { + this.JCSJ = JCSJ; + } + + public String getJCR() { + return JCR; + } + + public void setJCR(String JCR) { + this.JCR = JCR; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public XwaqgcSc() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.GZDD); + dest.writeString(this.CBS); + dest.writeString(this.BGCR); + dest.writeString(this.BT); + dest.writeString(this.XBT); + dest.writeString(this.NR); + dest.writeString(this.JCSJ); + dest.writeString(this.JCR); + dest.writeString(this.JHID); + dest.writeString(this.SMFX); + dest.writeString(this.GZP); + dest.writeString(this.GZNR); + dest.writeString(this.GCID); + dest.writeString(this.XWJLJSID); + } + + protected XwaqgcSc(Parcel in) { + this.GZDD = in.readString(); + this.CBS = in.readString(); + this.BGCR = in.readString(); + this.BT = in.readString(); + this.XBT = in.readString(); + this.NR = in.readString(); + this.JCSJ = in.readString(); + this.JCR = in.readString(); + this.JHID = in.readString(); + this.SMFX = in.readString(); + this.GZP = in.readString(); + this.GZNR = in.readString(); + this.GCID = in.readString(); + this.XWJLJSID = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + public XwaqgcSc createFromParcel(Parcel source) { + return new XwaqgcSc(source); + } + + public XwaqgcSc[] newArray(int size) { + return new XwaqgcSc[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/YhpcInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/YhpcInfo.java new file mode 100755 index 0000000..bc57001 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/YhpcInfo.java @@ -0,0 +1,65 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by gzw on 2016/11/1. + */ + +public class YhpcInfo extends DataSupport { + + private String NR;//内容 + private String WT;//问题 + private String AREACODE;//区域编号 + private String FXR;//发现人 + private String FXSJ;//发现时间 + private String GUID; + + public String getGUID() { + return GUID; + } + + public void setGUID(String GUID) { + this.GUID = GUID; + } + + public String getNR() { + return NR; + } + + public void setNR(String NR) { + this.NR = NR; + } + + public String getWT() { + return WT; + } + + public void setWT(String WT) { + this.WT = WT; + } + + public String getAREACODE() { + return AREACODE; + } + + public void setAREACODE(String AREACODE) { + this.AREACODE = AREACODE; + } + + public String getFXR() { + return FXR; + } + + public void setFXR(String FXR) { + this.FXR = FXR; + } + + public String getFXSJ() { + return FXSJ; + } + + public void setFXSJ(String FXSJ) { + this.FXSJ = FXSJ; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Yhpctp.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Yhpctp.java new file mode 100755 index 0000000..429d4e2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Yhpctp.java @@ -0,0 +1,29 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by JACKYGUO on 2016/12/22. + */ + +public class Yhpctp extends DataSupport{ + + private String guid; + private String path; + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zjrwdata.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zjrwdata.java new file mode 100755 index 0000000..f2e279d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zjrwdata.java @@ -0,0 +1,255 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/24. + */ + +public class Zjrwdata extends DataSupport implements Parcelable { + + + private long id; + private String title; + private String bagid; + private String khid; + private String filecode; + private String name; + private String prouserid; + private String prousername; + private String type; + private String iswc; + private String wcintro; + private String rwid; + private String fid; + private List sbwclist; + private int SN; //自定义序号 + private boolean isChecked; + private String countPercent; //已检/总数 + +// 下面是上传图片所需的字段 + private String photopatglist;//图片集合 + private String lrsj;//录入时间 + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBagid() { + return bagid; + } + + public void setBagid(String bagid) { + this.bagid = bagid; + } + + public String getKhid() { + return khid; + } + + public void setKhid(String khid) { + this.khid = khid; + } + + public String getFilecode() { + return filecode; + } + + public void setFilecode(String filecode) { + this.filecode = filecode; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getProuserid() { + return prouserid; + } + + public void setProuserid(String prouserid) { + this.prouserid = prouserid; + } + + public String getProusername() { + return prousername; + } + + public void setProusername(String prousername) { + this.prousername = prousername; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getIswc() { + return iswc; + } + + public void setIswc(String iswc) { + this.iswc = iswc; + } + + public String getWcintro() { + return wcintro; + } + + public void setWcintro(String wcintro) { + this.wcintro = wcintro; + } + + public String getRwid() { + return rwid; + } + + public void setRwid(String rwid) { + this.rwid = rwid; + } + + public String getFid() { + return fid; + } + + public void setFid(String fid) { + this.fid = fid; + } + + public List getSbwclist() { + return sbwclist; + } + + public void setSbwclist(List sbwclist) { + this.sbwclist = sbwclist; + } + + public int getSN() { + return SN; + } + + public void setSN(int SN) { + this.SN = SN; + } + + public boolean isChecked() { + return isChecked; + } + + public void setChecked(boolean checked) { + isChecked = checked; + } + + public String getCountPercent() { + return countPercent; + } + + public void setCountPercent(String countPercent) { + this.countPercent = countPercent; + } + + public String getPhotopatglist() { + return photopatglist; + } + + public void setPhotopatglist(String photopatglist) { + this.photopatglist = photopatglist; + } + + public String getLrsj() { + return lrsj; + } + + public void setLrsj(String lrsj) { + this.lrsj = lrsj; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(this.id); + dest.writeString(this.title); + dest.writeString(this.bagid); + dest.writeString(this.khid); + dest.writeString(this.filecode); + dest.writeString(this.name); + dest.writeString(this.prouserid); + dest.writeString(this.prousername); + dest.writeString(this.type); + dest.writeString(this.iswc); + dest.writeString(this.wcintro); + dest.writeString(this.rwid); + dest.writeString(this.fid); + dest.writeTypedList(this.sbwclist); + dest.writeInt(this.SN); + dest.writeByte(this.isChecked ? (byte) 1 : (byte) 0); + dest.writeString(this.countPercent); + dest.writeString(this.photopatglist); + dest.writeString(this.lrsj); + } + + public Zjrwdata() { + } + + protected Zjrwdata(Parcel in) { + this.id = in.readLong(); + this.title = in.readString(); + this.bagid = in.readString(); + this.khid = in.readString(); + this.filecode = in.readString(); + this.name = in.readString(); + this.prouserid = in.readString(); + this.prousername = in.readString(); + this.type = in.readString(); + this.iswc = in.readString(); + this.wcintro = in.readString(); + this.rwid = in.readString(); + this.fid = in.readString(); + this.sbwclist = in.createTypedArrayList(Zjrwdatainfo.CREATOR); + this.SN = in.readInt(); + this.isChecked = in.readByte() != 0; + this.countPercent = in.readString(); + this.photopatglist = in.readString(); + this.lrsj = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public Zjrwdata createFromParcel(Parcel source) { + return new Zjrwdata(source); + } + + @Override + public Zjrwdata[] newArray(int size) { + return new Zjrwdata[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zjrwdatainfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zjrwdatainfo.java new file mode 100755 index 0000000..4666182 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zjrwdatainfo.java @@ -0,0 +1,286 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by ruihong on 2018/7/24. + */ + +public class Zjrwdatainfo extends DataSupport implements Parcelable { + + private long id; + private String fid; + private String sbname; + private String sbid; + private String isbhg; + private String exceptname; + private String iswc; + private String khid; + private String srcid; + private String filecode; + private String wcname; + private String jgid; + private String rwid; + private Zjrwdata zjrwdata; + private boolean checked;//是否已经检查 + private String CJJG; + private String DATE;//保存时间 + private String ISYC;//是否异常 + private String ISRBFX;//是否让步放行 + private String BZ;//应达到的标准 + private String JSSP;//应达到的技术水平 + private String RBYY; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getFid() { + return fid; + } + + public void setFid(String fid) { + this.fid = fid; + } + + public String getSbname() { + return sbname; + } + + public void setSbname(String sbname) { + this.sbname = sbname; + } + + public String getSbid() { + return sbid; + } + + public void setSbid(String sbid) { + this.sbid = sbid; + } + + public String getIsbhg() { + return isbhg; + } + + public void setIsbhg(String isbhg) { + this.isbhg = isbhg; + } + + public String getExceptname() { + return exceptname; + } + + public void setExceptname(String exceptname) { + this.exceptname = exceptname; + } + + public String getIswc() { + return iswc; + } + + public void setIswc(String iswc) { + this.iswc = iswc; + } + + public String getKhid() { + return khid; + } + + public void setKhid(String khid) { + this.khid = khid; + } + + public String getSrcid() { + return srcid; + } + + public void setSrcid(String srcid) { + this.srcid = srcid; + } + + public String getFilecode() { + return filecode; + } + + public void setFilecode(String filecode) { + this.filecode = filecode; + } + + public String getWcname() { + return wcname; + } + + public void setWcname(String wcname) { + this.wcname = wcname; + } + + public String getJgid() { + return jgid; + } + + public void setJgid(String jgid) { + this.jgid = jgid; + } + + public String getRwid() { + return rwid; + } + + public void setRwid(String rwid) { + this.rwid = rwid; + } + + public Zjrwdata getZjrwdata() { + return zjrwdata; + } + + public void setZjrwdata(Zjrwdata zjrwdata) { + this.zjrwdata = zjrwdata; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public String getCJJG() { + return CJJG; + } + + public void setCJJG(String CJJG) { + this.CJJG = CJJG; + } + + public String getDATE() { + return DATE; + } + + public void setDATE(String DATE) { + this.DATE = DATE; + } + + public String getISYC() { + return ISYC; + } + + public void setISYC(String ISYC) { + this.ISYC = ISYC; + } + + public String getISRBFX() { + return ISRBFX; + } + + public void setISRBFX(String ISRBFX) { + this.ISRBFX = ISRBFX; + } + + public String getBZ() { + return BZ; + } + + public void setBZ(String BZ) { + this.BZ = BZ; + } + + public String getJSSP() { + return JSSP; + } + + public void setJSSP(String JSSP) { + this.JSSP = JSSP; + } + + public String getRBYY() { + return RBYY; + } + + public void setRBYY(String RBYY) { + this.RBYY = RBYY; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeLong(this.id); + dest.writeString(this.fid); + dest.writeString(this.sbname); + dest.writeString(this.sbid); + dest.writeString(this.isbhg); + dest.writeString(this.exceptname); + dest.writeString(this.iswc); + dest.writeString(this.khid); + dest.writeString(this.srcid); + dest.writeString(this.filecode); + dest.writeString(this.wcname); + dest.writeString(this.jgid); + dest.writeString(this.rwid); + dest.writeParcelable(this.zjrwdata, flags); + dest.writeByte(this.checked ? (byte) 1 : (byte) 0); + dest.writeString(this.CJJG); + dest.writeString(this.DATE); + dest.writeString(this.ISYC); + dest.writeString(this.ISRBFX); + dest.writeString(this.BZ); + dest.writeString(this.JSSP); + dest.writeString(this.RBYY); + } + + public Zjrwdatainfo() { + } + + protected Zjrwdatainfo(Parcel in) { + this.id = in.readLong(); + this.fid = in.readString(); + this.sbname = in.readString(); + this.sbid = in.readString(); + this.isbhg = in.readString(); + this.exceptname = in.readString(); + this.iswc = in.readString(); + this.khid = in.readString(); + this.srcid = in.readString(); + this.filecode = in.readString(); + this.wcname = in.readString(); + this.jgid = in.readString(); + this.rwid = in.readString(); + this.zjrwdata = in.readParcelable(Zjrwdata.class.getClassLoader()); + this.checked = in.readByte() != 0; + this.CJJG = in.readString(); + this.DATE = in.readString(); + this.ISYC = in.readString(); + this.ISRBFX = in.readString(); + this.BZ = in.readString(); + this.JSSP = in.readString(); + this.RBYY = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public Zjrwdatainfo createFromParcel(Parcel source) { + return new Zjrwdatainfo(source); + } + + @Override + public Zjrwdatainfo[] newArray(int size) { + return new Zjrwdatainfo[size]; + } + }; +} + + + diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zjrwst.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zjrwst.java new file mode 100755 index 0000000..fb07305 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zjrwst.java @@ -0,0 +1,78 @@ +package com.rehome.bhdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/7/24. + */ + +public class Zjrwst extends DataSupport implements Parcelable { + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.state); + dest.writeString(this.msg); + dest.writeList(this.data); + } + + public Zjrwst() { + } + + protected Zjrwst(Parcel in) { + this.state = in.readInt(); + this.msg = in.readString(); + this.data = new ArrayList(); + data = in.createTypedArrayList(Zjrwdata.CREATOR); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public Zjrwst createFromParcel(Parcel source) { + return new Zjrwst(source); + } + + @Override + public Zjrwst[] newArray(int size) { + return new Zjrwst[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zy.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zy.java new file mode 100755 index 0000000..9518cc2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/Zy.java @@ -0,0 +1,39 @@ +package com.rehome.bhdxj.DBModel; + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2016/10/29. + */ + +public class Zy extends DataSupport{ + + private int id; + private String ZYID; + private String VALUE; + private String XXMS; + + public String getZYID() { + return ZYID; + } + + public void setZYID(String ZYID) { + this.ZYID = ZYID; + } + + public String getVALUE() { + return VALUE; + } + + public void setVALUE(String VALUE) { + this.VALUE = VALUE; + } + + public String getXXMS() { + return XXMS; + } + + public void setXXMS(String XXMS) { + this.XXMS = XXMS; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/ZyInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/ZyInfo.java new file mode 100755 index 0000000..9284ed1 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/DBModel/ZyInfo.java @@ -0,0 +1,41 @@ +package com.rehome.bhdxj.DBModel; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/29. + */ + +public class ZyInfo { + + + /** + * Rows : [{"ID":"2086","VALUE":"MIS","XXMS":"信息中心"},{"ID":"2083","VALUE":"电气","XXMS":"电气分部"},{"ID":"2079","VALUE":"辅助维护","XXMS":"设备部管理室"},{"ID":"2070","VALUE":"工程机械","XXMS":"燃料推扒班"},{"ID":"2080","VALUE":"环化","XXMS":"环化分部"},{"ID":"2084","VALUE":"机械","XXMS":"机械分部"},{"ID":"2076","VALUE":"码头","XXMS":"码头分部"},{"ID":"2075","VALUE":"其他","XXMS":"其他"},{"ID":"2085","VALUE":"燃料","XXMS":"燃料点检班"},{"ID":"2082","VALUE":"热控","XXMS":"热控分部"},{"ID":"2088","VALUE":"生技","XXMS":"生技分部"},{"ID":"2081","VALUE":"输煤","XXMS":"输煤分部"},{"ID":"2074","VALUE":"土建","XXMS":"土建专业"},{"ID":"2087","VALUE":"运行","XXMS":"运行部"},{"ID":"2071","VALUE":"运行A值","XXMS":"运行A值"},{"ID":"2072","VALUE":"运行B值","XXMS":"运行B值"},{"ID":"2073","VALUE":"运行C值","XXMS":"运行C值"},{"ID":"2078","VALUE":"运行D值","XXMS":"运行D值"},{"ID":"2077","VALUE":"运行E值","XXMS":"运行E值"}] + * Total : 19 + */ + + private int Total; + /** + * ID : 2086 + * VALUE : MIS + * XXMS : 信息中心 + */ + + private List Rows; + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/DragListener.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/DragListener.java new file mode 100644 index 0000000..3aef1b8 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/DragListener.java @@ -0,0 +1,22 @@ +package com.rehome.bhdxj.Listener; + +/** + * @author:luck + * @date:2020-01-13 17:00 + * @describe:拖拽监听事件 + */ +public interface DragListener { + /** + * 是否将 item拖动到删除处,根据状态改变颜色 + * + * @param isDelete + */ + void deleteState(boolean isDelete); + + /** + * 是否于拖拽状态 + * + * @param start + */ + void dragState(boolean isStart); +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/FullyGridLayoutManager.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/FullyGridLayoutManager.java new file mode 100644 index 0000000..ef2a6dc --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/FullyGridLayoutManager.java @@ -0,0 +1,104 @@ +package com.rehome.bhdxj.Listener; + +import android.content.Context; +import android.view.View; +import android.view.ViewGroup; + +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +/** + * author:luck + * project:PictureSelector + * package:com.luck.picture.ui + * email:893855882@qq.com + * data:16/12/31 + */ + +public class FullyGridLayoutManager extends GridLayoutManager { + public FullyGridLayoutManager(Context context, int spanCount) { + super(context, spanCount); + } + + public FullyGridLayoutManager(Context context, int spanCount, int orientation, boolean reverseLayout) { + super(context, spanCount, orientation, reverseLayout); + } + + private int[] mMeasuredDimension = new int[2]; + + @Override + public void onMeasure(RecyclerView.Recycler recycler, RecyclerView.State state, int widthSpec, int heightSpec) { + final int widthMode = View.MeasureSpec.getMode(widthSpec); + final int heightMode = View.MeasureSpec.getMode(heightSpec); + final int widthSize = View.MeasureSpec.getSize(widthSpec); + final int heightSize = View.MeasureSpec.getSize(heightSpec); + + int width = 0; + int height = 0; + int count = getItemCount(); + int span = getSpanCount(); + for (int i = 0; i < count; i++) { + measureScrapChild(recycler, i, + View.MeasureSpec.makeMeasureSpec(i, View.MeasureSpec.UNSPECIFIED), + View.MeasureSpec.makeMeasureSpec(i, View.MeasureSpec.UNSPECIFIED), + mMeasuredDimension); + + if (getOrientation() == HORIZONTAL) { + if (i % span == 0) { + width = width + mMeasuredDimension[0]; + } + if (i == 0) { + height = mMeasuredDimension[1]; + } + } else { + if (i % span == 0) { + height = height + mMeasuredDimension[1]; + } + if (i == 0) { + width = mMeasuredDimension[0]; + } + } + } + + switch (widthMode) { + case View.MeasureSpec.EXACTLY: + width = widthSize; + case View.MeasureSpec.AT_MOST: + case View.MeasureSpec.UNSPECIFIED: + } + + switch (heightMode) { + case View.MeasureSpec.EXACTLY: + height = heightSize; + case View.MeasureSpec.AT_MOST: + case View.MeasureSpec.UNSPECIFIED: + } + + setMeasuredDimension(width, height); + } + + final RecyclerView.State mState = new RecyclerView.State(); + + private void measureScrapChild(RecyclerView.Recycler recycler, int position, int widthSpec, + int heightSpec, int[] measuredDimension) { + int itemCount = mState.getItemCount(); + if (position < itemCount) { + try { + View view = recycler.getViewForPosition(0); + if (view != null) { + RecyclerView.LayoutParams p = (RecyclerView.LayoutParams) view.getLayoutParams(); + int childWidthSpec = ViewGroup.getChildMeasureSpec(widthSpec, + getPaddingLeft() + getPaddingRight(), p.width); + int childHeightSpec = ViewGroup.getChildMeasureSpec(heightSpec, + getPaddingTop() + getPaddingBottom(), p.height); + view.measure(childWidthSpec, childHeightSpec); + measuredDimension[0] = view.getMeasuredWidth() + p.leftMargin + p.rightMargin; + measuredDimension[1] = view.getMeasuredHeight() + p.bottomMargin + p.topMargin; + recycler.recycleView(view); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/GlideEngine.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/GlideEngine.java new file mode 100644 index 0000000..dcdc034 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/GlideEngine.java @@ -0,0 +1,117 @@ +package com.rehome.bhdxj.Listener; + +/** + * Create By HuangWenFei + * 创建日期:2023-01-09 14:08 + * 描述: + */ + +import android.content.Context; +import android.widget.ImageView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.luck.picture.lib.engine.ImageEngine; +import com.luck.picture.lib.utils.ActivityCompatHelper; +import com.rehome.bhdxj.R; + +/** + * @author:luck + * @date:2019-11-13 17:02 + * @describe:Glide加载引擎 + */ +public class GlideEngine implements ImageEngine { + + /** + * 加载图片 + * + * @param context 上下文 + * @param url 资源url + * @param imageView 图片承载控件 + */ + @Override + public void loadImage(Context context, String url, ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } + Glide.with(context) + .load(url) + .into(imageView); + } + + @Override + public void loadImage(Context context, ImageView imageView, String url, int maxWidth, int maxHeight) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } + Glide.with(context) + .load(url) + .override(maxWidth, maxHeight) + .into(imageView); + } + + /** + * 加载相册目录封面 + * + * @param context 上下文 + * @param url 图片路径 + * @param imageView 承载图片ImageView + */ + @Override + public void loadAlbumCover(Context context, String url, ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .sizeMultiplier(0.5f) + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(R.drawable.ps_image_placeholder) + .into(imageView); + } + + + /** + * 加载图片列表图片 + * + * @param context 上下文 + * @param url 图片路径 + * @param imageView 承载图片ImageView + */ + @Override + public void loadGridImage(Context context, String url, ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } + Glide.with(context) + .load(url) + .override(200, 200) + .centerCrop() + .placeholder(R.drawable.ps_image_placeholder) + .into(imageView); + } + + @Override + public void pauseRequests(Context context) { + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + Glide.with(context).resumeRequests(); + } + + private GlideEngine() { + } + + private static final class InstanceHolder { + static final GlideEngine instance = new GlideEngine(); + } + + public static GlideEngine createGlideEngine() { + return InstanceHolder.instance; + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/ImageLoaderUtils.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/ImageLoaderUtils.java new file mode 100644 index 0000000..086ce68 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/ImageLoaderUtils.java @@ -0,0 +1,41 @@ +package com.rehome.bhdxj.Listener; + +/** + * Create By HuangWenFei + * 创建日期:2023-01-09 16:53 + * 描述: + */ + +import android.app.Activity; +import android.content.Context; +import android.content.ContextWrapper; + +/** + * @author:luck + * @date:2021/7/14 3:15 PM + * @describe:ImageLoaderUtils + */ +public class ImageLoaderUtils { + + public static boolean assertValidRequest(Context context) { + if (context instanceof Activity) { + Activity activity = (Activity) context; + return !isDestroy(activity); + } else if (context instanceof ContextWrapper){ + ContextWrapper contextWrapper = (ContextWrapper) context; + if (contextWrapper.getBaseContext() instanceof Activity){ + Activity activity = (Activity) contextWrapper.getBaseContext(); + return !isDestroy(activity); + } + } + return true; + } + + private static boolean isDestroy(Activity activity) { + if (activity == null) { + return true; + } + return activity.isFinishing() || activity.isDestroyed(); + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/OnItemClickListener.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/OnItemClickListener.java new file mode 100644 index 0000000..1af6c57 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/OnItemClickListener.java @@ -0,0 +1,12 @@ +package com.rehome.bhdxj.Listener; + +import android.view.View; + +/** + * @author:luck + * @date:2020-01-13 17:57 + * @describe:点击事件 + */ +public interface OnItemClickListener { + void onItemClick(int position, View v); +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/OnItemLongClickListener.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/OnItemLongClickListener.java new file mode 100644 index 0000000..44ee2ce --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/Listener/OnItemLongClickListener.java @@ -0,0 +1,26 @@ +package com.rehome.bhdxj.Listener; + +//import android.view.View; +// +//import androidx.recyclerview.widget.RecyclerView; +// +///** +// * @author:luck +// * @date:2020-01-13 17:58 +// * @describe:长按事件 +// */ +//public interface OnItemLongClickListener { +// void onItemLongClick(RecyclerView.ViewHolder holder, int position, View v); +//} +import android.view.View; + +import androidx.recyclerview.widget.RecyclerView; + +/** + * @author:luck + * @date:2020-01-13 17:58 + * @describe:长按事件 + */ +public interface OnItemLongClickListener { + void onItemLongClick(RecyclerView.ViewHolder holder, int position, View v); +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/MyApplication.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/MyApplication.java new file mode 100755 index 0000000..030755e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/MyApplication.java @@ -0,0 +1,28 @@ +package com.rehome.bhdxj; + +import android.content.Context; +import com.tencent.bugly.crashreport.CrashReport; +import com.xuexiang.xui.XUI; +import com.yolanda.nohttp.NoHttp; +import com.zhy.autolayout.config.AutoLayoutConifg; +import org.litepal.LitePalApplication; +import androidx.multidex.MultiDex; + +public class MyApplication extends LitePalApplication { + public static Context context = null; + + @Override + public void onCreate() { + super.onCreate(); + XUI.init(this); + NoHttp.initialize(this); + AutoLayoutConifg.getInstance().useDeviceSize(); + CrashReport.initCrashReport(getApplicationContext(), "f96c690560", true); + } + + @Override + protected void attachBaseContext(Context base) { + super.attachBaseContext(base); + MultiDex.install(base); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/ContactFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/ContactFragment.java new file mode 100755 index 0000000..2fd8ee6 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/ContactFragment.java @@ -0,0 +1,206 @@ +package com.rehome.bhdxj.activity; + +import android.content.Intent; +import android.net.Uri; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.view.View; +import android.widget.AbsListView; +import android.widget.AdapterView; +import android.widget.ListView; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.ContactAdapter; +import com.rehome.bhdxj.base.BaseCallBack; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.bean.ContactListBean; +import com.rehome.bhdxj.utils.ContactDatas; +import com.rehome.bhdxj.utils.HttpUtils; +import com.rehome.bhdxj.weight.ClearEditText; +import com.rehome.bhdxj.weight.ListDialog; +import java.util.ArrayList; +import java.util.List; +import retrofit2.Call; +import retrofit2.Response; + + +/** + * 通讯录 + */ + +public class ContactFragment extends BaseFragment { + + private static ContactFragment instance = null; + ListView lv; + ClearEditText etSearch; + TextView tvDeptName; + + private ContactAdapter adapter; + + public List datas; + private List initDatas; + + public static ContactFragment getInstance() { + if (instance == null) { + instance = new ContactFragment(); + } + return instance; + } + + + @Override + public int getContentViewId() { + return R.layout.fragment_contact; + } + + @Override + protected void initView() { + lv = view.findViewById(R.id.lv); + etSearch = view.findViewById(R.id.et_search); + tvDeptName = view.findViewById(R.id.tv_dept_name); + } + + @Override + public void initData() { + + datas = new ArrayList<>(); + initDatas = new ArrayList<>(); + +// getDatas(); + + etSearch.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) { + filterData(s.toString()); + } + + @Override + public void afterTextChanged(Editable s) { + + } + }); + } + + private void filterData(String str) { + List filters = new ArrayList<>(); + + if (initDatas.size() != 0) { + + if (TextUtils.isEmpty(str)) { + filters.addAll(initDatas); + } else { + for (ContactListBean.RowsBean.OrderlistBean bean : initDatas) { + if (bean.getName().contains(str) || + bean.getAddress_tel().contains(str) || + bean.getTelephone().contains(str) || bean.getGroupName().contains(str)) { + + filters.add(bean); + } + } + } + datas.clear(); + datas.addAll(filters); + adapter.notifyDataSetChanged(); + } + } + + public void getDatas() { + + HttpUtils.getApi().getContactList().enqueue(new BaseCallBack(getContext()) { + @Override + public void onSuccess(Call call, Response response) { + + datas.clear(); + initDatas.clear(); + + ContactListBean bean = response.body(); + if (bean != null) { + datas.addAll(ContactDatas.getContanctList(response.body())); + initDatas.addAll(ContactDatas.getContanctList(response.body())); + if (datas.size() != 0) { + setAdapter(); + tvDeptName.setVisibility(View.VISIBLE); + } + } + } + + @Override + public void onError(Call call, Throwable t) { + + } + }); + } + + private void setAdapter() { + + if (adapter == null) { + adapter = new ContactAdapter(getContext(), datas); + + lv.setAdapter(adapter); + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + + String telephone = datas.get(position).getTelephone(); + String address_tel = datas.get(position).getAddress_tel(); + List list = new ArrayList(); + if (!TextUtils.isEmpty(telephone)) { + list.add(telephone); + } + if (!TextUtils.isEmpty(address_tel)) { + String[] tels = address_tel.split(","); + for (String tel : tels) { + list.add(tel); + } + } + + if (list.size() != 0) { + ListDialog dialog = new ListDialog(getContext(), list, new ListDialog.ListDialogListener() { + @Override + public void selectText(String text, int position) { + Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + text)); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + } + + }); + dialog.setTvTitle("选择要拨打的电话"); + dialog.show(); + } else { + showToast("没有该联系人电话"); + } + } + }); + + lv.setOnScrollListener(new AbsListView.OnScrollListener() { + @Override + public void onScrollStateChanged(AbsListView view, int scrollState) { + + } + + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + if (datas.size() != 0) { + ContactListBean.RowsBean.OrderlistBean itme = datas.get(firstVisibleItem); + tvDeptName.setText(itme.getGroupName()); + } + } + }); + + } else { + adapter.notifyDataSetChanged(); + } + } + + @Override + public void onDetach() { + super.onDetach(); + instance = null; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/LoginActivity.kt b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/LoginActivity.kt new file mode 100644 index 0000000..c653c1d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/LoginActivity.kt @@ -0,0 +1,326 @@ +package com.rehome.bhdxj.activity + +import android.annotation.SuppressLint +import android.content.Intent +import android.content.pm.PackageInfo +import android.content.pm.PackageManager +import android.graphics.Color +import android.os.Build +import android.os.Looper +import android.provider.Settings +import android.text.TextUtils +import android.util.Log +import android.view.KeyEvent +import android.view.View +import com.android.volley.toolbox.StringRequest +import com.android.volley.toolbox.Volley +import com.azhon.appupdate.listener.OnButtonClickListener +import com.azhon.appupdate.listener.OnDownloadListener +import com.azhon.appupdate.manager.DownloadManager +import com.google.gson.Gson +import com.rehome.bhdxj.R +import com.rehome.bhdxj.base.BaseActivityAutoToolbarViewBinding +import com.rehome.bhdxj.bean.ApkUpdateBean +import com.rehome.bhdxj.bean.PhoneInfo +import com.rehome.bhdxj.bean.UserInfo +import com.rehome.bhdxj.contans.Contans +import com.rehome.bhdxj.databinding.ActivityLoginBinding +import com.rehome.bhdxj.utils.* +import com.tencent.bugly.crashreport.CrashReport +import com.yanzhenjie.permission.AndPermission +import com.yanzhenjie.permission.runtime.Permission +import com.yolanda.nohttp.NoHttp +import com.yolanda.nohttp.RequestMethod +import com.yolanda.nohttp.rest.Response +import java.io.File +import kotlin.system.exitProcess + +/** + * Create By HuangWenFei + * 创建日期:2023-02-06 11:30 + * 描述:登录页面 + */ +class LoginActivity : BaseActivityAutoToolbarViewBinding() { + + private lateinit var UserID: String + private lateinit var UserPwd: String + private var exitTime: Long = 0 + + private var manager: DownloadManager? = null + + override fun getViewBinding() = ActivityLoginBinding.inflate(layoutInflater) + + override fun getToolbar() = binding.toolbarView.toolbar + + @SuppressLint("SetTextI18n") + override fun initView() { + //设置权限 + setPermission() + binding.tvVersion.text = "版本V" + getVersionName() + StatusBarUtil.transparencyBar(this) //设置透明状态栏 + UserID = SPUtils.get(this, Contans.USERID, "") as String + UserPwd = SPUtils.get(this, Contans.USERPWD, "") as String + val save = SPUtils.get(this, "save", true) as Boolean + binding.savePwUser.isChecked = save + binding.etUse.setText(UserID) + if (save) { + binding.etPwd.setText(UserPwd) + } + } + + override fun initData() { + checkUpdateApk() + CrashReport.putUserData(context, "UserName", UserID) + onclick() + } + + private fun setPermission() { + AndPermission.with(this).runtime().permission( + Permission.READ_PHONE_STATE, + Permission.WRITE_EXTERNAL_STORAGE, + Permission.ACCESS_COARSE_LOCATION, + Permission.READ_EXTERNAL_STORAGE, + Permission.CAMERA + ).onGranted { }.onDenied { } + .start() + } + + private fun onclick() { + binding.btnLogin.setOnClickListener(View.OnClickListener { + if (isLogin()) { + if (NetworkUtil.hasNetWorkStatus(context, false)) { + Log.i("app", "有网络") + onlineLogin() + } else { + Log.i("app", "无网络") + offlineLogin() + } + } + }) + } + + private fun isLogin(): Boolean { + return if (TextUtils.isEmpty( + binding.etUse.text.toString() + ) && TextUtils.isEmpty(binding.etPwd.text.toString()) + ) { + showToast("用户名和密码不能为空") + false + } else if (TextUtils.isEmpty(binding.etUse.text.toString())) { + showToast("用户名不能为空") + false + } else if (TextUtils.isEmpty(binding.etPwd.text.toString())) { + showToast("密码不能为空") + false + } else { + true + } + } + + + private fun getVersionName(): String? { + val pm = packageManager + try { + val packageInfo = pm.getPackageInfoCompat(packageName) + return packageInfo.versionName + } catch (e: Exception) { + e.printStackTrace() + } + return null + } + + private fun PackageManager.getPackageInfoCompat( + packageName: String, + flags: Int = 0 + ): PackageInfo = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + getPackageInfo(packageName, PackageManager.PackageInfoFlags.of(flags.toLong())) + } else { + @Suppress("DEPRECATION") getPackageInfo(packageName, flags) + } + + private fun checkUpdateApk() { + val queue = Volley.newRequestQueue(this) + val url = Contans.IP + Contans.CHECK_UPDATA_APK + Log.i("app", url) + + val stringRequest = StringRequest(url, + { response -> + Log.i("app", response!!) + val gson = Gson() + val apkUpdateBean: ApkUpdateBean = + gson.fromJson(response, ApkUpdateBean::class.java) + if (apkUpdateBean.total.equals("1")) { + val rowsBean: ApkUpdateBean.RowsBean = apkUpdateBean.rows[0] + val appURL: String = rowsBean.apkurl + val appVersionName: String = rowsBean.versionname + val versioncode: String = rowsBean.versioncode + val appDesc: String = rowsBean.appdesc + if (appVersionName != getVersionName()) { + downloadAndInstall(appURL, appVersionName, appDesc, versioncode) + } + } + }, + { error -> + Log.e("app", error.message, error) + Log.e("app", "调用自动更新接口,获取数据失败") + } + ) + queue.add(stringRequest) + } + + private fun downloadAndInstall( + downloadURL: String, + versionName: String, + description: String, + versionCode: String + ) { + manager = DownloadManager.Builder(this).run { + apkUrl(downloadURL) + apkName("博贺电厂点巡检.apk") + smallIcon(R.mipmap.logo1) + showNewerToast(true) + apkVersionCode(versionCode.toInt()) + apkVersionName(versionName) + apkDescription(description) + enableLog(true) + jumpInstallPage(true) + dialogButtonColor(Color.parseColor("#FF8247")) + dialogProgressBarColor(Color.parseColor("#FF8247")) + dialogButtonTextColor(Color.WHITE) + showNotification(true) + showBgdToast(true) + forcedUpgrade(true) + .onDownloadListener(object : OnDownloadListener { + override fun start() {} + override fun downloading(max: Int, progress: Int) {} + override fun done(apk: File) {} + override fun cancel() {} + override fun error(e: Throwable) {} + }).onButtonClickListener(object : OnButtonClickListener { + override fun onButtonClick(id: Int) {} + }) + build() + } + manager?.download() + } + + private fun isMainThread(): Boolean { + return Looper.getMainLooper().thread === Thread.currentThread() + } + + override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { + if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_DOWN) { + if (System.currentTimeMillis() - exitTime > 2000) { + showToast("再按一次退出程序") + exitTime = System.currentTimeMillis() + } else { + NohttpUtils.getInstance().cancelAll() + ControllerActivity.getAppManager().finishAllActivity() + finish() + exitProcess(0) + } + return true + } + return super.onKeyDown(keyCode, event) + } + + + private fun getPhoneInfo(): String { + val imei: String = Settings.System.getString(contentResolver, Settings.Secure.ANDROID_ID) + val model = Build.MODEL //手机型号 + val sysVersion = Build.VERSION.RELEASE //系统版本 + val info = PhoneInfo() + info.total = 1 + val list: MutableList = ArrayList() + val userInfo = PhoneInfo.UserInfo() + userInfo.imeinum = imei + userInfo.sysversion = sysVersion + userInfo.phonemodel = model + userInfo.phonenum = "" + userInfo.username = UiUtlis.getText(binding.etUse) + userInfo.password = UiUtlis.getText(binding.etPwd) + list.add(userInfo) + info.rows = list + return GsonUtils.GsonString(info) + } + + private fun offlineLogin() { + if (UserID == "") { + showToast("首次登陆请连接厂内WIFI") + } else { + if (UserID != binding.etUse.text.toString()) { + showToast("工号错误") + } else { + val intent = Intent(this, MainActivity::class.java) + startActivity(intent) + finish() + } + } + } + + private fun onlineLogin() { + val json: String = getPhoneInfo() + val request = NoHttp.createStringRequest(Contans.IP + Contans.LOGIN, RequestMethod.POST) + request.setDefineRequestBodyForJson(json) + NohttpUtils.getInstance().add(this, 0, request, callback, true, true, "登录中...") + } + + private val callback: HttpListener = object : HttpListener { + override fun onSucceed(what: Int, response: Response?) { + val json = response?.get() + val userInfo = GsonUtils.GsonToBean(json, UserInfo::class.java) + if (userInfo != null) { + val user = userInfo.rows[0] + val status = user.status + val username = user.usernames + when (status) { + "0" -> showToast("用户名或密码错误") + "1" -> { + SPUtils.put(context, "save", binding.savePwUser.isChecked) + SPUtils.put( + context, + Contans.USERID, + binding.etUse.text.toString() + ) + SPUtils.put( + context, + Contans.USERPWD, + binding.etPwd.text.toString() + ) + SPUtils.put(context, Contans.USERNAME, username) + SPUtils.put( + context, + Contans.BZBH, + if (user.bzbh == null) "" else user.bzbh + ) + SPUtils.put( + context, + Contans.BZMC, + if (user.bzmc == null) "" else user.bzmc + ) + SPUtils.put( + context, + Contans.PERMISSIONSRESULT, + if (user.permissionsResult == null) "" else user.permissionsResult + ) + val intent = Intent(context, MainActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + startActivity(intent) + finish() + } + + "2" -> showToast("登录异常...") + "3" -> showToast("未激活或未授权...") + "4" -> showToast("禁止登陆...") + } + } else { + showToast(UiUtlis.getString(context, R.string.data_error)) + } + } + + override fun onFailed(what: Int, response: Response?) { + + } + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/MainActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/MainActivity.java new file mode 100644 index 0000000..cdc2fab --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/MainActivity.java @@ -0,0 +1,172 @@ +package com.rehome.bhdxj.activity; + +import android.content.ComponentName; +import android.content.Intent; +import android.content.ServiceConnection; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.IBinder; +import android.view.KeyEvent; +import android.view.View; +import android.view.WindowManager; +import android.widget.GridView; +import android.widget.Toast; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.activity.sbxdj.MainSbxdjglActivity; +import com.rehome.bhdxj.activity.sbxj.XscbglActivity; +import com.rehome.bhdxj.adapter.GridViewAdapter; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.bean.GridViewBean; +import com.rehome.bhdxj.bleUtil.BlueTestInfoActivity; +import com.rehome.bhdxj.bleUtil.BluetoothLeService; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.AppManager; +import com.rehome.bhdxj.utils.OAToolbar; +import com.rehome.bhdxj.utils.SPUtils; +import com.rehome.bhdxj.utils.StatusBarUtil; +import com.rehome.bhdxj.weight.toastviewbymyself; +import java.util.ArrayList; +import java.util.List; + +public class MainActivity extends BaseActivity3 implements View.OnClickListener { + + OAToolbar toolbar; + GridView gv; + + private List beanList = new ArrayList<>(); + private GridViewAdapter adapter; + private String[] str = {"点检管理", "巡检管理", "读取NFC", "蓝牙管理", "缺陷工单提交(Maximo)"}; + private int[] imageId = {R.mipmap.icon_dxj, R.mipmap.icon6, R.mipmap.icon11, R.mipmap.icon13, R.mipmap.icon10}; + private int[] colors = {R.drawable.radius_a1, R.drawable.radius_e3, R.drawable.radius_a4, R.drawable.radius_b1, R.drawable.radius_d1}; + private List item; + private long exitTime = 0; + private BluetoothLeService mBluetoothLeService; + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + break; + case R.id.tv_right: + break; + } + } + + @Override + public int getLayoutId() { + return R.layout.activity_main; + } + + @Override + public void initView() { + toolbar = findViewById(R.id.toolbar); + gv = findViewById(R.id.gv); + toolbar.setBackgroundColor(Color.parseColor("#00000000")); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//设置透明状态栏 + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//设置透明导航栏 + StatusBarUtil.transparencyBar(MainActivity.this);//设置透明状态栏 + } + + @Override + public void initData() { + setAdapter(); + Intent gattServiceIntent = new Intent(this, BluetoothLeService.class); + bindService(gattServiceIntent, mServiceConnection, BIND_AUTO_CREATE); + } + + private void setAdapter() { + item = new ArrayList<>(); + item.addAll(PermissionsResult()); + beanList.addAll(getGridViewData(false)); + gv.setSelector(new ColorDrawable(Color.TRANSPARENT)); + adapter = new GridViewAdapter(this, beanList, item, false); + gv.setAdapter(adapter); + gv.setOnItemClickListener((parent, view, position, id) -> { + if (position == 0) { + startActivity(MainSbxdjglActivity.class); + } else if (position == 1) { + startActivity(XscbglActivity.class); + } else if (position == 2) { + startActivity(NfcinfoActivity.class); + } else if (position == 3) { + startActivity(BlueTestInfoActivity.class); + } else if (position == 4) { + startActivity(QxgdActivity.class); + } + }); + } + + private List PermissionsResult() { + List item = new ArrayList<>(); + item.add(0); + item.add(1); + item.add(2); + item.add(3); + item.add(4); + try { + String result = (String) SPUtils.get(context, Contans.PERMISSIONSRESULT, ""); + } catch (Exception e) { + } + return item; + } + + private List getGridViewData(boolean isTask) { + + List datas = new ArrayList<>(); + for (int i = 0; i < str.length; i++) { + GridViewBean bean = new GridViewBean(); + bean.setTitle(str[i]); + bean.setBackgroup(colors[i]); + bean.setImageid(imageId[i]); + bean.setShow(false); + if (i == 4) { + if (isTask) { + bean.setShow(true); + } else { + bean.setShow(false); + } + } + datas.add(bean); + } + + return datas; + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { + if ((System.currentTimeMillis() - exitTime) > 2000) { + toastviewbymyself.makeText(context, "再按一次退出程序", Toast.LENGTH_LONG).show(); + exitTime = System.currentTimeMillis(); + } else { + finish(); + System.exit(0); + AppManager.getAppManager().AppExit(this); + } + return true; + } + return super.onKeyDown(keyCode, event); + } + + private final ServiceConnection mServiceConnection = new ServiceConnection() { + @Override + public void onServiceConnected(ComponentName componentName, IBinder service) { + mBluetoothLeService = ((BluetoothLeService.LocalBinder) service).getService(); + } + + @Override + public void onServiceDisconnected(ComponentName componentName) { + mBluetoothLeService = null; + } + }; + + @Override + public void onDestroy() { + mBluetoothLeService.disconnect(); + mBluetoothLeService.close(); + unbindService(mServiceConnection); + Intent intent = new Intent(this, BluetoothLeService.class); + stopService(intent); + super.onDestroy(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/MainFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/MainFragment.java new file mode 100755 index 0000000..d9f188f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/MainFragment.java @@ -0,0 +1,171 @@ +package com.rehome.bhdxj.activity; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.GridView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.activity.sbxdj.MainSbxdjglActivity; +import com.rehome.bhdxj.adapter.GridViewAdapter; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.bean.BasicDataBean; +import com.rehome.bhdxj.bean.GridViewBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.service.PushService; +import com.rehome.bhdxj.utils.AutoToolbar; +import com.rehome.bhdxj.utils.SPUtils; +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/4/2. + */ + +public class MainFragment extends BaseFragment { + + private static MainFragment instance = null; + + AutoToolbar toolbar; + GridView gv; + + private List beanList = new ArrayList<>(); + private GridViewAdapter adapter; + private boolean isTask = false;//是否有任务 + private String[] str = {"点检",}; + private int[] imageId = {R.mipmap.icon8}; + private int[] colors = {R.drawable.radius_a1}; + + private List item; + private List dialogDatas; + private List zys; + + public static MainFragment getInstance() { + if (instance == null) { + instance = new MainFragment(); + } + return instance; + } + + @Override + public int getContentViewId() { + return R.layout.fragment_main; + } + + @Override + protected void initView() { + gv = view.findViewById(R.id.gv); + toolbar = view.findViewById(R.id.toolbar); + } + + public void initData() { + + + zys = new ArrayList<>(); + dialogDatas = new ArrayList<>(); + item = new ArrayList<>(); + item.addAll(PermissionsResult()); + checkPush(); + + beanList.clear(); + beanList.addAll(getGridViewData(isTask)); + + gv.setSelector(new ColorDrawable(Color.TRANSPARENT)); + adapter = new GridViewAdapter(getActivity(), beanList, item, true); + gv.setAdapter(adapter); + + gv.setOnItemClickListener((parent, view, position, id) -> { + Intent intent; + switch (position) { + case 0: + intent = new Intent(getActivity(), MainSbxdjglActivity.class); + startActivity(intent); + break; + case 1: + } + }); + + } + + + + private List PermissionsResult() { + + List item = new ArrayList<>(); + + + try { + String result = (String) SPUtils.get(context, Contans.PERMISSIONSRESULT, ""); + + if (!result.isEmpty()) { + String[] results = result.split(";"); + item.add(0); + item.add(1); + item.add(2); + item.add(3); + item.add(4); + + } + } catch (Exception e) { + } + return item; + } + + /** + * @param isTask 是否有行为安全观察任务 + * @return + */ + private List getGridViewData(boolean isTask) { + + List datas = new ArrayList<>(); + for (int i = 0; i < str.length; i++) { + GridViewBean bean = new GridViewBean(); + bean.setTitle(str[i]); + bean.setBackgroup(colors[i]); + bean.setImageid(imageId[i]); + bean.setShow(false); + datas.add(bean); + } + + return datas; + } + + //检查系统是否有任务推送 + private void checkPush() { + + int[] whats = new int[]{1, 0, 0, 0, 0}; + for (int i = 0; i < item.size(); i++) { + if (item.get(i) == 0) { + //点检 + whats[0] = 1; + } + } + + Intent intent = new Intent(getActivity(), PushService.class); + Bundle bundle = new Bundle(); + bundle.putIntArray("what", whats); + intent.putExtras(bundle); + getActivity().startService(intent); + + } + + /** + * 广播接收器 + */ + public class MsgReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + + isTask = intent.getBooleanExtra("isTask", false); + beanList.clear(); + beanList.addAll(getGridViewData(isTask)); + adapter.notifyDataSetChanged(); + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/MineFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/MineFragment.java new file mode 100755 index 0000000..e877e8c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/MineFragment.java @@ -0,0 +1,72 @@ +package com.rehome.bhdxj.activity; + +import android.content.ActivityNotFoundException; +import android.content.ComponentName; +import android.content.Intent; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseFragment; + +/** + * 我的 + */ +public class MineFragment extends BaseFragment { + + private static MineFragment instance = null; + TextView wechat; + TextView tvWechat; + TextView tvName; + TextView tvMinedb; + TextView tvMinedbNum; + + private int zjrwNum; + + public static MineFragment getInstance() { + if (instance == null) { + instance = new MineFragment(); + } + return instance; + } + + @Override + public int getContentViewId() { + return R.layout.fragment_mine; + } + + @Override + protected void initView() { + wechat = view.findViewById(R.id.wechat); + tvWechat = view.findViewById(R.id.tv_wechat); + tvName = view.findViewById(R.id.tv_name); + tvMinedb = view.findViewById(R.id.tv_minedb); + tvMinedbNum = view.findViewById(R.id.tv_minedb_num); + } + + @Override + public void initData() { +// String USERNAME = (String) SPUtils.get(context, Contans.USERNAME, ""); +// tvName.setText(USERNAME); + wechat.setOnClickListener(v -> { + try { + Intent intent = new Intent(Intent.ACTION_MAIN); + ComponentName cmp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI"); + intent.addCategory(Intent.CATEGORY_LAUNCHER); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.setComponent(cmp); + startActivity(intent); + } catch (ActivityNotFoundException e) { + showToast("请安装微信"); + } + }); + + } + + @Override + public void onResume() { + super.onResume(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/NfcinfoActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/NfcinfoActivity.java new file mode 100644 index 0000000..1596981 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/NfcinfoActivity.java @@ -0,0 +1,40 @@ +package com.rehome.bhdxj.activity; + +import android.view.View; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseActivity3; + +public class NfcinfoActivity extends BaseActivity3 { + + + TextView tvNfc; + + @Override + public int getLayoutId() { + return R.layout.activity_nfcinfo; + } + + @Override + public void initView() { + tvNfc = findViewById(R.id.tv_nfc); + initToolbar("NFC信息", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + initNFC(); + } + + @Override + public void initData() { + + } + + @Override + public void handleNfc(String result) { + super.handleNfc(result); + tvNfc.setText(result); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/QxgdActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/QxgdActivity.java new file mode 100644 index 0000000..15226b0 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/QxgdActivity.java @@ -0,0 +1,325 @@ +package com.rehome.bhdxj.activity; + +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.base.BaseCallBack; +import com.rehome.bhdxj.bean.JzBean; +import com.rehome.bhdxj.bean.QXGDResultBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpUtils; +import com.rehome.bhdxj.utils.SPUtils; +import com.rehome.bhdxj.weight.DateTimePickDialog; +import com.rehome.bhdxj.weight.InputLayout; +import com.rehome.bhdxj.weight.ListDialog; +import com.xuexiang.xui.widget.edittext.MultiLineEditText; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import retrofit2.Call; +import retrofit2.Response; + +public class QxgdActivity extends BaseActivity3 { + + InputLayout ilFxr; + InputLayout ilFxsj; + InputLayout ilFxrbm; + InputLayout ilJz; + InputLayout ilZy; + InputLayout ilQxlx; + InputLayout ilQxdj; + MultiLineEditText etQxms; + InputLayout ilFzbm; + + private List JzDatas; + private List JzDialogDatas; + private List ZYDatas; + private List ZYDialogDatas; + private List LXDatas; + private List LXDialogDatas; + private List QXDJDatas; + private List QXDJDialogDatas; + private List GDAPDatas; + private List GDAPDialogDatas; + private String JZValue, ZYValue, LXvalue, QXDJValue, GDAPValue; + + + @Override + public int getLayoutId() { + return R.layout.activity_qxgd; + } + + @Override + public void initView() { + initToolbar("缺陷工单提交(对接Maximo)", "提交", new View.OnClickListener() { + @Override + public void onClick(View v) { + if (TextUtils.isEmpty(ilFxsj.getContent())) { + showToast("请输入时间"); + } else if (TextUtils.isEmpty(ilJz.getContent())) { + showToast("请选择机组"); + } else if (TextUtils.isEmpty(ilZy.getContent())) { + showToast("请选择专业"); + } else if (TextUtils.isEmpty(ilQxlx.getContent())) { + showToast("请选择缺陷类型"); + } else if (TextUtils.isEmpty(ilQxdj.getContent())) { + showToast("请选择缺陷等级"); + } else if (TextUtils.isEmpty(etQxms.getContentText())) { + showToast("请填写缺陷描述"); + } else if (TextUtils.isEmpty(ilFzbm.getContent())) { + showToast("请选择负责部门"); + } else { + UploadDatas(); + } + } + }); + ilFxr = findViewById(R.id.il_fxr); + ilFxsj = findViewById(R.id.il_fxsj); + ilFxrbm = findViewById(R.id.il_fxrbm); + ilJz = findViewById(R.id.il_jz); + ilZy = findViewById(R.id.il_zy); + ilQxlx = findViewById(R.id.il_qxlx); + ilQxdj = findViewById(R.id.il_qxdj); + etQxms = findViewById(R.id.et_qxms); + ilFzbm = findViewById(R.id.il_fzbm); + } + + @Override + public void initData() { + JzDatas = new ArrayList<>(); + JzDialogDatas = new ArrayList<>(); + ZYDatas = new ArrayList<>(); + ZYDialogDatas = new ArrayList<>(); + LXDatas = new ArrayList<>(); + LXDialogDatas = new ArrayList<>(); + QXDJDatas = new ArrayList<>(); + QXDJDialogDatas = new ArrayList<>(); + GDAPDatas = new ArrayList<>(); + GDAPDialogDatas = new ArrayList<>(); + GETJZ(); + GETZY(); + GETLX(); + GETQXDJ(); + GETGDAP(); + ilFxr.setContent((String) SPUtils.get(context, Contans.USERNAME, "")); + ilFxrbm.setContent((String) SPUtils.get(context, Contans.BZMC, "")); + ilFxsj.setOnClickListener(v -> { + ilFxsj.setContent(""); + DateTimePickDialog dialog = new DateTimePickDialog(context, (outPutDate, outPutDate1, outPutDate2, outPutDateTime3) -> ilFxsj.setContent(outPutDate)); + dialog.show(); + }); + ilJz.setOnClickListener(v -> { + ListDialog dialog = new ListDialog(context, JzDialogDatas, (time, position) -> { + JZValue = JzDatas.get(position).getValue(); + ilJz.setContent(JzDatas.get(position).getDescription()); + }); + dialog.show(); + }); + ilZy.setOnClickListener(v -> { + ListDialog dialog = new ListDialog(context, ZYDialogDatas, (time, position) -> { + ZYValue = ZYDatas.get(position).getValue(); + ilZy.setContent(ZYDatas.get(position).getDescription()); + }); + dialog.show(); + }); + ilQxlx.setOnClickListener(v -> { + ListDialog dialog = new ListDialog(context, LXDialogDatas, (time, position) -> { + LXvalue = LXDatas.get(position).getValue(); + ilQxlx.setContent(LXDatas.get(position).getDescription()); + }); + dialog.show(); + }); + ilQxdj.setOnClickListener(v -> { + ListDialog dialog = new ListDialog(context, QXDJDialogDatas, (time, position) -> { + QXDJValue = QXDJDatas.get(position).getValue(); + ilQxdj.setContent(QXDJDatas.get(position).getDescription()); + }); + dialog.show(); + }); + ilFzbm.setOnClickListener(v -> { + ListDialog dialog = new ListDialog(context, GDAPDialogDatas, (time, position) -> { + GDAPValue = GDAPDatas.get(position).getValue(); + ilFzbm.setContent(GDAPDatas.get(position).getDescription()); + }); + dialog.show(); + }); + } + + + private void GETJZ() { + HttpUtils.GETMAXIMOIP().GetJzList().enqueue(new BaseCallBack(context) { + @Override + public void onSuccess(Call call, Response response) { + JzBean bean1 = response.body(); + if (bean1 != null) { + JzDatas.clear(); + JzDatas.addAll(bean1.getResult()); + initJZdatas(); + + } + } + + @Override + public void onError(Call call, Throwable t) { + + } + }); + } + + private void GETZY() { + + HttpUtils.GETMAXIMOIP().GetZyList().enqueue(new BaseCallBack(context) { + @Override + public void onSuccess(Call call, Response response) { + JzBean bean = response.body(); + if (bean != null) { + ZYDatas.clear(); + ZYDatas.addAll(bean.getResult()); + initZYdatas(); + } + } + + @Override + public void onError(Call call, Throwable t) { + + } + + }); + + } + + private void GETLX() { + + HttpUtils.GETMAXIMOIP().GetLxist().enqueue(new BaseCallBack(context) { + @Override + public void onSuccess(Call call, Response response) { + JzBean bean = response.body(); + if (bean != null) { + LXDatas.clear(); + LXDatas.addAll(bean.getResult()); + initLXdatas(); + } + } + + @Override + public void onError(Call call, Throwable t) { + + } + + }); + + } + + private void GETQXDJ() { + + HttpUtils.GETMAXIMOIP().GetQXDJist().enqueue(new BaseCallBack(context) { + @Override + public void onSuccess(Call call, Response response) { + JzBean bean = response.body(); + if (bean != null) { + QXDJDatas.clear(); + QXDJDatas.addAll(bean.getResult()); + initQXDJdatas(); + } + } + + @Override + public void onError(Call call, Throwable t) { + + } + + }); + } + + private void GETGDAP() { + + HttpUtils.GETMAXIMOIP().GetGDAPist().enqueue(new BaseCallBack(context) { + @Override + public void onSuccess(Call call, Response response) { + JzBean bean = response.body(); + if (bean != null) { + GDAPDatas.clear(); + GDAPDatas.addAll(bean.getResult()); + initGDAPdatas(); + } + } + + @Override + public void onError(Call call, Throwable t) { + + } + + }); + } + + private void initJZdatas() { + for (JzBean.ResultBean bean : JzDatas) { + JzDialogDatas.add(bean.getDescription()); + } + } + + private void initZYdatas() { + for (JzBean.ResultBean bean : ZYDatas) { + ZYDialogDatas.add(bean.getDescription()); + } + } + + private void initLXdatas() { + for (JzBean.ResultBean bean : LXDatas) { + LXDialogDatas.add(bean.getDescription()); + } + } + + private void initQXDJdatas() { + for (JzBean.ResultBean bean : QXDJDatas) { + QXDJDialogDatas.add(bean.getDescription()); + } + } + + private void initGDAPdatas() { + for (JzBean.ResultBean bean : GDAPDatas) { + GDAPDialogDatas.add(bean.getDescription()); + } + } + + private void UploadDatas() { + + HttpUtils.GETMAXIMOIP().UploadQXgd(GetInfo()).enqueue(new BaseCallBack(context) { + @Override + public void onSuccess(Call call, Response response) { + QXGDResultBean bean = response.body(); + if (bean != null) { + if (bean.getStatus().equals("1")) { + showToast("提交成功,请到Maximo系统查看"); + finish(); + } + } + } + + @Override + public void onError(Call call, Throwable t) { + + } + }); + + } + + private String GetInfo() { + String json = ""; + Map map = new HashMap(); + map.put("description", etQxms.getContentText()); + map.put("unit", JZValue); + map.put("profession", ZYValue); + map.put("bugtype", LXvalue); + map.put("buglevel", QXDJValue); + map.put("reportedby", (String) SPUtils.get(context, Contans.USERID, "")); + map.put("bugdept", GDAPValue); + json = GsonUtils.GsonString(map); + return json; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/TabMainActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/TabMainActivity.java new file mode 100755 index 0000000..86ff7c2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/TabMainActivity.java @@ -0,0 +1,156 @@ +package com.rehome.bhdxj.activity; + +import android.graphics.Color; +import android.os.Bundle; +import android.widget.RadioButton; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.utils.AutoToolbar; +import com.rehome.bhdxj.utils.CanBanScrollViewPager; +import com.rehome.bhdxj.weight.AutoRadioGroup; +import java.util.ArrayList; +import java.util.List; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentPagerAdapter; +import androidx.viewpager.widget.ViewPager; + +/** + * Created by ruihong on 2018/4/2. + */ + +public class TabMainActivity extends BaseActivity { + + CanBanScrollViewPager vp; + RadioButton rbHome; + RadioButton rbContact; + RadioButton rbMine; + AutoRadioGroup rg; + AutoToolbar toolbar; + + private List fragments = new ArrayList<>(); + private FragmentPagerAdapter adapter; +// BadgeView badgeView_me; + + @Override + public int getContentViewID() { + return R.layout.activity_tabmain; + } + + @Override + protected void initView() { +// Button mine_button = (Button) findViewById(R.id.mine_button); +// badgeView_me = new BadgeView(this); +// badgeView_me.setTargetView(mine_button); +// badgeView_me.setBadgeGravity(Gravity.TOP | Gravity.RIGHT | Gravity.CENTER); +// badgeView_me.setBadgeMargin(0, 2, 25, 0);//设置边距 +// badgeView_me.setTextSize(16); + + vp = findViewById(R.id.vp); + rbHome = findViewById(R.id.rb_home); + rbContact = findViewById(R.id.rb_contact); + rbMine = findViewById(R.id.rb_mine); + rg = findViewById(R.id.rg); + toolbar = findViewById(R.id.toolbar); + + fragments.add(MainFragment.getInstance()); + fragments.add(ContactFragment.getInstance()); + fragments.add(MineFragment.getInstance()); + + + adapter = new FragmentPagerAdapter(getSupportFragmentManager()) { + @Override + public Fragment getItem(int position) { + return fragments.get(position); + } + + @Override + public int getCount() { + return fragments.size(); + } + }; + + + vp.setAdapter(adapter); + vp.setOffscreenPageLimit(3); + vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + + } + + @Override + public void onPageSelected(int position) { + + initTextColor(); + + switch (position) { + case 0: + title.setText("管理"); + vp.setCurrentItem(0, false); + rbHome.setTextColor(Color.parseColor("#0099ff")); + rbHome.setChecked(true); + break; + case 1: + title.setText("通讯录"); + vp.setCurrentItem(1, false); + rbContact.setTextColor(Color.parseColor("#0099ff")); + rbContact.setChecked(true); + break; + case 2: + title.setText("我的"); + vp.setCurrentItem(2, false); + rbMine.setTextColor(Color.parseColor("#0099ff")); + rbMine.setChecked(true); + break; + } + + + } + + @Override + public void onPageScrollStateChanged(int state) { + + } + }); + + rg.setBackgroundColor(getResources().getColor(R.color.white)); + + rg.setOnCheckedChangeListener((radioGroup, i) -> { + initTextColor(); + if(i==R.id.rb_home){ + title.setText("运行"); + vp.setCurrentItem(0, false); + rbHome.setTextColor(Color.parseColor("#0099ff")); + }else if(i==R.id.rb_contact){ + title.setText("通讯录"); + vp.setCurrentItem(1, false); + rbContact.setTextColor(Color.parseColor("#0099ff")); + }else if(i==R.id.rb_mine){ + title.setText("我的"); + vp.setCurrentItem(2, false); + rbMine.setTextColor(Color.parseColor("#0099ff")); + } + }); + } + private void initTextColor() { + rbHome.setTextColor(Color.parseColor("#abadbb")); + rbContact.setTextColor(Color.parseColor("#abadbb")); + rbMine.setTextColor(Color.parseColor("#abadbb")); + } + + + public void initData() { + title.setText("首页"); + } + + @Override + protected void onResume() { + super.onResume(); +// badgeView_me.setBadgeCount(zjrwNum); + } + @Override + protected void onRestart() { + super.onRestart(); +// badgeView_me.setBadgeCount(zjrwNum); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/BzFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/BzFragment.java new file mode 100755 index 0000000..6b32133 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/BzFragment.java @@ -0,0 +1,67 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.os.Bundle; +import android.widget.EditText; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseFragment; + + +/** + * 安健环巡查管理-标准 + */ +public class BzFragment extends BaseFragment { + + EditText et_bz; + + private boolean isEdit; + private String bz; + + public BzFragment() { + } + + public static BzFragment newInstance(boolean b, String bz) { + Bundle bundle = new Bundle(); + bundle.putBoolean("edit", b); + bundle.putString("bz", bz); + BzFragment fragment = new BzFragment(); + fragment.setArguments(bundle); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Bundle bundle = getArguments(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + bz = bundle.getString("bz"); + } + } + + @Override + public int getContentViewId() { + return R.layout.fragment_bz; + } + + @Override + protected void initView() { + et_bz = view.findViewById(R.id.et_bz); + et_bz.setEnabled(isEdit); + updata(bz); + } + + @Override + public void initData() { + + } + + + + /** + * 更新数据 + */ + public void updata(String bz) { + et_bz.setText(bz); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/CJFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/CJFragment.java new file mode 100755 index 0000000..5e3e30b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/CJFragment.java @@ -0,0 +1,226 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.annotation.SuppressLint; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.EditText; +import android.widget.LinearLayout; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import android.widget.ScrollView; +import android.widget.TextView; +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseFragment; + + +public class CJFragment extends BaseFragment { + TextView tv_bw; + TextView tv_dmc; + EditText et_jg; + TextView tv_yjzj; + TextView tv_zt; + TextView tvSb; + TextView tvBz; + ScrollView sv; + TextView tvZq; + RadioButton rbzc; + RadioButton rbbzc; + RadioGroup RGZC; + TextView textviewTy; + TextView tvDjnr; + EditText etYcFxnr; + LinearLayout ycmsLl; + + private boolean isEdit; + private QYDDATABean info; + private int zj; + private int index; + private String writebleinfo; + public static CJFragment newInstance(boolean b, QYDDATABean info, int zj, int index) { + Bundle bundle = new Bundle(); + bundle.putBoolean("edit", b); + bundle.putParcelable("info", info); + bundle.putInt("zj", zj); + bundle.putInt("index", index); + CJFragment fragment = new CJFragment(); + fragment.setArguments(bundle); + return fragment; + } + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Bundle bundle = getArguments(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + info = bundle.getParcelable("info"); + zj = bundle.getInt("zj"); + index = bundle.getInt("index"); + } + } + @Override + public int getContentViewId() { + return R.layout.fragment_cj; + } + @Override + protected void initView() { + tv_bw = view.findViewById(R.id.tv_bw); + tv_dmc = view.findViewById(R.id.tv_dmc); + et_jg = view.findViewById(R.id.et_jg); + tv_yjzj = view.findViewById(R.id.tv_yjzj); + tv_zt = view.findViewById(R.id.tv_zt); + tvSb = view.findViewById(R.id.tv_sb); + tvBz = view.findViewById(R.id.tv_bz); + sv = view.findViewById(R.id.sv); + tvZq = view.findViewById(R.id.tv_zq); + rbzc = view.findViewById(R.id.rbzc); + rbbzc = view.findViewById(R.id.rbbzc); + RGZC = view.findViewById(R.id.RGZC); + textviewTy = view.findViewById(R.id.textview_ty); + tvDjnr = view.findViewById(R.id.tv_djnr); + etYcFxnr = view.findViewById(R.id.et_yc_fxnr); + ycmsLl = view.findViewById(R.id.ycms_ll); + + et_jg.setEnabled(isEdit); + updata(info, index, zj); + } + @Override + public void initData() { + RGZC.setOnCheckedChangeListener((radioGroup, i) -> { + switch (i) { + case R.id.rbzc: + et_jg.setText("正常"); + ycmsLl.setVisibility(View.GONE); + break; + case R.id.rbbzc: + et_jg.setText("异常"); + ycmsLl.setVisibility(View.VISIBLE); + break; + } + }); + } + void updateState(String value) { + et_jg.setText(value); + } + void updateFXNR(String value) { etYcFxnr.setText(value); } + void updatecheck(Boolean value) { + if (value) { + tv_zt.setText("已检"); + } else { + tv_zt.setText("未检"); + } + } + @SuppressLint("SetTextI18n") + void updata(QYDDATABean info, int item, int size) { + tvSb.setText(info.getSBMC()); + tv_bw.setText(info.getBJMC()); + tv_dmc.setText(info.getDMC()); + tvDjnr.setText(info.getDJNR()); + tvBz.setText(info.getBZZ()); + tv_zt.setText(info.isChecked() ? "已检" : "未检"); + tv_yjzj.setText(item + "/" + size); + + writebleinfo = info.getLRFS(); + + + if (info.getLRFS().equals("0")) { //当时编辑状态的是 不需要按钮 + et_jg.setVisibility(View.VISIBLE); + RGZC.setVisibility(View.GONE); + textviewTy.setVisibility(View.GONE); + ycmsLl.setVisibility(View.GONE); + etYcFxnr.setText(""); + if (info.getCJJG() == null) { + et_jg.setText(""); + } else { + switch (info.getSBMCSTATE()) { + case "已运行": + et_jg.setText(info.getCJJG()); + break; + case "已停用": + et_jg.setText("已停用"); + et_jg.setVisibility(View.GONE); + textviewTy.setVisibility(View.VISIBLE); + break; + case "备用": + et_jg.setText("备用"); + textviewTy.setText("备用"); + et_jg.setVisibility(View.GONE); + textviewTy.setVisibility(View.VISIBLE); + break; + default: + et_jg.setText(info.getCJJG()); + break; + } + } + } else if (info.getLRFS().equals("1")) { //不是编辑状态的时候 + + et_jg.setVisibility(View.GONE); + textviewTy.setVisibility(View.GONE); + rbzc.setVisibility(View.VISIBLE); + rbbzc.setVisibility(View.VISIBLE); + RGZC.setVisibility(View.VISIBLE); + rbzc.setText("正常"); + rbbzc.setText("异常"); + rbzc.setChecked(true); + rbbzc.setChecked(false); + etYcFxnr.setText(""); + + if (info.getCJJG() == null) { + et_jg.setText("正常"); + rbzc.setChecked(true); + rbbzc.setChecked(false); + ycmsLl.setVisibility(View.GONE); + } else { + switch (info.getCJJG()) { + case "已运行": + et_jg.setText("正常"); + rbzc.setChecked(true); + rbbzc.setChecked(false); + ycmsLl.setVisibility(View.GONE); + break; + case "已停用": + textviewTy.setVisibility(View.VISIBLE); + et_jg.setText("已停用"); + RGZC.setVisibility(View.GONE); + textviewTy.setVisibility(View.VISIBLE); + ycmsLl.setVisibility(View.GONE); + break; + case "异常": + et_jg.setText("异常"); + rbbzc.setChecked(true); + rbzc.setChecked(false); + ycmsLl.setVisibility(View.VISIBLE); + etYcFxnr.setText(info.getFXNR()); + break; + case "备用": + textviewTy.setVisibility(View.VISIBLE); + ycmsLl.setVisibility(View.GONE); + et_jg.setText("备用"); + textviewTy.setText("备用"); + RGZC.setVisibility(View.GONE); + ycmsLl.setVisibility(View.GONE); + break; + default: + et_jg.setText(info.getCJJG()); + rbzc.setText(info.getCJJG()); + rbzc.setChecked(true); + rbbzc.setChecked(false); + break; + } + } + } + } + + public void getBlueToothData(String bluetoothdata) { + if (writebleinfo.equals("0")){ + et_jg.setText(bluetoothdata); + }else if (writebleinfo.equals("1")){ + + } + } + public String getCJJG() { return et_jg.getText().toString().trim(); } + public String getYc_Fxnr() { return etYcFxnr.getText().toString().trim(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/ChangeYulActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/ChangeYulActivity.java new file mode 100755 index 0000000..e66e8c9 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/ChangeYulActivity.java @@ -0,0 +1,178 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.DBModel.XDJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.DlbAdapter; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.bean.DlbInfo; +import com.rehome.bhdxj.contans.Contans; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; + +import static org.litepal.crud.DataSupport.where; + +public class ChangeYulActivity extends BaseActivity { + + ListView lv; + + private boolean isEdit = true; + private int item; + // private ArrayList djjhs = new ArrayList<>(); + private List xdjjhxzDataBeanList = new ArrayList<>();//工作列表 + private ArrayList qyddataBeanList = new ArrayList<>();//点检记录列表 + private List infos = new ArrayList<>(); + private View headView; + private DlbAdapter adapter; + private int itemposition; + private String LX, LXResult; + /** + * 广播 + */ + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + //更新指定item + String action = intent.getAction(); + switch (action) { + case Contans.ACTION_YULONE: //更新设备点检页面返回时编辑的item内容 + + int position = intent.getIntExtra(Contans.KEY_POSITION, -1); + String name = intent.getStringExtra(Contans.KEY_NAME); + DlbInfo dlbInfo = infos.get(position); + dlbInfo.setCjjg(name); + dlbInfo.setStatu(true); + infos.set(position, dlbInfo); + + QYDDATABean qyddataBean = qyddataBeanList.get(position); + qyddataBean.setChecked(true); + qyddataBean.setCJJG(name); + qyddataBeanList.set(position, qyddataBean); + + break; + default: + break; + } + + } + }; + + @Override + public int getContentViewID() { + return R.layout.activity_yul; + } + + @Override + protected void initView() { + + setBack(); + setTitle("浏览点检记录"); + headView = View.inflate(context, R.layout.dlb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + lv = findViewById(R.id.lv); + } + + @Override + public void initData() { + + + Bundle bundle = getIntent().getExtras(); + isEdit = bundle.getBoolean("edit"); +// qyddataBeanList = bundle.getParcelableArrayList(Contans.KEY_DJJHRWQY); + item = bundle.getInt(Contans.KEY_ITEM); + itemposition = bundle.getInt("itemposition"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + + searchdata(); + setListAdapter(); + + //创建filter + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_YULONE); + //注册广播 + registerReceiver(myReceiver, filter); + } + + private void searchdata() { + if (LX.equals("Click")) { + + + xdjjhxzDataBeanList.clear(); + //获取本地所有的工作列表数据 + xdjjhxzDataBeanList.addAll(DataSupport.findAll(XDJJHXZDataBean.class)); + qyddataBeanList.clear(); + //获取当前点击的工作栏对应的点检记录列表 + qyddataBeanList.addAll(where("xdjjhxzDataBean_id = ?", xdjjhxzDataBeanList.get(itemposition).getId() + "").find(QYDDATABean.class)); + + } else if (LX.equals("QRcode")) { + + + List qydDataBeen = DataSupport.where("QYEWM = ?", LXResult).find(QYDDATABean.class);//ewm是根据扫描得到的二维码结果来查询 + + qyddataBeanList.clear(); + qyddataBeanList.addAll(qydDataBeen); + + } else if (LX.equals("NFC")) { + + + List qydDataBeen = DataSupport.where("QYNFC = ?", LXResult).find(QYDDATABean.class); + + qyddataBeanList.clear(); + qyddataBeanList.addAll(qydDataBeen); + + } + } + + private void setListAdapter() { + + for (QYDDATABean rw : qyddataBeanList) { + DlbInfo info = new DlbInfo(); + info.setCjjg(rw.getCJJG()); + info.setDian(rw.getSBMC() + " - " + rw.getBJMC()); + info.setStatu(rw.isChecked()); + infos.add(info); + } + + adapter = new DlbAdapter(context, infos); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((parent, view, position, id) -> { + + Intent intent = new Intent(ChangeYulActivity.this, SbxdjcjsbActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList(Contans.KEY_DJJHRWQY, qyddataBeanList); + bundle.putBoolean("edit", isEdit); + bundle.putInt(Contans.KEY_ITEM, position - 1); + bundle.putInt("itemposition", itemposition); + bundle.putString("LX", LX); + bundle.putString("LXResult", LXResult); + intent.putExtras(bundle); + startActivity(intent); + finish(); + }); + } + + @Override + protected void onResume() { + super.onResume(); + //更新list + searchdata(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + //反注册广播(注销) + unregisterReceiver(myReceiver); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/DjMainActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/DjMainActivity.java new file mode 100755 index 0000000..a043757 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/DjMainActivity.java @@ -0,0 +1,67 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import com.google.android.material.tabs.TabLayout; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.MyFragmentAdapter; +import com.rehome.bhdxj.base.BaseActivity; + +import java.util.ArrayList; +import java.util.List; + +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; + +/** + * 设备巡点检管理--现场点检 + */ +public class DjMainActivity extends BaseActivity { + + private ViewPager mViewPager; + private TabLayout mTabLayout; + private List fragments = new ArrayList<>(); + private List list; + private MyFragmentAdapter adapter; + private XzjhFragment xzjh; + private DjdscFragment djdsc; + + + @Override + public int getContentViewID() { + return R.layout.activity_maindj; + } + + protected void initView() { + + } + + public void initData() { + setTitle("点检数据管理"); + mViewPager = findViewById(R.id.viewpager); + setBack(); + xzjh = XzjhFragment.newInstance(); + djdsc = DjdscFragment.newInstance(); + list = new ArrayList<>(); + list.add(xzjh); + list.add(djdsc); + adapter = new MyFragmentAdapter(getSupportFragmentManager(), list); + initViewPager(); + + } + + private void initViewPager() { + mTabLayout = findViewById(R.id.tabs); + List titles = new ArrayList<>(); + titles.add("数据下载"); + titles.add("数据上传"); + for (int i = 0; i < titles.size(); i++) { + mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(i))); + } + fragments.add(new XzjhFragment()); + fragments.add(new DjdscFragment()); + FragmentAdapter mFragmentAdapteradapter = new FragmentAdapter(getSupportFragmentManager(), fragments, titles); + mViewPager.setAdapter(mFragmentAdapteradapter); + mTabLayout.setupWithViewPager(mViewPager); + mTabLayout.setTabsFromPagerAdapter(mFragmentAdapteradapter); + } + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/DjdscFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/DjdscFragment.java new file mode 100755 index 0000000..711bbc9 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/DjdscFragment.java @@ -0,0 +1,303 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; +import com.rehome.bhdxj.DBModel.Djjh; +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.DBModel.XDJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.ScjhAdapter; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.bean.ScdjjhBean; +import com.rehome.bhdxj.bean.StatusInfo2; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.HttpResponseListener; +import com.rehome.bhdxj.utils.SPUtils; +import com.rehome.bhdxj.utils.UiUtlis; +import com.rehome.bhdxj.weight.toastviewbymyself; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.RequestQueue; +import com.yolanda.nohttp.rest.Response; +import org.litepal.crud.DataSupport; +import java.text.NumberFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import androidx.appcompat.app.AlertDialog; + +/** + * 设备巡点检管理-点检点上传 + */ +public class DjdscFragment extends BaseFragment { + + ListView lv; + Button btn_sc; + Button btn_del; + TextView tvNodata; + + + private View headView; + private View head; + private CheckBox cb; + private ScjhAdapter adapter; + private RequestQueue queue; + private int checkedCount = 0, totalCount = 0;//已选中的item中,已检测的数量和总数 + private final String separator = "/";//分割线 + private int selectItem = 0;//选中的item数量 + NumberFormat numberFormat = NumberFormat.getInstance(); + private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //所有的XDJJHXZDataBean数据 + private List xdjjhxzDataBeanList = new ArrayList<>(); + //当前查询的gwid + private String gwid = ""; + //点检计划列表数据源 + private List xdjjhxzDataList = new ArrayList<>(); + //点检计划map + private Map> qydDataBeanMap = new HashMap<>(); + public DjdscFragment() { + } + public static DjdscFragment newInstance() { + DjdscFragment fragment = new DjdscFragment(); + return fragment; + } + @Override + protected void initView() { + lv = view.findViewById(R.id.lv); + btn_sc = view.findViewById(R.id.btn_sc); + btn_del = view.findViewById(R.id.btn_del); + tvNodata = view.findViewById(R.id.tv_nodata); + + btn_sc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (selectItem == 0) { + toastviewbymyself.makeText(getActivity(), "请先选中要上传的数据!!!", Toast.LENGTH_LONG).show(); + } else { + uploadData(); + } + } + }); + + btn_del.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + deleteData();//删除勾选中的数据 + } + }); + + lv.setEmptyView(tvNodata); + mActivity = getActivity(); + headView = View.inflate(context, R.layout.scjh_item, null); + head = headView.findViewById(R.id.head); + cb = headView.findViewById(R.id.cb); + cb.setOnClickListener(view -> { + checkedCount = 0; + totalCount = 0; + selectItem = 0; + for (int i = 0; i < xdjjhxzDataList.size(); i++) { + xdjjhxzDataList.get(i).setChecked(cb.isChecked()); + adapter.notifyDataSetChanged(); + if (cb.isChecked()) { + String[] countStr = xdjjhxzDataList.get(i).getCountPercent().split(separator); + checkedCount += Integer.parseInt(countStr[0]); + totalCount += Integer.parseInt(countStr[1]); + } + } + if (cb.isChecked()) { + selectItem = xdjjhxzDataList.size(); + } + }); + + } + + @Override + public int getContentViewId() { + return R.layout.fragment_djdsc; + } + public void initData() { + queue = NoHttp.newRequestQueue(1); + getDataInSQL(); + setListData(); + numberFormat.setMaximumFractionDigits(2); + } + void getDataInSQL() { + xdjjhxzDataList.clear(); + qydDataBeanMap.clear(); + xdjjhxzDataBeanList.clear(); + xdjjhxzDataBeanList.addAll(DataSupport.findAll(XDJJHXZDataBean.class)); + for (int i = 0; i < xdjjhxzDataBeanList.size(); i++) { + if (!xdjjhxzDataBeanList.get(i).getGWID().equals(gwid)) { + List qydDataBeen = DataSupport.where("GWID = ?", xdjjhxzDataBeanList.get(i).getGWID()).find(QYDDATABean.class); + gwid = xdjjhxzDataBeanList.get(i).getGWID(); + int count = 0; + for (int j = 0; j < qydDataBeen.size(); j++) { + if (qydDataBeen.get(j).isChecked()) { + count++; + } + } + XDJJHXZDataBean xdjjhxzDataBean = new XDJJHXZDataBean(); + xdjjhxzDataBean.setGWMC(xdjjhxzDataBeanList.get(i).getGWMC()); + xdjjhxzDataBean.setGWID(xdjjhxzDataBeanList.get(i).getGWID()); + xdjjhxzDataBean.setCountPercent(count + separator + qydDataBeen.size()); + xdjjhxzDataBean.setQYBH(xdjjhxzDataBeanList.get(i).getQYBH()); + xdjjhxzDataList.add(xdjjhxzDataBean); + qydDataBeanMap.put(xdjjhxzDataBeanList.get(i).getGWID(), qydDataBeen); + } + } + } + private void setListData() { + adapter = new ScjhAdapter(context, xdjjhxzDataList, view -> { + CheckBox checkBox = (CheckBox) view; + int index = (int) checkBox.getTag(); + xdjjhxzDataList.get(index).setChecked(checkBox.isChecked()); + calculateSelectedCount(); + cb.setChecked(selectItem == xdjjhxzDataList.size()); + adapter.notifyDataSetChanged(); + }); + + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, i, l) -> { + xdjjhxzDataList.get(i - 1).setChecked(!xdjjhxzDataList.get(i - 1).isChecked()); + calculateSelectedCount(); + cb.setChecked(selectItem == xdjjhxzDataList.size()); + adapter.notifyDataSetChanged(); + }); + } + private void calculateSelectedCount() { + selectItem = 0; + checkedCount = 0; + totalCount = 0; + for (int a = 0; a < xdjjhxzDataList.size(); a++) { + if (xdjjhxzDataList.get(a).isChecked()) { + selectItem++; + String[] countStr = xdjjhxzDataList.get(a).getCountPercent().split(separator); + checkedCount += Integer.parseInt(countStr[0]); + totalCount += Integer.parseInt(countStr[1]); + } + } + } + + private void uploadData() { + String USERNAME = (String) SPUtils.get(context, Contans.USERID, ""); + ScdjjhBean scdjjhbean = new ScdjjhBean(); + scdjjhbean.setAction("DJ_GWSC_SET"); + scdjjhbean.setYHID(USERNAME); + List djDataList = new ArrayList<>(); + List qydjDataList = new ArrayList<>(); + for (int i = 0; i < xdjjhxzDataList.size(); i++) { + ScdjjhBean.DJ_DATA dhdata = new ScdjjhBean.DJ_DATA(); + if (xdjjhxzDataList.get(i).isChecked()) { + final List qyddataBeanList = qydDataBeanMap.get(xdjjhxzDataList.get(i).getGWID()); + scdjjhbean.setGWID(xdjjhxzDataList.get(i).getGWID()); + scdjjhbean.setGWMC(xdjjhxzDataList.get(i).getGWMC()); + dhdata.setQYBH(xdjjhxzDataList.get(i).getQYBH()); + dhdata.setQYDJ_ST(sdf.format(new Date())); + for (int j = 0; j < qyddataBeanList.size(); j++) { + ScdjjhBean.DJ_DATA.QYDJ_DATA qydj_data = new ScdjjhBean.DJ_DATA.QYDJ_DATA(); + qydj_data.setSCID(qyddataBeanList.get(j).getSCID()); + if (TextUtils.isEmpty(qyddataBeanList.get(j).getDATE())) { + qydj_data.setDJSJ(""); + } else { + qydj_data.setDJSJ(qyddataBeanList.get(j).getDATE()); + } + if (TextUtils.isEmpty(qyddataBeanList.get(j).getCJJG())) { + qydj_data.setDJSZ(""); + qydj_data.setSBZT(""); + } else { + qydj_data.setDJSZ(qyddataBeanList.get(j).getCJJG()); + qydj_data.setFXNR(qyddataBeanList.get(j).getFXNR()); + if (qyddataBeanList.get(j).getCJJG().equals("已停用")) { + qydj_data.setSBZT("3"); + qydj_data.setFXNR(""); + }else if (qyddataBeanList.get(j).getCJJG().equals("备用")){ + qydj_data.setSBZT("5"); + qydj_data.setFXNR(""); + } else if (qyddataBeanList.get(j).getCJJG().equals("大小修")) { + qydj_data.setSBZT("4"); + qydj_data.setFXNR(""); + } else { + qydj_data.setSBZT("1"); + } + } + qydj_data.setSMFS("NFC"); + qydjDataList.add(qydj_data); + } + dhdata.setQYDJ_DATA(qydjDataList); + djDataList.add(dhdata); + scdjjhbean.setDJ_DATA(djDataList); + final String json = GsonUtils.GsonString(scdjjhbean); + sCData(json); + } + } + + } + private void sCData(String json) { + Request request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHSC, RequestMethod.POST); + request.setDefineRequestBodyForJson(json); + queue.add(1, request, new HttpResponseListener<>(getActivity(), request, callback, false, true, "上传数据中...请稍等...")); + } + private HttpListener callback = new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + StatusInfo2 info = GsonUtils.GsonToBean(response.get(), StatusInfo2.class); + try { + if (what == 1) { + if (info.getState() == 1) { + for (int i = 0; i < xdjjhxzDataList.size(); i++) { + if (xdjjhxzDataList.get(i).isChecked()) { + DataSupport.deleteAll(XDJJHXZDataBean.class, "GWID = ?", xdjjhxzDataList.get(i).getGWID()); + DataSupport.deleteAll(QYDDATABean.class, "GWID = ?", xdjjhxzDataList.get(i).getGWID()); + DataSupport.deleteAll(Djjh.class, "GWID = ?", xdjjhxzDataList.get(i).getGWID()); + xdjjhxzDataList.remove(xdjjhxzDataList.get(i)); + } + } + adapter.notifyDataSetChanged(); + } else { + showToast(info.getMsg()); + } + } + } catch (Exception e) { + showToast(UiUtlis.getString(context, R.string.data_error)); + + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }; + private void deleteData() { + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle("提示"); + builder.setTitle("你确定要删除?"); + builder.setNegativeButton("取消", (dialog, which) -> dialog.dismiss()); + builder.setPositiveButton("确定", (dialog, which) -> { + for (int i = 0; i < xdjjhxzDataList.size(); i++) { + if (xdjjhxzDataList.get(i).isChecked()) { + DataSupport.deleteAll(XDJJHXZDataBean.class, "GWID = ?", xdjjhxzDataList.get(i).getGWID()); + DataSupport.deleteAll(QYDDATABean.class, "GWID = ?", xdjjhxzDataList.get(i).getGWID()); + DataSupport.deleteAll(Djjh.class, "GWID = ?", xdjjhxzDataList.get(i).getGWID()); + } + } + getDataInSQL(); + if (adapter != null) { + adapter.notifyDataSetChanged(); + } + }); + builder.show(); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/DjgwListActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/DjgwListActivity.java new file mode 100755 index 0000000..dcf1b61 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/DjgwListActivity.java @@ -0,0 +1,132 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.DBModel.XDJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.CommonAdapter; +import com.rehome.bhdxj.adapter.ViewHolder; +import com.rehome.bhdxj.base.BaseActivity3; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; + + +import static org.litepal.crud.DataSupport.where; + +/** + * Created by ruihong on 2018/5/23. + */ + +public class DjgwListActivity extends BaseActivity3 { + + ListView lv; + TextView tvNodata; + private View headView; + //所有的XDJJHXZDataBean数据 + private List xdjjhxzDataBeanList = new ArrayList<>(); + //点检计划列表数据源 + private List xdjjhxzDataList = new ArrayList<>(); + //传递的数据源 + ArrayList xdjjhxzDataBeanList2 = new ArrayList<>(); + private String gwid = ""; + private CommonAdapter adapter; + + + @Override + public int getLayoutId() { + return R.layout.activity_sdjgw; + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.djgwlist_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + } + + @Override + public void initData() { + initToolbar("岗位列表", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + getDataInSQL(); + setListData(); + + } + + + public void getDataInSQL() { + xdjjhxzDataBeanList.clear(); + xdjjhxzDataBeanList.addAll(DataSupport.findAll(XDJJHXZDataBean.class)); + xdjjhxzDataList.clear(); + for (int i = 0; i < xdjjhxzDataBeanList.size(); i++) { + if (!xdjjhxzDataBeanList.get(i).getGWID().equals(gwid)) { + List qydDataBeen = where("GWID = ?", xdjjhxzDataBeanList.get(i).getGWID()).find(QYDDATABean.class); + gwid = xdjjhxzDataBeanList.get(i).getGWID(); + //点检计划列表bean + XDJJHXZDataBean xdjjhxzDataBean = new XDJJHXZDataBean(); + xdjjhxzDataBean.setGWMC(xdjjhxzDataBeanList.get(i).getGWMC()); + xdjjhxzDataBean.setGWID(xdjjhxzDataBeanList.get(i).getGWID()); + xdjjhxzDataBean.setQYBH(xdjjhxzDataBeanList.get(i).getQYBH()); +// xdjjhxzDataBean.setCountPercent(count + "/" + qydDataBeen.size()); +// xdjjhxzDataBean.setQYBH(xdjjhxzDataBeanList.get(i).getQYBH()); + xdjjhxzDataList.add(xdjjhxzDataBean); + } + } + } + + private void setListData() { + if (adapter == null) { + adapter = new CommonAdapter(context, R.layout.djgwlist_item, xdjjhxzDataList) { + @Override + protected void convert(ViewHolder viewHolder, XDJJHXZDataBean item, int position) { + viewHolder.setText(R.id.tv_qymc, item.getGWMC()); +// viewHolder.setText(R.id.tv_xh, item.getSN() + ""); +// viewHolder.setText(R.id.tv_qymc, item.getGWMC() + "--" + item.getQYMC()); +// viewHolder.setText(R.id.tv_djrw, checkedCount + "/" + qyddataBeen.size()); + + } + }; + + + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, postion, l) -> { + String GWID = xdjjhxzDataList.get(postion - 1).getGWID(); + Bundle bundle = new Bundle(); + Intent intent = new Intent(DjgwListActivity.this, SdjgzActivity.class); + bundle.putString("GWID", GWID); + intent.putExtras(bundle); + startActivity(intent); + + }); + } else { + adapter.notifyDataSetChanged(); + } + } + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/FXFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/FXFragment.java new file mode 100755 index 0000000..c31d043 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/FXFragment.java @@ -0,0 +1,57 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.os.Bundle; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ListView; +import com.rehome.bhdxj.DBModel.QYAQFXDATABean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.GwfxListAdapter; +import com.rehome.bhdxj.base.BaseFragment; +import java.util.ArrayList; + +public class FXFragment extends BaseFragment { + + + ListView lv; + private ArrayList qyddataBeanArrayList; + GwfxListAdapter gwfxlistadapter; + + @Override + public int getContentViewId() { + return R.layout.fragment_fx; + } + + @Override + protected void initView() { + qyddataBeanArrayList = new ArrayList<>(); + requestDatas(); + } + + @Override + public void initData() { + + } + + + private void requestDatas() { + Bundle bundle = getActivity().getIntent().getExtras(); + qyddataBeanArrayList = bundle.getParcelableArrayList("QYFXTS"); + setAdapter(); + } + + private void setAdapter() { + gwfxlistadapter = new GwfxListAdapter(context, qyddataBeanArrayList); + lv.setAdapter(gwfxlistadapter); + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, final int position, long id) { + + } + }); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/FfFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/FfFragment.java new file mode 100755 index 0000000..430b79d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/FfFragment.java @@ -0,0 +1,68 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.os.Bundle; +import android.widget.EditText; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseFragment; + +/** + * 安健环巡查管理-方法 + */ +public class FfFragment extends BaseFragment { + + + EditText et_ff; + + private String ff; + + private boolean isEdit; + + public FfFragment() { + } + + public static FfFragment newInstance(boolean b, String ff) { + Bundle bundle = new Bundle(); + bundle.putBoolean("edit", b); + bundle.putString("ff", ff); + FfFragment fragment = new FfFragment(); + fragment.setArguments(bundle); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Bundle bundle = getArguments(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + ff = bundle.getString("ff"); + } + } + + @Override + protected void initView() { + et_ff = view.findViewById(R.id.et_ff); + et_ff.setEnabled(isEdit); + update(ff); + } + + @Override + public int getContentViewId() { + return R.layout.fragment_ff; + } + + public void initData() { + } + + + + /** + * 更新数据 + * + * @param aaa + */ + public void update(String aaa) { + et_ff.setText(aaa); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/FragmentAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/FragmentAdapter.java new file mode 100755 index 0000000..5d40edd --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/FragmentAdapter.java @@ -0,0 +1,33 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentStatePagerAdapter; + +import java.util.List; + +public class FragmentAdapter extends FragmentStatePagerAdapter { + private List mFragments; + private List mTitles; + + public FragmentAdapter(FragmentManager fm, List fragments, List titles) { + super(fm); + mFragments = fragments; + mTitles = titles; + } + + @Override + public Fragment getItem(int position) { + return mFragments.get(position); + } + + @Override + public int getCount() { + return mFragments.size(); + } + + @Override + public CharSequence getPageTitle(int position) { + return mTitles.get(position); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/MainSbxdjglActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/MainSbxdjglActivity.java new file mode 100755 index 0000000..300b06c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/MainSbxdjglActivity.java @@ -0,0 +1,153 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Build; +import android.view.WindowManager; +import android.widget.GridView; + +import com.rehome.bhdxj.DBModel.Djjh; +import com.rehome.bhdxj.DBModel.DjjhList; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.activity.yhpc.YhpcDataListActivity; +import com.rehome.bhdxj.adapter.GridViewAdapter; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.bean.GridViewBean; +import com.rehome.bhdxj.bean.XscbRequestBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.NohttpUtils; +import com.rehome.bhdxj.utils.SPUtils; +import com.rehome.bhdxj.utils.StatusBarUtil; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; +import static com.rehome.bhdxj.utils.GsonUtils.GsonToBean; + +/** + * Created by ruihong on 2017/11/24. + */ + +public class MainSbxdjglActivity extends BaseActivity { + + GridView gv; + private String[] str = {"点检任务", "点检工作", "隐患排查上传", "隐患整改上传"}; + private int[] imageId = {R.mipmap.icon3, R.mipmap.icon6, R.mipmap.icon_dxj, R.mipmap.icon_dxj}; + private int[] colors = {R.drawable.radius_b1, R.drawable.radius_b2, R.drawable.radius_b1, R.drawable.radius_b1}; + private GridViewAdapter adapter; + + @Override + public int getContentViewID() { + return R.layout.activity_sbxdjgl; + } + + protected void initView() { + gv = findViewById(R.id.gv); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); + StatusBarUtil.transparencyBar(MainSbxdjglActivity.this); + } + + public void initData() { + mToolbar.setBackgroundColor(Color.parseColor("#00000000")); + setTitle("设备点检"); + downloadDjData(); + setBack(); + adapter = new GridViewAdapter(this, getGridViewData(), new ArrayList<>(), true); + gv.setSelector(new ColorDrawable(Color.TRANSPARENT)); + gv.setAdapter(adapter); + gv.setOnItemClickListener((adapterView, view, i, l) -> { + Intent intent; + switch (i) { + case 0: + intent = new Intent(MainSbxdjglActivity.this, DjMainActivity.class); + startActivity(intent); + break; + case 1: + intent = new Intent(MainSbxdjglActivity.this, DjgwListActivity.class); + startActivity(intent); + break; + case 2: + intent = new Intent(MainSbxdjglActivity.this, YhpcDataListActivity.class); + startActivity(intent); + break; + case 3: + showToast("此功能还在开发中..."); + break; + + } + }); + } + + private List getGridViewData() { + + List datas = new ArrayList<>(); + for (int i = 0; i < str.length; i++) { + GridViewBean bean = new GridViewBean(); + bean.setTitle(str[i]); + bean.setBackgroup(colors[i]); + bean.setImageid(imageId[i]); + bean.setShow(false); + datas.add(bean); + } + return datas; + } + + private void downloadDjData() { + Request requestdj = NoHttp.createStringRequest(Contans.IP + Contans.DJJHLIST, RequestMethod.POST); + requestdj.setDefineRequestBodyForJson(createZyJson()); + NohttpUtils.getInstance().add(null, 1, requestdj, callback, false, false, "加载中..."); + } + + private HttpListener callback = new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + if (what == 1) { +// Log.e("serviceData", response.get()); + DjjhList list = GsonToBean(response.get(), DjjhList.class); + if (list != null) { + if (list.getState().equals("1")) { + int dbcount = -1;//数据库中是否有数据 + List djjhs = list.getData();//服务器数据 + //先删除未下载的计划 + DataSupport.deleteAll(Djjh.class, "download = 0"); + for (Djjh djjh : djjhs) { + List dbdjjh = DataSupport.where("GWID = ? and download = ?", djjh.getGWID(), "1").find(Djjh.class); + //如果数据库中没有这条数据,就添加到数据库 + if (dbdjjh.size() == 0) { + dbcount = 1; + djjh.save(); + } + } + if (dbcount == 1) { +// shownotification(1, "您有新的点检计划"); + } + } else { + DataSupport.deleteAll(Djjh.class, "download = 0"); + } + } + } + } + + @Override + public void onFailed(int what, Response response) { + } + }; + + private String createZyJson() { + String GWID = (String) SPUtils.get(getApplicationContext(), Contans.BZBH, ""); + String YHID = (String) SPUtils.get(getApplicationContext(), Contans.USERID, ""); + XscbRequestBean info = new XscbRequestBean(); + info.setAction("DJ_GWLIST_GET"); + info.setGWID(GWID); + info.setYHID(YHID); + String json = GsonUtils.GsonString(info); + return json; + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/OldqxgdFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/OldqxgdFragment.java new file mode 100755 index 0000000..acd11b7 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/OldqxgdFragment.java @@ -0,0 +1,28 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseFragment; + +public class OldqxgdFragment extends BaseFragment { + + + @Override + public int getContentViewId() { + return R.layout.fragment_oldqxgd; + } + + @Override + protected void initView() { + + } + + + @Override + public void initData() { + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/QxgdFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/QxgdFragment.java new file mode 100755 index 0000000..1cdbc4e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/QxgdFragment.java @@ -0,0 +1,28 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseFragment; + + +public class QxgdFragment extends BaseFragment { + + + @Override + public int getContentViewId() { + return R.layout.fragment_qxgd; + } + + @Override + protected void initView() { + + } + + @Override + public void initData() { + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SbSelectActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SbSelectActivity.java new file mode 100755 index 0000000..3f6a56f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SbSelectActivity.java @@ -0,0 +1,127 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.DlbAdapter; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.bean.DlbInfo; +import com.rehome.bhdxj.contans.Contans; +import java.util.ArrayList; +import java.util.List; + +public class SbSelectActivity extends BaseActivity { + + ListView lv; + + private boolean isEdit = true; + private int item; + private ArrayList djjhs = new ArrayList<>(); + private List infos = new ArrayList<>(); + private View headView; + private DlbAdapter adapter; + + /** + * 广播 + */ + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + //更新指定item + String action = intent.getAction(); + if (Contans.ACTION_YULONE.equals(action)) { //更新设备点检页面返回时编辑的item内容 + int position = intent.getIntExtra(Contans.KEY_POSITION, -1); + String name = intent.getStringExtra(Contans.KEY_NAME); + DlbInfo dlbInfo = infos.get(position); + dlbInfo.setCjjg(name); + dlbInfo.setStatu(true); + infos.set(position, dlbInfo); + QYDDATABean qyddataBean = djjhs.get(position); + qyddataBean.setChecked(true); + qyddataBean.setCJJG(name); + djjhs.set(position, qyddataBean); + + } + + } + }; + + @Override + public int getContentViewID() { + return R.layout.activity_yul; + } + + @Override + protected void initView() { + setBack(); + setTitle("浏览点检记录"); + lv = findViewById(R.id.lv); + } + + @Override + public void initData() { + + Bundle bundle = getIntent().getExtras(); + isEdit = bundle.getBoolean("edit"); + djjhs = bundle.getParcelableArrayList(Contans.KEY_DJJHRWQY); + item = bundle.getInt(Contans.KEY_ITEM); + headView = View.inflate(context, R.layout.dlb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + setListAdapter(); + + //创建filter + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_YULONE); + //注册广播 + registerReceiver(myReceiver, filter); + } + + private void setListAdapter() { + + for (QYDDATABean rw : djjhs) { + DlbInfo info = new DlbInfo(); + info.setCjjg(rw.getCJJG()); + info.setDian(rw.getSBMC() + " - " + rw.getBJMC()); + info.setStatu(rw.isChecked()); + infos.add(info); + } + + adapter = new DlbAdapter(context, infos); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + + Intent intent = new Intent(SbSelectActivity.this, SbxdjcjsbActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList(Contans.KEY_DJJHRWQY, djjhs); + bundle.putBoolean("edit", isEdit); + bundle.putInt(Contans.KEY_ITEM, position - 1); + intent.putExtras(bundle); + startActivity(intent); + } + }); + } + + @Override + protected void onResume() { + super.onResume(); + //更新list + adapter.notifyDataSetChanged(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + //反注册广播(注销) + unregisterReceiver(myReceiver); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SbxdjcjsbActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SbxdjcjsbActivity.java new file mode 100755 index 0000000..83bc67d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SbxdjcjsbActivity.java @@ -0,0 +1,288 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.BroadcastReceiver; +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.graphics.Color; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; +import android.widget.RadioButton; +import android.widget.Toast; +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.MyFragmentAdapter; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.bean.SetSbModel; +import com.rehome.bhdxj.bleUtil.BluetoothLeService; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.weight.AutoRadioGroup; +import com.rehome.bhdxj.weight.NoscrollViewPager; +import com.rehome.bhdxj.weight.toastviewbymyself; +import org.litepal.crud.DataSupport; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import androidx.fragment.app.Fragment; + + +/** + * Created by ruihong on 2017/11/30. + */ + +public class SbxdjcjsbActivity extends BaseActivity3 { + + public static int Req = 101; + + NoscrollViewPager vp; + RadioButton rb1; + RadioButton rb2; + RadioButton rb3; + AutoRadioGroup rg; + Button btnSaveNext; + Button btnNext; + Button btnLast; + + + private MyFragmentAdapter adapter; + private List list; + private CJFragment cj; + private FfFragment ff; + private BzFragment bz; + private int item = 0;//当前的item + private boolean isEdit = true; + private int index = 0; + private int itemposition; + private String LX, LXResult; + private ArrayList qyddataBeanArrayList; + private SimpleDateFormat sdf; + private ArrayList setSbModelList; + + @Override + public int getLayoutId() { + return R.layout.activity_sbxdjcjsb; + } + + @Override + public void initView() { + vp = findViewById(R.id.vp); + rb1 = findViewById(R.id.rb1); + rb2 = findViewById(R.id.rb2); + rb3 = findViewById(R.id.rb3); + rg = findViewById(R.id.rg); + btnSaveNext = findViewById(R.id.btn_save_next); + btnNext = findViewById(R.id.btn_next); + btnLast = findViewById(R.id.btn_last); + btnLast.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + --item; + if (item == 0) { + btnLast.setEnabled(false); + item++; + showToast("当前为第一条"); + } else { + cj.updata(qyddataBeanArrayList.get(item - 1), item, qyddataBeanArrayList.size()); + bz.updata(qyddataBeanArrayList.get(item - 1).getBZZ()); + ff.update(qyddataBeanArrayList.get(item - 1).getJCFS()); + } + } + }); + btnNext.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + next(); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) return; + if (requestCode == Req) { + if (data != null) { + setSbModelList = data.getParcelableArrayListExtra("setSbModelList"); + for (int i = 0; i < setSbModelList.size(); i++) { + for (int j = 0; j < qyddataBeanArrayList.size(); j++) { + if (qyddataBeanArrayList.get(j).getSBID().equals(setSbModelList.get(i).getSbId())) { + qyddataBeanArrayList.get(j).setCJJG(setSbModelList.get(i).getValue()); + qyddataBeanArrayList.get(j).setChecked(setSbModelList.get(i).getStatu()); + } + } + } + if (cj != null) { + cj.updateState(qyddataBeanArrayList.get(index).getCJJG()); + cj.updateFXNR(qyddataBeanArrayList.get(index).getFXNR()); + cj.updatecheck(qyddataBeanArrayList.get(index).isChecked()); + } + } + } + } + + public void initData() { + + initToolbar("设备点检信息", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + registerReceiver(mGattUpdateReceiver, makeGattUpdateIntentFilter()); + sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Bundle bundle = SbxdjcjsbActivity.this.getIntent().getExtras(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + qyddataBeanArrayList = bundle.getParcelableArrayList(Contans.KEY_DJJHRWQY); + index = bundle.getInt(Contans.KEY_ITEM); + item = bundle.getInt(Contans.KEY_ITEM) + 1; + itemposition = bundle.getInt("itemposition"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + } + + if (!isEdit) { + btnSaveNext.setVisibility(View.GONE); + } + list = new ArrayList<>(); + if (qyddataBeanArrayList.size() != 0) { + cj = CJFragment.newInstance(isEdit, qyddataBeanArrayList.get(index), qyddataBeanArrayList.size(), index + 1); + ff = FfFragment.newInstance(isEdit, qyddataBeanArrayList.get(index).getJCFS()); + bz = BzFragment.newInstance(isEdit, qyddataBeanArrayList.get(index).getBZZ()); + } else { + cj = CJFragment.newInstance(isEdit, new QYDDATABean(), 0, 0); + ff = FfFragment.newInstance(isEdit, ""); + bz = BzFragment.newInstance(isEdit, ""); + } + list.add(cj); + list.add(ff); + list.add(bz); + adapter = new MyFragmentAdapter(getSupportFragmentManager(), list); + vp.setAdapter(adapter); + vp.setOffscreenPageLimit(3); + rg.setOnCheckedChangeListener((radioGroup, i) -> { + switch (i) { + case R.id.rb1: + rb1.setTextColor(Color.WHITE); + rb2.setTextColor(Color.GRAY); + rb3.setTextColor(Color.GRAY); + vp.setCurrentItem(0, false); + break; + case R.id.rb2: + rb1.setTextColor(Color.GRAY); + rb2.setTextColor(Color.WHITE); + rb3.setTextColor(Color.GRAY); + vp.setCurrentItem(1, false); + break; + case R.id.rb3: + rb1.setTextColor(Color.GRAY); + rb2.setTextColor(Color.GRAY); + rb3.setTextColor(Color.WHITE); + vp.setCurrentItem(2, false); + break; + } + }); + + } + + public void next() { + if (qyddataBeanArrayList.size() != 0) { + btnNext.setEnabled(false);//避免“点击下一条”操作过快 + if (isEdit) { + if (TextUtils.isEmpty(cj.getCJJG())) { + toastviewbymyself.makeText(context, "你没有数据采集结果!", Toast.LENGTH_SHORT).show(); + } else { + ContentValues values = new ContentValues(); + values.put("checked", true); + values.put("CJJG", cj.getCJJG()); + values.put("FXNR", cj.getYc_Fxnr()); + values.put("DATE", sdf.format(new Date())); + int i = DataSupport.updateAll(QYDDATABean.class, values, "SCID = ?", qyddataBeanArrayList.get(item - 1).getSCID()); + if (i != 0) { + qyddataBeanArrayList.get(item - 1).setChecked(true); + qyddataBeanArrayList.get(item - 1).setCJJG(cj.getCJJG()); + showToast("保存数据成功!!"); + updateItem(cj.getCJJG(), item - 1); + } else { + showToast("保存数据失败!!"); + } + item++; + if (item > qyddataBeanArrayList.size()) { + item--; + cj.updata(qyddataBeanArrayList.get(item - 1), item, qyddataBeanArrayList.size()); + showToast("最后一条数据了"); + setResult(RESULT_OK, new Intent(SbxdjcjsbActivity.this, Yul_SBActivity.class)); + finish(); + } else { + cj.updata(qyddataBeanArrayList.get(item - 1), item, qyddataBeanArrayList.size()); + bz.updata(qyddataBeanArrayList.get(item - 1).getBZZ()); + ff.update(qyddataBeanArrayList.get(item - 1).getJCFS()); + } + } + } else { + item++; + if (item > qyddataBeanArrayList.size()) { + item--; + showToast("最后一条数据了"); + } else { + cj.updata(qyddataBeanArrayList.get(item - 1), item, qyddataBeanArrayList.size()); + bz.updata(qyddataBeanArrayList.get(item - 1).getBZZ()); + ff.update(qyddataBeanArrayList.get(item - 1).getJCFS()); + } + } + btnNext.setEnabled(true); + if (!btnLast.isEnabled()) { + btnLast.setEnabled(true); + } + } + } + + public int getItem() { + return item - 1; + } + + private void updateItem(String name, int position) { + Intent intent = new Intent(Contans.ACTION_YULONE); + intent.putExtra(Contans.KEY_POSITION, position); + intent.putExtra(Contans.KEY_NAME, name); + sendBroadcast(intent); + + } + + private final BroadcastReceiver mGattUpdateReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + final String action = intent.getAction(); + String Data = ""; + if (BluetoothLeService.ACTION_DATA_AVAILABLE.equals(action)) { + String BleData = intent.getStringExtra(BluetoothLeService.EXTRA_DATA); + String type = BleData.substring(0, 1); + if (type.equals("T")) { + Data = "温度:" + BleData.substring(2, 6); + } else { + Data = "震动:" + BleData.substring(2, 6); + } + cj.getBlueToothData(Data); + } + } + }; + + static IntentFilter makeGattUpdateIntentFilter() { + final IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction(BluetoothLeService.ACTION_GATT_CONNECTED); + intentFilter.addAction(BluetoothLeService.ACTION_GATT_DISCONNECTED); + intentFilter.addAction(BluetoothLeService.ACTION_GATT_SERVICES_DISCOVERED); + intentFilter.addAction(BluetoothLeService.ACTION_DATA_AVAILABLE); + return intentFilter; + } + + @Override + protected void onDestroy() { + unregisterReceiver(mGattUpdateReceiver); + super.onDestroy(); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SdjSbListActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SdjSbListActivity.java new file mode 100755 index 0000000..81a6c13 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SdjSbListActivity.java @@ -0,0 +1,199 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.CommonAdapter; +import com.rehome.bhdxj.adapter.ViewHolder; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.bean.SetSbModel; +import com.rehome.bhdxj.bean.sbInfo; +import com.rehome.bhdxj.contans.Contans; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +import static org.litepal.crud.DataSupport.where; + +/** + * 设备巡点检管理-点检设备列表 + */ +public class SdjSbListActivity extends BaseActivity3 { + + ListView lv; + TextView tvNodata; + + private View headView; + private CommonAdapter adapter; + private List qyddataBeanArrayList; + private boolean isEdit = true; + private int item; + private ArrayList infos; + Intent intent; + private String LX, LXResult; + private int itemposition; + private int from;//0-来自工作页面;1-采集页面 + private long xdjjhxzDataBean_id; + private String GWID; + private ArrayList setSbModelList = new ArrayList<>(); + + @Override + public int getLayoutId() { + return R.layout.activity_sblist; + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.djajhsb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + lv.addHeaderView(headView, null, false); + } + + @Override + public void initData() { + initNFC(); + initToolbar("当前设备", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + if (from == 0) { //工作页面 + finish(); + } else if (from == 1) { //采集页面 + Intent intent = new Intent(SdjSbListActivity.this, SbxdjcjsbActivity.class); + intent.putParcelableArrayListExtra("setSbModelList", setSbModelList); + setResult(RESULT_OK, intent); + } + } + }, new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + Bundle bundle = SdjSbListActivity.this.getIntent().getExtras(); + + qyddataBeanArrayList = bundle.getParcelableArrayList(Contans.KEY_DJJHRWQY); + item = bundle.getInt(Contans.KEY_ITEM); + GWID = bundle.getString("GWID"); + isEdit = bundle.getBoolean("edit"); + itemposition = bundle.getInt("itemposition"); + xdjjhxzDataBean_id = bundle.getLong("xdjjhxzDataBean_id"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + from = bundle.getInt("from"); + + switch (LX) { + case "Click": + qyddataBeanArrayList = where("xdjjhxzDataBean_id = ?", xdjjhxzDataBean_id + "").find(QYDDATABean.class); + break; + case "NFC": + qyddataBeanArrayList = where("QYNFC = ?", LXResult + "").find(QYDDATABean.class); + break; + } + setListData(); + } + + + private void setListData() { + infos = new ArrayList<>(); + LinkedHashMap maps = new LinkedHashMap(); + for (QYDDATABean rw : qyddataBeanArrayList) { + sbInfo sbinfo = new sbInfo(); + sbinfo.setSbmc(rw.getSBMC()); + sbinfo.setQybh(rw.getQYBH()); + sbinfo.setSbid(rw.getSBID()); + sbinfo.setSbstate(rw.getSBMCSTATE()); + String Key = rw.getSBID() + "_" + rw.getSBMC(); + sbInfo data = maps.get(Key); + if (data == null) { + maps.put(Key, sbinfo); + } + } + infos.addAll(maps.values()); + adapter = new CommonAdapter(context, R.layout.djajhsb_item, infos) { + @Override + protected void convert(ViewHolder viewHolder, sbInfo item, int position) { + viewHolder.setText(R.id.tv_sbmc, item.getSbmc() + ""); + if (item.getSbstate() == null) { + viewHolder.setText(R.id.tv_sbstate, " "); + } else { + viewHolder.setText(R.id.tv_sbstate, item.getSbstate() + ""); + } + } + }; + lv.setAdapter(adapter); + if (isEdit) { + lv.setOnItemClickListener((adapterView, view, position, l) -> { + intent = new Intent(SdjSbListActivity.this, Yul_SBActivity.class); + Bundle bundle2 = new Bundle(); + bundle2.putBoolean("edit", isEdit); + bundle2.putInt(Contans.KEY_ITEM, item); + bundle2.putLong("xdjjhxzDataBean_id", xdjjhxzDataBean_id); + bundle2.putInt("itemposition", itemposition); + bundle2.putString("LX", LX); + bundle2.putString("LXResult", LXResult); + bundle2.putString("GWID", GWID); + bundle2.putParcelableArrayList("infos", infos);//当前设备页列表数据 + bundle2.putInt("itemIndex", position - 1);//当前点击的item索引 + intent.putExtras(bundle2); + startActivity(intent); + finish(); + }); + } else { + showToast("请使用NFC"); + + } + + + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == 1) { + if (resultCode == RESULT_OK) { + switch (LX) { + case "Click": + qyddataBeanArrayList.clear(); + qyddataBeanArrayList = where("xdjjhxzDataBean_id = ?", xdjjhxzDataBean_id + "").find(QYDDATABean.class); + setListData(); + adapter.notifyDataSetChanged(); + break; + case "NFC": + qyddataBeanArrayList.clear(); + qyddataBeanArrayList = where("QYNFC = ?", LXResult + "").find(QYDDATABean.class); + setListData(); + adapter.notifyDataSetChanged(); + break; + } + } + } + } + + @Override + protected void onResume() { + super.onResume(); + switch (LX) { + case "Click": + qyddataBeanArrayList.clear(); + qyddataBeanArrayList = where("xdjjhxzDataBean_id = ?", xdjjhxzDataBean_id + "").find(QYDDATABean.class); + setListData(); + adapter.notifyDataSetChanged(); + break; + case "NFC": + qyddataBeanArrayList.clear(); + qyddataBeanArrayList = where("QYNFC = ?", LXResult + "").find(QYDDATABean.class); + setListData(); + adapter.notifyDataSetChanged(); + break; + } + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SdjgzActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SdjgzActivity.java new file mode 100755 index 0000000..8318bff --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SdjgzActivity.java @@ -0,0 +1,161 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.ContentValues; +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.DBModel.XDJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.CommonAdapter; +import com.rehome.bhdxj.adapter.ViewHolder; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.weight.toastviewbymyself; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; +import static org.litepal.crud.DataSupport.where; + + +public class SdjgzActivity extends BaseActivity3 { + + ListView lv; + TextView tvNodata; + + private View headView; + private CommonAdapter adapter; + private List xdjjhxzDataBeanList = new ArrayList<>();//工作列表 + private ArrayList qyddataBeanList = new ArrayList<>();//点检记录列表 + private String GWID; + Intent intent; + + @Override + public int getLayoutId() { + return R.layout.activity_sdjgz; + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.djajhgz_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + } + + public void initData() { + initNFC(); + initToolbar("点检工作(请使用NFC)", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + Bundle bundle = SdjgzActivity.this.getIntent().getExtras(); + GWID = bundle.getString("GWID"); + xdjjhxzDataBeanList.clear(); + xdjjhxzDataBeanList.addAll(where("GWID = ?", GWID + "").find(XDJJHXZDataBean.class)); + setListData(); + } + + + private void setListData() { + if (adapter == null) { + adapter = new CommonAdapter(context, R.layout.djajhgz_item, xdjjhxzDataBeanList) { + @Override + protected void convert(ViewHolder viewHolder, XDJJHXZDataBean item, int position) { + int checkedCount = 0; + List qyddataBeen = where("xdjjhxzDataBean_id = ?", item.getId() + "").find(QYDDATABean.class); + for (int i = 0; i < qyddataBeen.size(); i++) { + if (qyddataBeen.get(i).isChecked()) { + checkedCount++; + } + } + viewHolder.setText(R.id.tv_xh, item.getSN() + ""); + viewHolder.setText(R.id.tv_qymc, item.getGWMC() + "--" + item.getQYMC()); + viewHolder.setText(R.id.tv_djrw, checkedCount + "/" + qyddataBeen.size()); + int a = checkedCount; + int b = qyddataBeen.size(); + if (a == b) { + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#00CD00"));//已经检查完成绿色 + } else { + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#FF0000"));//已经检查完成绿色 + } + } + }; + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, postion, l) -> { + showToast("请使用NFC进行点检"); + qyddataBeanList.clear(); + qyddataBeanList.addAll(where("xdjjhxzDataBean_id = ?", xdjjhxzDataBeanList.get(postion - 1).getId() + "").find(QYDDATABean.class)); + + if (qyddataBeanList.size() != 0) { + Bundle bundle = new Bundle(); + Intent intent = new Intent(SdjgzActivity.this, SdjSbListActivity.class); + bundle.putParcelableArrayList(Contans.KEY_DJJHRWQY, qyddataBeanList); + bundle.putString("GWID", GWID); + bundle.putBoolean("edit", false); +// bundle.putBoolean("edit", true); +// if (qyddataBeanList.get(0).getSecond() != null) { +// if (qyddataBeanList.get(0).getSecond().equals("YES")) {//如果曾经扫描过二维码或者NFC进入到区域 则下次可以直接点击进入编辑 +// bundle.putBoolean("edit", true); +// } else { +// bundle.putBoolean("edit", false); +// } +// } + bundle.putInt(Contans.KEY_ITEM, 0); + bundle.putInt("itemposition", xdjjhxzDataBeanList.get(postion - 1).getSN() - 1); + bundle.putLong("xdjjhxzDataBean_id", xdjjhxzDataBeanList.get(postion - 1).getId()); + bundle.putString("LX", "Click"); + bundle.putString("LXResult", "LXResult"); + bundle.putInt("from", 0); + intent.putExtras(bundle); + startActivity(intent); + } else { + showToast("暂无该区域点检任务,请联系管理员确认"); + } + }); + } else { + adapter.notifyDataSetChanged(); + } + } + + @Override + public void handleNfc(String result) { + super.handleNfc(result); + List qydDataBeen = DataSupport.where("QYNFC = ?", result).find(QYDDATABean.class);//ewm是根据扫描得到的二维码结果来查询 + qyddataBeanList.clear(); + qyddataBeanList.addAll(qydDataBeen); + if (qydDataBeen.size() == 0) { + toastviewbymyself.makeText(SdjgzActivity.this, "无数据请联系管理员", Toast.LENGTH_SHORT).show(); + } else { + Bundle bundle3 = new Bundle(); + Intent intent = new Intent(SdjgzActivity.this, SdjSbListActivity.class); + bundle3.putParcelableArrayList(Contans.KEY_DJJHRWQY, qyddataBeanList); + bundle3.putInt(Contans.KEY_ITEM, 0); + bundle3.putString("GWID", GWID); + bundle3.putBoolean("edit", true); + bundle3.putInt("itemposition", 0); + bundle3.putLong("xdjjhxzDataBean_id", 0); + bundle3.putString("LX", "NFC"); + bundle3.putString("LXResult", result); + bundle3.putInt("from", 0); + intent.putExtras(bundle3); + ContentValues values = new ContentValues(); + values.put("second", "YES"); + startActivity(intent); + } + } + + @Override + protected void onRestart() { + super.onRestart(); + adapter.notifyDataSetChanged(); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SdlbActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SdlbActivity.java new file mode 100755 index 0000000..b852203 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SdlbActivity.java @@ -0,0 +1,172 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.ContentValues; +import android.graphics.Color; +import androidx.fragment.app.Fragment; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import com.rehome.bhdxj.DBModel.DjjhRwQy; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.MyFragmentAdapter; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.weight.AutoRadioGroup; +import com.rehome.bhdxj.weight.NoscrollViewPager; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; + +/** + * 设备巡点检管理-点列表 + */ +public class SdlbActivity extends BaseActivity { + + NoscrollViewPager vp; + RadioButton rb1; + RadioButton rb2; + RadioButton rb3; + AutoRadioGroup rg; + + private List list; + private MyFragmentAdapter adapter; + private WjFragment wj; + private YjwscFragment yjwsc; + private YscFragment ysc; + + private ArrayList rwqys; + private ArrayList rwwj; + private ArrayList rwyjwsc; + private ArrayList rwysc; + + //private String jhlx;//计划类型 + private String num = "";//二维码or条形码 + private boolean nfrorewm;//false nfc true 二维码 + + private boolean aaa = false; + + private int flag = 1; + + @Override + public int getContentViewID() { + return R.layout.activity_sdlb; + } + + protected void initView() { + vp = findViewById(R.id.vp); + rb1 = findViewById(R.id.rb1); + rb2 = findViewById(R.id.rb2); + rb3 = findViewById(R.id.rb3); + rg = findViewById(R.id.rg); + } + + public void initData() { + + setBack(); + num = getIntent().getExtras().getString(Contans.KEY_BQBM); + nfrorewm = getIntent().getExtras().getBoolean(Contans.NFCOREWM); + + rwqys = new ArrayList<>(); + rwwj = new ArrayList<>(); + rwyjwsc = new ArrayList<>(); + rwysc = new ArrayList<>(); + flag = getIntent().getExtras().getInt(Contans.KEY_FLAG); + + getDataInSqlite(); + + if (flag == Contans.DLB) { + setTitle("点检任务"); + rb1.setText("未检(" + rwwj.size() + ")"); + rb2.setText("已检未上传(" + rwyjwsc.size() + ")"); + rb3.setText("已上传(" + rwysc.size() + ")"); + } else { + setTitle("质控点列表"); + rb1.setText("未完成(0)"); + rb2.setText("已完成未上传(0)"); + rb3.setText("已上传(0)"); + } + + list = new ArrayList<>(); + wj = WjFragment.newInstance(rwwj, num, nfrorewm); + yjwsc = YjwscFragment.newInstance(rwyjwsc, num, nfrorewm); + ysc = YscFragment.newInstance(rwysc, num, nfrorewm); + + list.add(wj); + list.add(yjwsc); + list.add(ysc); + + adapter = new MyFragmentAdapter(getSupportFragmentManager(), list); + vp.setAdapter(adapter); + vp.setOffscreenPageLimit(3); + rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup radioGroup, int i) { + + switch (i) { + case R.id.rb1: + rb1.setTextColor(Color.WHITE); + rb2.setTextColor(Color.GRAY); + rb3.setTextColor(Color.GRAY); + vp.setCurrentItem(0, false); + break; + case R.id.rb2: + rb1.setTextColor(Color.GRAY); + rb2.setTextColor(Color.WHITE); + rb3.setTextColor(Color.GRAY); + vp.setCurrentItem(1, false); + break; + case R.id.rb3: + rb1.setTextColor(Color.GRAY); + rb2.setTextColor(Color.GRAY); + rb3.setTextColor(Color.WHITE); + vp.setCurrentItem(2, false); + break; + } + } + }); + } + + public int getFlag() { + return flag; + } + + @Override + protected void onRestart() { + super.onRestart(); + getDataInSqlite(); + rb1.setText("未检(" + rwwj.size() + ")"); + rb2.setText("已检未上传(" + rwyjwsc.size() + ")"); + rb3.setText("已上传(" + rwysc.size() + ")"); + wj.setListadapter(); + yjwsc.setListadapter(); + ysc.setListadapter(); + } + + //查询数据库数据 + private void getDataInSqlite() { + rwqys.clear(); + rwwj.clear(); + rwyjwsc.clear(); + rwysc.clear(); + //二维码一维码 + if (nfrorewm) { + ContentValues values = new ContentValues(); + values.put("SMFX", 1); + DataSupport.updateAll(DjjhRwQy.class, values, "BQBM = ?", num); +// rwyjwsc.addAll(DataSupport.where("bqbm = ? and uploaded = ? and checked = ? ", num, "0", "1").order("assetnum").order("pointnum").find(DjjhRwQy.class)); + rwqys.addAll(DataSupport.where("BQBM = ?", num).find(DjjhRwQy.class)); + rwwj.addAll(DataSupport.where("bqbm = ? and checked = ? ", num, "0").find(DjjhRwQy.class)); + rwysc.addAll(DataSupport.where("bqbm = ? and uploaded = ? ", num, "1").find(DjjhRwQy.class)); + rwyjwsc.addAll(DataSupport.where("bqbm = ? and uploaded = ? and checked = ? ", num, "0", "1").find(DjjhRwQy.class)); + } else { + //NFC标签 + ContentValues values = new ContentValues(); + values.put("SMFX", 0); + DataSupport.updateAll(DjjhRwQy.class, values, "NFCBH = ?", num); + + rwqys.addAll(DataSupport.where("NFCBH = ?", num).find(DjjhRwQy.class)); + rwwj.addAll(DataSupport.where("NFCBH = ? and checked = ? ", num, "0").find(DjjhRwQy.class)); + rwysc.addAll(DataSupport.where("NFCBH = ? and uploaded = ? ", num, "1").find(DjjhRwQy.class)); + rwyjwsc.addAll(DataSupport.where("NFCBH = ? and uploaded = ? and checked = ? ", num, "0", "1").find(DjjhRwQy.class)); + } + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SxcdjActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SxcdjActivity.java new file mode 100755 index 0000000..90baf55 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/SxcdjActivity.java @@ -0,0 +1,84 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.graphics.Color; +import androidx.fragment.app.Fragment; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.MyFragmentAdapter; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.weight.AutoRadioGroup; +import com.rehome.bhdxj.weight.NoscrollViewPager; +import java.util.ArrayList; +import java.util.List; + +/** + * 设备巡点检管理--现场点检 + */ +public class SxcdjActivity extends BaseActivity { + + NoscrollViewPager vp; + RadioButton rb1; + RadioButton rb2; + RadioButton rb3; + AutoRadioGroup rg; + + private List list; + private MyFragmentAdapter adapter; + + private XzjhFragment xzjh; + private DjdscFragment djdsc; + + @Override + public int getContentViewID() { + return R.layout.activity_sxcdj; + } + + protected void initView() { + vp = findViewById(R.id.vp_centent); + rb1 = findViewById(R.id.rb1); + rb2 = findViewById(R.id.rb2); + rb3 = findViewById(R.id.rb3); + rg = findViewById(R.id.rg); + } + + public void initData() { + setTitle("点检下载计划"); + setBack(); + xzjh = XzjhFragment.newInstance(); + djdsc = DjdscFragment.newInstance(); + list = new ArrayList<>(); + list.add(xzjh); + list.add(djdsc); + adapter = new MyFragmentAdapter(getSupportFragmentManager(), list); + vp.setAdapter(adapter); + + + vp.setOffscreenPageLimit(2); + rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup radioGroup, int i) { + + switch (i) { + case R.id.rb1: + rb1.setTextColor(Color.WHITE); + rb2.setTextColor(Color.GRAY); + rb3.setTextColor(Color.GRAY); + vp.setCurrentItem(0, false); + break; + case R.id.rb2: + rb1.setTextColor(Color.GRAY); + rb2.setTextColor(Color.WHITE); + rb3.setTextColor(Color.GRAY); + vp.setCurrentItem(1, false); + break; + + } + } + }); + } + + public void updataDjdsc() { + djdsc.getDataInSQL(); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/TipsActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/TipsActivity.java new file mode 100755 index 0000000..439d63b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/TipsActivity.java @@ -0,0 +1,121 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import com.google.android.material.tabs.TabLayout; +import com.rehome.bhdxj.DBModel.QYAQFXDATABean; +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.contans.Contans; + +import java.util.ArrayList; +import java.util.List; + +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; + +public class TipsActivity extends BaseActivity3 implements View.OnClickListener { + private DrawerLayout mDrawerLayout; + private ViewPager mViewPager; + private TabLayout mTabLayout; + private List fragments = new ArrayList<>(); + private ArrayList qyaqfxdataBeanArrayList; + private ArrayList qyddataBeanArrayList; + private boolean isEdit = true; + private int item; + private int itemposition; + private String LX, LXResult; + private int from;//0-来自工作页面;1-采集页面 + private long xdjjhxzDataBean_id; + private String GWID; + + @Override + public int getLayoutId() { + return R.layout.activity_tips; + } + + @Override + public void initView() { + } + + + public void initData() { + initToolbar("风险提示查看", "进入区域", this); + mViewPager = findViewById(R.id.viewpager); + + + Bundle bundle = TipsActivity.this.getIntent().getExtras(); + qyaqfxdataBeanArrayList = new ArrayList<>(); + qyddataBeanArrayList = new ArrayList<>(); + qyaqfxdataBeanArrayList = bundle.getParcelableArrayList("QYFXTS"); + qyddataBeanArrayList = bundle.getParcelableArrayList(Contans.KEY_DJJHRWQY); + GWID = qyddataBeanArrayList.get(0).getGWID(); + isEdit = bundle.getBoolean("edit"); + item = bundle.getInt(Contans.KEY_ITEM); + itemposition = bundle.getInt("itemposition"); + xdjjhxzDataBean_id = bundle.getLong("xdjjhxzDataBean_id"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + from = bundle.getInt("from"); + initViewPager(); + + } + + + + + private void initViewPager() { + mTabLayout = findViewById(R.id.tabs); + List titles = new ArrayList<>(); + titles.add("高危风险"); + titles.add("缺陷工单"); + for (int i = 0; i < titles.size(); i++) { + mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(i))); + } + fragments.add(new FXFragment()); + fragments.add(new QxgdFragment()); + FragmentAdapter mFragmentAdapteradapter = new FragmentAdapter(getSupportFragmentManager(), fragments, titles); + //给ViewPager设置适配器 + mViewPager.setAdapter(mFragmentAdapteradapter); + //将TabLayout和ViewPager关联起来。 + mTabLayout.setupWithViewPager(mViewPager); + //给TabLayout设置适配器 + mTabLayout.setTabsFromPagerAdapter(mFragmentAdapteradapter); + } + + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + Bundle bundle = new Bundle(); + + + Intent intent = new Intent(TipsActivity.this, SdjSbListActivity.class); + bundle.putParcelableArrayList(Contans.KEY_DJJHRWQY, qyddataBeanArrayList); + bundle.putParcelableArrayList("QYFXTS", qyaqfxdataBeanArrayList); + bundle.putString("GWID", GWID); + bundle.putBoolean("edit", isEdit); + bundle.putInt(Contans.KEY_ITEM, 0); + bundle.putInt("itemposition", itemposition); + bundle.putLong("xdjjhxzDataBean_id", xdjjhxzDataBean_id); + bundle.putString("LX", LX); + bundle.putString("LXResult", LXResult); + bundle.putInt("from", 0); + + + intent.putExtras(bundle); + startActivity(intent); + finish(); + break; + } + } +} + diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/WjFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/WjFragment.java new file mode 100755 index 0000000..d4e693e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/WjFragment.java @@ -0,0 +1,169 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; +import android.widget.TextView; +import com.rehome.bhdxj.DBModel.DjjhRwQy; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.DlbAdapter; +import com.rehome.bhdxj.adapter.ZkdAdapter; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.bean.DlbInfo; +import com.rehome.bhdxj.bean.ZkdInfo; +import com.rehome.bhdxj.contans.Contans; +import java.util.ArrayList; +import java.util.List; + +/** + * 设备巡点检管理-未检 or 未完成 + */ + +public class WjFragment extends BaseFragment { + + TextView tv_project; + ListView lv; + + private View headView; + private SdlbActivity mActivity; + + private List list; + private DlbAdapter adapter; + + private String num; + private boolean nfcorewm; + + private ZkdAdapter zAdapter; + private List zList; + + private ArrayList rwqys; + + public WjFragment() { + } + + public static WjFragment newInstance(ArrayList lists, String num, boolean nfcorewm) { + WjFragment fragment = new WjFragment(); + Bundle bundle = new Bundle(); + bundle.putString("num", num); + bundle.putBoolean("nfcorewm", nfcorewm); + bundle.putParcelableArrayList("list", lists); + fragment.setArguments(bundle); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Bundle bundle = getArguments(); + if (bundle != null) { + rwqys = bundle.getParcelableArrayList("list"); + num = bundle.getString("num"); + nfcorewm = bundle.getBoolean("nfcorewm"); + } + } + + + @Override + public int getContentViewId() { + return R.layout.fragment_wj; + } + + @Override + protected void initView() { + mActivity = (SdlbActivity) getActivity(); + tv_project = view.findViewById(R.id.tv_project); + lv = view.findViewById(R.id.lv); + } + + public void initData() { + + if (mActivity.getFlag() == Contans.DLB) { + initDjd(); + } else { +// initZkd(); + } + } + + + + /** + * 质控点 + */ + private void initZkd() { + + zList = new ArrayList<>(); + + ZkdInfo info = new ZkdInfo(1, "H-2:传热元件", "未完成", "H", "质检A", "质检B", "质检C", "监理"); + ZkdInfo info2 = new ZkdInfo(2, "W-3:驱动装置检查", "未完成", "w", "质检A", "质检B", "质检C", "监理"); + zList.add(info); + zList.add(info2); + + headView = View.inflate(mActivity, R.layout.zkd_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + + tv_project.setVisibility(View.VISIBLE); + zAdapter = new ZkdAdapter(context, zList); + lv.addHeaderView(headView, null, false); + lv.setAdapter(zAdapter); + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { +// Intent intent = new Intent(mActivity, SqdActivity.class); +// intent.putExtra(Contans.KEY_IS_EDIT, true); +// intent.putExtra(Contans.NFCOREWM, true); +// intent.putExtra(Contans.KEY_BQBM, num); +// startActivity(intent); + } + }); + } + + /** + * 点检点 + */ + private void initDjd() { + + list = new ArrayList<>(); + + initDlbinfo(); + + adapter = new DlbAdapter(context, list); + headView = View.inflate(context, R.layout.dlb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { + Intent intent = new Intent(getActivity(), SbxdjcjsbActivity.class); + Bundle bundle = new Bundle(); + bundle.putInt(Contans.KEY_ITEM, i - 1); + bundle.putParcelableArrayList(Contans.KEY_DJJHRWQY, rwqys); + bundle.putBoolean("edit", true); + bundle.putBoolean(Contans.NFCOREWM, nfcorewm); + bundle.putString(Contans.KEY_BQBM, num); + intent.putExtras(bundle); + startActivityForResult(intent, 0x00); + } + }); + } + + private void initDlbinfo() { + + for (int i = 0; i < rwqys.size(); i++) { + DlbInfo info = new DlbInfo(); + info.setXh(i + 1); + info.setDian(rwqys.get(i).getPOINTNAME() + "(" + rwqys.get(i).getDESCRIPTION() + ")"); + info.setStatu(rwqys.get(i).isChecked()); + info.setCjjg(rwqys.get(i).getCJJG()); + list.add(info); + } + } + + public void setListadapter() { + list.clear(); + initDlbinfo(); + adapter.notifyDataSetChanged(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/XzjhFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/XzjhFragment.java new file mode 100755 index 0000000..a35deb0 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/XzjhFragment.java @@ -0,0 +1,256 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.ContentValues; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import com.rehome.bhdxj.DBModel.Djjh; +import com.rehome.bhdxj.DBModel.XDJJHXZBean; +import com.rehome.bhdxj.DBModel.XDJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.XzjhAdapter; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.bean.XscbRequestBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.HttpResponseListener; +import com.rehome.bhdxj.utils.SPUtils; +import com.rehome.bhdxj.utils.UiUtlis; +import com.rehome.bhdxj.weight.WaitDialog; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.RequestQueue; +import com.yolanda.nohttp.rest.Response; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; + +import static org.litepal.crud.DataSupport.where; + +/** + * 设备巡点检管理-下载计划 + */ +public class XzjhFragment extends BaseFragment { + + ListView lv; + Button btn_xz; + TextView tvNodata; + LinearLayout LL; + + private WaitDialog dialog; + private DjMainActivity mActivity; + private View headView; + private View head; + private XzjhAdapter adapter; + private CheckBox cb; + private List djjhs; + private int selectCount = 0; + private int requestCount = 0; + private List gwids = new ArrayList<>(); + private RequestQueue queue; + private XDJJHXZBean xdjjhxzBean; + + public XzjhFragment() { + + } + + public static XzjhFragment newInstance() { + XzjhFragment fragment = new XzjhFragment(); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public int getContentViewId() { + return R.layout.fragment_xzjh; + } + + @Override + protected void initView() { + lv = view.findViewById(R.id.lv); + tvNodata = view.findViewById(R.id.tv_nodata); + btn_xz = view.findViewById(R.id.btn_xz); + LL = view.findViewById(R.id.LL); + + btn_xz.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (djjhs.size() != 0) { + + gwids.clear(); + for (int i = 0; i < djjhs.size(); i++) { + if (djjhs.get(i).isChecked()) { + if (!dialog.isShowing()) { + dialog.setMessage("下载计划中..."); + dialog.show(); + } + + downData(djjhs.get(i).getGWID()); + gwids.add(djjhs.get(i).getGWID()); + } + } + } else { + showToast("没有可下载计划"); + } + } + }); + + lv.setEmptyView(tvNodata); + mActivity = (DjMainActivity) getActivity(); + headView = View.inflate(context, R.layout.xzjh_item, null); + head = headView.findViewById(R.id.head); + head.setVisibility(View.VISIBLE); + lv.addHeaderView(headView, null, false); + cb = headView.findViewById(R.id.cb); + cb.setOnClickListener(view -> { + if (cb.isChecked()) { + for (int i = 0; i < djjhs.size(); i++) { + djjhs.get(i).setChecked(true); + adapter.notifyDataSetChanged(); + } + } else { + for (int i = 0; i < djjhs.size(); i++) { + djjhs.get(i).setChecked(false); + adapter.notifyDataSetChanged(); + } + } + }); + } + + public void initData() { + queue = NoHttp.newRequestQueue(1); + dialog = new WaitDialog(getActivity(), "加载中..."); + dialog.setCancelable(false); + djjhs = new ArrayList<>(); + //如果数据库中有数据 + if (DataSupport.count("Djjh") != 0) { + List djjhall = where("download = ?", "0").find(Djjh.class); + djjhs.clear(); + djjhs.addAll(djjhall); + setListData(); + } else { + tvNodata.setText("暂无数据"); + LL.setVisibility(View.GONE); + } + } + + private void downData(String gwid) { + selectCount++; + Request request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHDLB, RequestMethod.POST); + request.setDefineRequestBodyForJson(createZyJson(gwid)); + queue.add(1, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, "")); + } + + private HttpListener callback = new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + + try { + if (what == 1) { + ++requestCount; + Log.e("dataLog", response.get()); + xdjjhxzBean = GsonUtils.GsonToBean(response.get(), XDJJHXZBean.class); + if (xdjjhxzBean != null && xdjjhxzBean.getState() == 1) { + List xdjjhxzDataBeanList = xdjjhxzBean.getData(); + ContentValues values = new ContentValues(); + values.put("download", 1);//把Djjh里面的下载过的download变成1 + for (int i = 0; i < xdjjhxzDataBeanList.size(); i++) { + DataSupport.updateAll(Djjh.class, values, "GWID = ?", xdjjhxzDataBeanList.get(i).getGWID()); + } + int dataCount = DataSupport.count(XDJJHXZDataBean.class); + int index;//序号 + index = dataCount; + for (int i = 0; i < xdjjhxzDataBeanList.size(); i++) { + xdjjhxzDataBeanList.get(i).setSN(++index); + DataSupport.saveAll(xdjjhxzDataBeanList.get(i).getQYD_DATA()); + DataSupport.saveAll(xdjjhxzDataBeanList.get(i).getQYAQFX_DATA()); + } + DataSupport.saveAll(xdjjhxzDataBeanList); + } else { + showToast(UiUtlis.getString(context, R.string.data_error)); + } + } + + if (requestCount == selectCount && requestCount != 0) { + requestCount = 0; + selectCount = 0; + tvNodata.setText("暂无数据"); + requestCount = 0; + selectCount = 0; + dialog.cancel(); + djjhs.clear(); + djjhs.addAll(where("download = ?", "0").find(Djjh.class)); + if (adapter != null) { + cb.setChecked(false); + adapter.notifyDataSetChanged(); + } + showToast("下载成功"); + dialog.dismiss(); + } + } catch (Exception e) { + showToast(UiUtlis.getString(context, R.string.data_error)); + dialog.dismiss(); + } + } + + @Override + public void onFailed(int what, Response response) { + if (dialog != null && dialog.isShowing()) { + dialog.dismiss(); + } + } + }; + + private void setListData() { + adapter = new XzjhAdapter(context, djjhs, view -> { + CheckBox checkBox = (CheckBox) view; + int index = (int) checkBox.getTag(); + djjhs.get(index).setChecked(checkBox.isChecked()); + int count = 0; + for (int a = 0; a < djjhs.size(); a++) { + if (djjhs.get(a).isChecked()) { + count++; + } + } + cb.setChecked(count == djjhs.size()); + adapter.notifyDataSetChanged(); + }); + + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, i, l) -> { + djjhs.get(i - 1).setChecked(!djjhs.get(i - 1).isChecked()); + int count = 0; + for (int a = 0; a < djjhs.size(); a++) { + if (djjhs.get(a).isChecked()) { + count++; + } + } + cb.setChecked(count == djjhs.size()); + adapter.notifyDataSetChanged(); + }); + } + + private String createZyJson(String gwid) { + String YHID = (String) SPUtils.get(context, Contans.USERID, ""); + XscbRequestBean info = new XscbRequestBean(); + info.setAction("DJ_RWXZ_GET"); + info.setGWID(gwid); + info.setYHID(YHID); + String json = GsonUtils.GsonString(info); + return json; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/YjwscFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/YjwscFragment.java new file mode 100755 index 0000000..a2a78af --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/YjwscFragment.java @@ -0,0 +1,132 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; +import com.rehome.bhdxj.DBModel.DjjhRwQy; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.DlbAdapter; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.bean.DlbInfo; +import com.rehome.bhdxj.contans.Contans; +import java.util.ArrayList; +import java.util.List; + +/** + * 设备巡点检管理-已检未上传 or 已完成未上传 + */ +public class YjwscFragment extends BaseFragment { + + ListView lv; + + private SdlbActivity mActivity; + + private ArrayList rwqys; + + private String num; + private boolean nfcorewm; + + private List list; + private View headView; + private DlbAdapter adapter; + + public YjwscFragment() { + } + + public static YjwscFragment newInstance(ArrayList list, String num, boolean nfcorewm) { + YjwscFragment fragment = new YjwscFragment(); + Bundle bundle = new Bundle(); + bundle.putString("num", num); + bundle.putBoolean("nfcorewm", nfcorewm); + bundle.putParcelableArrayList("list", list); + fragment.setArguments(bundle); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Bundle bundle = getArguments(); + if (bundle != null) { + rwqys = bundle.getParcelableArrayList("list"); + num = bundle.getString("num"); + nfcorewm = bundle.getBoolean("nfcorewm"); + } + } + + @Override + public int getContentViewId() { + return R.layout.fragment_yjwsc; + } + + @Override + protected void initView() { + mActivity = (SdlbActivity) getActivity(); + lv = view.findViewById(R.id.lv); + } + + public void initData() { + + if (mActivity.getFlag() == Contans.DLB) { + + initDlb(); + } else { + + initZkd(); + } + } + + + /** + * 质控点 + */ + private void initZkd() { + } + + /** + * 点检点 + */ + private void initDlb() { + + + list = new ArrayList<>(); + initDlbinfo(); + adapter = new DlbAdapter(context, list); + headView = View.inflate(context, R.layout.dlb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { + Intent intent = new Intent(getActivity(), SbxdjcjsbActivity.class); + intent.putExtra("edit", true); + intent.putExtra(Contans.NFCOREWM, nfcorewm); + intent.putExtra(Contans.KEY_BQBM, num); + intent.putExtra(Contans.KEY_ITEM, i - 1); + intent.putParcelableArrayListExtra(Contans.KEY_DJJHRWQY, rwqys); + startActivity(intent); + } + }); + } + + public void setListadapter() { + this.list.clear(); + initDlbinfo(); + adapter.notifyDataSetChanged(); + } + + private void initDlbinfo() { + for (int i = 0; i < rwqys.size(); i++) { + DlbInfo info = new DlbInfo(); + info.setXh(i + 1); + info.setDian(rwqys.get(i).getPOINTNAME() + "(" + rwqys.get(i).getDESCRIPTION() + ")"); + info.setStatu(rwqys.get(i).isChecked()); + info.setCjjg(rwqys.get(i).getCJJG()); + list.add(info); + } + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/YscFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/YscFragment.java new file mode 100755 index 0000000..f8c5a6b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/YscFragment.java @@ -0,0 +1,124 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; +import com.rehome.bhdxj.DBModel.DjjhRwQy; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.DlbAdapter; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.bean.DlbInfo; +import com.rehome.bhdxj.contans.Contans; +import java.util.ArrayList; +import java.util.List; + +/** + * 设备巡点检管理-已上传 + */ +public class YscFragment extends BaseFragment { + + ListView lv; + + private View headView; + private DlbAdapter adapter; + + private String num; + private boolean nfcorewm; + + private View head; + private SdlbActivity mActivity; + private List list; + + private List rwqys; + + public YscFragment() { + } + + public static YscFragment newInstance(ArrayList list, String num, boolean nfcorewm) { + YscFragment fragment = new YscFragment(); + Bundle bundle = new Bundle(); + bundle.putString("num", num); + bundle.putBoolean("nfcorewm", nfcorewm); + bundle.putParcelableArrayList("list", list); + fragment.setArguments(bundle); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Bundle bundle = getArguments(); + if (bundle != null) { + rwqys = bundle.getParcelableArrayList("list"); + num = bundle.getString("num"); + nfcorewm = bundle.getBoolean("nfcorewm"); + } + } + + + @Override + public int getContentViewId() { + return R.layout.fragment_ysc; + } + + @Override + protected void initView() { + mActivity = (SdlbActivity) getActivity(); + lv = view.findViewById(R.id.lv); + } + + public void initData() { + if (mActivity.getFlag() == Contans.DLB) { + initDLB(); + } else { + initZKD(); + } + } + + + /** + * 质控点 + */ + private void initZKD() { + } + + /** + * 点检点 + */ + private void initDLB() { + + headView = View.inflate(context, R.layout.dlb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + list = new ArrayList<>(); + + initDlbinfo(); + + adapter = new DlbAdapter(context, list); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { + + } + }); + } + + public void setListadapter() { + this.list.clear(); + initDlbinfo(); + adapter.notifyDataSetChanged(); + } + + private void initDlbinfo() { + for (int i = 0; i < rwqys.size(); i++) { + DlbInfo info = new DlbInfo(); + info.setXh(i + 1); + info.setDian(rwqys.get(i).getPOINTNAME() + "(" + rwqys.get(i).getDESCRIPTION() + ")"); + info.setStatu(rwqys.get(i).isChecked()); + info.setCjjg(rwqys.get(i).getCJJG()); + list.add(info); + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/YulActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/YulActivity.java new file mode 100755 index 0000000..789f05c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/YulActivity.java @@ -0,0 +1,216 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.ListView; +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.DBModel.XDJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.DlbAdapter; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.bean.DlbInfo; +import com.rehome.bhdxj.bean.SetSbModel; +import com.rehome.bhdxj.contans.Contans; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; +import static org.litepal.crud.DataSupport.where; + +public class YulActivity extends BaseActivity { + + ListView lv; + private static final int Req = 101; + private boolean isEdit = true; + private int item; + private List xdjjhxzDataBeanList = new ArrayList<>();//工作列表 + private ArrayList qyddataBeanList = new ArrayList<>();//点检记录列表 + private List infos = new ArrayList<>(); + private View headView; + private DlbAdapter adapter; + private int itemposition; + private String LX, LXResult; + + /** + * 广播 + */ + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + //更新指定item + String action = intent.getAction(); + switch (action) { + case Contans.ACTION_YULONE: //更新设备点检页面返回时编辑的item内容 + + int position = intent.getIntExtra(Contans.KEY_POSITION, -1); + String name = intent.getStringExtra(Contans.KEY_NAME); + DlbInfo dlbInfo = infos.get(position); + dlbInfo.setCjjg(name); + dlbInfo.setStatu(true); + infos.set(position, dlbInfo); + + QYDDATABean qyddataBean = qyddataBeanList.get(position); + qyddataBean.setChecked(true); + qyddataBean.setCJJG(name); + qyddataBeanList.set(position, qyddataBean); + + Log.e("YulActivity", "name=" + name + ", position=" + position); + break; + default: + break; + } + + } + }; + + @Override + public int getContentViewID() { + return R.layout.activity_yul; + } + + @Override + protected void initView() { + lv = findViewById(R.id.lv); + setBack(); + setTitle("浏览点检记录"); + headView = View.inflate(context, R.layout.dlb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + + } + + @Override + public void initData() { + + + Bundle bundle = getIntent().getExtras(); + isEdit = bundle.getBoolean("edit"); +// qyddataBeanList = bundle.getParcelableArrayList(Contans.KEY_DJJHRWQY); + item = bundle.getInt(Contans.KEY_ITEM); + itemposition = bundle.getInt("itemposition"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + searchdata(); + setListAdapter(); + + + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_YULONE); + registerReceiver(myReceiver, filter); + } + + private void searchdata() { + if (LX.equals("Click")) { + + + xdjjhxzDataBeanList.clear(); + //获取本地所有的工作列表数据 + xdjjhxzDataBeanList.addAll(DataSupport.findAll(XDJJHXZDataBean.class)); + qyddataBeanList.clear(); + //获取当前点击的工作栏对应的点检记录列表 + qyddataBeanList.addAll(where("xdjjhxzDataBean_id = ?", xdjjhxzDataBeanList.get(itemposition).getId() + "").find(QYDDATABean.class)); + + } else if (LX.equals("QRcode")) { + + + List qydDataBeen = DataSupport.where("QYEWM = ?", LXResult).find(QYDDATABean.class);//ewm是根据扫描得到的二维码结果来查询 + + qyddataBeanList.clear(); + qyddataBeanList.addAll(qydDataBeen); + + } else if (LX.equals("NFC")) { + + + List qydDataBeen = DataSupport.where("QYNFC = ?", LXResult).find(QYDDATABean.class); + + qyddataBeanList.clear(); + qyddataBeanList.addAll(qydDataBeen); + + } + } + + private void setListAdapter() { + + for (QYDDATABean rw : qyddataBeanList) { //这里进行了数据的一些获取 把必要的拿出来显示 + DlbInfo info = new DlbInfo(); + info.setSbid(rw.getSBID()); + info.setCjjg(rw.getCJJG());//采集结果 + info.setDian(rw.getSBMC() + " - " + rw.getBJMC());//项目名称 + info.setStatu(rw.isChecked());//状态 + infos.add(info); + } + + adapter = new DlbAdapter(context, infos); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((parent, view, position, id) -> {//这里应该 + + Intent intent = new Intent(YulActivity.this, SbxdjcjsbActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList(Contans.KEY_DJJHRWQY, qyddataBeanList); + bundle.putBoolean("edit", isEdit); + bundle.putInt(Contans.KEY_ITEM, position - 1); + bundle.putInt("itemposition", itemposition); + bundle.putString("LX", LX); + bundle.putString("LXResult", LXResult); + intent.putExtras(bundle); + startActivityForResult(intent, Req); + }); + } + + private ArrayList setSbModelList; + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) return; + if (data != null) { + setSbModelList = data.getParcelableArrayListExtra("setSbModelList"); + + if (setSbModelList == null) { + + } else { + for (int i = 0; i < setSbModelList.size(); i++) { + for (int j = 0; j < infos.size(); j++) { + + if (infos.get(j).getSbid().equals(setSbModelList.get(i).getSbId())) + + infos.get(j).setCjjg(setSbModelList.get(i).getValue()); + +// infos.get(j).setStatu(setSbModelList.get(i).getStatu()); + + } + } + adapter.notifyDataSetChanged(); + } + adapter.notifyDataSetChanged(); + + } + //获取返回时的数据 + + + } + + @Override + protected void onResume() { + super.onResume(); + searchdata(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onRestart() { + super.onRestart(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + //反注册广播(注销) + unregisterReceiver(myReceiver); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/Yul_SBActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/Yul_SBActivity.java new file mode 100755 index 0000000..bf3171e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxdj/Yul_SBActivity.java @@ -0,0 +1,273 @@ +package com.rehome.bhdxj.activity.sbxdj; + +import android.content.BroadcastReceiver; +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.ListView; +import android.widget.TextView; +import com.rehome.bhdxj.DBModel.QYDDATABean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.DlbAdapter; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.bean.DlbInfo; +import com.rehome.bhdxj.bean.sbInfo; +import com.rehome.bhdxj.contans.Contans; +import org.litepal.crud.DataSupport; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import static org.litepal.crud.DataSupport.where; + +public class Yul_SBActivity extends BaseActivity { + + private static final int Req = 101; + + ListView lv; + TextView txSetsbmc; + Button btTY; + Button btYC; + Button btBY; + + private boolean isEdit = true; + private int item; + private SimpleDateFormat sdf; + private String GWID, QYBH; + private ArrayList qyddataBeanArrayList_SB = new ArrayList<>();//点检记录列表 + private List infos = new ArrayList<>(); + private View headView; + private DlbAdapter adapter; + private int itemposition; + private String LX, LXResult, SBID; + private long xdjjhxzDataBean_id; + private List sbInfoList;//当前设备页列表 + private int itemIndex;//被点击的item索引 + + + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + switch (action) { + case Contans.ACTION_YULONE: //更新设备点检页面返回时编辑的item内容 + int position = intent.getIntExtra(Contans.KEY_POSITION, -1); + String name = intent.getStringExtra(Contans.KEY_NAME); + DlbInfo dlbInfo = infos.get(position); + dlbInfo.setCjjg(name); + dlbInfo.setStatu(true); + infos.set(position, dlbInfo); + QYDDATABean qyddataBean = qyddataBeanArrayList_SB.get(position); + qyddataBean.setChecked(true); + qyddataBean.setCJJG(name); + qyddataBeanArrayList_SB.set(position, qyddataBean); + break; + default: + break; + } + + } + }; + + @Override + public int getContentViewID() { + return R.layout.activity_yul_sb; + } + + @Override + protected void initView() { + lv = findViewById(R.id.lv); + txSetsbmc = findViewById(R.id.tx_setsbmc); + btTY = findViewById(R.id.bt_TY); + btYC = findViewById(R.id.bt_YC); + btBY = findViewById(R.id.bt_BY); + + setBack(); + setTitle("浏览点检数据"); + headView = View.inflate(context, R.layout.dlb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + } + + @Override + public void initData() { + sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Bundle bundle = getIntent().getExtras(); + isEdit = bundle.getBoolean("edit"); + item = bundle.getInt(Contans.KEY_ITEM); + itemposition = bundle.getInt("itemposition"); + GWID = bundle.getString("GWID"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + xdjjhxzDataBean_id = bundle.getLong("xdjjhxzDataBean_id"); + sbInfoList = bundle.getParcelableArrayList("infos"); + itemIndex = bundle.getInt("itemIndex"); + SBID = sbInfoList.get(itemIndex).getSbid(); + QYBH = sbInfoList.get(itemIndex).getQybh(); + qyddataBeanArrayList_SB = (ArrayList) where("SBID = ? and GWID = ? and QYBH = ?", SBID, GWID, QYBH).find(QYDDATABean.class); + if (qyddataBeanArrayList_SB.size() > 0) { + txSetsbmc.setText(qyddataBeanArrayList_SB.get(0).getSBMC()); + } + setListAdapter(); + TYOnclick(); + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_YULONE); + registerReceiver(myReceiver, filter); + } + + private void TYOnclick() { + + btTY.setOnClickListener(v -> { + ContentValues values = new ContentValues(); + values.put("CJJG", "已停用"); + values.put("SBMCSTATE", "已停用"); + values.put("checked", true); + values.put("SBMCSTATEVALUE", "3"); + values.put("DATE", sdf.format(new Date())); + int i = DataSupport.updateAll(QYDDATABean.class, values, "SBID = ? and GWID = ? and QYBH = ?", SBID, GWID, QYBH); + if (i != 0) { + showToast("设置设备状态为已停用成功"); + } else { + showToast("设置设备状态为已停用失败"); + } + //点击停用时,根据itemIndex+1查找下一条数据,并更新界面 + itemIndex++; + getDataList(itemIndex); + }); + btBY.setOnClickListener(v -> { + ContentValues values = new ContentValues(); + values.put("CJJG", "备用"); + values.put("SBMCSTATE", "备用"); + values.put("checked", true); + values.put("SBMCSTATEVALUE", "5"); + values.put("DATE", sdf.format(new Date())); + int i = DataSupport.updateAll(QYDDATABean.class, values, "SBID = ? and GWID = ? and QYBH = ?", SBID, GWID, QYBH); + if (i != 0) { + showToast("该设备改为备用状态成功"); + } else { + showToast("该设备改为备用状态成功"); + } + //点击停用时,根据itemIndex+1查找下一条数据,并更新界面 + itemIndex++; + getDataList(itemIndex); + }); + btYC.setOnClickListener(v -> { + ContentValues values = new ContentValues(); +// values.put("CJJG", ""); + values.put("SBMCSTATE", "已运行"); + values.put("checked", false); + values.put("SBMCSTATEVALUE", "2"); + int i = DataSupport.updateAll(QYDDATABean.class, values, "SBID = ? and GWID = ? and QYBH = ?", SBID, GWID, QYBH); + if (i != 0) { + showToast("设置设备状态为已运行成功"); + } else { + showToast("设置设备状态为已运行失败"); + } + qyddataBeanArrayList_SB = (ArrayList) where("SBID = ? and GWID = ? and QYBH = ?", SBID, GWID, QYBH).find(QYDDATABean.class); + Intent intent = new Intent(Yul_SBActivity.this, SbxdjcjsbActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList(Contans.KEY_DJJHRWQY, qyddataBeanArrayList_SB); + bundle.putBoolean("edit", isEdit); + bundle.putInt(Contans.KEY_ITEM, 0); + bundle.putInt("itemposition", itemposition); + bundle.putString("LX", LX); + bundle.putString("LXResult", LXResult); + intent.putExtras(bundle); + startActivityForResult(intent, Req); + }); + } + + /** + * 获取更新数据列表,并更新页面 + */ + private void getDataList(int index) { + if (sbInfoList != null) { + if (index < sbInfoList.size()) { + SBID = sbInfoList.get(index).getSbid(); + qyddataBeanArrayList_SB = (ArrayList) where("SBID = ? and GWID = ? and QYBH = ?", SBID, GWID, QYBH).find(QYDDATABean.class); + infos.clear(); + infos.addAll(filterCheckedData(qyddataBeanArrayList_SB)); + txSetsbmc.setText(qyddataBeanArrayList_SB.get(0).getSBMC()); + adapter.notifyDataSetChanged(); + } else { + finish(); + } + } + } + + + private void setListAdapter() { + infos.clear(); + infos.addAll(filterCheckedData(qyddataBeanArrayList_SB)); + adapter = new DlbAdapter(context, infos); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((parent, view, position, id) -> { + + if (qyddataBeanArrayList_SB != null) { +// if (qyddataBeanArrayList_SB.get(0).getSecond().equals("YES")) { +// qyddataBeanArrayList_SB = (ArrayList) where("SBID = ?", SBID + "").find(QYDDATABean.class); + + Intent intent = new Intent(Yul_SBActivity.this, SbxdjcjsbActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList(Contans.KEY_DJJHRWQY, qyddataBeanArrayList_SB); + bundle.putBoolean("edit", isEdit); + bundle.putInt(Contans.KEY_ITEM, position - 1); + bundle.putInt("itemposition", itemposition); + bundle.putString("LX", LX); + bundle.putString("LXResult", LXResult); + intent.putExtras(bundle); + startActivityForResult(intent, Req); +// } else { +// +// } + } + }); + } + + private List filterCheckedData(ArrayList qyddataBeanArrayList) { + List dlbInfos = new ArrayList<>(); + for (QYDDATABean rw : qyddataBeanArrayList) { //这里进行了数据的一些获取 把必要的拿出来显示 + DlbInfo info = new DlbInfo(); + info.setSbid(rw.getSBID()); + info.setCjjg(rw.getCJJG());//采集结果 + info.setDian(rw.getSBMC() + " - " + rw.getBJMC());//项目名称 + info.setStatu(rw.isChecked());//状态 + dlbInfos.add(info); + } + return dlbInfos; + } + + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) return; + if (requestCode == Req) { + itemIndex++; + getDataList(itemIndex); + } + } + + @Override + protected void onResume() { + super.onResume(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onRestart() { + super.onRestart(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + unregisterReceiver(myReceiver); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/NFCInfoActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/NFCInfoActivity.java new file mode 100755 index 0000000..3cfac2f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/NFCInfoActivity.java @@ -0,0 +1,29 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseActivity; + +public class NFCInfoActivity extends BaseActivity { + + TextView tvNfc; + + @Override + public int getContentViewID() { + return R.layout.activity_nfcinfo; + } + + @Override + protected void initView() { + setTitle("读取NFC标签"); + tvNfc = findViewById(R.id.tv_nfc); + setBack(); + initNFC(); + } + + @Override + public void handleNfc(String result) { + super.handleNfc(result); + tvNfc.setText(result); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/SbxjcjsbActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/SbxjcjsbActivity.java new file mode 100755 index 0000000..91b7077 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/SbxjcjsbActivity.java @@ -0,0 +1,326 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.BroadcastReceiver; +import android.content.ContentValues; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.IntentFilter; +import android.graphics.Color; +import android.os.Build; +import android.os.Bundle; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.RadioButton; +import android.widget.RadioGroup; + +import com.rehome.bhdxj.DBModel.XSJJHDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.MyFragmentAdapter; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.bean.SetxjSbModel; +import com.rehome.bhdxj.bleUtil.BluetoothLeService; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.weight.AutoRadioGroup; +import com.rehome.bhdxj.weight.NoscrollViewPager; + +import org.litepal.crud.DataSupport; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import androidx.annotation.RequiresApi; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.Fragment; + + +/** + * Created by ruihong on 2017/11/30. + */ + +public class SbxjcjsbActivity extends BaseActivity3 { + + public static int Req = 101; + + NoscrollViewPager vp; + RadioButton rb1; + RadioButton rb2; + RadioButton rb3; + AutoRadioGroup rg; + Button btnSaveNext; + Button btnNext; + Button btnLast; + + private MyFragmentAdapter adapter; + private List list; + private XJCJFragment xjcjFragment; + private int item = 0; + private boolean isEdit = false; + private int index = 0; + private int itemposition; + private String LX, LXResult; + + //新数据 + private ArrayList xsjjhDataBeanArrayList; + private ArrayList setSbModelList; + + + @Override + public int getLayoutId() { + return R.layout.activity_sbxjcjsb; + } + + @Override + public void initView() { + vp = findViewById(R.id.vp); + rb1 = findViewById(R.id.rb1); + rb2 = findViewById(R.id.rb2); + rb3 = findViewById(R.id.rb3); + rg = findViewById(R.id.rg); + btnSaveNext = findViewById(R.id.btn_save_next); + btnNext = findViewById(R.id.btn_next); + btnLast = findViewById(R.id.btn_last); + btnLast.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + --item; + if (item == 0) { + btnLast.setEnabled(false); + item++; + showToast("当前为第一条"); + } else { + xjcjFragment.updata(xsjjhDataBeanArrayList.get(item - 1), item, xsjjhDataBeanArrayList.size()); + } + } + }); + btnNext.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + next(); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + + super.onActivityResult(requestCode, resultCode, data); + + if (resultCode != RESULT_OK) return; + + if (requestCode == Req) { + + if (data != null) { + + setSbModelList = data.getParcelableArrayListExtra("setSbModelList"); + + //更新数据源 + for (int i = 0; i < setSbModelList.size(); i++) { + for (int j = 0; j < xsjjhDataBeanArrayList.size(); j++) { + if (xsjjhDataBeanArrayList.get(j).getSbid().equals(setSbModelList.get(i).getSbId())) { + xsjjhDataBeanArrayList.get(j).setCJJG(setSbModelList.get(i).getValue()); + xsjjhDataBeanArrayList.get(j).setChecked(setSbModelList.get(i).getStatu()); + } + } + } + + //更新当前的检查配件状态 + if (xjcjFragment != null) { + xjcjFragment.updateState(xsjjhDataBeanArrayList.get(index).getCJJG()); + xjcjFragment.updatecheck(xsjjhDataBeanArrayList.get(index).isChecked()); + xjcjFragment.updateFXNR(xsjjhDataBeanArrayList.get(index).getFxnr()); + } + } + } + + + } + + public void initData() { + initToolbar("设备巡检详情", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent2 = new Intent(SbxjcjsbActivity.this, SbxjcjsbActivity.class); + intent2.putParcelableArrayListExtra("setSbModelList", setSbModelList); + setResult(RESULT_OK, intent2); + finish(); + } + }, new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + + registerReceiver(mGattUpdateReceiver, makeGattUpdateIntentFilter()); + Bundle bundle = SbxjcjsbActivity.this.getIntent().getExtras(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + xsjjhDataBeanArrayList = bundle.getParcelableArrayList("xsjjhDataBeanArrayList"); + index = bundle.getInt(Contans.KEY_ITEM); + item = bundle.getInt(Contans.KEY_ITEM) + 1; + itemposition = bundle.getInt("itemposition"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + } + + if (!isEdit) { + btnSaveNext.setVisibility(View.GONE); + } + list = new ArrayList<>(); + if (xsjjhDataBeanArrayList.size() != 0) { + xjcjFragment = XJCJFragment.newInstance(isEdit, xsjjhDataBeanArrayList.get(index), xsjjhDataBeanArrayList.size(), index + 1); + } else { + xjcjFragment = XJCJFragment.newInstance(isEdit, new XSJJHDataBean(), 0, 0); + + } + list.add(xjcjFragment); + + adapter = new MyFragmentAdapter(getSupportFragmentManager(), list); + vp.setAdapter(adapter); + vp.setOffscreenPageLimit(3); + rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup radioGroup, int i) { + + if(i==R.id.rb1){ + rb1.setTextColor(Color.WHITE); + rb2.setTextColor(Color.GRAY); + rb3.setTextColor(Color.GRAY); + vp.setCurrentItem(0, false); + }else if(i==R.id.rb2){ + rb1.setTextColor(Color.GRAY); + rb2.setTextColor(Color.WHITE); + rb3.setTextColor(Color.GRAY); + vp.setCurrentItem(1, false); + }else if(i==R.id.rb3){ + rb1.setTextColor(Color.GRAY); + rb2.setTextColor(Color.GRAY); + rb3.setTextColor(Color.WHITE); + vp.setCurrentItem(2, false); + } + } + }); + + } + + public void next() { + if (xsjjhDataBeanArrayList.size() != 0) { + if (!btnLast.isEnabled()) { + btnLast.setEnabled(true); + } + if (isEdit) { + + if (!xjcjFragment.getCJJG().equals("")) { + ContentValues values = new ContentValues(); + values.put("checked", true); + values.put("CJJG", xjcjFragment.getCJJG()); + values.put("FXNR", xjcjFragment.getYc_Fxnr()); + values.put("DATE", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + int i = DataSupport.updateAll(XSJJHDataBean.class, values, "scid = ? and dbh = ? ", xsjjhDataBeanArrayList.get(item - 1).getScid(), xsjjhDataBeanArrayList.get(item - 1).getDbh()); + if (i != 0) { + xsjjhDataBeanArrayList.get(item - 1).setChecked(true); + xsjjhDataBeanArrayList.get(item - 1).setCJJG(xjcjFragment.getCJJG()); + xsjjhDataBeanArrayList.get(item - 1).setFxnr(xjcjFragment.getYc_Fxnr()); + showToast("保存成功"); + updateItem(xjcjFragment.getCJJG(), item - 1); + } + } else { + showToast("没有采集结果"); + } + + if (!xjcjFragment.getCJJG().equals("")) { + ++item; + if (item > xsjjhDataBeanArrayList.size()) { + item--; + xjcjFragment.updata(xsjjhDataBeanArrayList.get(item - 1), item, xsjjhDataBeanArrayList.size()); + finish(); + //showToast("到底了"); + } else { + xjcjFragment.updata(xsjjhDataBeanArrayList.get(item - 1), item, xsjjhDataBeanArrayList.size()); + } + } else { + showToast("没有采集结果"); + } + + + } else { + if (xsjjhDataBeanArrayList.size() != 0) { + ++item; + if (!btnLast.isEnabled()) { + btnLast.setEnabled(true); + } + if (item > xsjjhDataBeanArrayList.size()) { + item--; +// finish(); + + } else { + xjcjFragment.updata(xsjjhDataBeanArrayList.get(item - 1), item, xsjjhDataBeanArrayList.size()); + + } + } + } + } + } + + public int getItem() { + return item - 1; + } + + + private void updateItem(String name, int position) { + Intent intent = new Intent(Contans.ACTION_YULONE); + intent.putExtra(Contans.KEY_POSITION, position); + intent.putExtra(Contans.KEY_NAME, name); + //发送广播 + sendBroadcast(intent); + + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + + if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { + finish(); + return true; + } + return super.onKeyDown(keyCode, event); + } + + private final BroadcastReceiver mGattUpdateReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + final String action = intent.getAction(); + String Data = ""; + if (BluetoothLeService.ACTION_DATA_AVAILABLE.equals(action)) { + String BleData = intent.getStringExtra(BluetoothLeService.EXTRA_DATA); + String type = BleData.substring(0, 1); + if (type.equals("T")) { + Data = "温度:" + BleData.substring(2, 6); + } else { + Data = "震动:" + BleData.substring(2, 6); + } + xjcjFragment.getBlueToothData(Data); + } + } + }; + + static IntentFilter makeGattUpdateIntentFilter() { + final IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction(BluetoothLeService.ACTION_GATT_CONNECTED); + intentFilter.addAction(BluetoothLeService.ACTION_GATT_DISCONNECTED); + intentFilter.addAction(BluetoothLeService.ACTION_GATT_SERVICES_DISCOVERED); + intentFilter.addAction(BluetoothLeService.ACTION_DATA_AVAILABLE); + return intentFilter; + } + + @Override + protected void onDestroy() { + unregisterReceiver(mGattUpdateReceiver); + super.onDestroy(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/ScxsjhFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/ScxsjhFragment.java new file mode 100755 index 0000000..d3c0e58 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/ScxsjhFragment.java @@ -0,0 +1,446 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.DialogInterface; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; + +import com.rehome.bhdxj.DBModel.XSJJHDataBean; +import com.rehome.bhdxj.DBModel.XSJJHXZDataBean; +import com.rehome.bhdxj.DBModel.Xjjh; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.ScxsAdapter; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.bean.ScxjjhBean; +import com.rehome.bhdxj.bean.StatusInfo2; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.HttpResponseListener; +import com.rehome.bhdxj.utils.SPUtils; +import com.rehome.bhdxj.utils.UiUtlis; +import com.rehome.bhdxj.weight.WaitDialog; +import com.rehome.bhdxj.weight.toastviewbymyself; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.RequestQueue; +import com.yolanda.nohttp.rest.Response; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import androidx.appcompat.app.AlertDialog; + +/** + * 设备巡点检管理-点检点上传 + */ +public class ScxsjhFragment extends BaseFragment { + + ListView lv; + Button btn_sc; + TextView tvNodata; + Button btn_del; + + private XjMainActivity mActivity; + private View headView; + private View head; + private CheckBox xj_cb; + private ScxsAdapter adapter; + private WaitDialog dialog; + private RequestQueue queue; + private int noCheck = 0; + private List xsjjhxzDataBeanList = new ArrayList<>(); + private String zxid = ""; + private List xsjhxzdatalist = new ArrayList<>(); + private Map> xsJjhDataBeanMap = new HashMap<>(); + + public ScxsjhFragment() { + + } + + public static ScxsjhFragment newInstance() { + ScxsjhFragment fragment = new ScxsjhFragment(); + return fragment; + } + + + @Override + protected void initView() { + lv = view.findViewById(R.id.lv); + btn_sc = view.findViewById(R.id.btn_sc); + btn_del = view.findViewById(R.id.btn_del); + tvNodata = view.findViewById(R.id.tv_nodata); + + lv.setEmptyView(tvNodata); + dialog = new WaitDialog(context, "上传中..."); + dialog.setCancelable(false); + mActivity = (XjMainActivity) getActivity(); + headView = View.inflate(context, R.layout.scxscb_item, null); + head = headView.findViewById(R.id.head); + xj_cb = headView.findViewById(R.id.xj_cb); + xj_cb.setOnClickListener(view -> { + + if (xj_cb.isChecked()) { + for (int i = 0; i < xsjhxzdatalist.size(); i++) { + xsjhxzdatalist.get(i).setChecked(true); + adapter.notifyDataSetChanged(); + } + } else { + for (int i = 0; i < xsjhxzdatalist.size(); i++) { + xsjhxzdatalist.get(i).setChecked(false); + adapter.notifyDataSetChanged(); + } + } + }); + btn_sc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + uploadData();//上传勾选中的数据 + } + }); + btn_del.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //删除勾选中的数据 + deleteData(); + } + }); + + + } + + + @Override + public int getContentViewId() { + return R.layout.fragment_xssc; + } + + public void initData() { + queue = NoHttp.newRequestQueue(1); + getDataInSQL();//获取数据 + setListData();//显示数据 + } + + + /** + * 获取数据库的数据 + */ + public void getDataInSQL() { + + + xsjjhxzDataBeanList.clear(); + xsjjhxzDataBeanList.addAll(DataSupport.findAll(XSJJHXZDataBean.class)); + + xsjhxzdatalist.clear(); + xsJjhDataBeanMap.clear(); + + for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) { + + if (!xsjjhxzDataBeanList.get(i).getZxid().equals(zxid)) { + List qydDataBeen = DataSupport.where("zxid = ?", xsjjhxzDataBeanList.get(i).getZxid()).find(XSJJHDataBean.class); + zxid = xsjjhxzDataBeanList.get(i).getZxid(); + int count = 0; + for (int j = 0; j < qydDataBeen.size(); j++) { + if (qydDataBeen.get(j).isChecked()) { + count++; + } + } + XSJJHXZDataBean xsjjhxzDataBean = new XSJJHXZDataBean(); + xsjjhxzDataBean.setQymc(xsjjhxzDataBeanList.get(i).getJhmc()); + xsjjhxzDataBean.setZxid(xsjjhxzDataBeanList.get(i).getZxid()); + xsjjhxzDataBean.setSczt(xsjjhxzDataBeanList.get(i).getSczt()); + xsjjhxzDataBean.setFxnr(xsjjhxzDataBeanList.get(i).getFxnr()); + xsjjhxzDataBean.setQybh(xsjjhxzDataBeanList.get(i).getQybh()); + xsjjhxzDataBean.setCountPercent(count + "/" + qydDataBeen.size()); + xsjhxzdatalist.add(xsjjhxzDataBean); + xsJjhDataBeanMap.put(xsjjhxzDataBeanList.get(i).getZxid(), qydDataBeen); + + if (count != 0) { + toastviewbymyself.makeText(getActivity(), "有巡检数据未上传,请检查!!!", Toast.LENGTH_LONG).show(); + } + } + } + } + + private void setListData() { + + adapter = new ScxsAdapter(context, xsjhxzdatalist, view -> { + CheckBox checkBox = (CheckBox) view; + int index = (int) checkBox.getTag(); + xsjhxzdatalist.get(index).setChecked(checkBox.isChecked()); + int count = 0; + for (int a = 0; a < xsjhxzdatalist.size(); a++) { + if (xsjhxzdatalist.get(a).isChecked()) { + count++; + } + } + xj_cb.setChecked(count == xsjhxzdatalist.size()); + adapter.notifyDataSetChanged(); + }); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + + + lv.setOnItemClickListener((adapterView, view, i, l) -> { + + xsjhxzdatalist.get(i - 1).setChecked(!xsjhxzdatalist.get(i - 1).isChecked()); + int count = 0; + for (int a = 0; a < xsjhxzdatalist.size(); a++) { + if (xsjhxzdatalist.get(a).isChecked()) { + count++; + } + } + xj_cb.setChecked(count == xsjhxzdatalist.size()); + adapter.notifyDataSetChanged(); + }); + + + } + + private void uploadData() { + + noCheck = 0;//没有检查的数量 + + for (int i = 0; i < xsjhxzdatalist.size(); i++) { + + if (xsjhxzdatalist.get(i).isChecked()) { + + ScxjjhBean scxjjhbean = new ScxjjhBean(); + + scxjjhbean.setAction("XSCB_ZXJHD_SET"); + + String zxidUpload = xsjhxzdatalist.get(i).getZxid(); + + List xsjjhdatabeanList = xsJjhDataBeanMap.get(xsjhxzdatalist.get(i).getZxid()); + + scxjjhbean.setZxid(xsjhxzdatalist.get(i).getZxid()); + + scxjjhbean.setQybh(xsjhxzdatalist.get(i).getQybh()); + + List datalist = new ArrayList<>(); + + for (int j = 0; j < xsjjhdatabeanList.size(); j++) { + ScxjjhBean.data datas = new ScxjjhBean.data(); + datas.setScid(xsjjhdatabeanList.get(j).getScid()); + datas.setDbh(xsjjhdatabeanList.get(j).getDbh()); + if (xsjjhdatabeanList.get(j).getCJJG() == null) { + datas.setCbsz(""); + } else { + datas.setCbsz(xsjjhdatabeanList.get(j).getCJJG()); + } + if (xsjjhdatabeanList.get(j).getDATE() == null) { + datas.setDjsj(""); + } else { + datas.setDjsj(xsjjhdatabeanList.get(j).getDATE()); + } + if (xsjjhdatabeanList.get(j).getCJJG() == null) { + datas.setSBZT(""); + } else if (xsjjhdatabeanList.get(j).getCJJG().equals("已停用")) { + datas.setSBZT("3"); + } else if (xsjjhdatabeanList.get(j).getCJJG().equals("大小修")) { + datas.setSBZT("4"); + } else { + datas.setSBZT("1"); + } + datas.setZcmc((String) SPUtils.get(context, Contans.BZBH, "")); + datas.setCbr((String) SPUtils.get(context, Contans.USERID, "")); + datas.setFxnr(xsjjhdatabeanList.get(j).getFxnr()); + datas.setSmfx(""); + datalist.add(datas); + } + + + scxjjhbean.setData(datalist); + + + final String json = GsonUtils.GsonString(scxjjhbean); + + + if (noCheck > 0) { //如果未检查的数量大于0 则提示有未检查的项目 + + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle("提示"); + builder.setTitle("你还有项目未检查,是否上传?"); + builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }); + builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + sCData(json, zxidUpload); + } + }); + builder.show(); + + } else { + sCData(json, zxidUpload); + } + } else { + noCheck++;//代表有没有检查的数量 + } + } + } + + private void sCData(String json, String zxidUpload) { + Request request = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + request.setDefineRequestBodyForJson(json); + queue.add(1, request, new HttpResponseListener<>(getActivity(), request, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + + + StatusInfo2 info = GsonUtils.GsonToBean(response.get(), StatusInfo2.class); + + try { + if (what == 1) { + if (info.getState() == 1) { //成功 + + showToast("上传数据成功"); + + //这里处理那个删除item,更新UI + DataSupport.deleteAll(XSJJHXZDataBean.class, "zxid = ?", zxidUpload); + + DataSupport.deleteAll(XSJJHDataBean.class, "zxid = ?", zxidUpload); + + DataSupport.deleteAll(Xjjh.class, "zxid = ?", zxidUpload); + + for (XSJJHXZDataBean item: xsjhxzdatalist) { + if(item.getZxid().equals(zxidUpload)){ + xsjhxzdatalist.remove(item); + } + } + + adapter.notifyDataSetChanged(); + + } else { + + showToast("上传数据失败"); + + } + } + + + } catch (Exception e) { + + showToast(UiUtlis.getString(context, R.string.data_error)); + + dialog.dismiss(); + + } + } + + @Override + public void onFailed(int what, Response response) { + if (dialog != null && dialog.isShowing()) { + dialog.dismiss(); + } + } + }, false, true, "上传数据中...请稍等...")); + } + +// private HttpListener callback = new HttpListener() { +// @Override +// public void onSucceed(int what, Response response) { +// +// +// StatusInfo2 info = GsonUtils.GsonToBean(response.get(), StatusInfo2.class); +// +// try { +// if (what == 1) { +// if (info.getState() == 1) { //成功 +// +// showToast("上传数据成功"); +// +// //这里处理那个删除item,更新UI +// for (int i = 0; i < xsjhxzdatalist.size(); i++) { +// +// if (xsjhxzdatalist.get(i).isChecked()) { +// +// DataSupport.deleteAll(XSJJHXZDataBean.class, "zxid = ?", xsjhxzdatalist.get(i).getZxid()); +// +// DataSupport.deleteAll(XSJJHDataBean.class, "zxid = ?", xsjhxzdatalist.get(i).getZxid()); +// +// DataSupport.deleteAll(Xjjh.class, "zxid = ?", xsjhxzdatalist.get(i).getZxid()); +// +// xsjhxzdatalist.remove(xsjhxzdatalist.get(i)); +// } +// +// } +// +// adapter.notifyDataSetChanged(); +// +// } else { +// +// showToast("上传数据失败"); +// +// } +// } +// +// +// } catch (Exception e) { +// +// showToast(UiUtlis.getString(context, R.string.data_error)); +// +// dialog.dismiss(); +// +// } +// } +// +// @Override +// public void onFailed(int what, Response response) { +// if (dialog != null && dialog.isShowing()) { +// dialog.dismiss(); +// } +// } +// }; + + + private void deleteData() { + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle("提示"); + builder.setTitle("你确定要删除?"); + builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }); + builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + for (int i = 0; i < xsjhxzdatalist.size(); i++) { + + if (xsjhxzdatalist.get(i).isChecked()) { + + DataSupport.deleteAll(XSJJHXZDataBean.class, "zxid = ?", xsjhxzdatalist.get(i).getZxid()); + + DataSupport.deleteAll(XSJJHDataBean.class, "zxid = ?", xsjhxzdatalist.get(i).getZxid()); + + DataSupport.deleteAll(Xjjh.class, "zxid = ?", xsjhxzdatalist.get(i).getZxid()); + } + } + + //刷新界面 + getDataInSQL(); + + if (adapter != null) { + + adapter.notifyDataSetChanged(); + } + } + }); + builder.show(); + + } + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/SxSbListActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/SxSbListActivity.java new file mode 100755 index 0000000..98dc07e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/SxSbListActivity.java @@ -0,0 +1,203 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.ContentValues; +import android.content.Intent; +import android.view.View; +import android.widget.Button; +import android.widget.ListView; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.XSJJHDataBean; +import com.rehome.bhdxj.DBModel.XSJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.CommonAdapter; +import com.rehome.bhdxj.adapter.ViewHolder; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.weight.ListDialog; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.TreeSet; + + +public class SxSbListActivity extends BaseActivity3 { + + ListView lv; + TextView tvNodata; + Button Btn_Xjsj; + + + private View headView; + private CommonAdapter adapter; + private List xsjjhxzDataBeanList_sb = new ArrayList<>();//工作列表 + Intent intent; + private int pos = -1; + private String state; + + @Override + public int getLayoutId() { + return R.layout.activity_xsxzsbstate; + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + Btn_Xjsj = findViewById(R.id.btn_xjsj); + + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.xsgzsblist_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + } + + public void initData() { + initNFC(); + initToolbar("选择设备状态", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + getDataInSqlite(); + setListData(); + Btn_Xjsj.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (xsjjhxzDataBeanList_sb.isEmpty()) { + showToast("你还没有下载巡检数据!"); + } else { + intent = new Intent(SxSbListActivity.this, SxgzActivity.class); + startActivity(intent); + finish(); + } + } + }); + } + + private void getDataInSqlite() { + xsjjhxzDataBeanList_sb.clear(); + xsjjhxzDataBeanList_sb.addAll(DataSupport.findAll(XSJJHXZDataBean.class)); + Set xsjjhxzDataBeanSet = new TreeSet<>((o1, o2) -> o1.getSbmc().compareTo(o2.getSbmc())); + xsjjhxzDataBeanSet.addAll(xsjjhxzDataBeanList_sb); + xsjjhxzDataBeanList_sb.clear(); + xsjjhxzDataBeanList_sb.addAll(xsjjhxzDataBeanSet); + } + + private void setListData() { + if (adapter == null) { + adapter = new CommonAdapter(context, R.layout.xsgzsblist_item, xsjjhxzDataBeanList_sb) { + @Override + protected void convert(ViewHolder viewHolder, XSJJHXZDataBean item, int position) { + viewHolder.setText(R.id.tv_qymc, item.getSbmc()); + if (item.getSBMCSTATE() == null) { + viewHolder.setText(R.id.tv_sbstate, " "); + } else { + viewHolder.setText(R.id.tv_sbstate, item.getSBMCSTATE() + ""); + } + + } + }; + + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, postion, l) -> { + pos = postion; + List datas = new ArrayList<>(); + datas.add("已运行"); + datas.add("已停用"); + datas.add("大小修"); + ListDialog dialog = new ListDialog(context, datas, (text, position) -> { + state = text; + switch (text) { + case "已运行": { + ContentValues values3 = new ContentValues(); + values3.put("checked", false); + values3.put("CJJG", ""); + values3.put("SBMCSTATE", text); + values3.put("SBMCSTATEVALUE", "5"); + int i = DataSupport.updateAll(XSJJHDataBean.class, values3, "sbmc = ?", xsjjhxzDataBeanList_sb.get(postion - 1).getSbmc()); + if (i != 0) { + showToast("修改设备状态成功"); + } else { + showToast("修改设备状态失败"); + } + break; + } + case "已停用": { + ContentValues values = new ContentValues(); + values.put("checked", true); + values.put("SBMCSTATEVALUE", "3"); + values.put("CJJG", text); + values.put("SBMCSTATE", text); + int i = DataSupport.updateAll(XSJJHDataBean.class, values, "sbmc = ? and TJXJZT = ? ", xsjjhxzDataBeanList_sb.get(postion - 1).getSbmc(), "1");//如果TJXJZT为1 则不需要打点 + if (i != 0) { + showToast("修改设备状态成功"); + } else { + showToast("修改设备状态失败"); + } + break; + } + case "大小修": { + ContentValues values2 = new ContentValues(); + values2.put("checked", true); + values2.put("SBMCSTATEVALUE", "4"); + values2.put("CJJG", text); + values2.put("SBMCSTATE", text); + int i = DataSupport.updateAll(XSJJHDataBean.class, values2, "sbmc = ?", xsjjhxzDataBeanList_sb.get(postion - 1).getSbmc()); + if (i != 0) { + showToast("修改设备状态成功"); + } else { + showToast("修改设备状态失败"); + } + break; + } + + } + ContentValues values2 = new ContentValues(); + switch (text) { + case "已停用": + values2.put("SBMCSTATE", text); + values2.put("SBMCSTATEVALUE", "3"); + break; + case "大小修": + values2.put("SBMCSTATE", text); + values2.put("SBMCSTATEVALUE", "4"); + break; + case "已运行": + values2.put("SBMCSTATE", text); + values2.put("SBMCSTATEVALUE", "5"); + break; + } + + int J = DataSupport.updateAll(XSJJHXZDataBean.class, values2, "sbmc = ? ", xsjjhxzDataBeanList_sb.get(postion - 1).getSbmc()); + if (J != 0) { + showToast("修改设备状态成功"); + } else { + showToast("修改设备状态失败"); + } + }); + dialog.setTvTitle("选择设备状态"); + dialog.show(); + dialog.setOnDismissListener(dialog1 -> { + if (pos != -1) { + xsjjhxzDataBeanList_sb.get(pos - 1).setSBMCSTATE(state); + adapter.notifyDataSetChanged(); +// SetxjSbModel setxjSbModel = new SetxjSbModel(); +// setxjSbModel.setSbId(infos.get(pos - 1).getSbmc()); +// setxjSbModel.setValue(state); +// setxjSbModel.setStatu(true); +// setSbModelList.add(setxjSbModel); + } + }); + }); + } else { + adapter.notifyDataSetChanged(); + } + + + } + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/SxgzActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/SxgzActivity.java new file mode 100755 index 0000000..622bba8 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/SxgzActivity.java @@ -0,0 +1,168 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.ContentValues; +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; +import com.rehome.bhdxj.DBModel.XSJJHDataBean; +import com.rehome.bhdxj.DBModel.XSJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.CommonAdapter; +import com.rehome.bhdxj.adapter.ViewHolder; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.weight.toastviewbymyself; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; +import static org.litepal.crud.DataSupport.where; + + +public class SxgzActivity extends BaseActivity3 implements View.OnClickListener { + + ListView lv; + TextView tvNodata; + private View headView; + private CommonAdapter adapter; + private List xsjjhxzDataBeanList = new ArrayList<>(); + private ArrayList xsjjhDataBeanArrayList = new ArrayList<>();//点检记录列表 + + @Override + public int getLayoutId() { + return R.layout.activity_xsgz; + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + break; + } + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.xsgz_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + } + + public void initData() { + initNFC(); + initToolbar("巡检工作(请使用NFC)", "", this); + getDataInSqlite(); + setListData(); + } + + + //加载数据库中已经下载的计划 + private void getDataInSqlite() { + xsjjhxzDataBeanList.clear(); + xsjjhxzDataBeanList.addAll(DataSupport.findAll(XSJJHXZDataBean.class)); + + } + + private void setListData() { + + if (adapter == null) { + adapter = new CommonAdapter(context, R.layout.xsgz_item, xsjjhxzDataBeanList) { + @Override + protected void convert(ViewHolder viewHolder, XSJJHXZDataBean item, int position) { + int checkedCount = 0; + List xsjjhdatabean = where("xsjjhxzDataBean_id = ?", item.getId() + "").find(XSJJHDataBean.class); + for (int i = 0; i < xsjjhdatabean.size(); i++) { + if (xsjjhdatabean.get(i).isChecked()) { + checkedCount++; + } + } + viewHolder.setText(R.id.tv_xh, item.getSN() + ""); + viewHolder.setText(R.id.tv_qymc, item.getQymc()); + viewHolder.setText(R.id.tv_djrw, checkedCount + "/" + xsjjhdatabean.size()); + int a = checkedCount; + int b = xsjjhdatabean.size(); + if (a == b) { + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#00CD00"));//已经检查完成绿色 + } else { + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#FF0000"));//未检查完成红色 + } + } + }; + + + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, postion, l) -> { + showToast("请使用NFC进行巡检"); + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(where("xsjjhxzDataBean_id = ?", xsjjhxzDataBeanList.get(postion - 1).getId() + "").find(XSJJHDataBean.class)); + if (xsjjhDataBeanArrayList.size() != 0) { + Bundle bundle = new Bundle(); + Intent intent = new Intent(SxgzActivity.this, XjYulActivity.class); + bundle.putParcelableArrayList("xsjjhDataBeanArrayList", xsjjhDataBeanArrayList); + bundle.putBoolean("edit", false); +// bundle.putBoolean("edit", true); +// if (xsjjhDataBeanArrayList.get(0).getSecond() != null) { +// if (xsjjhDataBeanArrayList.get(0).getSecond().equals("YES")) {//如果曾经扫描过二维码或者NFC进入到区域 则下次可以直接点击进入编辑 +// bundle.putBoolean("edit", true); +// } else { +// bundle.putBoolean("edit", false); +// } +// } + bundle.putInt(Contans.KEY_ITEM, 0); + bundle.putInt("itemposition", postion - 1); + bundle.putString("LX", "Click"); + bundle.putString("LXResult", "LXResult"); + bundle.putInt("from", 0); + intent.putExtras(bundle); + startActivity(intent); + } + }); + } else { + adapter.notifyDataSetChanged(); + } + } + + + //处理NFC的数据 + @Override + public void handleNfc(String result) { + super.handleNfc(result); + List xsjjhDataBeen = DataSupport.where("nfcbm = ?", result).find(XSJJHDataBean.class); + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(xsjjhDataBeen); + if (xsjjhDataBeen.size() == 0) { + toastviewbymyself.makeText(SxgzActivity.this, "无数据请联系管理员", Toast.LENGTH_SHORT).show(); + } else { + Bundle bundle3 = new Bundle(); + Intent intent = new Intent(SxgzActivity.this, XjYulActivity.class); + bundle3.putParcelableArrayList("xsjjhDataBeanArrayList", xsjjhDataBeanArrayList); + bundle3.putBoolean("edit", true); + bundle3.putInt(Contans.KEY_ITEM, 0); + bundle3.putInt("itemposition", 0); + bundle3.putString("LX", "NFC"); + bundle3.putString("LXResult", result); + bundle3.putInt("from", 0); + intent.putExtras(bundle3); + ContentValues values = new ContentValues(); + values.put("second", "YES"); + startActivity(intent); + } + } + + @Override + protected void onRestart() { + super.onRestart(); + getDataInSqlite(); + adapter.notifyDataSetChanged(); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XJCJFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XJCJFragment.java new file mode 100755 index 0000000..71c806c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XJCJFragment.java @@ -0,0 +1,226 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.annotation.SuppressLint; +import android.os.Bundle; +import android.text.method.ScrollingMovementMethod; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.rehome.bhdxj.DBModel.XSJJHDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.weight.ListDialog; +import java.util.Arrays; +import java.util.List; + + +public class XJCJFragment extends BaseFragment { + + + TextView tvBjmc; + TextView tvSbmc; + TextView tvZczt; + TextView tvXcnr; + TextView textView2; + EditText etJg; + TextView tvYjzj; + TextView tvZt; + Button xjetButton; + EditText etYcFxnr; + LinearLayout ycmsLl; + + + + private boolean isEdit; + private XSJJHDataBean info; + private int zj; + private int index; + private String writebleinfo; + private String MRNR; + + public static XJCJFragment newInstance(boolean b, XSJJHDataBean info, int zj, int index) { + Bundle bundle = new Bundle(); + bundle.putBoolean("edit", b); + bundle.putParcelable("info", info); + bundle.putInt("zj", zj); + bundle.putInt("index", index); + + + XJCJFragment fragment = new XJCJFragment(); + fragment.setArguments(bundle); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Bundle bundle = getArguments(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + info = bundle.getParcelable("info"); + zj = bundle.getInt("zj"); + index = bundle.getInt("index"); + } + } + + @Override + public int getContentViewId() { + return R.layout.fragment_xjcj; + } + + @Override + protected void initView() { + tvBjmc = view.findViewById(R.id.tv_bjmc); + tvSbmc = view.findViewById(R.id.tv_sbmc); + tvZczt = view.findViewById(R.id.tv_zczt); + tvXcnr = view.findViewById(R.id.tv_xcnr); + textView2 = view.findViewById(R.id.textView2); + etJg = view.findViewById(R.id.et_jg); + tvYjzj = view.findViewById(R.id.tv_yjzj); + tvZt = view.findViewById(R.id.tv_zt); + xjetButton = view.findViewById(R.id.xjet_button); + etYcFxnr = view.findViewById(R.id.et_yc_fxnr); + ycmsLl = view.findViewById(R.id.ycms_ll); + + etJg.setEnabled(isEdit); + xjetButton.setEnabled(isEdit); + updata(info, index, zj); + tvBjmc.setMovementMethod(ScrollingMovementMethod.getInstance()); + tvZczt.setMovementMethod(ScrollingMovementMethod.getInstance()); + tvXcnr.setMovementMethod(ScrollingMovementMethod.getInstance()); + tvSbmc.setMovementMethod(ScrollingMovementMethod.getInstance()); + } + + @Override + public void initData() { + xjetButton.setOnClickListener(v -> { + ListDialog dialog = new ListDialog(context, stringToList(MRNR), (text, position) -> { + xjetButton.setText(text); + etJg.setText(text); + if (text.equals("正常")){ + ycmsLl.setVisibility(View.GONE); + }else if (text.equals("异常")){ + ycmsLl.setVisibility(View.VISIBLE); + } + }); + dialog.show(); + }); + } + + + public void updateState(String value) { + etJg.setText(value); + xjetButton.setText(value); + } + + public void updatecheck(Boolean value) { + if (value) { + tvZt.setText("已检"); + } else { + tvZt.setText("未检"); + } + } + void updateFXNR(String value) { etYcFxnr.setText(value); } + + @SuppressLint("SetTextI18n") + public void updata(XSJJHDataBean info, int item, int size) { + tvBjmc.setText(info.getBJMC()); + tvSbmc.setText(info.getSb()); + + tvZczt.setText(info.getZczt()); + tvXcnr.setText(info.getXcnr()); + MRNR = info.getMRNR(); + tvZt.setText(info.isChecked() ? "已检" : "未检"); + tvYjzj.setText(item + "/" + size); + writebleinfo = info.getLRFS(); + if (info.getLRFS().equals("0")) { //当时编辑状态的是 不需要按钮 + xjetButton.setVisibility(View.GONE); + etJg.setVisibility(View.VISIBLE); + ycmsLl.setVisibility(View.GONE); + etYcFxnr.setText(""); + if (info.getCJJG() == null) { + etJg.setText(""); + } else { + switch (info.getCJJG()) { + case "已运行": + etJg.setText(""); + break; + case "大小修": + etJg.setText("大小修"); + break; + case "已停用": + etJg.setText("已停用"); + break; + case "": + etJg.setText(""); + break; + default: + etJg.setText(info.getCJJG()); + break; + } + } + } else if (info.getLRFS().equals("1")) { //不是编辑状态的时候 需要按钮点击弹出菜单 + etJg.setVisibility(View.GONE); + xjetButton.setVisibility(View.VISIBLE); + etYcFxnr.setText(""); + if (info.getCJJG() == null) { + xjetButton.setText("正常"); + etJg.setText("正常"); + ycmsLl.setVisibility(View.GONE); + } else { + switch (info.getCJJG()) { + case "已运行": + xjetButton.setText("正常"); + etJg.setText("正常"); + ycmsLl.setVisibility(View.GONE); + break; + case "大小修": + xjetButton.setText("大小修"); + etJg.setText("大小修"); + ycmsLl.setVisibility(View.GONE); + break; + case "已停用": + xjetButton.setText("已停用"); + etJg.setText("已停用"); + ycmsLl.setVisibility(View.GONE); + break; + case "异常": + ycmsLl.setVisibility(View.VISIBLE); + xjetButton.setText("异常"); + etJg.setText("异常"); + etYcFxnr.setText(info.getFxnr()); + break; + case "": + xjetButton.setText("正常"); + etJg.setText("正常"); + ycmsLl.setVisibility(View.GONE); + break; + default: + xjetButton.setText(info.getCJJG()); + etJg.setText(info.getCJJG()); + ycmsLl.setVisibility(View.GONE); + break; + } + } + } + } + + public String getCJJG() { return etJg.getText().toString().trim(); } + public String getYc_Fxnr() { return etYcFxnr.getText().toString().trim(); } + + public void getBlueToothData(String bluetoothdata) { + if (writebleinfo.equals("0")) { + etJg.setText(bluetoothdata); + } else if (writebleinfo.equals("1")) { + } + } + + private List stringToList(String strs) { + String[] str = strs.split(";"); + return Arrays.asList(str); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XjMainActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XjMainActivity.java new file mode 100755 index 0000000..5fca7dd --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XjMainActivity.java @@ -0,0 +1,73 @@ +package com.rehome.bhdxj.activity.sbxj; + +import com.google.android.material.tabs.TabLayout; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.activity.sbxdj.FragmentAdapter; +import com.rehome.bhdxj.adapter.MyFragmentAdapter; +import com.rehome.bhdxj.base.BaseActivity; + +import java.util.ArrayList; +import java.util.List; + +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; + +/** + * 设备巡点检管理--现场巡检 + */ +public class XjMainActivity extends BaseActivity { + + + private DrawerLayout mDrawerLayout; + private ViewPager mViewPager; + private TabLayout mTabLayout; + private List fragments = new ArrayList<>(); + private List list; + private MyFragmentAdapter adapter; + + private XzxsjhFragment xzxsjhfragment; + private ScxsjhFragment scxsjhfragmet; + + @Override + public int getContentViewID() { + return R.layout.activity_mainxj; + } + + protected void initView() { + + } + + + public void initData() { + setTitle("巡检数据管理"); + mViewPager = findViewById(R.id.viewpager); + setBack(); + xzxsjhfragment = XzxsjhFragment.newInstance(); + scxsjhfragmet = ScxsjhFragment.newInstance(); + list = new ArrayList<>(); + list.add(xzxsjhfragment); + list.add(scxsjhfragmet); + adapter = new MyFragmentAdapter(getSupportFragmentManager(), list); + initViewPager(); + + } + + private void initViewPager() { + mTabLayout = findViewById(R.id.tabs); + List titles = new ArrayList<>(); + titles.add("数据下载"); + titles.add("数据上传"); + for (int i = 0; i < titles.size(); i++) { + mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(i))); + } + fragments.add(new XzxsjhFragment()); + fragments.add(new ScxsjhFragment()); + FragmentAdapter mFragmentAdapteradapter = new FragmentAdapter(getSupportFragmentManager(), fragments, titles); + mViewPager.setAdapter(mFragmentAdapteradapter); + mTabLayout.setupWithViewPager(mViewPager); + mTabLayout.setTabsFromPagerAdapter(mFragmentAdapteradapter); + } + + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XjSbListActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XjSbListActivity.java new file mode 100755 index 0000000..6f09ced --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XjSbListActivity.java @@ -0,0 +1,257 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.ContentValues; +import android.content.DialogInterface; +import android.content.Intent; +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.XSJJHDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.CommonAdapter; +import com.rehome.bhdxj.adapter.ViewHolder; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.bean.SetxjSbModel; +import com.rehome.bhdxj.bean.sbInfo; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.weight.ListDialog; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * 设备巡点检管理-巡检设备列表 + */ +public class XjSbListActivity extends BaseActivity3 implements View.OnClickListener { + + ListView lv; + TextView tvNodata; + private View headView; + private CommonAdapter adapter; + private ArrayList xsjjhDataBeanArrayList = new ArrayList<>(); + private boolean isEdit = false; + private int item; + private List infos = new ArrayList<>(); + Intent intent; + private int pos = -1;//点击的设备item + private String state, LX, LXResult; + private int itemposition; + private int from;//0-来自工作页面;1-采集页面 + + private ArrayList setSbModelList = new ArrayList<>(); + + + @Override + public int getLayoutId() { + return R.layout.activity_xjsblist; + } + + @Override + public void onClick(View v) { + if(v.getId()==R.id.iv_left){ + if (from == 0) { //工作页面 + finish(); + } else if (from == 1) { //采集页面 + Intent intent = new Intent(XjSbListActivity.this, SbxjcjsbActivity.class); + intent.putParcelableArrayListExtra("setSbModelList", setSbModelList); + setResult(RESULT_OK, intent); + finish(); + } + } + if(v.getId()==R.id.tv_right){ + intent = new Intent(XjSbListActivity.this, XjYulActivity.class); + Bundle bundle2 = new Bundle(); + bundle2.putParcelableArrayList("xsjjhDataBeanArrayList", xsjjhDataBeanArrayList); + bundle2.putBoolean("edit", isEdit); + bundle2.putInt(Contans.KEY_ITEM, 0); + bundle2.putInt("itemposition", itemposition); + bundle2.putString("LX", LX); + bundle2.putString("LXResult", LXResult); + intent.putExtras(bundle2); + startActivity(intent); + finish(); + } + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.djajhsb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + } + + public void initData() { + + initNFC(); + Bundle bundle = XjSbListActivity.this.getIntent().getExtras(); + + xsjjhDataBeanArrayList = new ArrayList<>(); + + xsjjhDataBeanArrayList = bundle.getParcelableArrayList("xsjjhDataBeanArrayList"); + isEdit = bundle.getBoolean("edit"); + item = bundle.getInt(Contans.KEY_ITEM); + itemposition = bundle.getInt("itemposition"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + from = bundle.getInt("from"); + + + if (from == 0) { + initToolbar("当前设备", "巡检内容", this); + } else if (from == 1) { + initToolbar("当前设备", "", this); + } + setListData(); + + + } + + + + private void setListData() { + + Map maps = new HashMap(); + for (XSJJHDataBean rw : xsjjhDataBeanArrayList) { + sbInfo sbinfo = new sbInfo(); + sbinfo.setSbmc(rw.getSb()); + sbinfo.setSbid(rw.getSbid()); + sbinfo.setSbstate(rw.getSBMCSTATE()); + String Key = rw.getSbid() + "_" + rw.getSb(); + sbInfo data = maps.get(Key); + if (data == null) { + maps.put(Key, sbinfo); + } + } + infos.addAll(maps.values()); + + if (adapter == null) { + adapter = new CommonAdapter(context, R.layout.djajhsb_item, infos) { + @Override + protected void convert(ViewHolder viewHolder, sbInfo item, int position) { + viewHolder.setText(R.id.tv_sbmc, item.getSbmc() + ""); + if (item.getSbstate() == null) { + viewHolder.setText(R.id.tv_sbstate, " "); + } else { + viewHolder.setText(R.id.tv_sbstate, item.getSbstate() + ""); + } + + + + } + }; + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + + if (isEdit) { + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView adapterView, View view, final int postion, long l) { + pos = postion; + + List datas = new ArrayList(); + datas.add("已停用"); + datas.add("大小修"); + ListDialog dialog = new ListDialog(context, datas, new ListDialog.ListDialogListener() { + @Override + public void selectText(String text, int position) { + state = text; + ContentValues values = new ContentValues(); + + values.put("CJJG", text); + + values.put("SBMCSTATE", text); + + if (text.equals("已停用")) { + + values.put("checked", true); + + values.put("SBMCSTATEVALUE", "3"); + + } else if (text.equals("大小修")) { + + values.put("checked", true); + + values.put("SBMCSTATEVALUE", "4"); + + } + + int i = DataSupport.updateAll(XSJJHDataBean.class, values, "sbid = ? ", infos.get(postion - 1).getSbid()); + + if (i != 0) { + showToast("修改设备状态成功"); + } else { + showToast("修改设备状态失败"); + } + + } + + }); + dialog.setTvTitle("选择设备状态"); + dialog.show(); + + dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + if (pos != -1) { + infos.get(pos - 1).setSbstate(state); + adapter.notifyDataSetChanged(); + + SetxjSbModel setxjSbModel = new SetxjSbModel(); + setxjSbModel.setSbId(infos.get(pos - 1).getSbid()); + setxjSbModel.setValue(state); + setxjSbModel.setStatu(true); + setSbModelList.add(setxjSbModel); + } + } + }); + + + } + }); + + } else { + showToast("需要扫描二维码或者贴近NFC才能进入"); + } + } else { + adapter.notifyDataSetChanged(); + } + } + + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + + if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { + if (from == 0) {//工作页面 + finish(); + } else if (from == 1) {//采集页面 + Intent intent = new Intent(XjSbListActivity.this, SbxjcjsbActivity.class); + intent.putParcelableArrayListExtra("setSbModelList", setSbModelList); + setResult(RESULT_OK, intent); + finish(); + } + return true; + } + return super.onKeyDown(keyCode, event); + } + + @Override + protected void onRestart() { + super.onRestart(); + adapter.notifyDataSetChanged(); + } + + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XjYulActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XjYulActivity.java new file mode 100755 index 0000000..4f885af --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XjYulActivity.java @@ -0,0 +1,186 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; + +import com.rehome.bhdxj.DBModel.XSJJHDataBean; +import com.rehome.bhdxj.DBModel.XSJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.DlbAdapter; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.bean.DlbInfo; +import com.rehome.bhdxj.bean.SetxjSbModel; +import com.rehome.bhdxj.contans.Contans; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; + + +import static com.rehome.bhdxj.activity.sbxdj.SbxdjcjsbActivity.Req; +import static org.litepal.crud.DataSupport.where; + +public class XjYulActivity extends BaseActivity { + + ListView lv; + private boolean isEdit = true; + private int item; + private ArrayList xsjjhxzDataBeanArrayList = new ArrayList<>();//工作列表 + private ArrayList xsjjhDataBeanArrayList = new ArrayList<>(); + private List infos = new ArrayList<>(); + private View headView; + private DlbAdapter adapter; + private int itemposition; + private String LX, LXResult; + private ArrayList setxjSbModelArrayList; + + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Contans.ACTION_YULONE.equals(action)) { //更新设备点检页面返回时编辑的item内容 + int position = intent.getIntExtra(Contans.KEY_POSITION, -1); + String name = intent.getStringExtra(Contans.KEY_NAME); + DlbInfo dlbInfo = infos.get(position); + dlbInfo.setCjjg(name); + dlbInfo.setStatu(true); + infos.set(position, dlbInfo); + XSJJHDataBean xsjjhDataBean = xsjjhDataBeanArrayList.get(position); + xsjjhDataBean.setChecked(true); + xsjjhDataBean.setCJJG(name); + xsjjhDataBeanArrayList.set(position, xsjjhDataBean); + } + + } + }; + + @Override + public int getContentViewID() { + return R.layout.activity_yul; + } + + @Override + protected void initView() { + lv = findViewById(R.id.lv); + setBack(); + setTitle("浏览巡检记录"); + headView = View.inflate(context, R.layout.dlb_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + + } + + @Override + public void initData() { + + Bundle bundle = getIntent().getExtras(); + isEdit = bundle.getBoolean("edit"); + item = bundle.getInt(Contans.KEY_ITEM); + itemposition = bundle.getInt("itemposition"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + searchdata(); + setListAdapter(); + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_YULONE); + registerReceiver(myReceiver, filter); + } + + private void searchdata() { + switch (LX) { + case "Click": + xsjjhxzDataBeanArrayList.clear(); + xsjjhxzDataBeanArrayList.addAll(DataSupport.findAll(XSJJHXZDataBean.class)); //获取本地所有的工作列表数据 + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(where("xsjjhxzDataBean_id = ?", xsjjhxzDataBeanArrayList.get(itemposition).getId() + "").find(XSJJHDataBean.class)); //获取当前点击的工作栏对应的点检记录列表 + break; + case "NFC": { + List xsjjhDataBeen = DataSupport.where("nfcbm = ?", LXResult).find(XSJJHDataBean.class); + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(xsjjhDataBeen); + break; + } + } + } + + private void setListAdapter() { + for (XSJJHDataBean rw : xsjjhDataBeanArrayList) { + DlbInfo info = new DlbInfo(); + info.setSbid(rw.getSbid()); + info.setCjjg(rw.getCJJG()); + info.setDian(rw.getSb() + "--" + rw.getBJMC()); + info.setStatu(rw.isChecked()); + infos.add(info); + } + adapter = new DlbAdapter(context, infos); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((parent, view, position, id) -> { + Intent intent = new Intent(XjYulActivity.this, SbxjcjsbActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList("xsjjhDataBeanArrayList", xsjjhDataBeanArrayList); + bundle.putBoolean("edit", isEdit); + bundle.putInt(Contans.KEY_ITEM, position - 1); + bundle.putInt("itemposition", itemposition); + bundle.putString("LX", LX); + bundle.putString("LXResult", LXResult); + intent.putExtras(bundle); + startActivityForResult(intent, Req); + finish(); + }); + } + + + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) return; + if (data != null) { + setxjSbModelArrayList = data.getParcelableArrayListExtra("setSbModelList"); + if (setxjSbModelArrayList == null) { + + } else { + for (int i = 0; i < setxjSbModelArrayList.size(); i++) { + for (int j = 0; j < infos.size(); j++) { + + if (infos.get(j).getSbid().equals(setxjSbModelArrayList.get(i).getSbId())) + + infos.get(j).setCjjg(setxjSbModelArrayList.get(i).getValue()); + +// infos.get(j).setStatu(setSbModelList.get(i).getStatu()); + + } + } + adapter.notifyDataSetChanged(); + } + adapter.notifyDataSetChanged(); + + } + //获取返回时的数据 + + + } + + @Override + protected void onResume() { + super.onResume(); + searchdata(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onRestart() { + super.onRestart(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + unregisterReceiver(myReceiver); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XsBackLogActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XsBackLogActivity.java new file mode 100755 index 0000000..f029522 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XsBackLogActivity.java @@ -0,0 +1,168 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.util.Log; +import android.widget.ListView; +import com.rehome.bhdxj.DBModel.Xjjh; +import com.rehome.bhdxj.DBModel.XjjhList; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.NohttpUtils; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; +import org.litepal.crud.DataSupport; +import java.util.List; + +import static com.rehome.bhdxj.utils.GsonUtils.GsonToBean; + +/** + * 待办任务 + */ +public class XsBackLogActivity extends BaseActivity { + + ListView lv; + + @Override + public int getContentViewID() { + return R.layout.activity_xs_back_log; + } + +// private List datas; + +// private XsjhListAdapter adapter; + + @Override + protected void initView() { + lv = findViewById(R.id.lv); + setTitle("待办任务"); + setBack(); +// requestDatas(); + +// datas = new ArrayList<>(); + } + + private void requestDatas() { + + +// final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); +// +// requset.setDefineRequestBodyForJson(createJson()); +// +// NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { +// @Override +// public void onSucceed(int what, Response response) { +// +// try { +// XsJhListBean xsJhListBean = GsonUtils.GsonToBean(response.get(), XsJhListBean.class); +// if (xsJhListBean != null) { +// if (xsJhListBean.getState() == 1) { +//// showToast(xsJhListBean.getMsg()); +// datas.clear(); +// datas.addAll(xsJhListBean.getData()); +// setAdapter(); +// } else { +// showToast(xsJhListBean.getMsg()); +// datas.clear(); +// setAdapter(); +// } +// } else { +// showToast(R.string.data_error); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// +// @Override +// public void onFailed(int what, Response response) { +// +// } +// }); + + + final Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + + requestxs.setDefineRequestBodyForJson(createJson()); + + NohttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + Log.e("Data", response.get()); + + XjjhList list = GsonToBean(response.get(), XjjhList.class); + + if (list != null) { + + if (list.getState().equals("1")) { + + List xjjhs = list.getData();//服务器数据 + + DataSupport.deleteAll(Xjjh.class, "download = 0"); + + for (Xjjh xjjh : xjjhs) { + + List dbxjjh = DataSupport.where("zxid = ? and download = ? ", xjjh.getZxid(), "1").find(Xjjh.class); + + if (dbxjjh.size() == 0) { + xjjh.save(); + } + } + } else { + + DataSupport.deleteAll(Xjjh.class, "download = 0"); + } + + + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private void setAdapter() { + +// if (adapter == null) { +// adapter = new XsjhListAdapter(context, datas); +// +// lv.setAdapter(adapter); +// +// lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { +// @Override +// public void onItemClick(AdapterView parent, View view, int position, long id) { +// +// Intent intent = new Intent(XsBackLogActivity.this, XscbqyActivity.class); +// intent.putExtra(Contans.KEY_XSCBJH, datas.get(position)); +// startActivity(intent); +// } +// }); +// +// } else { +// adapter.notifyDataSetChanged(); +// } + } + + private String createJson() { +// XsRequestInfo info = new XsRequestInfo(); +// info.setAction("XSCB_ZXJL_GET"); +// info.setZymc(Contans.YXCB_ZY_ID); +// info.setZc((String) SPUtils.get(context, Contans.BZBH, "")); + String json = ""; + return json; + + + } + + @Override + protected void onRestart() { + super.onRestart(); + requestDatas(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XsHistoryActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XsHistoryActivity.java new file mode 100755 index 0000000..d19f543 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XsHistoryActivity.java @@ -0,0 +1,145 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.Intent; +import android.view.View; +import android.widget.ExpandableListView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.XsHistoryExpandableListAdapter; +import com.rehome.bhdxj.bean.XsHistoryListBean; +import com.rehome.bhdxj.bean.XsJhListBean; +import com.rehome.bhdxj.bean.XsRequestInfo; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.NohttpUtils; +import com.rehome.bhdxj.utils.SPUtils; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; +import java.util.ArrayList; +import java.util.List; + +/** + * 历史抄表 + */ +public class XsHistoryActivity extends BaseActivity { + + ExpandableListView elv; + + private List datas; + + + private XsHistoryExpandableListAdapter adapter; + + @Override + public int getContentViewID() { + return R.layout.activity_xs_history; + } + + @Override + protected void initView() { + elv = findViewById(R.id.elv); + + setTitle("历史抄表"); + setBack(); + + datas = new ArrayList<>(); + requestDatas(); + + } + + private void requestDatas() { + + final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod. + POST); + + requset.setDefineRequestBodyForJson(createJson()); + + NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + + try { + XsHistoryListBean xsJhListBean = GsonUtils.GsonToBean(response.get(), XsHistoryListBean.class); + if (xsJhListBean != null) { + if (xsJhListBean.getState() == 1) { + datas.clear(); + datas.addAll(xsJhListBean.getData()); + setAdapter(); + } else { + showToast(xsJhListBean.getMsg()); + datas.clear(); + setAdapter(); + } + } else { + showToast(R.string.data_error); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private void setAdapter() { + + if (adapter == null) { + adapter = new XsHistoryExpandableListAdapter(context, datas); + elv.setAdapter(adapter); + elv.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { + @Override + public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { + + + XsHistoryListBean.DataBeanX.DataBean jh = datas.get(groupPosition).getData().get(childPosition); + + + XsJhListBean.DataBean xsjh = new XsJhListBean.DataBean(); + + + xsjh.setZxid(jh.getZxid()); + xsjh.setJhmc(jh.getJhmc()); + xsjh.setJhlx(jh.getJhlx()); + xsjh.setScsj(jh.getScsj()); + + + Intent intent = new Intent(XsHistoryActivity.this, XscbqyActivity.class); + intent.putExtra(Contans.KEY_XSCBJH, xsjh); + intent.putExtra("QX", datas.get(groupPosition).getXgqx()); + intent.putExtra(Contans.KEY_XS_HISTORY, true); + startActivity(intent); + + return true; + } + }); + + } else { + adapter.notifyDataSetChanged(); + } + } + + private String createJson() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("XSCB_BBGL_GET"); + info.setZc((String) SPUtils.get(context, Contans.BZBH, "")); + info.setRqts("4"); + info.setZymc(Contans.YXCB_ZY_ID); + info.setYhid((String) SPUtils.get(context, Contans.USERID, ""));//抄表人 + String json = GsonUtils.GsonString(info); + + return json; + } + + @Override + protected void onRestart() { + super.onRestart(); + requestDatas(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbglActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbglActivity.java new file mode 100755 index 0000000..d5033bf --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbglActivity.java @@ -0,0 +1,150 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.view.WindowManager; +import android.widget.GridView; +import com.rehome.bhdxj.DBModel.Xjjh; +import com.rehome.bhdxj.DBModel.XjjhList; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.GridViewAdapter; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.bean.GridViewBean; +import com.rehome.bhdxj.bean.XsRequestInfo; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.NohttpUtils; +import com.rehome.bhdxj.utils.SPUtils; +import com.rehome.bhdxj.utils.StatusBarUtil; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; +import static com.rehome.bhdxj.utils.GsonUtils.GsonToBean; + +/** + * 巡视抄表管理 + */ +public class XscbglActivity extends BaseActivity { + + GridView gv; + + private String[] str = {"巡检任务", "巡检工作","燃料周期详情"}; + private int[] imageId = {R.mipmap.icon_xs1, R.mipmap.icon6,R.mipmap.icon8}; + private int[] colors = {R.drawable.radius_b1, R.drawable.radius_a4,R.drawable.radius_c1}; + private GridViewAdapter adapter; + + @Override + public int getContentViewID() { + return R.layout.activity_xscbgl; + } + + @Override + protected void initView() { + + gv = findViewById(R.id.gv); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); + StatusBarUtil.transparencyBar(XscbglActivity.this); + mToolbar.setBackgroundColor(Color.parseColor("#00000000")); + setTitle("设备巡检"); + setBack(); + requestDatas(); + + adapter = new GridViewAdapter(this, getGridViewData(), new ArrayList(), true); + gv.setSelector(new ColorDrawable(Color.TRANSPARENT)); + gv.setAdapter(adapter); + gv.setOnItemClickListener((adapterView, view, i, l) -> { + Intent intent = null; + switch (i) { + case 0: + intent = new Intent(XscbglActivity.this, XjMainActivity.class); + break; + case 1: + intent = new Intent(XscbglActivity.this, SxSbListActivity.class); + break; + case 2: + intent = new Intent(XscbglActivity.this, YxrlinfoActivity.class); + break; + } + if (intent != null) { + startActivity(intent); + } + }); + } + + private List getGridViewData() { + + List datas = new ArrayList<>(); + for (int i = 0; i < str.length; i++) { + GridViewBean bean = new GridViewBean(); + bean.setTitle(str[i]); + bean.setBackgroup(colors[i]); + bean.setImageid(imageId[i]); + bean.setShow(false); + datas.add(bean); + } + return datas; + } + + private void requestDatas() { //下载巡检数据 + + final Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + + requestxs.setDefineRequestBodyForJson(createJson()); + + NohttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + + XjjhList list = GsonToBean(response.get(), XjjhList.class); + + if (list != null) { + + if (list.getState().equals("1")) { + + List xjjhs = list.getData();//服务器数据 + + DataSupport.deleteAll(Xjjh.class, "download = 0"); + + for (Xjjh xjjh : xjjhs) { + + List dbxjjh = DataSupport.where("zxid = ? and download = ? ", xjjh.getZxid(), "1").find(Xjjh.class); + + if (dbxjjh.size() == 0) { + + xjjh.save(); + } + } + + } else { + + DataSupport.deleteAll(Xjjh.class, "download = 0"); + } + + + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private String createJson() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("XSCB_ZXJL_GET"); + info.setZymc(Contans.YXCB_ZY_ID); + info.setZc((String) SPUtils.get(context, Contans.BZBH, "")); + String json = GsonUtils.GsonString(info); + return json; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbqyActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbqyActivity.java new file mode 100755 index 0000000..e44ef66 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbqyActivity.java @@ -0,0 +1,266 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.XsjhqyAdapter; +import com.rehome.bhdxj.base.MipcaActivityCapture; +import com.rehome.bhdxj.bean.XsJhListBean; +import com.rehome.bhdxj.bean.XsRequestInfo; +import com.rehome.bhdxj.bean.XsjhQyBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.NohttpUtils; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; + +import java.util.ArrayList; +import java.util.List; + + +/** + * 巡视工作区域列表 + */ +public class XscbqyActivity extends BaseActivity { + + ListView lv; + private XsJhListBean.DataBean xscbjh; + + private List qys; + + private XsjhqyAdapter adapter; + + private boolean isHistory; + + private String QX; + + private boolean isSHOW; + + @Override + public int getContentViewID() { + return R.layout.activity_xscbqy; + } + + @Override + protected void initView() { + lv = findViewById(R.id.lv); + xscbjh = (XsJhListBean.DataBean) getIntent().getExtras().get(Contans.KEY_XSCBJH); + isHistory = getIntent().getExtras().getBoolean(Contans.KEY_XS_HISTORY, false); + + if (QX == null){ + + }else { + + QX = getIntent().getExtras().getString("QX");//如果权限为1 可以修改历史记录 + + isSHOW = "0".equals(QX); + + + } + + + + + qys = new ArrayList<>(); + requestDatas(); + setTitle(xscbjh.getJhmc()); + setBack(); + if (!isHistory) { + initNFC(); + } + } + + private void requestDatas() { + + final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + + requset.setDefineRequestBodyForJson(createJson()); + + NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + + try { + String json = response.get(); + + XsjhQyBean xsjhQyBean = GsonUtils.GsonToBean(response.get(), XsjhQyBean.class); + + if (xsjhQyBean != null) { + + if (xsjhQyBean.getState() == 1) { + qys.clear(); + qys.addAll(xsjhQyBean.getData()); + setAdapter(); + } + } else { + showToast(R.string.data_error); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private void setAdapter() { + + if (adapter == null) { + adapter = new XsjhqyAdapter(context, qys); + lv.setAdapter(adapter); + + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + + /** + * 如果是历史,直接跳转 + */ + if (isHistory) { + + if (xscbjh.getJhlx().equals(XscbqyWorkActivity.JHLX_XS)) { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkXsActivity.class); + intent.putExtra(Contans.KEY_QY, qys.get(position)); + intent.putExtra(Contans.KEY_EWM_OR_NFC, "扫描条码"); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); + intent.putExtra(Contans.KEY_IS_HIS, isSHOW); + startActivity(intent); + } else { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkActivity.class); + intent.putExtra(Contans.KEY_QY, qys.get(position)); + intent.putExtra(Contans.KEY_EWM_OR_NFC, "扫描条码"); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); + intent.putExtra(Contans.KEY_IS_HIS, isSHOW); + startActivity(intent); + } + + } else { + + /** + * 如果二维码和NFC标签都为空,直接跳转 + */ + if (TextUtils.isEmpty(qys.get(position).getNfcbm()) && TextUtils.isEmpty(qys.get(position).getTxm())) { + + if (xscbjh.getJhlx().equals(XscbqyWorkActivity.JHLX_XS)) { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkXsActivity.class); + intent.putExtra(Contans.KEY_QY, qys.get(position)); + intent.putExtra(Contans.KEY_EWM_OR_NFC, " "); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); + intent.putExtra(Contans.KEY_IS_HIS, false); + startActivity(intent); + } else { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkActivity.class); + intent.putExtra(Contans.KEY_QY, qys.get(position)); + intent.putExtra(Contans.KEY_EWM_OR_NFC, " "); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); + intent.putExtra(Contans.KEY_IS_HIS, false); + startActivity(intent); + } + + } else { + Intent intent = new Intent(XscbqyActivity.this, MipcaActivityCapture.class); + startActivityForResult(intent, 1); + } + } + } + }); + + } else { + adapter.notifyDataSetChanged(); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + switch (requestCode) { + case 1: + if (resultCode == RESULT_OK) { + Bundle bundle = data.getExtras(); + String ewm = bundle.getString("result"); + for (XsjhQyBean.DataBeanX qy : qys) { + if (ewm.equals(qy.getTxm())) { + + if (xscbjh.getJhlx().equals(XscbqyWorkActivity.JHLX_XS)) { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkXsActivity.class); + intent.putExtra(Contans.KEY_QY, qy); + intent.putExtra(Contans.KEY_EWM_OR_NFC, "扫描条码"); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); +// intent.putExtra(Contans.KEY_IS_HIS, qy.getSczt().equals("1") ? true : false); + intent.putExtra(Contans.KEY_IS_HIS, false); + startActivity(intent); + } else { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkActivity.class); + intent.putExtra(Contans.KEY_QY, qy); + intent.putExtra(Contans.KEY_EWM_OR_NFC, "扫描条码"); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); +// intent.putExtra(Contans.KEY_IS_HIS, qy.getSczt().equals("1") ? true : false); + intent.putExtra(Contans.KEY_IS_HIS, false); + startActivity(intent); + } + return; + } + } + } + break; + } + } + + private String createJson() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("XSCB_ZXJHD_GET"); + info.setZxid(xscbjh.getZxid()); + info.setSis(isHistory ? "0" : "1"); + info.setJhid(xscbjh.getJhid()); + String json = GsonUtils.GsonString(info); + return json; + } + + @Override + public void handleNfc(String result) { + super.handleNfc(result); + + for (XsjhQyBean.DataBeanX qy : qys) { + if (result.equals(qy.getNfcbm())) { + if (xscbjh.getJhlx().equals(XscbqyWorkActivity.JHLX_XS)) { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkXsActivity.class); + intent.putExtra(Contans.KEY_QY, qy); + intent.putExtra(Contans.KEY_EWM_OR_NFC, "NFC标签"); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); +// intent.putExtra(Contans.KEY_IS_HIS, qy.getSczt().equals("1") ? true : false); + intent.putExtra(Contans.KEY_IS_HIS, false); + startActivity(intent); + } else { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkActivity.class); + intent.putExtra(Contans.KEY_QY, qy); + intent.putExtra(Contans.KEY_EWM_OR_NFC, "NFC标签"); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); +// intent.putExtra(Contans.KEY_IS_HIS, qy.getSczt().equals("1") ? true : false); + intent.putExtra(Contans.KEY_IS_HIS, false); + startActivity(intent); + } + return; + } + } + } + + @Override + protected void onRestart() { + super.onRestart(); + requestDatas(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbqyWorkActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbqyWorkActivity.java new file mode 100755 index 0000000..4f1d8ed --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbqyWorkActivity.java @@ -0,0 +1,226 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.XsjhqyWorkCbAdapter; +import com.rehome.bhdxj.adapter.XsjhqyWorkDjAdapter; +import com.rehome.bhdxj.bean.XsResultBaseBean; +import com.rehome.bhdxj.bean.XsSaveDataInfo; +import com.rehome.bhdxj.bean.XsjhQyBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.NohttpUtils; +import com.rehome.bhdxj.utils.SPUtils; +import com.rehome.bhdxj.weight.AutoListView; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 抄表/点检 + */ +public class XscbqyWorkActivity extends BaseActivity { + + public static final String JHLX_XS = "1";//巡视 + public static final String JHLX_CB = "2";//抄表 + public static final String JHLX_DJ = "3";//定检 + + AutoListView lv; + Button btnCommit; + + private XsjhQyBean.DataBeanX qy; + + private String jhlx; + + private List qyds; + + private XsjhqyWorkDjAdapter adapterDj; + + private XsjhqyWorkCbAdapter adapterCb; + + private boolean isHis; + + private String smfx; + + @Override + public int getContentViewID() { + return R.layout.activity_xscbqy_work; + } + + @Override + protected void initView() { + + lv = findViewById(R.id.lv); + btnCommit = findViewById(R.id.btn_commit); + jhlx = (String) getIntent().getExtras().get(Contans.KEY_JHLX); + + qy = (XsjhQyBean.DataBeanX) getIntent().getExtras().get(Contans.KEY_QY); + smfx = getIntent().getExtras().getString(Contans.KEY_EWM_OR_NFC); + isHis = getIntent().getExtras().getBoolean(Contans.KEY_IS_HIS, false); + + if (isHis) { + btnCommit.setVisibility(View.GONE); + } + + btnCommit.setVisibility(isHis ? View.GONE : View.VISIBLE); + + qyds = new ArrayList<>(); + + if (qy != null) { + setTitle(qy.getQymc()); + qyds.addAll(qy.getData()); + + switch (jhlx) { + case JHLX_CB: + setAdapterCb(); + break; + case JHLX_DJ: + setAdapterDj(); + break; + } + } + setBack(); + + btnCommit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setMessage("你确定要提交吗?"); + builder.setTitle("提示"); + builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + saveData(); + } + }); + builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + } + }); + builder.create(); + builder.show(); + } + }); + } + + private void setAdapterDj() { + + if (adapterDj == null) { + adapterDj = new XsjhqyWorkDjAdapter(context, qyds, isHis); + View headView = View.inflate(context, R.layout.qy_work_dj_item, null); + headView.findViewById(R.id.tv_input).setVisibility(View.VISIBLE); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapterDj); + } else { + adapterDj.notifyDataSetChanged(); + } + } + + private void setAdapterCb() { + + if (adapterCb == null) { + adapterCb = new XsjhqyWorkCbAdapter(context, qyds, isHis); + View headView = View.inflate(context, R.layout.qy_work_cb_item, null); + headView.findViewById(R.id.tv_input).setVisibility(View.VISIBLE); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapterCb); + } else { + adapterCb.notifyDataSetChanged(); + } + } + + private void saveData() { + + + final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + + requset.setDefineRequestBodyForJson(createJson()); + + NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + + try { + XsResultBaseBean xsResultBaseBean = GsonUtils.GsonToBean(response.get(), XsResultBaseBean.class); + if (xsResultBaseBean != null) { + showToast(xsResultBaseBean.getMsg()); + if (xsResultBaseBean.getState() == 1) { + finish(); + } + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private String createJson() { + + XsSaveDataInfo info = new XsSaveDataInfo(); + info.setAction("XSCB_ZXJHD_SET"); + info.setZxid(qy.getZxid()); + info.setQybh(qy.getQybh()); + + List dataBeanList = new ArrayList<>(); + for (XsjhQyBean.DataBeanX.DataBean dataBean : qyds) { + + XsSaveDataInfo.DataBean bean = new XsSaveDataInfo.DataBean(); + bean.setDbh(dataBean.getDbh());//点编号 + bean.setCbsz(dataBean.getCbsz());//抄表数值 + bean.setDjsj(dataBean.getDjsj());//点检时间 + bean.setScid(dataBean.getScid()); + + + if (!TextUtils.isEmpty(dataBean.getCbsz())) { + if (TextUtils.isEmpty(dataBean.getDjsj())) { + bean.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + } + } else { + bean.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + if (!TextUtils.isEmpty(dataBean.getSisData())) { + bean.setCbsz(dataBean.getSisData()); + } + } + + + bean.setZcmc((String) SPUtils.get(context, Contans.BZBH, ""));//班组 + + bean.setCbr((String) SPUtils.get(context, Contans.USERID, ""));//抄表人 + + bean.setFxnr("");//分析内容 + bean.setSmfx(smfx);//扫描方式 + dataBeanList.add(bean); + } + + info.setData(dataBeanList); + + String json = GsonUtils.GsonString(info); + +// Log.e("#########",json); + + return json; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbqyWorkXsActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbqyWorkXsActivity.java new file mode 100755 index 0000000..10584c8 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XscbqyWorkXsActivity.java @@ -0,0 +1,205 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.text.TextUtils; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.XsjhqyWorkXsAdapter; +import com.rehome.bhdxj.bean.XsResultBaseBean; +import com.rehome.bhdxj.bean.XsSaveDataInfo; +import com.rehome.bhdxj.bean.XsjhQyBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.NohttpUtils; +import com.rehome.bhdxj.utils.SPUtils; +import com.rehome.bhdxj.weight.AutoListView; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 巡视 + */ +public class XscbqyWorkXsActivity extends BaseActivity { + + private static final String JHLX_XS = "1";//巡视 + private static final String JHLX_CB = "2";//抄表 + private static final String JHLX_DJ = "3";//定检 + + AutoListView lv; + Button btnCommit; + + private XsjhQyBean.DataBeanX qy; + + private String jhlx; + + private List qyds; + private XsjhqyWorkXsAdapter adapterXs; + + private boolean isHis; + + private String smfx; + + @Override + public int getContentViewID() { + return R.layout.activity_xscbqy_work; + } + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void initView() { + + lv = findViewById(R.id.lv); + btnCommit = findViewById(R.id.btn_commit); + jhlx = (String) getIntent().getExtras().get(Contans.KEY_JHLX); + + qy = (XsjhQyBean.DataBeanX) getIntent().getExtras().get(Contans.KEY_QY); + smfx = getIntent().getExtras().getString(Contans.KEY_EWM_OR_NFC); + isHis = getIntent().getExtras().getBoolean(Contans.KEY_IS_HIS, false); + + if (isHis) { + btnCommit.setVisibility(View.GONE); + } + + btnCommit.setVisibility(isHis ? View.GONE : View.VISIBLE); + + qyds = new ArrayList<>(); + + if (qy != null) { + setTitle(qy.getQymc()); + qyds.addAll(qy.getData()); + setAdapterXs(); + } + setBack(); + + btnCommit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setMessage("你确定要提交吗?"); + builder.setTitle("提示"); + builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + saveData(); + } + }); + builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + } + }); + builder.create(); + builder.show(); + } + }); + } + + private void setAdapterXs() { + + if (adapterXs == null) { + adapterXs = new XsjhqyWorkXsAdapter(context, qyds, isHis); + View headView = View.inflate(context, R.layout.qy_work_xs_item, null); + headView.findViewById(R.id.tv_input).setVisibility(View.VISIBLE); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapterXs); + } else { + adapterXs.notifyDataSetChanged(); + } + } + + private void saveData() { + + + final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + + requset.setDefineRequestBodyForJson(createJson()); + + NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + + try { + XsResultBaseBean xsResultBaseBean = GsonUtils.GsonToBean(response.get(), XsResultBaseBean.class); + if (xsResultBaseBean != null) { + showToast(xsResultBaseBean.getMsg()); + if (xsResultBaseBean.getState() == 1) { + finish(); + } + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private String createJson() { + + XsSaveDataInfo info = new XsSaveDataInfo(); + info.setAction("XSCB_ZXJHD_SET"); + info.setZxid(qy.getZxid()); + info.setQybh(qy.getQybh()); + + List dataBeanList = new ArrayList<>(); + + for (XsjhQyBean.DataBeanX.DataBean dataBean : qyds) { + + XsSaveDataInfo.DataBean bean = new XsSaveDataInfo.DataBean(); + bean.setDbh(dataBean.getDbh());//点编号 + bean.setCbsz(dataBean.getCbsz());//抄表数值 + bean.setDjsj(dataBean.getDjsj());//点检时间 + bean.setScid(dataBean.getScid()); + + if (!TextUtils.isEmpty(dataBean.getCbsz())) { + if (TextUtils.isEmpty(dataBean.getDjsj())) { + bean.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + } + } else { + bean.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + if (!TextUtils.isEmpty(dataBean.getSisData())) { + bean.setCbsz(dataBean.getSisData()); + } + } + + bean.setZcmc((String) SPUtils.get(context, Contans.BZBH, ""));//班组 + + bean.setCbr((String) SPUtils.get(context, Contans.USERID, ""));//抄表人 + bean.setFxnr("");//分析内容 + bean.setSmfx(smfx);//扫描方式 + dataBeanList.add(bean); + } + + info.setData(dataBeanList); + + String json = GsonUtils.GsonString(info); + + + Log.e("#########", json); + + return json; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XzxsjhFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XzxsjhFragment.java new file mode 100755 index 0000000..304aa28 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/XzxsjhFragment.java @@ -0,0 +1,334 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.content.ContentValues; +import android.content.DialogInterface; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.FrameLayout; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.XSJJHXZBean; +import com.rehome.bhdxj.DBModel.XSJJHXZDataBean; +import com.rehome.bhdxj.DBModel.Xjjh; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.XzxsjhAdapter; +import com.rehome.bhdxj.base.BaseFragment; +import com.rehome.bhdxj.bean.XsRequestInfo; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.HttpResponseListener; +import com.rehome.bhdxj.utils.UiUtlis; +import com.rehome.bhdxj.weight.WaitDialog; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.RequestQueue; +import com.yolanda.nohttp.rest.Response; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; +import androidx.appcompat.app.AlertDialog; +import static org.litepal.crud.DataSupport.where; + +/** + * Created by ruihong on 2018/4/8. + */ + +public class XzxsjhFragment extends BaseFragment { + + ListView lv; + TextView tvNodata; + FrameLayout FL; + Button btnXz; + Button btnDelete; + LinearLayout LL; + + + private WaitDialog dialog; + private XjMainActivity mActivity; + private View headView; + private View head; + private XzxsjhAdapter adapter; + private CheckBox cb; + private List xjjhs; + private int selectCount = 0; + private int requestCount = 0; + private List zxids = new ArrayList<>(); + private List jhmcs = new ArrayList<>(); + private RequestQueue queue; + + public XzxsjhFragment() { + + } + + public static XzxsjhFragment newInstance() { + XzxsjhFragment fragment = new XzxsjhFragment(); + return fragment; + } + + + @Override + public int getContentViewId() { + return R.layout.fragment_xzxsjh; + } + + @Override + protected void initView() { + lv = view.findViewById(R.id.lv); + tvNodata = view.findViewById(R.id.tv_nodata); + FL = view.findViewById(R.id.FL); + btnXz = view.findViewById(R.id.btn_xz); + btnDelete = view.findViewById(R.id.btn_delete); + LL = view.findViewById(R.id.LL); + + lv.setEmptyView(tvNodata); + mActivity = (XjMainActivity) getActivity(); + headView = View.inflate(context, R.layout.xzxsjh_item, null); + head = headView.findViewById(R.id.head); + head.setVisibility(View.VISIBLE); + cb = headView.findViewById(R.id.cb); + cb.setOnClickListener(view -> { + + if (cb.isChecked()) { + for (int i = 0; i < xjjhs.size(); i++) { + xjjhs.get(i).setChecked(true); + adapter.notifyDataSetChanged(); + } + } else { + for (int i = 0; i < xjjhs.size(); i++) { + xjjhs.get(i).setChecked(false); + adapter.notifyDataSetChanged(); + } + } + }); + + btnXz.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (xjjhs.size() != 0) { + + zxids.clear(); + jhmcs.clear(); + for (int i = 0; i < xjjhs.size(); i++) { + if (xjjhs.get(i).isChecked()) { + if (!dialog.isShowing()) { + dialog.setMessage("下载计划中..."); + dialog.show(); + } + + downData(xjjhs.get(i).getZxid(), xjjhs.get(i).getJhmc()); + zxids.add(xjjhs.get(i).getZxid()); + } + } + } else { + showToast("没有可下载计划"); + } + } + }); + + btnDelete.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (xjjhs.size() != 0) { + + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle("提示"); + builder.setTitle("你确定要删除?"); + builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }); + builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + List delete = new ArrayList<>(); + for (int i = 0; i < xjjhs.size(); i++) { + if (xjjhs.get(i).isChecked()) { + delete.add(xjjhs.get(i)); + DataSupport.deleteAll(Xjjh.class, "zxid = ?", xjjhs.get(i).getZxid()); + } + } + xjjhs.removeAll(delete); + adapter.notifyDataSetChanged(); + } + }); + builder.show(); + + } else { + showToast("没有可删除计划"); + } + } + }); + } + + public void initData() { + + queue = NoHttp.newRequestQueue(1); + dialog = new WaitDialog(getActivity(), "加载中..."); + dialog.setCancelable(false); + xjjhs = new ArrayList<>(); + //如果数据库中有数据 + if (DataSupport.count("Xjjh") != 0) { + List xjjhListall = where("download = ?", "0").find(Xjjh.class); + xjjhs.clear(); + xjjhs.addAll(xjjhListall); + setListData(); + } else { + tvNodata.setText("暂无数据"); + LL.setVisibility(View.GONE); + } + } + + private void downData(String zxid, String jhmc) { + + selectCount++; + + Request request = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + + request.setDefineRequestBodyForJson(createZyJson(zxid, jhmc)); + + queue.add(1, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, "")); + + } + + private XSJJHXZBean xsjjhxzBean; + + private HttpListener callback = new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + + try { + + if (what == 1) { + + ++requestCount; + + Log.e("dataLog", response.get()); + + xsjjhxzBean = GsonUtils.GsonToBean(response.get(), XSJJHXZBean.class); + + if (xsjjhxzBean != null && xsjjhxzBean.getState() == 1) { + + List xsjjhxzDataBeanList = xsjjhxzBean.getData(); + + ContentValues values = new ContentValues(); + + values.put("download", 1); + + for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) { + + DataSupport.updateAll(Xjjh.class, values, "zxid = ?", xsjjhxzDataBeanList.get(i).getZxid()); + } + + int dataCount = DataSupport.count(XSJJHXZDataBean.class); + + int index;//序号 + + index = dataCount; + + for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) { + + xsjjhxzDataBeanList.get(i).setSN(++index); + + DataSupport.saveAll(xsjjhxzDataBeanList.get(i).getData()); + + } + + DataSupport.saveAll(xsjjhxzDataBeanList); + + } else { + + showToast(UiUtlis.getString(context, R.string.data_error)); + + } + } + + if (requestCount == selectCount && requestCount != 0) { + requestCount = 0; + selectCount = 0; + tvNodata.setText("暂无数据"); + requestCount = 0; + selectCount = 0; + dialog.cancel(); + xjjhs.clear(); + xjjhs.addAll(where("download = ?", "0").find(Xjjh.class)); + if (adapter != null) { + cb.setChecked(false); + adapter.notifyDataSetChanged(); + } + showToast("下载成功"); + dialog.dismiss(); + } + + + } catch (Exception e) { + showToast(UiUtlis.getString(context, R.string.data_error)); + dialog.dismiss(); + } + } + + @Override + public void onFailed(int what, Response response) { + if (dialog != null && dialog.isShowing()) { + dialog.dismiss(); + } + } + }; + + private String createZyJson(String zxid, String jhmc) { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("XSCB_ZXJHD_GET"); + info.setZxid(zxid); + info.setJhmc(jhmc); + String json = GsonUtils.GsonString(info); + return json; + } + + private void setListData() { + + adapter = new XzxsjhAdapter(context, xjjhs, new XzxsjhAdapter.CallBack() { + @Override + public void Click(View view) { + + CheckBox checkBox = (CheckBox) view; + int index = (int) checkBox.getTag(); + xjjhs.get(index).setChecked(checkBox.isChecked()); + int count = 0; + for (int a = 0; a < xjjhs.size(); a++) { + if (xjjhs.get(a).isChecked()) { + count++; + } + } + cb.setChecked(count == xjjhs.size()); + adapter.notifyDataSetChanged(); + } + }); + + + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + + lv.setOnItemClickListener((adapterView, view, i, l) -> { + + xjjhs.get(i - 1).setChecked(!xjjhs.get(i - 1).isChecked()); + int count = 0; + for (int a = 0; a < xjjhs.size(); a++) { + if (xjjhs.get(a).isChecked()) { + count++; + } + } + cb.setChecked(count == xjjhs.size()); + adapter.notifyDataSetChanged(); + }); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/YxrlinfoActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/YxrlinfoActivity.java new file mode 100644 index 0000000..9f25005 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/sbxj/YxrlinfoActivity.java @@ -0,0 +1,134 @@ +package com.rehome.bhdxj.activity.sbxj; + +import android.os.Bundle; +import androidx.recyclerview.widget.DefaultItemAnimator; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.RlinfoAdapter; +import com.rehome.bhdxj.base.BaseActivity; +import com.rehome.bhdxj.bean.RlinfoBean; +import com.rehome.bhdxj.bean.RlresultBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.NohttpUtils; +import com.rehome.bhdxj.utils.SPUtils; +import com.xuexiang.xui.widget.dialog.DialogLoader; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.rehome.bhdxj.utils.GsonUtils.GsonToBean; + +public class YxrlinfoActivity extends BaseActivity { + + RecyclerView recyclerView; + private List datas; + RlinfoAdapter adapter; + + @Override + public int getContentViewID() { + return R.layout.activity_rlzqinfo; + } + + @Override + protected void initView() { + recyclerView = findViewById(R.id.recycler_view); + setTitle("燃料周期信息管理"); + setBack(); + datas = new ArrayList<>(); + + recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext())); + recyclerView.setItemAnimator(new DefaultItemAnimator()); + recyclerView.setAdapter(adapter = new RlinfoAdapter()); + GetDatas(); + adapter.setOnItemClickListener((itemView, item, position) -> { + DialogLoader.getInstance().showSingleChoiceDialog(context, "燃料巡检周期设置", R.array.router_choice_entry, + 0, (dialogInterface, i) -> { + if (i == 0) { + UploadDatas(datas.get(position).getJHID(), "4", "4"); + } else if (i == 1) { + UploadDatas(datas.get(position).getJHID(), "24", "8"); + } + + }, "确定", "取消"); + + }); + } + + private void GetDatas() { + final Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + requestxs.setDefineRequestBodyForJson(createJson()); + NohttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + RlinfoBean list = GsonToBean(response.get(), RlinfoBean.class); + if (list != null) { + datas = list.getData(); + adapter.refresh(datas); + } + } + + @Override + public void onFailed(int what, Response response) { + } + }); + } + + private String createJson() { + String json = ""; + Map map = new HashMap<>(); + map.put("action", "XSCB_JHGL_GET"); + map.put("jhid", ""); + json = GsonUtils.GsonString(map); + return json; + } + + private void UploadDatas(String jhid, String jhzq, String zxsc) { + final Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + requestxs.setDefineRequestBodyForJson(createJson1(jhid, jhzq, zxsc)); + NohttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + RlresultBean list = GsonToBean(response.get(), RlresultBean.class); + if (list != null) { + if (list.getState() == 1) { + showToast(list.getMsg()); + GetDatas(); + } else { + showToast(list.getMsg()); + } + } + } + + @Override + public void onFailed(int what, Response response) { + } + }); + } + + private String createJson1(String jhid, String jhzq, String zxsc) { + String json = ""; + Map map = new HashMap<>(); + map.put("action", "XSCB_JHGL_SET"); + map.put("jhid", jhid); + map.put("jhzq", jhzq); + map.put("zxsc", zxsc); + map.put("zxid", ""); + map.put("xgr", (String) SPUtils.get(context, Contans.USERNAME, "")); + json = GsonUtils.GsonString(map); + return json; + } + + @Override + protected void onResume() { + super.onResume(); + GetDatas(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/yhpc/YhpcDataListActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/yhpc/YhpcDataListActivity.java new file mode 100644 index 0000000..d07f8e3 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/yhpc/YhpcDataListActivity.java @@ -0,0 +1,324 @@ +package com.rehome.bhdxj.activity.yhpc; + +import android.app.AlertDialog; +import android.view.View; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.FrameLayout; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import com.rehome.bhdxj.DBModel.DataBaseYhpc; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.YhpcListAdapter; +import com.rehome.bhdxj.base.BaseActivity3; +import com.rehome.bhdxj.base.BaseCallBack; +import com.rehome.bhdxj.bean.ResultBean3; +import com.rehome.bhdxj.bean.YhpcResultBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.Api; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.RetrofitHttpUtils; +import com.rehome.bhdxj.utils.SPUtils; +import org.litepal.crud.DataSupport; +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import okhttp3.MediaType; +import okhttp3.MultipartBody; +import okhttp3.RequestBody; +import retrofit2.Call; +import retrofit2.Response; + +public class YhpcDataListActivity extends BaseActivity3 { + + ListView lv; + TextView tvNodata; + FrameLayout FLLL; + Button btnSc; + Button btnDel; + LinearLayout xmll; + + + private List list;//本地数据库拿出来显示在listview上 + private List removesavelist;//已上传的任务 + private List Uploadlist;//要上传的集合 + private YhpcListAdapter adapter; + private View headView; + private View head; + private CheckBox cb; + private String SCR; + + @Override + public int getLayoutId() { + return R.layout.activity_yhpcdatalist; + } + + @Override + public void initView() { + initToolbar("隐患排查上传", "新增", new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(YhpcTakePhotoActivity.class); + } + }); + SCR = (String) SPUtils.get(context, Contans.USERID, ""); + + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + FLLL = findViewById(R.id.FLLL); + btnSc = findViewById(R.id.btn_sc); + btnDel = findViewById(R.id.btn_del); + xmll = findViewById(R.id.xmll); + + list = new ArrayList<>(); + removesavelist = new ArrayList<>(); + Uploadlist = new ArrayList<>(); + + headView = View.inflate(context, R.layout.item_yhpclist, null); + head = headView.findViewById(R.id.head); + lv.addHeaderView(headView, null, false); + + cb = headView.findViewById(R.id.cb); + cb.setOnClickListener(view -> { + + if (cb.isChecked()) { + for (int i = 0; i < list.size(); i++) { + list.get(i).setChecked(true); + adapter.notifyDataSetChanged(); + } + } else { + for (int i = 0; i < list.size(); i++) { + list.get(i).setChecked(false); + adapter.notifyDataSetChanged(); + } + } + }); + + head.setVisibility(View.VISIBLE); + lv.setEmptyView(tvNodata); + getDataInSQL(); + if (adapter == null) { + setListData(); + } else { + adapter.notifyDataSetChanged(); + } + } + + /** + * 数据库查询获取数据 + */ + private void getDataInSQL() { + + list.clear(); + List uploadaqjcsaveList = DataSupport.findAll(DataBaseYhpc.class); + if (uploadaqjcsaveList.size() != 0) { + list.addAll(uploadaqjcsaveList); + FLLL.setVisibility(View.VISIBLE); + xmll.setVisibility(View.VISIBLE); + } else { + FLLL.setVisibility(View.GONE); + xmll.setVisibility(View.GONE); + } + + } + + /** + * 把数据库的数据显示在listview + */ + private void setListData() { + adapter = new YhpcListAdapter(context, list, view -> { + CheckBox checkBox = (CheckBox) view; + int index = (int) checkBox.getTag(); + list.get(index).setChecked(checkBox.isChecked()); + int count = 0; + for (int a = 0; a < list.size(); a++) { + if (list.get(a).isChecked()) { + count++; + } + } + cb.setChecked(count == list.size()); + adapter.notifyDataSetChanged(); + }); + + + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, i, l) -> { + list.get(i - 1).setChecked(!list.get(i - 1).isChecked()); + int count = 0; + for (int a = 0; a < list.size(); a++) { + if (list.get(a).isChecked()) { + count++; + } + } + cb.setChecked(count == list.size()); + adapter.notifyDataSetChanged(); + }); + } + + /** + * 把数据库的数据上传给服务器 + */ + + private void UploadData() { + Uploadlist.clear(); + removesavelist.clear(); + for (int i = 0; i < list.size(); i++) { + if (list.get(i).isChecked()) { + Uploadlist.add(list.get(i)); + removesavelist.add(list.get(i)); + } + } + for (DataBaseYhpc dataBaseYhpc : Uploadlist) { + Map map = new HashMap<>(); + map.put("Action", "DJGL_YHPC_SC"); + map.put("TJR", SCR); + map.put("TJSJ", dataBaseYhpc.getLRSJ()); + map.put("YHWZ", dataBaseYhpc.getWTQY()); + map.put("YHMS", dataBaseYhpc.getWTMS()); + map.put("YHDJ", dataBaseYhpc.getYHDJ()); + + String json = GsonUtils.GsonString(map); + String photopatglist = dataBaseYhpc.getPhotopatglist(); + String yhwz = dataBaseYhpc.getWTQY(); + + + Api api = RetrofitHttpUtils.getApi(); + RequestBody body = RequestBody.create(MediaType.parse("application/json"), json); + api.upload_yhpcxx(body).enqueue(new BaseCallBack(context) { + @Override + public void onSuccess(Call call, Response response) { + YhpcResultBean bean = response.body(); + if (bean.getState() == 1) {//如果成功返回 得到ID + String ID_Phont = bean.getData(); + UploadData_photo(ID_Phont, photopatglist, yhwz); + } else { + showToast("数据出错" + bean.getMsg()); + } + } + + @Override + public void onError(Call call, Throwable t) { + } + }); + } + + + } + + public void UploadData_photo(String ID, String photopatglist, String yhwz) { + MultipartBody.Builder builder; + String substring = photopatglist.substring(1, photopatglist.length() - 1); + if (substring.contains(",")) { //多张 + builder = new MultipartBody.Builder(); + builder.setType(MultipartBody.FORM); + String[] split = substring.split(","); + for (String imagePath : split) { + File file = new File(imagePath.trim()); + RequestBody imageBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); + builder.addFormDataPart("file", file.getName(), imageBody); + } + } else {//单张 + builder = new MultipartBody.Builder(); + builder.setType(MultipartBody.FORM); + File file = new File(substring); + RequestBody imageBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); + builder.addFormDataPart("file", file.getName(), imageBody); + } + RetrofitHttpUtils.getApi().upload_yhpcPhoto(ID, "0", SCR, builder.build()).enqueue(new BaseCallBack(context) { + @Override + public void onSuccess(Call call, Response response) { + ResultBean3 resultBean = response.body(); + if (resultBean != null) { + if (resultBean.getState().equals("1")) { + showToast(yhwz + "隐患情况上传成功..."); + removeData();//上传成功删除本地的数据 + Uploadlist.clear();//上传成功清除数据 + } else { + showToast(resultBean.getMsg()); + } + } + } + + @Override + public void onError(Call call, Throwable t) { + + } + }); + + } + + @Override + public void initData() { + onclick(); + } + + + private void onclick() { + btnSc.setOnClickListener(v -> UploadData());//上传数据 + btnDel.setOnClickListener(v -> deleteData());//删除数据 + + } + + @Override + protected void onResume() { + super.onResume(); + getDataInSQL(); + if (adapter != null) { + cb.setChecked(false); + adapter.notifyDataSetChanged(); + } + } + + //移除上传成功的数据 + private void removeData() { + + for (DataBaseYhpc uploadaqjcsave : removesavelist) { + DataSupport.deleteAll(DataBaseYhpc.class, "LRSJ = ?", uploadaqjcsave.getLRSJ()); + } + + getDataInSQL(); + if (adapter != null) { + cb.setChecked(false); + adapter.notifyDataSetChanged(); + } + } + + //删除选中的数据 + public void deleteData() { + final List deletes = new ArrayList<>(); + int select = 0; + for (int i = 0; i < list.size(); i++) { + if (list.get(i).isChecked()) { + deletes.add(list.get(i)); + select++; + } + } + + if (select != 0) { + + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle("提示"); + builder.setTitle("你确定要删除?"); + builder.setNegativeButton("取消", (dialog, which) -> dialog.dismiss()); + builder.setPositiveButton("确定", (dialog, which) -> { + //删除数据 + for (DataBaseYhpc uploadaqjcsave : deletes) { + DataSupport.deleteAll(DataBaseYhpc.class, "LRSJ = ?", uploadaqjcsave.getLRSJ()); + + } + //刷新界面 + getDataInSQL(); + if (adapter != null) { + adapter.notifyDataSetChanged(); + } + }); + builder.show(); + } else { + showToast("你还没有选择项目"); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/yhpc/YhpcTakePhotoActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/yhpc/YhpcTakePhotoActivity.java new file mode 100644 index 0000000..0313ab2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/yhpc/YhpcTakePhotoActivity.java @@ -0,0 +1,695 @@ +package com.rehome.bhdxj.activity.yhpc; + + +import android.Manifest; +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.AnimatorSet; +import android.animation.ObjectAnimator; +import android.content.Context; +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.os.Bundle; +import android.os.Parcelable; +import android.provider.MediaStore; +import android.text.TextUtils; +import android.util.Log; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.view.animation.LinearInterpolator; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + + +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; +import com.google.gson.Gson; +import com.luck.picture.lib.PictureSelectorPreviewFragment; +import com.luck.picture.lib.animators.AnimationType; +import com.luck.picture.lib.basic.IBridgeViewLifecycle; +import com.luck.picture.lib.basic.PictureSelectionCameraModel; +import com.luck.picture.lib.basic.PictureSelectionModel; +import com.luck.picture.lib.basic.PictureSelectionSystemModel; +import com.luck.picture.lib.basic.PictureSelector; +import com.luck.picture.lib.config.InjectResourceSource; +import com.luck.picture.lib.config.PictureConfig; +import com.luck.picture.lib.config.PictureMimeType; +import com.luck.picture.lib.config.PictureSelectionConfig; +import com.luck.picture.lib.config.SelectLimitType; +import com.luck.picture.lib.config.SelectMimeType; +import com.luck.picture.lib.config.SelectModeConfig; +import com.luck.picture.lib.decoration.GridSpacingItemDecoration; +import com.luck.picture.lib.dialog.RemindDialog; +import com.luck.picture.lib.engine.CompressFileEngine; +import com.luck.picture.lib.engine.ImageEngine; +import com.luck.picture.lib.engine.UriToFileTransformEngine; +import com.luck.picture.lib.entity.LocalMedia; + +//import com.luck.picture.lib.PictureSelector; +//import com.luck.picture.lib.style.PictureCropParameterStyle; +//import com.luck.picture.lib.style.PictureParameterStyle; +//import com.luck.picture.lib.tools.PictureFileUtils; +//import com.luck.picture.lib.tools.ScreenUtils; + + +import com.luck.picture.lib.entity.MediaExtraInfo; +import com.luck.picture.lib.interfaces.OnCallbackListener; +import com.luck.picture.lib.interfaces.OnExternalPreviewEventListener; +import com.luck.picture.lib.interfaces.OnGridItemSelectAnimListener; +import com.luck.picture.lib.interfaces.OnInjectActivityPreviewListener; +import com.luck.picture.lib.interfaces.OnInjectLayoutResourceListener; +import com.luck.picture.lib.interfaces.OnKeyValueResultCallbackListener; +import com.luck.picture.lib.interfaces.OnMediaEditInterceptListener; +import com.luck.picture.lib.interfaces.OnPermissionDeniedListener; +import com.luck.picture.lib.interfaces.OnQueryFilterListener; +import com.luck.picture.lib.interfaces.OnSelectAnimListener; +import com.luck.picture.lib.interfaces.OnSelectLimitTipsListener; +import com.luck.picture.lib.permissions.PermissionConfig; +import com.luck.picture.lib.permissions.PermissionUtil; +import com.luck.picture.lib.style.PictureSelectorStyle; +import com.luck.picture.lib.style.SelectMainStyle; +import com.luck.picture.lib.style.TitleBarStyle; +import com.luck.picture.lib.utils.DateUtils; +import com.luck.picture.lib.utils.DensityUtil; +import com.luck.picture.lib.utils.MediaUtils; +import com.luck.picture.lib.utils.PictureFileUtils; +import com.luck.picture.lib.utils.SandboxTransformUtils; +import com.luck.picture.lib.utils.StyleUtils; +import com.luck.picture.lib.utils.ToastUtils; +import com.rehome.bhdxj.DBModel.DataBaseYhpc; +import com.rehome.bhdxj.Listener.DragListener; +import com.rehome.bhdxj.Listener.FullyGridLayoutManager; +import com.rehome.bhdxj.Listener.GlideEngine; +import com.rehome.bhdxj.Listener.ImageLoaderUtils; +import com.rehome.bhdxj.Listener.OnItemLongClickListener; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.activity.MainActivity; +import com.rehome.bhdxj.adapter.GridImageAdapter; +import com.rehome.bhdxj.base.BaseActivity3; +import com.xuexiang.xui.widget.edittext.MultiLineEditText; +import com.yalantis.ucrop.UCrop; +import com.yalantis.ucrop.UCropImageEngine; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import top.zibin.luban.CompressionPredicate; +import top.zibin.luban.Luban; +import top.zibin.luban.OnNewCompressListener; +import top.zibin.luban.OnRenameListener; + + +public class YhpcTakePhotoActivity extends BaseActivity3 implements View.OnClickListener { + + + MultiLineEditText etYhqy; + MultiLineEditText etYhms; + MultiLineEditText etYhdj; + + + private RecyclerView mRecyclerView; + private GridImageAdapter mAdapter; + private int maxSelectNum = 9;//图片数量 + //private int themeId; + //private int chooseMode = PictureMimeType.ofAll(); + private int chooseMode = SelectMimeType.ofImage(); + + private boolean isUpward; + private int language = -1; + + private PictureSelectorStyle selectorStyle; + +// private boolean needScaleBig = true; +// private boolean needScaleSmall = false; + + + private List mData = new ArrayList<>(); + private ArrayList finalList; + + private ImageEngine imageEngine; + private ActivityResultLauncher launcherResult; + private final static String TAG = "PictureSelectorTag"; + + private int animationMode = AnimationType.DEFAULT_ANIMATION; + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + if (etYhqy.isEmpty() || etYhms.isEmpty() || etYhdj.isEmpty()) { + showToast("请把信息填写完整"); + } else { + SaveYhData();//数据保存到数据库中 + } + break; + } + } + + @Override + public int getLayoutId() { + return R.layout.activity_take_photo; + } + + @Override + public void initView() { + initToolbar("隐患情况上传", "保存", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + + etYhqy = findViewById(R.id.et_yhqy); + etYhms = findViewById(R.id.et_yhms); + etYhdj = findViewById(R.id.et_yhdj); + + selectorStyle = new PictureSelectorStyle(); + launcherResult = createActivityResultLauncher(); + + finalList = new ArrayList<>(); + mRecyclerView = findViewById(R.id.recycler); + FullyGridLayoutManager manager = new FullyGridLayoutManager(this, 4, GridLayoutManager.VERTICAL, false); + mRecyclerView.setLayoutManager(manager); + //mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4, ScreenUtils.dip2px(this, 8), false)); + mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4, DensityUtil.dip2px(this, 8), false)); + + + //mAdapter = new GridImageAdapter(getContext(), onAddPicClickListener); + + mAdapter = new GridImageAdapter(getContext(), mData); + mAdapter.setSelectMax(maxSelectNum); + mRecyclerView.setAdapter(mAdapter); + + imageEngine = GlideEngine.createGlideEngine(); + + } + + @Override + public void initData() { + + mAdapter.setOnItemClickListener(new GridImageAdapter.OnItemClickListener() { + @Override + public void onItemClick(View v, int position) { + // 预览图片、视频、音频 + PictureSelector.create(YhpcTakePhotoActivity.this) + .openPreview() + .setImageEngine(imageEngine) + .setSelectorUIStyle(selectorStyle) + .setLanguage(language) + .isPreviewFullScreenMode(true) + .setExternalPreviewEventListener(new MyExternalPreviewEventListener()) + .isPreviewZoomEffect(chooseMode != SelectMimeType.ofAudio(), mRecyclerView) + .startActivityPreview(position, true, mAdapter.getData()); + } + + @Override + public void openPicture() { + // 进入相册 + PictureSelectionModel selectionModel = PictureSelector.create(getContext()) + .openGallery(chooseMode) + .setSelectorUIStyle(selectorStyle) + .setImageEngine(imageEngine) + .setCompressEngine(new ImageFileCompressEngine()) + .setSandboxFileEngine(new MeSandboxFileEngine()) + .setSelectLimitTipsListener(new MeOnSelectLimitTipsListener()) + .setEditMediaInterceptListener(new MeOnMediaEditInterceptListener(getSandboxPath(), buildOptions())) + .setPermissionDeniedListener(new MeOnPermissionDeniedListener()) + .isPageSyncAlbumCount(true) + .setQueryFilterListener(new OnQueryFilterListener() { + @Override + public boolean onFilter(LocalMedia media) { + return false; + } + }) + .setSelectionMode(SelectModeConfig.MULTIPLE) + .setLanguage(language) + //.setQuerySortOrder("") + .isDisplayTimeAxis(true) + .isOnlyObtainSandboxDir(false) + .isPageStrategy(true) + .isOriginalControl(false) + .isDisplayCamera(true) + .isFastSlidingSelect(true) + .isPreviewFullScreenMode(true) + .isPreviewZoomEffect(true) + .isPreviewImage(true) + .isMaxSelectEnabledMask(true) + .setMaxSelectNum(maxSelectNum) + .setSelectMaxFileSize(1024) + .setRecyclerAnimationMode(animationMode) + .setSelectedData(mAdapter.getData()); + forSelectResult(selectionModel); + } + }); + + } + + + // private GridImageAdapter.onAddPicClickListener onAddPicClickListener = new GridImageAdapter.onAddPicClickListener() { +// @Override +// public void onAddPicClick() { +// +// PictureSelector.create(YhpcTakePhotoActivity.this) +// .openGallery(chooseMode)// 全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio() +// .loadImageEngine(GlideEngine.createGlideEngine())// 外部传入图片加载引擎,必传项 +// .theme(themeId)// 主题样式设置 具体参考 values/styles 用法:R.style.picture.white.style v2.3.3后 建议使用setPictureStyle()动态方式 +// .isWeChatStyle(false)// 是否开启微信图片选择风格 +// .isUseCustomCamera(false)// 是否使用自定义相机 +// .setLanguage(language)// 设置语言,默认中文 +// .setPictureStyle(mPictureParameterStyle)// 动态自定义相册主题 +// .setPictureCropStyle(mCropParameterStyle)// 动态自定义裁剪主题 +// .isWithVideoImage(true)// 图片和视频是否可以同选,只在ofAll模式下有效 +// .maxSelectNum(maxSelectNum)// 最大图片选择数量 +// .minSelectNum(1)// 最小选择数量 +// .maxVideoSelectNum(1) // 视频最大选择数量,如果没有单独设置的需求则可以不设置,同用maxSelectNum字段 +// .imageSpanCount(4)// 每行显示个数 +// .isReturnEmpty(false)// 未选择数据时点击按钮是否可以返回 +// .setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)// 设置相册Activity方向,不设置默认使用系统 +// .isOriginalImageControl(false)// 是否显示原图控制按钮,如果设置为true则用户可以自由选择是否使用原图,压缩、裁剪功能将会失效 +// .selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 +// .isSingleDirectReturn(false)// 单选模式下是否直接返回,PictureConfig.SINGLE模式下有效 +// .previewImage(true)// 是否可预览图片 +// .previewVideo(true)// 是否可预览视频 +// .enablePreviewAudio(true) // 是否可播放音频 +// .isCamera(true)// 是否显示拍照按钮 +// .isZoomAnim(true)// 图片列表点击 缩放效果 默认true +// .enableCrop(false)// 是否裁剪 +// .compress(true)// 是否压缩 +// .synOrAsy(true)//同步true或异步false 压缩 默认同步 +// .hideBottomControls(false)// 是否显示uCrop工具栏,默认不显示 +// .isGif(false)// 是否显示gif图片 +// .freeStyleCropEnabled(false)// 裁剪框是否可拖拽 +// .circleDimmedLayer(false)// 是否圆形裁剪 +// .showCropFrame(false)// 是否显示裁剪矩形边框 圆形裁剪时建议设为false +// .showCropGrid(false)// 是否显示裁剪矩形网格 圆形裁剪时建议设为false +// .openClickSound(false)// 是否开启点击声音 +// .selectionMedia(mAdapter.getData())// 是否传入已选图片 +// .cutOutQuality(90)// 裁剪输出质量 默认100 +// .minimumCompressSize(100)// 小于100kb的图片不压缩 +// .forResult(result -> { +// mAdapter.setList(result); +// mAdapter.notifyDataSetChanged(); +// PhotoListData = result; +// }); +// +// } +// }; + private void SaveYhData() { + finalList.clear(); + for (LocalMedia media : mData) { + finalList.add(media.getCompressPath()); + Log.i("app",new Gson().toJson(media)); + } + + Log.i("app",finalList.toString().toLowerCase()); + + Date date = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + DataBaseYhpc dataBaseYhpc = new DataBaseYhpc(); + dataBaseYhpc.setWTQY(etYhqy.getContentText()); + dataBaseYhpc.setWTMS(etYhms.getContentText()); + dataBaseYhpc.setLRSJ(sdf.format(date)); + dataBaseYhpc.setFXLB(""); + dataBaseYhpc.setYHDJ(etYhdj.getContentText()); + dataBaseYhpc.setZRBM(""); + dataBaseYhpc.setPhotopatglist(finalList.toString().toLowerCase()); + dataBaseYhpc.setChecked(false); + dataBaseYhpc.setUploaded(false); + + if (dataBaseYhpc.save()) { + showToast("保存成功"); + finish(); + } else { + showToast("保存失败"); + } + + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + if (mAdapter != null && mAdapter.getData() != null && mAdapter.getData().size() > 0) { + outState.putParcelableArrayList("selectorList", + (ArrayList) mAdapter.getData()); + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + } + + + public Context getContext() { + return this; + } + + private void forSelectResult(PictureSelectionModel model) { + //model.forResult(PictureConfig.CHOOSE_REQUEST); + model.forResult(launcherResult); + } + + /** + * 创建一个ActivityResultLauncher + * + * @return + */ + private ActivityResultLauncher createActivityResultLauncher() { + return registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), + new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + int resultCode = result.getResultCode(); + if (resultCode == RESULT_OK) { + ArrayList selectList = PictureSelector.obtainSelectorList(result.getData()); + analyticalSelectResults(selectList); + } else if (resultCode == RESULT_CANCELED) { + Log.i(TAG, "onActivityResult PictureSelector Cancel"); + } + } + }); + } + + /** + * 处理选择结果 + * + * @param result + */ + private void analyticalSelectResults(ArrayList result) { + mData = result; + for (LocalMedia media : result) { + if (media.getWidth() == 0 || media.getHeight() == 0) { + if (PictureMimeType.isHasImage(media.getMimeType())) { + MediaExtraInfo imageExtraInfo = MediaUtils.getImageSize(getContext(), media.getPath()); + media.setWidth(imageExtraInfo.getWidth()); + media.setHeight(imageExtraInfo.getHeight()); + } else if (PictureMimeType.isHasVideo(media.getMimeType())) { + MediaExtraInfo videoExtraInfo = MediaUtils.getVideoSize(getContext(), media.getPath()); + media.setWidth(videoExtraInfo.getWidth()); + media.setHeight(videoExtraInfo.getHeight()); + } + } + Log.i(TAG, "文件名: " + media.getFileName()); + Log.i(TAG, "是否压缩:" + media.isCompressed()); + Log.i(TAG, "压缩:" + media.getCompressPath()); + Log.i(TAG, "初始路径:" + media.getPath()); + Log.i(TAG, "绝对路径:" + media.getRealPath()); + Log.i(TAG, "是否裁剪:" + media.isCut()); + Log.i(TAG, "裁剪路径:" + media.getCutPath()); + Log.i(TAG, "是否开启原图:" + media.isOriginal()); + Log.i(TAG, "原图路径:" + media.getOriginalPath()); + Log.i(TAG, "沙盒路径:" + media.getSandboxPath()); + Log.i(TAG, "水印路径:" + media.getWatermarkPath()); + Log.i(TAG, "视频缩略图:" + media.getVideoThumbnailPath()); + Log.i(TAG, "原始宽高: " + media.getWidth() + "x" + media.getHeight()); + Log.i(TAG, "裁剪宽高: " + media.getCropImageWidth() + "x" + media.getCropImageHeight()); + Log.i(TAG, "文件大小: " + PictureFileUtils.formatAccurateUnitFileSize(media.getSize())); + Log.i(TAG, "文件时长: " + media.getDuration()); + } + runOnUiThread(new Runnable() { + @Override + public void run() { + boolean isMaxSize = result.size() == mAdapter.getSelectMax(); + int oldSize = mAdapter.getData().size(); + mAdapter.notifyItemRangeRemoved(0, isMaxSize ? oldSize + 1 : oldSize); + mAdapter.getData().clear(); + mAdapter.getData().addAll(result); + mAdapter.notifyItemRangeInserted(0, result.size()); + } + }); + } + + /** + * 自定义压缩 + */ + private static class ImageFileCompressEngine implements CompressFileEngine { + + @Override + public void onStartCompress(Context context, ArrayList source, OnKeyValueResultCallbackListener call) { + Luban.with(context).load(source).ignoreBy(100).setRenameListener(new OnRenameListener() { + @Override + public String rename(String filePath) { + int indexOf = filePath.lastIndexOf("."); + String postfix = indexOf != -1 ? filePath.substring(indexOf) : ".jpg"; + return DateUtils.getCreateFileName("CMP_") + postfix; + } + }).filter(new CompressionPredicate() { + @Override + public boolean apply(String path) { + if (PictureMimeType.isUrlHasImage(path) && !PictureMimeType.isHasHttp(path)) { + return true; + } + return !PictureMimeType.isUrlHasGif(path); + } + }).setCompressListener(new OnNewCompressListener() { + @Override + public void onStart() { + + } + + @Override + public void onSuccess(String source, File compressFile) { + if (call != null) { + call.onCallback(source, compressFile.getAbsolutePath()); + } + } + + @Override + public void onError(String source, Throwable e) { + if (call != null) { + call.onCallback(source, null); + } + } + }).launch(); + } + } + + /** + * 自定义沙盒文件处理 + */ + private static class MeSandboxFileEngine implements UriToFileTransformEngine { + + @Override + public void onUriToFileAsyncTransform(Context context, String srcPath, String mineType, OnKeyValueResultCallbackListener call) { + if (call != null) { + call.onCallback(srcPath, SandboxTransformUtils.copyPathToSandbox(context, srcPath, mineType)); + } + } + } + + /** + * 拦截自定义提示 + */ + private static class MeOnSelectLimitTipsListener implements OnSelectLimitTipsListener { + + @Override + public boolean onSelectLimitTips(Context context, @Nullable LocalMedia media, PictureSelectionConfig config, int limitType) { + if (limitType == SelectLimitType.SELECT_MIN_SELECT_LIMIT) { + ToastUtils.showToast(context, "图片最少不能低于" + config.minSelectNum + "张"); + return true; + } else if (limitType == SelectLimitType.SELECT_MIN_VIDEO_SELECT_LIMIT) { + ToastUtils.showToast(context, "视频最少不能低于" + config.minVideoSelectNum + "个"); + return true; + } else if (limitType == SelectLimitType.SELECT_MIN_AUDIO_SELECT_LIMIT) { + ToastUtils.showToast(context, "音频最少不能低于" + config.minAudioSelectNum + "个"); + return true; + } + return false; + } + } + + /** + * 自定义编辑 + */ + private static class MeOnMediaEditInterceptListener implements OnMediaEditInterceptListener { + private final String outputCropPath; + private final UCrop.Options options; + + public MeOnMediaEditInterceptListener(String outputCropPath, UCrop.Options options) { + this.outputCropPath = outputCropPath; + this.options = options; + } + + @Override + public void onStartMediaEdit(Fragment fragment, LocalMedia currentLocalMedia, int requestCode) { + String currentEditPath = currentLocalMedia.getAvailablePath(); + Uri inputUri = PictureMimeType.isContent(currentEditPath) + ? Uri.parse(currentEditPath) : Uri.fromFile(new File(currentEditPath)); + Uri destinationUri = Uri.fromFile( + new File(outputCropPath, DateUtils.getCreateFileName("CROP_") + ".jpeg")); + UCrop uCrop = UCrop.of(inputUri, destinationUri); + options.setHideBottomControls(false); + uCrop.withOptions(options); + uCrop.setImageEngine(new UCropImageEngine() { + @Override + public void loadImage(Context context, String url, ImageView imageView) { + if (!ImageLoaderUtils.assertValidRequest(context)) { + return; + } + Glide.with(context).load(url).override(180, 180).into(imageView); + } + + @Override + public void loadImage(Context context, Uri url, int maxWidth, int maxHeight, OnCallbackListener call) { + Glide.with(context).asBitmap().load(url).override(maxWidth, maxHeight).into(new CustomTarget() { + @Override + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + if (call != null) { + call.onCall(resource); + } + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + if (call != null) { + call.onCall(null); + } + } + }); + } + }); + uCrop.startEdit(fragment.requireActivity(), fragment, requestCode); + } + } + + /** + * 创建自定义输出目录 + * + * @return + */ + private String getSandboxPath() { + File externalFilesDir = getContext().getExternalFilesDir(""); + File customFile = new File(externalFilesDir.getAbsolutePath(), "Sandbox"); + if (!customFile.exists()) { + customFile.mkdirs(); + } + return customFile.getAbsolutePath() + File.separator; + } + + /** + * 配制UCrop,可根据需求自我扩展 + * + * @return + */ + private UCrop.Options buildOptions() { + UCrop.Options options = new UCrop.Options(); + options.setHideBottomControls(false); + options.setFreeStyleCropEnabled(true); + options.setShowCropFrame(true); + options.setShowCropGrid(false); + options.setCircleDimmedLayer(false); + options.withAspectRatio(0, 0); + options.setCropOutputPathDir(getSandboxPath()); + options.isCropDragSmoothToCenter(false); + options.setSkipCropMimeType(getNotSupportCrop()); + options.isForbidCropGifWebp(true); + options.isForbidSkipMultipleCrop(true); + options.setMaxScaleMultiplier(100); + if (selectorStyle != null && selectorStyle.getSelectMainStyle().getStatusBarColor() != 0) { + SelectMainStyle mainStyle = selectorStyle.getSelectMainStyle(); + boolean isDarkStatusBarBlack = mainStyle.isDarkStatusBarBlack(); + int statusBarColor = mainStyle.getStatusBarColor(); + options.isDarkStatusBarBlack(isDarkStatusBarBlack); + if (StyleUtils.checkStyleValidity(statusBarColor)) { + options.setStatusBarColor(statusBarColor); + options.setToolbarColor(statusBarColor); + } else { + options.setStatusBarColor(ContextCompat.getColor(getContext(), R.color.ps_color_grey)); + options.setToolbarColor(ContextCompat.getColor(getContext(), R.color.ps_color_grey)); + } + TitleBarStyle titleBarStyle = selectorStyle.getTitleBarStyle(); + if (StyleUtils.checkStyleValidity(titleBarStyle.getTitleTextColor())) { + options.setToolbarWidgetColor(titleBarStyle.getTitleTextColor()); + } else { + options.setToolbarWidgetColor(ContextCompat.getColor(getContext(), R.color.ps_color_white)); + } + } else { + options.setStatusBarColor(ContextCompat.getColor(getContext(), R.color.ps_color_grey)); + options.setToolbarColor(ContextCompat.getColor(getContext(), R.color.ps_color_grey)); + options.setToolbarWidgetColor(ContextCompat.getColor(getContext(), R.color.ps_color_white)); + } + return options; + } + + private String[] getNotSupportCrop() { + return new String[]{PictureMimeType.ofGIF(), PictureMimeType.ofWEBP()}; + } + + /** + * 权限拒绝后回调 + */ + private static class MeOnPermissionDeniedListener implements OnPermissionDeniedListener { + + @Override + public void onDenied(Fragment fragment, String[] permissionArray, + int requestCode, OnCallbackListener call) { + String tips; + if (TextUtils.equals(permissionArray[0], PermissionConfig.CAMERA[0])) { + tips = "缺少相机权限\n可能会导致不能使用摄像头功能"; + } else if (TextUtils.equals(permissionArray[0], Manifest.permission.RECORD_AUDIO)) { + tips = "缺少录音权限\n访问您设备上的音频、媒体内容和文件"; + } else { + tips = "缺少存储权限\n访问您设备上的照片、媒体内容和文件"; + } + RemindDialog dialog = RemindDialog.buildDialog(fragment.getContext(), tips); + dialog.setButtonText("去设置"); + dialog.setButtonTextColor(0xFF7D7DFF); + dialog.setContentTextColor(0xFF333333); + dialog.setOnDialogClickListener(new RemindDialog.OnDialogClickListener() { + @Override + public void onClick(View view) { + PermissionUtil.goIntentSetting(fragment, requestCode); + dialog.dismiss(); + } + }); + dialog.show(); + } + } + + /** + * 外部预览监听事件 + */ + private class MyExternalPreviewEventListener implements OnExternalPreviewEventListener { + + @Override + public void onPreviewDelete(int position) { + mAdapter.remove(position); + mAdapter.notifyItemRemoved(position); + } + + @Override + public boolean onLongPressDownload(LocalMedia media) { + return false; + } + } + + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/yhpc/YhzgDataListActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/yhpc/YhzgDataListActivity.java new file mode 100644 index 0000000..5d2a716 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/activity/yhpc/YhzgDataListActivity.java @@ -0,0 +1,46 @@ +package com.rehome.bhdxj.activity.yhpc; + +import android.os.Bundle; +import android.view.View; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseActivity3; + +public class YhzgDataListActivity extends BaseActivity3 { + + + + @Override + public int getLayoutId() { + return R.layout.activity_yhpcdatalist; + } + + @Override + public void initView() { + initToolbar("隐患整改上传", "新增", new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(YhpcTakePhotoActivity.class); + } + }); + + } + + + @Override + public void initData() { + onclick(); + } + + + private void onclick() { + + } + + @Override + protected void onResume() { + super.onResume(); + + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/AqjclbAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/AqjclbAdapter.java new file mode 100755 index 0000000..282d4f0 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/AqjclbAdapter.java @@ -0,0 +1,40 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.AqjclbBean; +import java.util.List; + +/** + * Created by ruihong on 2017/12/28. + */ + +public class AqjclbAdapter extends CommonAdapter { + + private List datas; + + + public AqjclbAdapter(Context context, List datas) { + super(context, R.layout.item_aqjclb, datas); + this.datas = datas; + + } + + @Override + protected void convert(ViewHolder viewHolder, AqjclbBean.DataBean item, int position) { + TextView tvJHMC = viewHolder.getView(R.id.tv_JHMC); + TextView tvST = viewHolder.getView(R.id.tv_ST); + TextView tvET = viewHolder.getView(R.id.tv_ET); + TextView tvLCFW = viewHolder.getView(R.id.tv_LCFW); + TextView tvTJR = viewHolder.getView(R.id.tv_TJR); + TextView tvTJSJ = viewHolder.getView(R.id.tv_TJSJ); + + tvJHMC.setText("计划名称: " + item.getJHMC()); + tvST.setText("开始时间: " + item.getST()); + tvET.setText("结束时间: " + item.getET()); + tvLCFW.setText("联查范围: " + item.getJCFW()); + tvTJR.setText("提交人: " + item.getTJR()); + tvTJSJ.setText("提交时间: " + item.getTJSJ()); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/AqjcrwlbListAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/AqjcrwlbListAdapter.java new file mode 100755 index 0000000..b7f2c3d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/AqjcrwlbListAdapter.java @@ -0,0 +1,36 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.AqjcrwListBean; + +import java.util.List; + +/** + * Created by ruihong on 2018/1/20. + */ + +public class AqjcrwlbListAdapter extends CommonAdapter { + + private List datas; + + public AqjcrwlbListAdapter(Context context, List datas) { + super(context, R.layout.item_sqjcrwlist, datas); + this.datas = datas; + } + + @Override + protected void convert(ViewHolder viewHolder, AqjcrwListBean.DataBean item, int position) { + + + viewHolder.setText(R.id.tv_JHMC, "计划名称: " + item.getJHMC()); + viewHolder.setText(R.id.tv_WTQY, "问题区域: " + item.getWTQY()); + viewHolder.setText(R.id.tv_WTMS, "问题描述: " + item.getWTMS()); + viewHolder.setText(R.id.tv_FXLB, "风险类别: " + item.getFXLB()); + viewHolder.setText(R.id.tv_ZRBM, "责任部门: " + item.getZRBM()); + viewHolder.setText(R.id.tv_ZGZRR, "整改人: " + item.getZGR()); + + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/BpbjinfoAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/BpbjinfoAdapter.java new file mode 100755 index 0000000..e5cb215 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/BpbjinfoAdapter.java @@ -0,0 +1,42 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.Qfkccxbean; + +import java.util.List; + +/** + * Created by ruihong on 2018/3/28. + */ + +public class BpbjinfoAdapter extends CommonAdapter { + private List datas; + + public BpbjinfoAdapter(Context context, List datas) { + super(context, R.layout.item_bpbjinfo, datas); + this.datas = datas; + } + + @Override + protected void convert(ViewHolder viewHolder, Qfkccxbean.DataBean item, int position) { + TextView tv_WZBM = viewHolder.getView(R.id.tv_wzbm); + TextView tv_CKH = viewHolder.getView(R.id.tv_ckh); + TextView tv_WZMC = viewHolder.getView(R.id.tv_wzmc); + TextView tv_SL = viewHolder.getView(R.id.tv_sl); + TextView tv_dw = viewHolder.getView(R.id.tv_dw); + TextView tv_dj = viewHolder.getView(R.id.tv_dj); + TextView tv_cc = viewHolder.getView(R.id.tv_cc); + + + tv_WZBM.setText(item.getWZBM()); + tv_CKH.setText(item.getCKH()); + tv_WZMC.setText(item.getWZMC()); + tv_SL.setText(item.getSL()); + tv_dw.setText(item.getDW()); + tv_dj.setText(item.getDJ()); + tv_cc.setText(item.getCC()); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/CommonAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/CommonAdapter.java new file mode 100755 index 0000000..793e176 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/CommonAdapter.java @@ -0,0 +1,38 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; + +import java.util.List; + +public abstract class CommonAdapter extends MultiItemTypeAdapter +{ + + public CommonAdapter(Context context, final int layoutId, List datas) + { + super(context, datas); + + addItemViewDelegate(new ItemViewDelegate() + { + @Override + public int getItemViewLayoutId() + { + return layoutId; + } + + @Override + public boolean isForViewType(T item, int position) + { + return true; + } + + @Override + public void convert(ViewHolder holder, T t, int position) + { + CommonAdapter.this.convert(holder, t, position); + } + }); + } + + protected abstract void convert(ViewHolder viewHolder, T item, int position); + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ContactAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ContactAdapter.java new file mode 100755 index 0000000..661946d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ContactAdapter.java @@ -0,0 +1,113 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.bumptech.glide.Glide; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.ContactListBean; +import com.rehome.bhdxj.contans.Contans; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/5. + * 通讯录adapter + */ + +public class ContactAdapter extends BaseAdapter { + + private Context context; + private List datas; + + public ContactAdapter(Context context, List datas) { + + this.context = context; + this.datas = datas; + } + + @Override + public int getCount() { + return datas.size(); + } + + @Override + public ContactListBean.RowsBean.OrderlistBean getItem(int position) { + return datas.get(position); + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + + ContactListBean.RowsBean.OrderlistBean item = datas.get(position); + ViewHolder holder; + if (convertView == null) { + convertView = LayoutInflater.from(context).inflate(R.layout.item_contact1, null); + holder = new ViewHolder(); + holder.tvName = convertView.findViewById(R.id.tv_name); + holder.tvDeptName = convertView.findViewById(R.id.tv_dept_name); + holder.tvPhone1 = convertView.findViewById(R.id.tv_phone1); + holder.tvPhone2 = convertView.findViewById(R.id.tv_phone2); + holder.ll = convertView.findViewById(R.id.ll); + holder.headView = convertView.findViewById(R.id.headView); + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + if (!TextUtils.isEmpty(item.getName())) { + holder.ll.setVisibility(View.VISIBLE); + holder.tvDeptName.setVisibility(View.GONE); + holder.tvName.setText(item.getName()); + holder.tvPhone1.setText(item.getTelephone()); + holder.tvPhone2.setText(item.getAddress_tel()); + +// Log.e("#############",Contans.BASE_URL + item.getAccount_head()); + + if (!item.getAccount_head().equals("")){ + Glide.with(context).load(Contans.IP + item.getAccount_head()).into(holder.headView); + }else { + holder.headView.setImageResource(R.drawable.head_photo); + } + + + + } else { + + if (position == 0) { + holder.tvDeptName.setVisibility(View.GONE); + holder.ll.setVisibility(View.GONE); + } else { + holder.tvDeptName.setText(item.getGroupName()); + holder.ll.setVisibility(View.GONE); + holder.tvDeptName.setVisibility(View.VISIBLE); + } + } + + AutoUtils.auto(convertView); + + return convertView; + } + + public static class ViewHolder { + TextView tvName; + TextView tvDeptName; + TextView tvPhone1; + TextView tvPhone2; + ImageView headView; + LinearLayout ll; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/CxzjrwAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/CxzjrwAdapter.java new file mode 100755 index 0000000..cc9f955 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/CxzjrwAdapter.java @@ -0,0 +1,30 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.DxxZjrwBean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/3. + */ + +public class CxzjrwAdapter extends CommonAdapter { + + public CxzjrwAdapter(Context context, List datas) { + super(context, R.layout.cxzjrw_item, datas); + } + + @Override + protected void convert(ViewHolder viewHolder, DxxZjrwBean.DataBean item, int position) { + viewHolder.setText(R.id.tv_JHTITLE, item.getJHTITLE()); + viewHolder.setText(R.id.tv_wjb, item.getFILEBAGTITLE()); + viewHolder.setText(R.id.tv_zjdms, item.getZJDNAME()); + viewHolder.setText(R.id.tv_xmfzr, item.getPROUSERNAME()); + viewHolder.setText(R.id.tv_sbs, item.getWZJSBCOUNT()); + + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/DlbAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/DlbAdapter.java new file mode 100755 index 0000000..64dad3f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/DlbAdapter.java @@ -0,0 +1,107 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.graphics.Color; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.DlbInfo; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * 点列表适配器 + */ +public class DlbAdapter extends BaseAdapter { + + private Context context; + // private List list; + private List list; + + public DlbAdapter(Context context, List list) { + this.context = context; + this.list = list; + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.dlb_item, viewGroup, false); + holder.tv_d = view.findViewById(R.id.tv_d); + holder.tv_cjjg = view.findViewById(R.id.tv_cjjg); + holder.tv_zt = view.findViewById(R.id.tv_zt); + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + + holder.tv_d.setText(list.get(i).getDian()); + holder.tv_cjjg.setText(list.get(i).getCjjg()); + + + if (list.get(i).getCjjg() != null) { + if (list.get(i).getCjjg().equals("异常")) { + holder.tv_cjjg.setTextColor(Color.RED); + } else if (list.get(i).getCjjg().equals("已停用")) { + holder.tv_cjjg.setTextColor(Color.RED); + } else if (list.get(i).getCjjg().equals("不正常")) { + holder.tv_cjjg.setTextColor(Color.RED); + } else { + holder.tv_cjjg.setTextColor(Color.GRAY); + } + + } + + + if (list.get(i).getCjjg() == null) { + + } else if (list.get(i).getCjjg().equals("已停用")) { + holder.tv_zt.setText("已检"); + holder.tv_zt.setTextColor(Color.GREEN); + } else { + holder.tv_zt.setText("未检"); + holder.tv_zt.setTextColor(Color.RED); + + } + + if (list.get(i).isStatu()) { + holder.tv_zt.setText("已检"); + holder.tv_zt.setTextColor(Color.GREEN); + } else { + holder.tv_zt.setText("未检"); + holder.tv_zt.setTextColor(Color.RED); + } + return view; + } + + static class ViewHolder { + TextView tv_cjjg; + TextView tv_d; + TextView tv_zt; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GridImageAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GridImageAdapter.java new file mode 100644 index 0000000..cefd6d1 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GridImageAdapter.java @@ -0,0 +1,223 @@ +package com.rehome.bhdxj.adapter; + + +import android.content.Context; +import android.net.Uri; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.luck.picture.lib.config.PictureMimeType; +import com.luck.picture.lib.config.SelectMimeType; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.utils.DateUtils; +import com.rehome.bhdxj.Listener.OnItemLongClickListener; +import com.rehome.bhdxj.R; + +import java.util.ArrayList; +import java.util.List; + + +/** + * @author:luck + * @date:2016-7-27 23:02 + * @describe:GridImageAdapter + */ +public class GridImageAdapter extends RecyclerView.Adapter { + public static final String TAG = "PictureSelector"; + public static final int TYPE_CAMERA = 1; + public static final int TYPE_PICTURE = 2; + private final LayoutInflater mInflater; + private final ArrayList list = new ArrayList<>(); + private int selectMax = 9; + + /** + * 删除 + */ + public void delete(int position) { + try { + + if (position != RecyclerView.NO_POSITION && list.size() > position) { + list.remove(position); + notifyItemRemoved(position); + notifyItemRangeChanged(position, list.size()); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public GridImageAdapter(Context context, List result) { + this.mInflater = LayoutInflater.from(context); + this.list.addAll(result); + } + + public void setSelectMax(int selectMax) { + this.selectMax = selectMax; + } + + public int getSelectMax() { + return selectMax; + } + + public ArrayList getData() { + return list; + } + + public void remove(int position) { + if (position < list.size()) { + list.remove(position); + } + } + + public static class ViewHolder extends RecyclerView.ViewHolder { + + ImageView mImg; + ImageView mIvDel; + TextView tvDuration; + + public ViewHolder(View view) { + super(view); + mImg = view.findViewById(R.id.fiv); + mIvDel = view.findViewById(R.id.iv_del); + tvDuration = view.findViewById(R.id.tv_duration); + } + } + + @Override + public int getItemCount() { + if (list.size() < selectMax) { + return list.size() + 1; + } else { + return list.size(); + } + } + + @Override + public int getItemViewType(int position) { + if (isShowAddItem(position)) { + return TYPE_CAMERA; + } else { + return TYPE_PICTURE; + } + } + + /** + * 创建ViewHolder + */ + @Override + public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { + View view = mInflater.inflate(R.layout.gv_filter_image, viewGroup, false); + return new ViewHolder(view); + } + + private boolean isShowAddItem(int position) { + int size = list.size(); + return position == size; + } + + /** + * 设置值 + */ + @Override + public void onBindViewHolder(final ViewHolder viewHolder, final int position) { + //少于MaxSize张,显示继续添加的图标 + if (getItemViewType(position) == TYPE_CAMERA) { + viewHolder.mImg.setImageResource(R.drawable.ic_add_image); + viewHolder.mImg.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if (mItemClickListener != null) { + mItemClickListener.openPicture(); + } + } + }); + viewHolder.mIvDel.setVisibility(View.INVISIBLE); + } else { + viewHolder.mIvDel.setVisibility(View.VISIBLE); + viewHolder.mIvDel.setOnClickListener(view -> { + int index = viewHolder.getAbsoluteAdapterPosition(); + if (index != RecyclerView.NO_POSITION && list.size() > index) { + list.remove(index); + notifyItemRemoved(index); + notifyItemRangeChanged(index, list.size()); + } + }); + LocalMedia media = list.get(position); + int chooseModel = media.getChooseModel(); + String path = media.getAvailablePath(); + long duration = media.getDuration(); + viewHolder.tvDuration.setVisibility(PictureMimeType.isHasVideo(media.getMimeType()) + ? View.VISIBLE : View.GONE); + if (chooseModel == SelectMimeType.ofAudio()) { + viewHolder.tvDuration.setVisibility(View.VISIBLE); + viewHolder.tvDuration.setCompoundDrawablesRelativeWithIntrinsicBounds + (R.drawable.ps_ic_audio, 0, 0, 0); + + } else { + viewHolder.tvDuration.setCompoundDrawablesRelativeWithIntrinsicBounds + (R.drawable.ps_ic_video, 0, 0, 0); + } + viewHolder.tvDuration.setText(DateUtils.formatDurationTime(duration)); + if (chooseModel == SelectMimeType.ofAudio()) { + viewHolder.mImg.setImageResource(R.drawable.ps_audio_placeholder); + } else { + Glide.with(viewHolder.itemView.getContext()) + .load(PictureMimeType.isContent(path) && !media.isCut() && !media.isCompressed() ? Uri.parse(path) + : path) + .centerCrop() + .placeholder(R.color.app_color_f6) + .diskCacheStrategy(DiskCacheStrategy.ALL) + .into(viewHolder.mImg); + } + //itemView 的点击事件 + if (mItemClickListener != null) { + viewHolder.itemView.setOnClickListener(v -> { + int adapterPosition = viewHolder.getAbsoluteAdapterPosition(); + mItemClickListener.onItemClick(v, adapterPosition); + }); + } + + if (mItemLongClickListener != null) { + viewHolder.itemView.setOnLongClickListener(v -> { + int adapterPosition = viewHolder.getAbsoluteAdapterPosition(); + mItemLongClickListener.onItemLongClick(viewHolder, adapterPosition, v); + return true; + }); + } + } + } + + private OnItemClickListener mItemClickListener; + + public void setOnItemClickListener(OnItemClickListener l) { + this.mItemClickListener = l; + } + + public interface OnItemClickListener { + /** + * Item click event + * + * @param v + * @param position + */ + void onItemClick(View v, int position); + + /** + * Open PictureSelector + */ + void openPicture(); + } + + private OnItemLongClickListener mItemLongClickListener; + + public void setItemLongClickListener(OnItemLongClickListener l) { + this.mItemLongClickListener = l; + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GridViewAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GridViewAdapter.java new file mode 100755 index 0000000..b59be8d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GridViewAdapter.java @@ -0,0 +1,109 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.GridViewBean; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * gridview适配器 + */ +public class GridViewAdapter extends BaseAdapter { + + private Context context; + + private List datas; + + private int item = 0; + + private List items;//通过传入一些item,让传入的item不可以点击 + + private boolean flag; + + public GridViewAdapter(Context context, List datas, List items, boolean flag) { + this.context = context; + this.items = items; + this.flag = flag; + this.datas = datas; + } + + @Override + public int getCount() { + + return datas.size(); + } + + @Override + public GridViewBean getItem(int i) { + return datas.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int position, View view, ViewGroup viewGroup) { + + ViewHolder holder; + + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.gridview_item, viewGroup, false); + holder.iv = view.findViewById(R.id.iv); + holder.tv = view.findViewById(R.id.tv); + holder.ll = view.findViewById(R.id.ll); + holder.red_dot = view.findViewById(R.id.iv_reddot); + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + GridViewBean bean = getItem(position); + +// holder.ll.setBackgroundColor(context.getResources().getColor(bean.getBackgroup())); + + holder.ll.setBackgroundResource(bean.getBackgroup()); + holder.red_dot.setVisibility(bean.isShow() ? View.VISIBLE : View.GONE); + + if (bean.getTitle() != " ") { + holder.iv.setImageResource(bean.getImageid()); + } + holder.tv.setText(bean.getTitle()); + return view; + } + + static class ViewHolder { + TextView tv; + ImageView iv; + LinearLayout ll; + ImageView red_dot; + } + + //重写isEnabled,传入哪个position, + @Override + public boolean isEnabled(int position) { + + if (!flag) { + for (int i = 0; i < items.size(); i++) { + if (position == items.get(i)) { + return true; + } + } + return false; + } + return true; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GwfxListAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GwfxListAdapter.java new file mode 100755 index 0000000..da78957 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GwfxListAdapter.java @@ -0,0 +1,45 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.graphics.Color; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.QYAQFXDATABean; +import com.rehome.bhdxj.R; + +import java.util.List; + +/** + * Created by ruihong on 2017/11/23. + */ + +public class GwfxListAdapter extends CommonAdapter { + + + private List datas; + + + public GwfxListAdapter(Context context, List datas) { + super(context, R.layout.item_fxts, datas); + this.datas = datas; + + } + + @Override + protected void convert(ViewHolder viewHolder, QYAQFXDATABean item, int position) { + + + TextView tv_fxlx = viewHolder.getView(R.id.tv_fxlx); +// TextView tv_fxms = viewHolder.getView(R.id.tv_fxms); +// TextView tv_fhcs = viewHolder.getView(R.id.tv_fhcs); + + + tv_fxlx.setText(item.getFXLX()); + tv_fxlx.setTextColor(Color.parseColor("#FF0000")); +// tv_fxms.setText("风险描述: " + item.getFXMS()); +// tv_fhcs.setText("风险措施: " + item.getFHCS()); + + + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GzbAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GzbAdapter.java new file mode 100755 index 0000000..c175deb --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/GzbAdapter.java @@ -0,0 +1,105 @@ +package com.rehome.bhdxj.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import androidx.recyclerview.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.GzbBean; +import java.util.List; + +/** + * Created by ruihong on 2018/3/28. + */ + +public class GzbAdapter extends RecyclerView.Adapter { + + private LayoutInflater mLayoutInflater; + private List datas; + private Context mContext; + + private int mSelectedPos = 0; //实现单选,保存当前选中的position + + private OnChildItemClickListener onChildItemClickListener; + + + public GzbAdapter(Context context, List data) { + mLayoutInflater = LayoutInflater.from(context); + this.mContext = context; + this.datas = data; + for (int i = 0; i < data.size(); i++) { + if (data.get(i).isSelected()) { + mSelectedPos = i; + } + } + } + + public List getDatas() { + return datas; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View inflate = mLayoutInflater.inflate(R.layout.item_gzblist, null); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") final int position) { + + holder.cb.setChecked(datas.get(position).isSelected()); + + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + datas.get(mSelectedPos).setSelected(false); + + mSelectedPos = position; + + datas.get(mSelectedPos).setSelected(true); + + notifyDataSetChanged(); + } + }); + + holder.tv_smmc.setText(datas.get(position).getBHMS()); + + holder.tv_smmc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onChildItemClickListener.onClick(datas.get(position)); + } + }); + } + + @Override + public int getItemCount() { + return datas.size(); + } + + public void setOnChildItemClickListener(OnChildItemClickListener onChildItemClickListener) { //接口回调 + this.onChildItemClickListener = onChildItemClickListener; + } + + public interface OnChildItemClickListener { + void onClick(GzbBean.DataBean dataBean); + } + + class ViewHolder extends RecyclerView.ViewHolder { + + CheckBox cb; + TextView tv_smmc; + + public ViewHolder(View itemView) { + super(itemView); + cb = itemView.findViewById(R.id.cb); + tv_smmc = itemView.findViewById(R.id.tv_smmc); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ItemViewDelegate.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ItemViewDelegate.java new file mode 100755 index 0000000..5a58f74 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ItemViewDelegate.java @@ -0,0 +1,18 @@ +package com.rehome.bhdxj.adapter; + + +/** + * Created by zhy on 16/6/22. + */ +public interface ItemViewDelegate +{ + + int getItemViewLayoutId(); + + boolean isForViewType(T item, int position); + + void convert(ViewHolder holder, T t, int position); + + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ItemViewDelegateManager.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ItemViewDelegateManager.java new file mode 100755 index 0000000..24a0390 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ItemViewDelegateManager.java @@ -0,0 +1,130 @@ +package com.rehome.bhdxj.adapter; + +import androidx.collection.SparseArrayCompat; + +/** + * Created by zhy on 16/6/22. + */ +public class ItemViewDelegateManager +{ + SparseArrayCompat> delegates = new SparseArrayCompat(); + + public int getItemViewDelegateCount() + { + return delegates.size(); + } + + public ItemViewDelegateManager addDelegate(ItemViewDelegate delegate) + { + int viewType = delegates.size(); + if (delegate != null) + { + delegates.put(viewType, delegate); + viewType++; + } + return this; + } + + public ItemViewDelegateManager addDelegate(int viewType, ItemViewDelegate delegate) + { + if (delegates.get(viewType) != null) + { + throw new IllegalArgumentException( + "An ItemViewDelegate is already registered for the viewType = " + + viewType + + ". Already registered ItemViewDelegate is " + + delegates.get(viewType)); + } + delegates.put(viewType, delegate); + return this; + } + + public ItemViewDelegateManager removeDelegate(ItemViewDelegate delegate) + { + if (delegate == null) + { + throw new NullPointerException("ItemViewDelegate is null"); + } + int indexToRemove = delegates.indexOfValue(delegate); + + if (indexToRemove >= 0) + { + delegates.removeAt(indexToRemove); + } + return this; + } + + public ItemViewDelegateManager removeDelegate(int itemType) + { + int indexToRemove = delegates.indexOfKey(itemType); + + if (indexToRemove >= 0) + { + delegates.removeAt(indexToRemove); + } + return this; + } + + public int getItemViewType(T item, int position) + { + int delegatesCount = delegates.size(); + for (int i = delegatesCount - 1; i >= 0; i--) + { + ItemViewDelegate delegate = delegates.valueAt(i); + if (delegate.isForViewType(item, position)) + { + return delegates.keyAt(i); + } + } + throw new IllegalArgumentException( + "No ItemViewDelegate added that matches position=" + position + " in data source"); + } + + public void convert(ViewHolder holder, T item, int position) + { + int delegatesCount = delegates.size(); + for (int i = 0; i < delegatesCount; i++) + { + ItemViewDelegate delegate = delegates.valueAt(i); + + if (delegate.isForViewType(item, position)) + { + delegate.convert(holder, item, position); + return; + } + } + throw new IllegalArgumentException( + "No ItemViewDelegateManager added that matches position=" + position + " in data source"); + } + + + public int getItemViewLayoutId(int viewType) + { + return delegates.get(viewType).getItemViewLayoutId(); + } + + public int getItemViewType(ItemViewDelegate itemViewDelegate) + { + return delegates.indexOfValue(itemViewDelegate); + } + + public ItemViewDelegate getItemViewDelegate(T item, int position) + { + int delegatesCount = delegates.size(); + for (int i = delegatesCount - 1; i >= 0; i--) + { + ItemViewDelegate delegate = delegates.valueAt(i); + if (delegate.isForViewType(item, position)) + { + return delegate; + } + } + throw new IllegalArgumentException( + "No ItemViewDelegate added that matches position=" + position + " in data source"); + } + + public int getItemViewLayoutId(T item, int position) + { + return getItemViewDelegate(item,position).getItemViewLayoutId(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/MultiItemTypeAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/MultiItemTypeAdapter.java new file mode 100755 index 0000000..6e786ce --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/MultiItemTypeAdapter.java @@ -0,0 +1,102 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; + +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +public class MultiItemTypeAdapter extends BaseAdapter { + protected Context mContext; + protected List mDatas; + + private ItemViewDelegateManager mItemViewDelegateManager; + + + public MultiItemTypeAdapter(Context context, List datas) { + this.mContext = context; + this.mDatas = datas; + mItemViewDelegateManager = new ItemViewDelegateManager(); + } + + public MultiItemTypeAdapter addItemViewDelegate(ItemViewDelegate itemViewDelegate) { + mItemViewDelegateManager.addDelegate(itemViewDelegate); + return this; + } + + private boolean useItemViewDelegateManager() { + return mItemViewDelegateManager.getItemViewDelegateCount() > 0; + } + + @Override + public int getViewTypeCount() { + if (useItemViewDelegateManager()) + return mItemViewDelegateManager.getItemViewDelegateCount(); + return super.getViewTypeCount(); + } + + @Override + public int getItemViewType(int position) { + if (useItemViewDelegateManager()) { + int viewType = mItemViewDelegateManager.getItemViewType(mDatas.get(position), position); + return viewType; + } + return super.getItemViewType(position); + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ItemViewDelegate itemViewDelegate = mItemViewDelegateManager.getItemViewDelegate(mDatas.get(position), position); + int layoutId = itemViewDelegate.getItemViewLayoutId(); + ViewHolder viewHolder = null ; + if (convertView == null) + { + View itemView = LayoutInflater.from(mContext).inflate(layoutId, parent, + false); + + AutoUtils.autoSize(itemView); + + viewHolder = new ViewHolder(mContext, itemView, parent, position); + viewHolder.mLayoutId = layoutId; + onViewHolderCreated(viewHolder,viewHolder.getConvertView()); + } else + { + viewHolder = (ViewHolder) convertView.getTag(); + viewHolder.mPosition = position; + } + + + convert(viewHolder, getItem(position), position); + return viewHolder.getConvertView(); + } + + protected void convert(ViewHolder viewHolder, T item, int position) { + mItemViewDelegateManager.convert(viewHolder, item, position); + } + + public void onViewHolderCreated(ViewHolder holder , View itemView ) + {} + + @Override + public int getCount() { + return mDatas.size(); + } + + @Override + public T getItem(int position) { + return mDatas.get(position); + } + + @Override + public long getItemId(int position) { + return position; + } + + public List getDatas() { + return mDatas; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/MyFragmentAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/MyFragmentAdapter.java new file mode 100755 index 0000000..c742227 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/MyFragmentAdapter.java @@ -0,0 +1,37 @@ +package com.rehome.bhdxj.adapter; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; +import android.view.ViewGroup; + +import java.util.List; + +/** + * fragment适配器 + */ +public class MyFragmentAdapter extends FragmentPagerAdapter { + + List mFragments; + + public MyFragmentAdapter(FragmentManager fm, List mFragments) { + super(fm); + this.mFragments = mFragments; + } + + @Override + public Fragment getItem(int position) { + return mFragments.get(position); + } + + @Override + public int getCount() { + return mFragments.size(); + } + + //注释掉那就话,就不会销毁fragment + @Override + public void destroyItem(ViewGroup container, int position, Object object) { + //super.destroyItem(container, position, object); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfBmlbinfoAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfBmlbinfoAdapter.java new file mode 100755 index 0000000..1f052ef --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfBmlbinfoAdapter.java @@ -0,0 +1,104 @@ +package com.rehome.bhdxj.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import androidx.recyclerview.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.QfbmlistBean; +import java.util.List; + +/** + * Created by ruihong on 2018/3/28. + */ + +public class QfBmlbinfoAdapter extends RecyclerView.Adapter { + + private LayoutInflater mLayoutInflater; + private List datas; + private Context mContext; + + private int mSelectedPos = 0; //实现单选,保存当前选中的position + + private OnChildItemClickListener onChildItemClickListener; + + + public QfBmlbinfoAdapter(Context context, List data) { + mLayoutInflater = LayoutInflater.from(context); + this.mContext = context; + this.datas = data; + for (int i = 0; i < data.size(); i++) { + if (data.get(i).isSelected()) { + mSelectedPos = i; + } + } + } + + public List getDatas() { + return datas; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View inflate = mLayoutInflater.inflate(R.layout.item_qfsblist, null); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") final int position) { + + holder.cb.setChecked(datas.get(position).isSelected()); + + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + datas.get(mSelectedPos).setSelected(false); + + mSelectedPos = position; + + datas.get(mSelectedPos).setSelected(true); + + notifyDataSetChanged(); + } + }); + + holder.tv_smmc.setText(datas.get(position).getBMMC()); + holder.tv_smmc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onChildItemClickListener.onClick(datas.get(position)); + } + }); + } + + @Override + public int getItemCount() { + return datas.size(); + } + + public void setOnChildItemClickListener(OnChildItemClickListener onChildItemClickListener) { //接口回调 + this.onChildItemClickListener = onChildItemClickListener; + } + + public interface OnChildItemClickListener { + void onClick(QfbmlistBean.DataBean dataBean); + } + + class ViewHolder extends RecyclerView.ViewHolder { + + CheckBox cb; + TextView tv_smmc; + + public ViewHolder(View itemView) { + super(itemView); + cb = itemView.findViewById(R.id.cb); + tv_smmc = itemView.findViewById(R.id.tv_smmc); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfPmListAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfPmListAdapter.java new file mode 100755 index 0000000..ff359bd --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfPmListAdapter.java @@ -0,0 +1,41 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.PminfoBean2; + +import java.util.List; + +/** + * Created by ruihong on 2017/12/28. + */ + +public class QfPmListAdapter extends CommonAdapter { + + + private List datas; + + + public QfPmListAdapter(Context context, List datas) { + super(context, R.layout.item_qfgdlist, datas); + this.datas = datas; + + } + + @Override + protected void convert(ViewHolder viewHolder, PminfoBean2.DataBean item, int position) { + TextView tv_zrmb = viewHolder.getView(R.id.tv_zrmb); + TextView tv_sbmc = viewHolder.getView(R.id.tv_sbmc); + TextView tv_gzzt = viewHolder.getView(R.id.tv_gzzt); + TextView tv_bgr = viewHolder.getView(R.id.tv_bgr); + + + tv_zrmb.setText("责任部门: " + item.getZRBM()); + tv_sbmc.setText("设备名称: " + item.getSBMC()); + tv_bgr.setText("报告人: " + item.getBGR()); + tv_gzzt.setText(item.getGZZT()); + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfSblbinfoAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfSblbinfoAdapter.java new file mode 100755 index 0000000..be942b5 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfSblbinfoAdapter.java @@ -0,0 +1,104 @@ +package com.rehome.bhdxj.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import androidx.recyclerview.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.QfsblistBean; +import java.util.List; + +/** + * Created by ruihong on 2018/3/28. + */ + +public class QfSblbinfoAdapter extends RecyclerView.Adapter { + + private LayoutInflater mLayoutInflater; + private List datas; + private Context mContext; + + private int mSelectedPos = 0; //实现单选,保存当前选中的position + + private OnChildItemClickListener onChildItemClickListener; + + + public QfSblbinfoAdapter(Context context, List data) { + mLayoutInflater = LayoutInflater.from(context); + this.mContext = context; + this.datas = data; + for (int i = 0; i < data.size(); i++) { + if (data.get(i).isSelected()) { + mSelectedPos = i; + } + } + } + + public List getDatas() { + return datas; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View inflate = mLayoutInflater.inflate(R.layout.item_qfsblist, null); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") final int position) { + + holder.cb.setChecked(datas.get(position).isSelected()); + + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + datas.get(mSelectedPos).setSelected(false); + + mSelectedPos = position; + + datas.get(mSelectedPos).setSelected(true); + + notifyDataSetChanged(); + } + }); + + holder.tv_smmc.setText(datas.get(position).getSBMC() + "-" + datas.get(position).getSBID()); + holder.tv_smmc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onChildItemClickListener.onClick(datas.get(position)); + } + }); + } + + @Override + public int getItemCount() { + return datas.size(); + } + + public void setOnChildItemClickListener(OnChildItemClickListener onChildItemClickListener) { //接口回调 + this.onChildItemClickListener = onChildItemClickListener; + } + + public interface OnChildItemClickListener { + void onClick(QfsblistBean.DataBean dataBean); + } + + class ViewHolder extends RecyclerView.ViewHolder { + + CheckBox cb; + TextView tv_smmc; + + public ViewHolder(View itemView) { + super(itemView); + cb = itemView.findViewById(R.id.cb); + tv_smmc = itemView.findViewById(R.id.tv_smmc); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfdjAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfdjAdapter.java new file mode 100755 index 0000000..7a9f0fb --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfdjAdapter.java @@ -0,0 +1,107 @@ +package com.rehome.bhdxj.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import androidx.recyclerview.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.QfdjBean; + +import java.util.List; + + +/** + * Created by ruihong on 2018/3/28. + */ + +public class QfdjAdapter extends RecyclerView.Adapter { + + private LayoutInflater mLayoutInflater; + private List datas; + private Context mContext; + + private int mSelectedPos = 0; //实现单选,保存当前选中的position + + private OnChildItemClickListener onChildItemClickListener; + + + public QfdjAdapter(Context context, List data) { + mLayoutInflater = LayoutInflater.from(context); + this.mContext = context; + this.datas = data; + for (int i = 0; i < data.size(); i++) { + if (data.get(i).isSelected()) { + mSelectedPos = i; + } + } + } + + public List getDatas() { + return datas; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View inflate = mLayoutInflater.inflate(R.layout.item_qfsblist, null); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") final int position) { + + holder.cb.setChecked(datas.get(position).isSelected()); + + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + datas.get(mSelectedPos).setSelected(false); + + mSelectedPos = position; + + datas.get(mSelectedPos).setSelected(true); + + notifyDataSetChanged(); + } + }); + + holder.tv_smmc.setText(datas.get(position).getDJMC()); + holder.tv_smmc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onChildItemClickListener.onClick(datas.get(position)); + } + }); + } + + @Override + public int getItemCount() { + return datas.size(); + } + + public void setOnChildItemClickListener(OnChildItemClickListener onChildItemClickListener) { //接口回调 + this.onChildItemClickListener = onChildItemClickListener; + } + + public interface OnChildItemClickListener { + void onClick(QfdjBean.DataBean dataBean); + } + + class ViewHolder extends RecyclerView.ViewHolder { + + CheckBox cb; + TextView tv_smmc; + + public ViewHolder(View itemView) { + super(itemView); + cb = itemView.findViewById(R.id.cb); + tv_smmc = itemView.findViewById(R.id.tv_smmc); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QffzrAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QffzrAdapter.java new file mode 100755 index 0000000..fd5cae6 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QffzrAdapter.java @@ -0,0 +1,104 @@ +package com.rehome.bhdxj.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import androidx.recyclerview.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.QfFzrBean; +import java.util.List; + +/** + * Created by ruihong on 2018/3/28. + */ + +public class QffzrAdapter extends RecyclerView.Adapter { + + private LayoutInflater mLayoutInflater; + private List datas; + private Context mContext; + + private int mSelectedPos = 0; //实现单选,保存当前选中的position + + private OnChildItemClickListener onChildItemClickListener; + + + public QffzrAdapter(Context context, List data) { + mLayoutInflater = LayoutInflater.from(context); + this.mContext = context; + this.datas = data; + for (int i = 0; i < data.size(); i++) { + if (data.get(i).isSelected()) { + mSelectedPos = i; + } + } + } + + public List getDatas() { + return datas; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View inflate = mLayoutInflater.inflate(R.layout.item_qfsblist, null); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") final int position) { + + holder.cb.setChecked(datas.get(position).isSelected()); + + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + datas.get(mSelectedPos).setSelected(false); + + mSelectedPos = position; + + datas.get(mSelectedPos).setSelected(true); + + notifyDataSetChanged(); + } + }); + + holder.tv_smmc.setText(datas.get(position).getYHMC()); + holder.tv_smmc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onChildItemClickListener.onClick(datas.get(position)); + } + }); + } + + @Override + public int getItemCount() { + return datas.size(); + } + + public void setOnChildItemClickListener(OnChildItemClickListener onChildItemClickListener) { //接口回调 + this.onChildItemClickListener = onChildItemClickListener; + } + + public interface OnChildItemClickListener { + void onClick(QfFzrBean.DataBean dataBean); + } + + class ViewHolder extends RecyclerView.ViewHolder { + + CheckBox cb; + TextView tv_smmc; + + public ViewHolder(View itemView) { + super(itemView); + cb = itemView.findViewById(R.id.cb); + tv_smmc = itemView.findViewById(R.id.tv_smmc); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfgdztinfoAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfgdztinfoAdapter.java new file mode 100755 index 0000000..b6d8805 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QfgdztinfoAdapter.java @@ -0,0 +1,104 @@ +package com.rehome.bhdxj.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import androidx.recyclerview.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.QfgdztlistBean; +import java.util.List; + +/** + * Created by ruihong on 2018/3/28. + */ + +public class QfgdztinfoAdapter extends RecyclerView.Adapter { + + private LayoutInflater mLayoutInflater; + private List datas; + private Context mContext; + + private int mSelectedPos = 0; //实现单选,保存当前选中的position + + private OnChildItemClickListener onChildItemClickListener; + + + public QfgdztinfoAdapter(Context context, List data) { + mLayoutInflater = LayoutInflater.from(context); + this.mContext = context; + this.datas = data; + for (int i = 0; i < data.size(); i++) { + if (data.get(i).isSelected()) { + mSelectedPos = i; + } + } + } + + public List getDatas() { + return datas; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View inflate = mLayoutInflater.inflate(R.layout.item_qfsblist, null); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") final int position) { + + holder.cb.setChecked(datas.get(position).isSelected()); + + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + datas.get(mSelectedPos).setSelected(false); + + mSelectedPos = position; + + datas.get(mSelectedPos).setSelected(true); + + notifyDataSetChanged(); + } + }); + + holder.tv_smmc.setText(datas.get(position).getGDZTMC()); + holder.tv_smmc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onChildItemClickListener.onClick(datas.get(position)); + } + }); + } + + @Override + public int getItemCount() { + return datas.size(); + } + + public void setOnChildItemClickListener(OnChildItemClickListener onChildItemClickListener) { //接口回调 + this.onChildItemClickListener = onChildItemClickListener; + } + + public interface OnChildItemClickListener { + void onClick(QfgdztlistBean.DataBean dataBean); + } + + class ViewHolder extends RecyclerView.ViewHolder { + + CheckBox cb; + TextView tv_smmc; + + public ViewHolder(View itemView) { + super(itemView); + cb = itemView.findViewById(R.id.cb); + tv_smmc = itemView.findViewById(R.id.tv_smmc); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QxdAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QxdAdapter.java new file mode 100755 index 0000000..92bb2f2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/QxdAdapter.java @@ -0,0 +1,48 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.QxdBean; +import java.util.List; + +/** + * Created by ruihong on 2017/12/28. + */ + +public class QxdAdapter extends CommonAdapter { + + private List datas; + + + public QxdAdapter(Context context, List datas) { + super(context, R.layout.item_qxdinfo, datas); + this.datas = datas; + + } + + @Override + protected void convert(ViewHolder viewHolder, QxdBean.DataBean item, int position) { + TextView tv_JDBH = viewHolder.getView(R.id.tv_JDBH); + TextView tv_SBMC = viewHolder.getView(R.id.tv_SBMC); + TextView tv_QXMS = viewHolder.getView(R.id.tv_QXMS); + TextView tv_GZMS = viewHolder.getView(R.id.tv_GZMS); + TextView tv_ZT = viewHolder.getView(R.id.tv_ZT); + TextView tv_yxj = viewHolder.getView(R.id.tv_yxj); + TextView tv_ZRBZ = viewHolder.getView(R.id.tv_ZRBZ); + TextView tv_XMFZR = viewHolder.getView(R.id.tv_XMFZR); + TextView tv_JXBZ = viewHolder.getView(R.id.tv_JXBZ); + + + tv_JDBH.setText("工单编号: " + item.getPl_wk_wn_p()); + tv_SBMC.setText("设备名称: " + item.getEq_ma_de()); + tv_QXMS.setText("缺陷描述: " + item.getPl_wk_fd()); + tv_GZMS.setText("工作描述: " + item.getPl_wk_de()); + tv_ZT.setText("状态: " + item.getWo_st_de()); + tv_yxj.setText("优先级: " + item.getPriorityclass()); + tv_ZRBZ.setText("责任班组: " + item.getRe_tm_de()); + tv_XMFZR.setText("项目负责人: " + item.getPl_wk_do()); + tv_JXBZ.setText("检修班组: " + item.getPl_wk_wg()); + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/RlinfoAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/RlinfoAdapter.java new file mode 100644 index 0000000..8f9c140 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/RlinfoAdapter.java @@ -0,0 +1,32 @@ +package com.rehome.bhdxj.adapter; + +import androidx.annotation.NonNull; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.RlinfoBean; +import com.xuexiang.xui.adapter.recyclerview.BaseRecyclerAdapter; +import com.xuexiang.xui.adapter.recyclerview.RecyclerViewHolder; + +public class RlinfoAdapter extends BaseRecyclerAdapter { + @Override + protected int getItemLayoutId(int viewType) { + return R.layout.item_rlinfo; + } + + @Override + protected void bindData(@NonNull RecyclerViewHolder holder, int position, RlinfoBean.DataBean item) { + if (item != null) { + holder.text(R.id.tv_jhmc, item.getJHMC()); + holder.text(R.id.tv_zcmc, item.getZCMC()); + holder.text(R.id.tv_xzsc, item.getZXSC() + "小时"); + holder.text(R.id.tv_xlzxsj, item.getNEXTTIME()); + holder.text(R.id.tv_xgr, item.getXGR()); + holder.text(R.id.tv_xgsj, item.getXGSJ()); + holder.text(R.id.tv_xlzxsj, item.getNEXTTIME()); + holder.text(R.id.tv_blkssj, item.getST()); + holder.text(R.id.tv_bljssj, item.getET()); + holder.text(R.id.tv_jhzq, "计划周期:" + item.getJHZQ() + "小时"); + + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ScjhAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ScjhAdapter.java new file mode 100755 index 0000000..7c5359e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ScjhAdapter.java @@ -0,0 +1,90 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.XDJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + + +/** + * 下载计划适配器 + */ +public class ScjhAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public ScjhAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.scjh_item, viewGroup, false); + holder.cb = view.findViewById(R.id.cb); + holder.tv_gwmc = view.findViewById(R.id.tv_gwmc); + holder.tv_yjzj = view.findViewById(R.id.tv_yjzj); + + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + + holder.cb.setChecked(list.get(i).isChecked()); + holder.tv_gwmc.setText(list.get(i).getGWMC()); + holder.tv_yjzj.setText(list.get(i).getCountPercent()); + + holder.cb.setTag(i); + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + } + + static class ViewHolder { + CheckBox cb; + TextView tv_gwmc; + TextView tv_yjzj; + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ScxsAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ScxsAdapter.java new file mode 100755 index 0000000..3ab283e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ScxsAdapter.java @@ -0,0 +1,92 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.XSJJHXZDataBean; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + + +/** + * 下载计划适配器 + */ +public class ScxsAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public ScxsAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.scxscb_item, viewGroup, false); + holder.xj_cb = view.findViewById(R.id.xj_cb); + holder.tv_gwmc = view.findViewById(R.id.tv_gwmc); + holder.tv_yjzj = view.findViewById(R.id.tv_yjzj); + + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + + holder.xj_cb.setChecked(list.get(i).isChecked()); + holder.tv_gwmc.setText(list.get(i).getQymc()); + holder.tv_yjzj.setText(list.get(i).getCountPercent()); + + + + holder.xj_cb.setTag(i); + holder.xj_cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + } + + static class ViewHolder { + CheckBox xj_cb; + TextView tv_gwmc; + TextView tv_yjzj; + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ViewHolder.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ViewHolder.java new file mode 100755 index 0000000..f82d20f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ViewHolder.java @@ -0,0 +1,291 @@ +package com.rehome.bhdxj.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Paint; +import android.graphics.Typeface; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.text.util.Linkify; +import android.util.SparseArray; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AlphaAnimation; +import android.widget.Checkable; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.RatingBar; +import android.widget.TextView; + +public class ViewHolder +{ + private SparseArray mViews; + public int mPosition; + private View mConvertView; + private Context mContext; + public int mLayoutId; + + public ViewHolder(Context context, View itemView, ViewGroup parent, int position) + { + mContext = context; + mConvertView = itemView; + mPosition = position; + mViews = new SparseArray(); + mConvertView.setTag(this); + } + + + public static ViewHolder get(Context context, View convertView, + ViewGroup parent, int layoutId, int position) + { + if (convertView == null) + { + View itemView = LayoutInflater.from(context).inflate(layoutId, parent, + false); + ViewHolder holder = new ViewHolder(context, itemView, parent, position); + holder.mLayoutId = layoutId; + return holder; + } else + { + ViewHolder holder = (ViewHolder) convertView.getTag(); + holder.mPosition = position; + return holder; + } + } + + + /** + * 通过viewId获取控件 + * + * @param viewId + * @return + */ + public T getView(int viewId) + { + View view = mViews.get(viewId); + if (view == null) + { + view = mConvertView.findViewById(viewId); + mViews.put(viewId, view); + } + return (T) view; + } + + public View getConvertView() + { + return mConvertView; + } + + public int getLayoutId() + { + return mLayoutId; + } + + public void updatePosition(int position) + { + mPosition = position; + } + + public int getItemPosition() + { + return mPosition; + } + + + /****以下为辅助方法*****/ + + /** + * 设置TextView的值 + * + * @param viewId + * @param text + * @return + */ + public ViewHolder setText(int viewId, String text) + { + TextView tv = getView(viewId); + tv.setText(text); + return this; + } + + public ViewHolder setImageResource(int viewId, int resId) + { + ImageView view = getView(viewId); + view.setImageResource(resId); + return this; + } + + public ViewHolder setImageBitmap(int viewId, Bitmap bitmap) + { + ImageView view = getView(viewId); + view.setImageBitmap(bitmap); + return this; + } + + public ViewHolder setImageDrawable(int viewId, Drawable drawable) + { + ImageView view = getView(viewId); + view.setImageDrawable(drawable); + return this; + } + + public ViewHolder setBackgroundColor(int viewId, int color) + { + View view = getView(viewId); + view.setBackgroundColor(color); + return this; + } + + public ViewHolder setBackgroundRes(int viewId, int backgroundRes) + { + View view = getView(viewId); + view.setBackgroundResource(backgroundRes); + return this; + } + + public ViewHolder setTextColor(int viewId, int textColor) + { + TextView view = getView(viewId); + view.setTextColor(textColor); + return this; + } + + public ViewHolder setTextColorRes(int viewId, int textColorRes) + { + TextView view = getView(viewId); + view.setTextColor(mContext.getResources().getColor(textColorRes)); + return this; + } + + @SuppressLint("NewApi") + public ViewHolder setAlpha(int viewId, float value) + { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) + { + getView(viewId).setAlpha(value); + } else + { + // Pre-honeycomb hack to set Alpha value + AlphaAnimation alpha = new AlphaAnimation(value, value); + alpha.setDuration(0); + alpha.setFillAfter(true); + getView(viewId).startAnimation(alpha); + } + return this; + } + + public ViewHolder setVisible(int viewId, boolean visible) + { + View view = getView(viewId); + view.setVisibility(visible ? View.VISIBLE : View.GONE); + return this; + } + + public ViewHolder linkify(int viewId) + { + TextView view = getView(viewId); + Linkify.addLinks(view, Linkify.ALL); + return this; + } + + public ViewHolder setTypeface(Typeface typeface, int... viewIds) + { + for (int viewId : viewIds) + { + TextView view = getView(viewId); + view.setTypeface(typeface); + view.setPaintFlags(view.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG); + } + return this; + } + + public ViewHolder setProgress(int viewId, int progress) + { + ProgressBar view = getView(viewId); + view.setProgress(progress); + return this; + } + + public ViewHolder setProgress(int viewId, int progress, int max) + { + ProgressBar view = getView(viewId); + view.setMax(max); + view.setProgress(progress); + return this; + } + + public ViewHolder setMax(int viewId, int max) + { + ProgressBar view = getView(viewId); + view.setMax(max); + return this; + } + + public ViewHolder setRating(int viewId, float rating) + { + RatingBar view = getView(viewId); + view.setRating(rating); + return this; + } + + public ViewHolder setRating(int viewId, float rating, int max) + { + RatingBar view = getView(viewId); + view.setMax(max); + view.setRating(rating); + return this; + } + + public ViewHolder setTag(int viewId, Object tag) + { + View view = getView(viewId); + view.setTag(tag); + return this; + } + + public ViewHolder setTag(int viewId, int key, Object tag) + { + View view = getView(viewId); + view.setTag(key, tag); + return this; + } + + public ViewHolder setChecked(int viewId, boolean checked) + { + Checkable view = getView(viewId); + view.setChecked(checked); + return this; + } + + /** + * 关于事件的 + */ + public ViewHolder setOnClickListener(int viewId, + View.OnClickListener listener) + { + View view = getView(viewId); + view.setOnClickListener(listener); + return this; + } + + public ViewHolder setOnTouchListener(int viewId, + View.OnTouchListener listener) + { + View view = getView(viewId); + view.setOnTouchListener(listener); + return this; + } + + public ViewHolder setOnLongClickListener(int viewId, + View.OnLongClickListener listener) + { + View view = getView(viewId); + view.setOnLongClickListener(listener); + return this; + } + + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/WjDetailsListAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/WjDetailsListAdapter.java new file mode 100755 index 0000000..c10a414 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/WjDetailsListAdapter.java @@ -0,0 +1,118 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseExpandableListAdapter; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.WjbjxitemList; +import com.rehome.bhdxj.DBModel.WjbzjdList; +import com.rehome.bhdxj.R; + +import java.util.List; + +/** + * author: Johnny Chen + * Date: 2018/7/28 + */ +public class WjDetailsListAdapter extends BaseExpandableListAdapter { + + private Context mContext; + private LayoutInflater mInflater; + private List wjbzjdListBeans; + + + public WjDetailsListAdapter(Context mContext, List wjbzjdListBeans) { + this.mContext = mContext; + this.wjbzjdListBeans = wjbzjdListBeans; + mInflater = LayoutInflater.from(mContext); + } + + @Override + public int getGroupCount() { + return wjbzjdListBeans == null ? 0 : wjbzjdListBeans.size(); + } + + @Override + public int getChildrenCount(int groupPosition) { + return wjbzjdListBeans.get(groupPosition).getJxitem().size(); + } + + @Override + public Object getGroup(int groupPosition) { + return wjbzjdListBeans.get(groupPosition); + } + + @Override + public Object getChild(int groupPosition, int childPosition) { + return wjbzjdListBeans.get(groupPosition).getJxitem().get(childPosition); + } + + @Override + public long getGroupId(int groupPosition) { + return groupPosition; + } + + @Override + public long getChildId(int groupPosition, int childPosition) { + return childPosition; + } + + @Override + public boolean hasStableIds() { + return false; + } + + @Override + public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { + + GroupHolder groupHolder; + if (convertView == null) { + groupHolder = new GroupHolder(); + convertView = mInflater.inflate(R.layout.item_group_wj_details, null); + groupHolder.WjDetailsItemGroupTv = convertView.findViewById(R.id.WjDetails_item_group_tv); + convertView.setTag(groupHolder); + } else { + groupHolder = (GroupHolder) convertView.getTag(); + } + + groupHolder.WjDetailsItemGroupTv.setText(wjbzjdListBeans.get(groupPosition).getName()); + return convertView; + } + + @Override + public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { + ChildHolder childHolder; + if (convertView == null) { + childHolder = new ChildHolder(); + convertView = mInflater.inflate(R.layout.item_child_wj_details, null); + childHolder.WjDetailsItemChildIndexTv = convertView.findViewById(R.id.WjDetails_item_child_index_tv); + childHolder.WjDetailsItemChildContentTv = convertView.findViewById(R.id.WjDetails_item_child_content_tv); + convertView.setTag(childHolder); + } else { + childHolder = (ChildHolder) convertView.getTag(); + } + + List wjbjxitemListBeans = wjbzjdListBeans.get(groupPosition).getJxitem(); + + childHolder.WjDetailsItemChildIndexTv.setText(childPosition + 1 + ":"); + childHolder.WjDetailsItemChildContentTv.setText(wjbjxitemListBeans.get(childPosition).getItemname()); + return convertView; + } + + @Override + public boolean isChildSelectable(int groupPosition, int childPosition) { + return true; + } + + class GroupHolder { + TextView WjDetailsItemGroupTv; + } + + class ChildHolder { + TextView WjDetailsItemChildIndexTv; + TextView WjDetailsItemChildContentTv; + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/WjbxjAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/WjbxjAdapter.java new file mode 100755 index 0000000..bf3710f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/WjbxjAdapter.java @@ -0,0 +1,87 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.WjbrwinfoList; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/23. + */ + +public class WjbxjAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public WjbxjAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.wjbxz_item, viewGroup, false); + holder.cb = view.findViewById(R.id.cb); + holder.tv_wjb = view.findViewById(R.id.tv_wjb); + + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + holder.cb.setChecked(list.get(i).isChecked()); + holder.tv_wjb.setText(list.get(i).getFILEBAGTITLE() + list.get(i).getJHTITLE() + "---文件包号:" + list.get(i).getFILEBAGID()); + + holder.cb.setTag(i); + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + + } + + + static class ViewHolder { + CheckBox cb; + TextView tv_wjb; + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsHistoryExpandableListAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsHistoryExpandableListAdapter.java new file mode 100755 index 0000000..36d4519 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsHistoryExpandableListAdapter.java @@ -0,0 +1,173 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseExpandableListAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.XsHistoryListBean; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/26. + */ + +public class XsHistoryExpandableListAdapter extends BaseExpandableListAdapter { + + private Context context; + + + List datas; + + public XsHistoryExpandableListAdapter(Context context, List datas) { + this.datas = datas; + this.context = context; + } + + /** + * 父项的数量 + * + * @return + */ + @Override + public int getGroupCount() { + return datas.size(); + } + + /** + * 子项的数量 + * + * @param groupPosition + * @return + */ + @Override + public int getChildrenCount(int groupPosition) { + return datas.get(groupPosition).getData().size(); + } + + /** + * 获得父项 + * + * @param groupPosition + * @return + */ + @Override + public Object getGroup(int groupPosition) { + return datas.get(groupPosition); + } + + /** + * 获得子项 + * + * @param groupPosition + * @param childPosition + * @return + */ + @Override + public Object getChild(int groupPosition, int childPosition) { + return datas.get(groupPosition).getData().get(childPosition); + } + + /** + * 获得父项ID + * + * @param groupPosition + * @return + */ + @Override + public long getGroupId(int groupPosition) { + return 0; + } + + + /** + * 获得子项ID + * + * @param groupPosition + * @param childPosition + * @return + */ + @Override + public long getChildId(int groupPosition, int childPosition) { + return 0; + } + + @Override + public boolean hasStableIds() { + return false; + } + + @Override + public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { + + GroupViewHolder holder; + + if (convertView == null) { + convertView = LayoutInflater.from(context).inflate(R.layout.item_parent, null); + holder = new GroupViewHolder(); + holder.ivLeft = convertView.findViewById(R.id.iv_left); + holder.tvTitle = convertView.findViewById(R.id.tv_title); + convertView.setTag(holder); + } else { + holder = (GroupViewHolder) convertView.getTag(); + } + + holder.tvTitle.setText(datas.get(groupPosition).getRq()+"数据"); + if (isExpanded) { + holder.ivLeft.setImageResource(R.mipmap.unfold); + } else { + holder.ivLeft.setImageResource(R.mipmap.packup); + } + + AutoUtils.auto(convertView); + + return convertView; + } + + @Override + public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { + + ChildViewHolder holder; + + if (convertView == null) { + convertView = LayoutInflater.from(context).inflate(R.layout.item_child, null); + holder = new ChildViewHolder(); + holder.tvTitle = convertView.findViewById(R.id.tv_title); + holder.time_TX = convertView.findViewById(R.id.time_TX); + + + convertView.setTag(holder); + } else { + holder = (ChildViewHolder) convertView.getTag(); + } + + holder.tvTitle.setText(datas.get(groupPosition).getData().get(childPosition).getJhmc()); + + holder.time_TX.setText(datas.get(groupPosition).getData().get(childPosition).getScsj()); + + AutoUtils.auto(convertView); + + return convertView; + } + + @Override + public boolean isChildSelectable(int groupPosition, int childPosition) { + return true; + } + + class GroupViewHolder { + ImageView ivLeft; + TextView tvTitle; + } + + class ChildViewHolder { + TextView tvTitle; + TextView time_TX; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhListAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhListAdapter.java new file mode 100755 index 0000000..bda7ad5 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhListAdapter.java @@ -0,0 +1,28 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.XsJhListBean; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/17. + */ + +public class XsjhListAdapter extends CommonAdapter { + + private List datas; + + public XsjhListAdapter(Context context, List datas) { + super(context, R.layout.xsjh_item2, datas); + this.datas = datas; + } + + @Override + protected void convert(ViewHolder viewHolder, XsJhListBean.DataBean item, int position) { + + viewHolder.setText(R.id.tv_jhmc, item.getJhmc()); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyAdapter.java new file mode 100755 index 0000000..d81521f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyAdapter.java @@ -0,0 +1,45 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.graphics.Color; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.XsjhQyBean; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/17. + */ + +public class XsjhqyAdapter extends CommonAdapter { + + private List datas; + + public XsjhqyAdapter(Context context, List datas) { + super(context, R.layout.xsjhqy_item, datas); + this.datas = datas; + } + + @Override + protected void convert(ViewHolder viewHolder, XsjhQyBean.DataBeanX item, int position) { + + viewHolder.setText(R.id.tv_qy, item.getQymc()); + + if (item.getSczt().equals("0")) { //未上传 + + viewHolder.setTextColor(R.id.tv_qy, Color.BLACK); + + } else if (item.getSczt().equals("1")) { //已上传 + + viewHolder.setTextColor(R.id.tv_qy, Color.BLUE); + + } else { + + viewHolder.setTextColor(R.id.tv_qy, Color.BLACK); + + } + + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyWorkCbAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyWorkCbAdapter.java new file mode 100755 index 0000000..40f2d6b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyWorkCbAdapter.java @@ -0,0 +1,141 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.view.View; +import android.widget.EditText; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.XsjhQyBean; +import com.rehome.bhdxj.weight.ListDialog; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/17. + */ + +public class XsjhqyWorkCbAdapter extends CommonAdapter { + + private Context context; + private List datas; + private boolean history; + + public XsjhqyWorkCbAdapter(Context context, List datas, boolean history) { + super(context, R.layout.qy_work_cb_item, datas); + this.datas = datas; + this.context = context; + this.history = history; + } + + @Override + protected void convert(ViewHolder viewHolder, final XsjhQyBean.DataBeanX.DataBean item, int position) { +// viewHolder.setText(R.id.tv_qy, item.getQymc()); + + EditText etEnter = viewHolder.getView(R.id.et_enter); + final TextView tvEnter = viewHolder.getView(R.id.tv_enter); + TextView tvInput = viewHolder.getView(R.id.tv_input); + tvInput.setVisibility(View.GONE); + + viewHolder.setText(R.id.tv_mc, item.getSb() + item.getDw()); + viewHolder.setText(R.id.tv_dbjz, item.getDz()); + viewHolder.setText(R.id.tv_gbjz, item.getGz()); + viewHolder.setText(R.id.tv_zcz, item.getZczt()); + + if (TextUtils.isEmpty(item.getXcnr())) {//如果不是选择的 + etEnter.setVisibility(View.VISIBLE); + tvEnter.setVisibility(View.GONE); + } else { + etEnter.setVisibility(View.GONE); + tvEnter.setVisibility(View.VISIBLE); + } + + final String[] items = item.getXcnr().split(";"); + + if (TextUtils.isEmpty(item.getCbsz())) { + tvEnter.setText(items[0]); + item.setCbsz(items[0]); + } else { + tvEnter.setText(item.getCbsz()); + } + + if (!history) { + tvEnter.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + List lists = new ArrayList(); + for (String str : items) { + lists.add(str); + } + final ListDialog dialog = new ListDialog(context, lists, new ListDialog.ListDialogListener() { + @Override + public void selectText(String str, int position) { + tvEnter.setText(str); + item.setCbsz(str); + item.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + } + }); + dialog.show(); + } + }); + } + + etEnter.clearFocus(); + + if (etEnter.getTag() instanceof TextWatcher) { + etEnter.removeTextChangedListener((TextWatcher) etEnter.getTag()); + } + + if (history) { + etEnter.setVisibility(View.GONE); + tvEnter.setVisibility(View.VISIBLE); + tvEnter.setText(datas.get(position).getCbsz()); + } else { + if (TextUtils.isEmpty(datas.get(position).getSisData())) { + etEnter.setText(datas.get(position).getCbsz()); + } else { + etEnter.setText(datas.get(position).getSisData()); + } + } + + final TextWatcher watcher = new MyTextWatcher() { + @Override + public void beforeTextChange(String s) { + + if (TextUtils.isEmpty(s)) { + item.setCbsz(""); + } else { + item.setCbsz(s); + item.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + } + } + }; + + etEnter.addTextChangedListener(watcher); + etEnter.setTag(watcher); + } + + public abstract class MyTextWatcher implements 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) { + beforeTextChange(s.toString()); + } + + @Override + public void afterTextChanged(Editable s) { + } + + public abstract void beforeTextChange(String s); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyWorkDjAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyWorkDjAdapter.java new file mode 100755 index 0000000..1eff4bb --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyWorkDjAdapter.java @@ -0,0 +1,141 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.view.View; +import android.widget.EditText; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.XsjhQyBean; +import com.rehome.bhdxj.weight.ListDialog; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/17. + */ + +public class XsjhqyWorkDjAdapter extends CommonAdapter { + + private Context context; + private List datas; + private boolean history; + + public XsjhqyWorkDjAdapter(Context context, List datas, boolean history) { + super(context, R.layout.qy_work_dj_item, datas); + this.datas = datas; + this.context = context; + this.history = history; + } + + @Override + protected void convert(ViewHolder viewHolder, final XsjhQyBean.DataBeanX.DataBean item, int position) { +// viewHolder.setText(R.id.tv_qy, item.getQymc()); + + EditText etEnter = viewHolder.getView(R.id.et_enter); + final TextView tvEnter = viewHolder.getView(R.id.tv_enter); + TextView tvInput = viewHolder.getView(R.id.tv_input); + tvInput.setVisibility(View.GONE); + + viewHolder.setText(R.id.tv_mc, item.getSb() + item.getDw()); + viewHolder.setText(R.id.tv_dbjz, item.getBsyl()); + viewHolder.setText(R.id.tv_gbjz, item.getBqyl()); + viewHolder.setText(R.id.tv_zcz, item.getZczt()); + + if (TextUtils.isEmpty(item.getXcnr())) {//如果不是选择的 + etEnter.setVisibility(View.VISIBLE); + tvEnter.setVisibility(View.GONE); + } else { + etEnter.setVisibility(View.GONE); + tvEnter.setVisibility(View.VISIBLE); + } + + final String[] items = item.getXcnr().split(";"); + + if (TextUtils.isEmpty(item.getCbsz())) { + tvEnter.setText(items[0]); + item.setCbsz(items[0]); + } else { + tvEnter.setText(item.getCbsz()); + } + + if (!history) { + tvEnter.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + List lists = new ArrayList(); + for (String str : items) { + lists.add(str); + } + final ListDialog dialog = new ListDialog(context, lists, new ListDialog.ListDialogListener() { + @Override + public void selectText(String str, int position) { + tvEnter.setText(str); + item.setCbsz(str); + item.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + } + }); + dialog.show(); + } + }); + } + + etEnter.clearFocus(); + + if (etEnter.getTag() instanceof TextWatcher) { + etEnter.removeTextChangedListener((TextWatcher) etEnter.getTag()); + } + + if (history) { + etEnter.setVisibility(View.GONE); + tvEnter.setVisibility(View.VISIBLE); + tvEnter.setText(datas.get(position).getCbsz()); + } else { + if (TextUtils.isEmpty(datas.get(position).getSisData())) { + etEnter.setText(datas.get(position).getCbsz()); + } else { + etEnter.setText(datas.get(position).getSisData()); + } + } + + final TextWatcher watcher = new MyTextWatcher() { + @Override + public void beforeTextChange(String s) { + + if (TextUtils.isEmpty(s)) { + item.setCbsz(""); + } else { + item.setCbsz(s); + item.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + } + } + }; + + etEnter.addTextChangedListener(watcher); + etEnter.setTag(watcher); + } + + public abstract class MyTextWatcher implements 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) { + beforeTextChange(s.toString()); + } + + @Override + public void afterTextChanged(Editable s) { + } + + public abstract void beforeTextChange(String s); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyWorkXsAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyWorkXsAdapter.java new file mode 100755 index 0000000..2ae9fcd --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XsjhqyWorkXsAdapter.java @@ -0,0 +1,155 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.view.View; +import android.widget.EditText; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.XsjhQyBean; +import com.rehome.bhdxj.weight.ListDialog; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/17. + */ + +public class XsjhqyWorkXsAdapter extends CommonAdapter { + + + private Context context; + private List datas; + private boolean histroy; + + public XsjhqyWorkXsAdapter(Context context, List datas, boolean histroy) { + super(context, R.layout.qy_work_xs_item, datas); + this.datas = datas; + this.context = context; + this.histroy = histroy; + } + + @Override + protected void convert(ViewHolder viewHolder, final XsjhQyBean.DataBeanX.DataBean item, int position) { +// viewHolder.setText(R.id.tv_qy, item.getQymc()); + + EditText etEnter = viewHolder.getView(R.id.et_enter); + final TextView tvEnter = viewHolder.getView(R.id.tv_enter); + TextView tvInput = viewHolder.getView(R.id.tv_input); + tvInput.setVisibility(View.GONE); + + viewHolder.setText(R.id.tv_mc, item.getSb() + item.getDw()); + viewHolder.setText(R.id.tv_dbjz, item.getDz()); + viewHolder.setText(R.id.tv_gbjz, item.getGz()); + viewHolder.setText(R.id.tv_zcz, item.getZczt()); + + + + if (item.getLRFS().equals("0")) {//如果不是选择的 + etEnter.setVisibility(View.VISIBLE); + tvEnter.setVisibility(View.GONE); + + } else { + etEnter.setVisibility(View.GONE); + tvEnter.setVisibility(View.VISIBLE); + } + +// +// if (TextUtils.isEmpty(item.getXcnr())) {//如果不是选择的 +// etEnter.setVisibility(View.VISIBLE); +// tvEnter.setVisibility(View.GONE); +// +// } else { +// etEnter.setVisibility(View.GONE); +// tvEnter.setVisibility(View.VISIBLE); +// } + + final String[] items = item.getMRNR().split(";"); + + if (TextUtils.isEmpty(item.getCbsz())) { + tvEnter.setText(items[0]); + item.setCbsz(items[0]); + } else { + tvEnter.setText(item.getCbsz()); + } + + if (!histroy) { + tvEnter.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + List lists = new ArrayList(); + for (String str : items) { + lists.add(str); + } + final ListDialog dialog = new ListDialog(context, lists, new ListDialog.ListDialogListener() { + @Override + public void selectText(String str, int position) { + tvEnter.setText(str); + item.setCbsz(str); + item.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + } + }); + dialog.show(); + } + }); + } + + etEnter.clearFocus(); + + if (etEnter.getTag() instanceof TextWatcher) { + etEnter.removeTextChangedListener((TextWatcher) etEnter.getTag()); + } + + if (histroy) { + etEnter.setVisibility(View.GONE); + tvEnter.setVisibility(View.VISIBLE); + tvEnter.setText(datas.get(position).getCbsz()); + } else { + if (TextUtils.isEmpty(datas.get(position).getSisData())) { + etEnter.setText(datas.get(position).getCbsz()); + } else { + etEnter.setText(datas.get(position).getSisData()); + } + } + + final TextWatcher watcher = new MyTextWatcher() { + @Override + public void beforeTextChange(String s) { + + if (TextUtils.isEmpty(s)) { + item.setCbsz(""); + } else { + item.setCbsz(s); + item.setDjsj(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); + } + } + }; + + etEnter.addTextChangedListener(watcher); + etEnter.setTag(watcher); + } + + public abstract class MyTextWatcher implements 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) { + beforeTextChange(s.toString()); + } + + @Override + public void afterTextChanged(Editable s) { + } + + public abstract void beforeTextChange(String s); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XzjhAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XzjhAdapter.java new file mode 100755 index 0000000..8740f6c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XzjhAdapter.java @@ -0,0 +1,99 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.Djjh; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + + +/** + * 下载计划适配器 + */ +public class XzjhAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public XzjhAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.xzjh_item, viewGroup, false); + holder.cb = view.findViewById(R.id.cb); + holder.tv_gwmc = view.findViewById(R.id.tv_gwmc); + holder.tv_gwds = view.findViewById(R.id.tv_gwds); + holder.tv_zrr = view.findViewById(R.id.tv_zrr); + +// holder.tv_xh = (TextView) view.findViewById(R.id.tv_xh); +// holder.tv_xzr = (TextView) view.findViewById(R.id.tv_xzr); +// holder.tv_xzsj = (TextView) view.findViewById(R.id.tv_xzsj); + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + holder.cb.setChecked(list.get(i).isChecked()); + holder.tv_gwmc.setText(list.get(i).getGWMC()); + holder.tv_gwds.setText(list.get(i).getGWDS()); + + +// holder.tv_xzr.setText(list.get(i).getXZR()); +// holder.tv_xzsj.setText(list.get(i).getXZSJ()); +// holder.tv_xh.setText(i + 1 + ""); + holder.cb.setTag(i); + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + } + + static class ViewHolder { + CheckBox cb; + TextView tv_gwmc; + TextView tv_gwds; + TextView tv_zrr; +// TextView tv_jhlx; +// TextView tv_xzr; +// TextView tv_xzsj; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XzxsjhAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XzxsjhAdapter.java new file mode 100755 index 0000000..2c122ef --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/XzxsjhAdapter.java @@ -0,0 +1,87 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.Xjjh; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + + +/** + * 下载计划适配器 + */ +public class XzxsjhAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public XzxsjhAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.xzxsjh_item, viewGroup, false); + holder.cb = view.findViewById(R.id.cb); + holder.tv_gwmc = view.findViewById(R.id.tv_gwmc); + holder.tv_gwds = view.findViewById(R.id.tv_gwds); + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + + holder.cb.setChecked(list.get(i).isChecked()); + holder.tv_gwmc.setText(list.get(i).getJhmc()); + holder.tv_gwds.setText(list.get(i).getJhds()); + holder.cb.setTag(i); + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + } + + static class ViewHolder { + CheckBox cb; + TextView tv_gwmc; + TextView tv_gwds; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/YhpcListAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/YhpcListAdapter.java new file mode 100644 index 0000000..5146746 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/YhpcListAdapter.java @@ -0,0 +1,82 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.DataBaseYhpc; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +public class YhpcListAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public YhpcListAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.item_yhpclist, viewGroup, false); + holder.cb = view.findViewById(R.id.cb); + holder.tv_savetime = view.findViewById(R.id.tv_savetime); + holder.tv_st = view.findViewById(R.id.tv_st); + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + + holder.cb.setChecked(list.get(i).isChecked()); + holder.tv_savetime.setText(list.get(i).getWTQY()); + holder.tv_st.setText(list.get(i).getLRSJ()); + holder.cb.setTag(i); + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + } + + static class ViewHolder { + CheckBox cb; + TextView tv_savetime; + TextView tv_st; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZgrwSaveAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZgrwSaveAdapter.java new file mode 100755 index 0000000..7215f30 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZgrwSaveAdapter.java @@ -0,0 +1,85 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.Uploadzgjg; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * Created by ruihong on 2017/12/27. + */ + +public class ZgrwSaveAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + + public ZgrwSaveAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.sblcsavedata_item2, viewGroup, false); + holder.cb = view.findViewById(R.id.cb); + holder.tv_savetime = view.findViewById(R.id.tv_savetime); + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + + holder.cb.setChecked(list.get(i).isChecked()); + holder.tv_savetime.setText(list.get(i).getZGJG()); + holder.cb.setTag(i); + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + } + + static class ViewHolder { + CheckBox cb; + TextView tv_savetime; + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjbAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjbAdapter.java new file mode 100755 index 0000000..197f5f1 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjbAdapter.java @@ -0,0 +1,28 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.ZjbBean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/3. + */ + +public class ZjbAdapter extends CommonAdapter { + + public ZjbAdapter(Context context, List datas) { + super(context, R.layout.zjb_item, datas); + } + + @Override + protected void convert(ViewHolder viewHolder, ZjbBean.DataBean item, int position) { + viewHolder.setText(R.id.tv_JHTITLE, item.getJHTITLE()); + viewHolder.setText(R.id.tv_wjb, item.getFILEBAGTITLE()); + viewHolder.setText(R.id.tv_zjdms, item.getRWDS()); + + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjdscAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjdscAdapter.java new file mode 100755 index 0000000..96317df --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjdscAdapter.java @@ -0,0 +1,93 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.Zjrwdata; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + + +/** + * 下载计划适配器 + */ +public class ZjdscAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public ZjdscAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.sczjdrw_item, viewGroup, false); + holder.zjd_cb = view.findViewById(R.id.zjd_cb); + holder.tv_zjd = view.findViewById(R.id.tv_zjd); + holder.tv_yjzj = view.findViewById(R.id.tv_yjzj); + + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + + holder.zjd_cb.setChecked(list.get(i).isChecked()); + + holder.tv_zjd.setText(list.get(i).getTitle() + "-" + list.get(i).getName() + "-" + list.get(i).getProusername()); + + holder.tv_yjzj.setText(list.get(i).getCountPercent()); + + + holder.zjd_cb.setTag(i); + holder.zjd_cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + } + + static class ViewHolder { + CheckBox zjd_cb; + TextView tv_zjd; + TextView tv_yjzj; + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjrwAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjrwAdapter.java new file mode 100755 index 0000000..ed41c2a --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjrwAdapter.java @@ -0,0 +1,55 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.ZjrwBean; + +import java.util.List; + +/** + * Created by ruihong on 2017/12/28. + */ + +public class ZjrwAdapter extends CommonAdapter { + + private List datas; + + public ZjrwAdapter(Context context, List datas) { + super(context, R.layout.item_zjrw, datas); + this.datas = datas; + + } + + @Override + protected void convert(ViewHolder viewHolder, ZjrwBean.DataBean item, int position) { + TextView tv_RWMC = viewHolder.getView(R.id.tv_RWMC); + TextView tv_RWKSSJ = viewHolder.getView(R.id.tv_RWKSSJ); + TextView tv_RWJSSJ = viewHolder.getView(R.id.tv_RWJSSJ); + TextView tv_YJWCSJ = viewHolder.getView(R.id.tv_YJWCSJ); + TextView tv_RWLX = viewHolder.getView(R.id.tv_RWLX); + TextView tv_RWZT = viewHolder.getView(R.id.tv_RWZT); + TextView tv_TJR = viewHolder.getView(R.id.tv_TJR); + TextView tv_TJSJ = viewHolder.getView(R.id.tv_TJSJ); + TextView tv_XGR = viewHolder.getView(R.id.tv_XGR); + TextView tv_XGSJ = viewHolder.getView(R.id.tv_XGSJ); + TextView tv_BZSM = viewHolder.getView(R.id.tv_BZSM); + TextView tv_ZJJZ = viewHolder.getView(R.id.tv_ZJJZ); + + + tv_RWMC.setText("任务名称: " + item.getRWMC()); + tv_RWKSSJ.setText("任务开始时间: " + item.getRWST()); + tv_RWJSSJ.setText("任务结束时间: " + item.getRWET()); + tv_YJWCSJ.setText("预计完成时间 : " + item.getYJWCSJ()); + tv_RWLX.setText("任务类型: " + item.getRWLX()); + tv_RWZT.setText("任务状态: " + item.getRWZT()); + tv_TJR.setText("添加人: " + item.getTJR()); + tv_TJSJ.setText("添加时间: " + item.getTJSJ()); + tv_XGR.setText("修改人: " + item.getXGR()); + tv_XGSJ.setText("修改时间: " + item.getXGSJ()); + tv_BZSM.setText("备注说明: " + item.getBZSM()); + tv_ZJJZ.setText("质检机组: " + item.getZJJZ()); + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjrwxjAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjrwxjAdapter.java new file mode 100755 index 0000000..4c6c605 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZjrwxjAdapter.java @@ -0,0 +1,110 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.Xjzjrw; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.SPUtils; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/23. + */ + +public class ZjrwxjAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public ZjrwxjAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.zjrwxj_item, viewGroup, false); + holder.cb = view.findViewById(R.id.cb); + holder.tv_zjd = view.findViewById(R.id.tv_zjd); + holder.tv_sbs = view.findViewById(R.id.tv_sbs); + holder.tv_zyfzr = view.findViewById(R.id.tv_zyfzr); + holder.tv_zjsj = view.findViewById(R.id.tv_zjsj); + + + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + holder.cb.setChecked(list.get(i).isChecked()); + holder.tv_zjd.setText(list.get(i).getWjbmc() + " - " + list.get(i).getTitle()); + holder.tv_sbs.setText(list.get(i).getSbnum()); + holder.tv_zyfzr.setText(list.get(i).getProusername()); + holder.tv_zjsj.setText(list.get(i).getZjtime()); + + String YHID = (String) SPUtils.get(context, Contans.USERID, ""); + + if (list.get(i).getProuserid().equals(YHID)) {//当前用户是主要负责人则可以下载 + holder.cb.setEnabled(true); + } else { + + holder.cb.setChecked(false); + holder.cb.setEnabled(false); + + } + + + holder.cb.setTag(i); + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + + } + + + static class ViewHolder { + CheckBox cb; + TextView tv_zjd; + TextView tv_sbs; + TextView tv_zyfzr; + TextView tv_zjsj; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZkdAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZkdAdapter.java new file mode 100755 index 0000000..144e3a0 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/ZkdAdapter.java @@ -0,0 +1,86 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.bean.ZkdInfo; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * 质控点适配器 + */ +public class ZkdAdapter extends BaseAdapter { + + private Context context; + private List list; + + public ZkdAdapter(Context context, List list) { + this.context = context; + this.list = list; + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public ZkdInfo getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + ZkdInfo info; + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.zkd_item, viewGroup,false); + holder.tv_xh = view.findViewById(R.id.tv_xh); + holder.tv_gx = view.findViewById(R.id.tv_gx); + holder.tv_zt = view.findViewById(R.id.tv_zt); + holder.tv_fl = view.findViewById(R.id.tv_zjdfl); + holder.tv_aj = view.findViewById(R.id.tv_ajzjy); + holder.tv_bj = view.findViewById(R.id.tv_bjzjy); + holder.tv_cj = view.findViewById(R.id.tv_cjzjy); + holder.tv_jl = view.findViewById(R.id.tv_jlgcs); + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + info = getItem(i); + holder.tv_xh.setText(info.getXh()+""); + holder.tv_gx.setText(info.getGx()); + holder.tv_zt.setText(info.getZt()); + holder.tv_fl.setText(info.getFl()); + holder.tv_aj.setText(info.getAj()); + holder.tv_bj.setText(info.getBj()); + holder.tv_cj.setText(info.getCj()); + holder.tv_jl.setText(info.getJl()); + return view; + } + + static class ViewHolder { + TextView tv_xh; + TextView tv_gx; + TextView tv_zt; + TextView tv_fl; + TextView tv_aj; + TextView tv_bj; + TextView tv_cj; + TextView tv_jl; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/aqjcsaveAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/aqjcsaveAdapter.java new file mode 100755 index 0000000..2d029f8 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/aqjcsaveAdapter.java @@ -0,0 +1,88 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.Uploadaqjcsave; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * Created by ruihong on 2017/12/23. + */ + +public class aqjcsaveAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public aqjcsaveAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.sblcsavedata_item_wtqy, viewGroup, false); + holder.cb = view.findViewById(R.id.cb); + holder.tv_savetime = view.findViewById(R.id.tv_savetime); + holder.tv_st = view.findViewById(R.id.tv_st); + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + + holder.cb.setChecked(list.get(i).isChecked()); + holder.tv_savetime.setText(list.get(i).getWTQY()); + holder.tv_st.setText(list.get(i).getLRSJ()); + holder.cb.setTag(i); + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + } + + static class ViewHolder { + CheckBox cb; + TextView tv_savetime; + TextView tv_st; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/othersbAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/othersbAdapter.java new file mode 100755 index 0000000..3a326e4 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/adapter/othersbAdapter.java @@ -0,0 +1,88 @@ +package com.rehome.bhdxj.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.rehome.bhdxj.DBModel.Othersbsave; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * Created by ruihong on 2017/12/23. + */ + +public class othersbAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public othersbAdapter(Context context, List list, CallBack mCallBack) { + this.context = context; + this.list = list; + this.mCallBack = mCallBack; + } + + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + ViewHolder holder; + if (view == null) { + holder = new ViewHolder(); + view = LayoutInflater.from(context).inflate(R.layout.sblcsavedata_item_wtqy, viewGroup, false); + holder.cb = view.findViewById(R.id.cb); + holder.tv_savetime = view.findViewById(R.id.tv_savetime); + holder.tv_st = view.findViewById(R.id.tv_st); + view.setTag(holder); + AutoUtils.autoSize(view); + } else { + holder = (ViewHolder) view.getTag(); + } + + + holder.cb.setChecked(list.get(i).isChecked()); + holder.tv_savetime.setText(list.get(i).getWTQY()); + holder.tv_st.setText(list.get(i).getLRSJ()); + holder.cb.setTag(i); + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mCallBack.Click(view); + } + }); + return view; + } + + static class ViewHolder { + CheckBox cb; + TextView tv_savetime; + TextView tv_st; + + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivity.java new file mode 100755 index 0000000..8f76d75 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivity.java @@ -0,0 +1,199 @@ +package com.rehome.bhdxj.base; + +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.nfc.NdefMessage; +import android.nfc.NdefRecord; +import android.nfc.NfcAdapter; +import android.nfc.tech.IsoDep; +import android.nfc.tech.MifareClassic; +import android.nfc.tech.MifareUltralight; +import android.nfc.tech.NfcA; +import android.nfc.tech.NfcB; +import android.nfc.tech.NfcF; +import android.nfc.tech.NfcV; +import android.os.Bundle; +import android.os.Parcelable; +import android.view.View; +import android.view.WindowManager; +import android.widget.TextView; +import android.widget.Toast; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.utils.ControllerActivity; +import com.zhy.autolayout.AutoLayoutActivity; +import java.nio.charset.StandardCharsets; +import androidx.annotation.LayoutRes; +import androidx.appcompat.widget.Toolbar; + +/** + * Created by Administrator on 2016/8/3. + */ +public abstract class BaseActivity extends AutoLayoutActivity { + public Toolbar mToolbar; + public TextView title; + public Context context; + private NfcAdapter nfcAdapter; + private String readResult = ""; + private PendingIntent pendingIntent; + private IntentFilter[] mFilters; + private String[][] mTechLists; + private boolean isFirst = true; + private IntentFilter ndef; + public abstract int getContentViewID(); + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); + setContentView(getContentViewID()); + context = this; + ControllerActivity.getAppManager().addActivity(this); + mToolbar = findViewById(R.id.toolbar); + title = findViewById(R.id.title); + mToolbar.setTitle(""); + setSupportActionBar(mToolbar); + initView(); + initData(); + initNFC(); + } + @Override + public void setContentView(@LayoutRes int layoutResID) { + super.setContentView(layoutResID); + } + protected abstract void initView(); + public void initData() { + } + @Override + protected void onDestroy() { + super.onDestroy(); + ControllerActivity.getAppManager().finishActivity(this); + context = null; + } + public void showToast(String text) { + if (text != null && !text.trim().equals("")) { + Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); + } + } + public void showToast(int id) { + Toast.makeText(this, id, Toast.LENGTH_SHORT).show(); + } + public void setTitle(String title) { + this.title.setText(title); + } + public void setBack() { + mToolbar.setNavigationIcon(R.mipmap.back); + mToolbar.setNavigationOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + finish(); + } + }); + } + private Boolean ifNFCUse() { + if (nfcAdapter == null) { +// Toast.makeText(this, "设备不支持NFC!", Toast.LENGTH_SHORT).show(); + return false; + } + if (!nfcAdapter.isEnabled()) { + Toast.makeText(this, "请在系统设置中先启用NFC功能!", Toast.LENGTH_SHORT).show(); + return false; + } + return true; + } + public void initNFC() { + + //NFC适配器,所有的关于NFC的操作从该适配器进行 + nfcAdapter = NfcAdapter.getDefaultAdapter(this); + if (!ifNFCUse()) { + return; + } + //将被调用的Intent,用于重复被Intent触发后将要执行的跳转 + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) { + pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); + } else { + pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0); + } + //设定要过滤的标签动作,这里只接收ACTION_NDEF_DISCOVERED类型 + ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED); + ndef.addCategory("*/*"); + mFilters = new IntentFilter[]{ndef};// 过滤器 + mTechLists = new String[][]{new String[]{NfcA.class.getName()}, + new String[]{NfcF.class.getName()}, + new String[]{NfcB.class.getName()}, + new String[]{NfcV.class.getName()}, + new String[]{MifareClassic.class.getName()}, + new String[]{MifareUltralight.class.getName()}, + new String[]{IsoDep.class.getName()}};// 允许扫描的标签类型 + + if (isFirst) { + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent() + .getAction())) { + ndef = new IntentFilter(); + if (readFromTag(getIntent())) { + Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(this, "标签数据为空", Toast.LENGTH_SHORT).show(); + } + } + isFirst = false; + } + } + private String ByteArrayToHexString(byte[] inarray) { //converts byte arrays to string + int i, j, in; + String[] hex = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"}; + String out = ""; + for (j = 0; j < inarray.length; ++j) { + in = (int) inarray[j] & 0xff; + i = (in >> 4) & 0x0f; + out += hex[i]; + i = in & 0x0f; + out += hex[i]; + } + return out; + } + @Override + protected void onPause() { + super.onPause(); + if (nfcAdapter != null) { + nfcAdapter.disableForegroundDispatch(this); + } + } + @Override + protected void onResume() { + super.onResume(); + if (nfcAdapter != null && pendingIntent != null && mFilters != null && mTechLists != null) { + nfcAdapter.enableForegroundDispatch(this, pendingIntent, mFilters, + mTechLists); + } + } + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction()) || + NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) { + String id = ByteArrayToHexString(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)); + if (id != null) { + handleNfc(id); + } + } + } + private boolean readFromTag(Intent intent) { + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) { + Parcelable[] rawArray = intent + .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); + if (rawArray != null) { + NdefMessage mNdefMsg = (NdefMessage) rawArray[0]; + NdefRecord mNdefRecord = mNdefMsg.getRecords()[0]; + if (mNdefRecord != null) { + readResult = new String(mNdefRecord.getPayload(), StandardCharsets.UTF_8); + return true; + } + } + return false; + } + return false; + } + public void handleNfc(String result) { + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivity3.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivity3.java new file mode 100755 index 0000000..88ef2aa --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivity3.java @@ -0,0 +1,243 @@ +package com.rehome.bhdxj.base; + +import android.app.Activity; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.nfc.NdefMessage; +import android.nfc.NdefRecord; +import android.nfc.NfcAdapter; +import android.nfc.tech.IsoDep; +import android.nfc.tech.MifareClassic; +import android.nfc.tech.MifareUltralight; +import android.nfc.tech.NfcA; +import android.nfc.tech.NfcB; +import android.nfc.tech.NfcF; +import android.nfc.tech.NfcV; +import android.os.Bundle; +import android.os.Parcelable; +import android.view.View; +import android.widget.EditText; +import android.widget.Toast; + +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.utils.AppManager; +import com.rehome.bhdxj.utils.OAToolbar; +import com.zhy.autolayout.AutoLayoutActivity; +import java.nio.charset.StandardCharsets; +import androidx.annotation.Nullable; + +/** + * Created by ruihong on 2017/12/23. + */ + +public abstract class BaseActivity3 extends AutoLayoutActivity { + + OAToolbar toolbar; + public Context context; + public String simpleName; + private NfcAdapter nfcAdapter; + private String readResult = ""; + private PendingIntent pendingIntent; + private IntentFilter[] mFilters; + private String[][] mTechLists; + private boolean isFirst = true; + private IntentFilter ndef; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(getLayoutId()); + toolbar = findViewById(R.id.toolbar); + AppManager.getAppManager().addActivity(this); + simpleName = "ydoa == " + getClass().getSimpleName(); + context = this; + initView(); + initData(); + initNFC(); + } + private Boolean ifNFCUse() { + if (nfcAdapter == null) { +// Toast.makeText(this, "设备不支持NFC!", Toast.LENGTH_SHORT).show(); + return false; + } + if (!nfcAdapter.isEnabled()) { + Toast.makeText(this, "请在系统设置中先启用NFC功能!", Toast.LENGTH_SHORT).show(); + return false; + } + return true; + } + public void startActivity(Class cls) { + startActivity(new Intent(this, cls)); + } + public void initNFC() { + + //NFC适配器,所有的关于NFC的操作从该适配器进行 + nfcAdapter = NfcAdapter.getDefaultAdapter(this); + if (!ifNFCUse()) { + return; + } + + //将被调用的Intent,用于重复被Intent触发后将要执行的跳转 + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) { + pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); + } else { + pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0); + } + + //设定要过滤的标签动作,这里只接收ACTION_NDEF_DISCOVERED类型 + ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED); + ndef.addCategory("*/*"); + mFilters = new IntentFilter[]{ndef};// 过滤器 + mTechLists = new String[][]{new String[]{NfcA.class.getName()}, + new String[]{NfcF.class.getName()}, + new String[]{NfcB.class.getName()}, + new String[]{NfcV.class.getName()}, + new String[]{MifareClassic.class.getName()}, + new String[]{MifareUltralight.class.getName()}, + new String[]{IsoDep.class.getName()}};// 允许扫描的标签类型 + + if (isFirst) { + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent() + .getAction())) { + ndef = new IntentFilter(); + if (readFromTag(getIntent())) { + Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(this, "标签数据为空", Toast.LENGTH_SHORT).show(); + } + } + isFirst = false; + } + } + private String ByteArrayToHexString(byte[] inarray) { //converts byte arrays to string + int i, j, in; + String[] hex = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"}; + String out = ""; + for (j = 0; j < inarray.length; ++j) { + in = (int) inarray[j] & 0xff; + i = (in >> 4) & 0x0f; + out += hex[i]; + i = in & 0x0f; + out += hex[i]; + } + return out; + } + + @Override + protected void onPause() { + super.onPause(); + if (nfcAdapter != null) { + nfcAdapter.disableForegroundDispatch(this); + } + } + @Override + protected void onResume() { + super.onResume(); + + // 前台分发系统,这里的作用在于第二次检测NFC标签时该应用有最高的捕获优先权. + if (nfcAdapter != null && pendingIntent != null && mFilters != null && mTechLists != null) { + nfcAdapter.enableForegroundDispatch(this, pendingIntent, mFilters, + mTechLists); + } + + } + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction()) || + NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) { + + String id = ByteArrayToHexString(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)); + + if (id != null) { + handleNfc(id); + } + +// if (readFromTag(intent)) { +// Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show(); +// handleNfc(readResult); +// } else { +// Toast.makeText(this, "ID:" + id + " 标签数据为空", Toast.LENGTH_SHORT).show(); +// } + } + } + private boolean readFromTag(Intent intent) { + + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) { + + Parcelable[] rawArray = intent + .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); + if (rawArray != null) { + NdefMessage mNdefMsg = (NdefMessage) rawArray[0]; + NdefRecord mNdefRecord = mNdefMsg.getRecords()[0]; + if (mNdefRecord != null) { + readResult = new String(mNdefRecord.getPayload(), StandardCharsets.UTF_8); + return true; + } + //return false; + } + return false; + } + return false; + } + //处理NFC + public void handleNfc(String result) { + //showToast(result); + //Toast.makeText(this, result, Toast.LENGTH_LONG).show(); + } + public abstract int getLayoutId(); + public abstract void initView(); + public abstract void initData(); + @Override + protected void onDestroy() { + super.onDestroy(); + AppManager.getAppManager().finishActivity(this); + } + public void showToast(String msg) { + Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); + } + public void initToolbar(String title) { + toolbar.setTvTitleText(title); + } + + public void initToolbar(String title, String rightText, View.OnClickListener listenerLeftBtnClick, View.OnClickListener listener) { + toolbar.setTvTitleText(title); + toolbar.setTvRightText(rightText); + toolbar.setTvRightOnClickListener(listener); + setLeftOnClickListener(listenerLeftBtnClick); + } + + public void initToolbar(String title, String rightText, View.OnClickListener listener) { + toolbar.setTvTitleText(title); + toolbar.setTvRightText(rightText); + toolbar.setTvRightOnClickListener(listener); + setLeftOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + public void initToolbar(String title, int rightTextId, View.OnClickListener listener) { + toolbar.setTvTitleText(title); + toolbar.setTvRightText(rightTextId); + toolbar.setTvRightOnClickListener(listener); + setLeftOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + public void setLeftOnClickListener(View.OnClickListener listener) { + toolbar.setIvLeftOnClickListener(listener); + toolbar.setIvLeftIcon(R.mipmap.ac_back_icon); + } + public String getText(EditText editText) { + return editText.getText().toString(); + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivityAutoToolbarViewBinding.kt b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivityAutoToolbarViewBinding.kt new file mode 100644 index 0000000..ea0496f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivityAutoToolbarViewBinding.kt @@ -0,0 +1,254 @@ +package com.rehome.bhdxj.base + + + +import android.app.Activity +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.nfc.NdefMessage +import android.nfc.NfcAdapter +import android.nfc.tech.* +import android.os.Build +import android.os.Bundle +import android.view.View +import android.widget.Toast +import androidx.viewbinding.ViewBinding +import com.rehome.bhdxj.utils.AutoToolbar +import com.rehome.bhdxj.utils.ControllerActivity +import com.zhy.autolayout.AutoLayoutActivity +import java.nio.charset.StandardCharsets +import java.util.* + +/** + * Create By HuangWenFei + * 创建日期:2023-02-06 11:46 + * 描述:基类使用ViewBinding,ButterKnife已被作者废弃,不再维护 + */ +abstract class BaseActivityAutoToolbarViewBinding : AutoLayoutActivity() { + protected lateinit var binding: T + protected lateinit var mToolbar: AutoToolbar + protected lateinit var context: Context + private var nfcAdapter: NfcAdapter? = null + private var readResult = "" + private var pendingIntent: PendingIntent? = null + private lateinit var mFilters: Array + private lateinit var mTechLists: Array> + private var isFirst = true + private var ndef: IntentFilter? = null + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = getViewBinding() + mToolbar = getToolbar() + setContentView(binding.root) + context = this + ControllerActivity.getAppManager().addActivity(this) + initView() + initData() + } + + protected abstract fun getViewBinding(): T + protected abstract fun getToolbar(): AutoToolbar + + //初始化View + protected abstract fun initView() + + //初始化数据 + protected abstract fun initData() + + + fun startActivity(cls: Class?) { + val intent = Intent(this, cls) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + startActivity(intent) + } + + override fun onPause() { + super.onPause() + if (nfcAdapter != null) { + nfcAdapter!!.disableForegroundDispatch(this) + } + } + + /* + * 重写onResume回调函数的意义在于处理多次读取NFC标签时的情况 + */ + override fun onResume() { + super.onResume() + + // 前台分发系统,这里的作用在于第二次检测NFC标签时该应用有最高的捕获优先权. + if (nfcAdapter != null && pendingIntent != null) { + nfcAdapter!!.enableForegroundDispatch( + this, pendingIntent, mFilters, + mTechLists + ) + } + } + + override fun onDestroy() { + super.onDestroy() + ControllerActivity.getAppManager().finishActivity(this) + } + + /** + * 显示toast + * + * @param text + */ + fun showToast(text: String?) { + if (text != null && text.trim { it <= ' ' } != "") { + Toast.makeText(this, text, Toast.LENGTH_SHORT).show() + } + } + + fun showToast(id: Int) { + Toast.makeText(this, id, Toast.LENGTH_SHORT).show() + } + + /** + * 检测工作,判断设备的NFC支持情况 + * + * @return + */ + private fun ifNFCUse(): Boolean { + if (nfcAdapter == null) { + Toast.makeText(this, "设备不支持NFC!", Toast.LENGTH_SHORT).show() + return false + } + if (!nfcAdapter!!.isEnabled) { + Toast.makeText(this, "请在系统设置中先启用NFC功能!", Toast.LENGTH_SHORT).show() + return false + } + return true + } + + /** + * 初始化过程 + */ + fun initNFC() { + + //NFC适配器,所有的关于NFC的操作从该适配器进行 + nfcAdapter = NfcAdapter.getDefaultAdapter(this) + if (!ifNFCUse()) { + return + } + //将被调用的Intent,用于重复被Intent触发后将要执行的跳转 + pendingIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + PendingIntent.getActivity( + this, + 0, + Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), + PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT + ) + } else { + PendingIntent.getActivity( + this, + 0, + Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), + 0 + ) + } + + + //设定要过滤的标签动作,这里只接收ACTION_NDEF_DISCOVERED类型 + ndef = IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED) + ndef!!.addCategory("*/*") + mFilters = arrayOf(ndef!!) // 过滤器 + mTechLists = arrayOf( + arrayOf(NfcA::class.java.name), arrayOf( + NfcF::class.java.name + ), arrayOf(NfcB::class.java.name), arrayOf( + NfcV::class.java.name + ), arrayOf(MifareClassic::class.java.name), arrayOf( + MifareUltralight::class.java.name + ), arrayOf(IsoDep::class.java.name) + ) // 允许扫描的标签类型 + if (isFirst) { + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent + .action + ) { + ndef = IntentFilter() + if (readFromTag(intent)) { + Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show() + } else { + Toast.makeText(this, "标签数据为空", Toast.LENGTH_SHORT).show() + } + } + isFirst = false + } + } + + /** + * 2进制to 16进制 + * @param src + * @return + */ + private fun bytesToHex(src: ByteArray?): String { + val sb = StringBuffer() + if (src == null || src.isEmpty()) { + return "" + } + var sTemp: String + for (i in src.indices) { + sTemp = Integer.toHexString(0xFF and src[i].toInt()) + if (sTemp.length < 2) { + sb.append(0) + } + sb.append(sTemp.uppercase(Locale.getDefault())) + } + return sb.toString() + } + + /* + * 有必要要了解onNewIntent回调函数的调用时机,请自行上网查询 + */ + override fun onNewIntent(intent: Intent) { + super.onNewIntent(intent) + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action || NfcAdapter.ACTION_TECH_DISCOVERED == intent.action) { + val id = bytesToHex(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)) + handleNfc(id) + +// if (readFromTag(intent)) { +// Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show(); +// handleNfc(readResult); +// } else { +// Toast.makeText(this, "ID:" + id + " 标签数据为空", Toast.LENGTH_SHORT).show(); +// } + } + } + + /** + * 读取NFC标签数据的操作 + */ + private fun readFromTag(intent: Intent): Boolean { + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) { + val rawArray = intent + .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES) + if (rawArray != null) { + val mNdefMsg = rawArray[0] as NdefMessage + val mNdefRecord = mNdefMsg.records[0] + if (mNdefRecord != null) { + readResult = String(mNdefRecord.payload, StandardCharsets.UTF_8) + return true + } + //return false; + } + return false + } + return false + } + + //处理NFC + open fun handleNfc(result: String?) { + //showToast(result); + } + + fun initToolbar( + title: String, + rightText: String, + listenerLeftClick: View.OnClickListener?, + listenerRightClick: View.OnClickListener? + ) { + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivityOaToolbarViewBinding.kt b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivityOaToolbarViewBinding.kt new file mode 100644 index 0000000..01021b7 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseActivityOaToolbarViewBinding.kt @@ -0,0 +1,250 @@ +package com.rehome.bhdxj.base + +import android.app.Activity +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.nfc.NdefMessage +import android.nfc.NfcAdapter +import android.nfc.tech.* +import android.os.Build +import android.os.Bundle +import android.view.View +import android.widget.Toast +import androidx.viewbinding.ViewBinding +import com.rehome.bhdxj.R +import com.rehome.bhdxj.utils.ControllerActivity +import com.rehome.bhdxj.utils.OAToolbar +import com.zhy.autolayout.AutoLayoutActivity +import java.nio.charset.StandardCharsets +import java.util.* + + +/** + * Create By HuangWenFei + * 创建日期:2023-02-06 11:50 + * 描述:基类使用ViewBinding,ButterKnife已被作者废弃,不再维护 + */ +abstract class BaseActivityOaToolbarViewBinding : AutoLayoutActivity() { + protected lateinit var binding: T + protected lateinit var mToolbar: OAToolbar + protected lateinit var context: Context + private var nfcAdapter: NfcAdapter? = null + private var readResult = "" + private var pendingIntent: PendingIntent? = null + private lateinit var mFilters: Array + private lateinit var mTechLists: Array> + private var isFirst = true + private var ndef: IntentFilter? = null + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = getViewBinding() + mToolbar = getToolbar() + setContentView(binding.root) + context = this + ControllerActivity.getAppManager().addActivity(this) + initView() + initData() + } + //初始化ViewBinding + protected abstract fun getViewBinding(): T + //初始化OAToolbar + protected abstract fun getToolbar(): OAToolbar + //初始化View + protected abstract fun initView() + //初始化数据 + protected abstract fun initData() + + + fun startActivity(cls: Class?) { + val intent = Intent(this, cls) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + startActivity(intent) + } + + override fun onPause() { + super.onPause() + if (nfcAdapter != null) { + nfcAdapter!!.disableForegroundDispatch(this) + } + } + + /* + * 重写onResume回调函数的意义在于处理多次读取NFC标签时的情况 + */ + override fun onResume() { + super.onResume() + + // 前台分发系统,这里的作用在于第二次检测NFC标签时该应用有最高的捕获优先权. + if (nfcAdapter != null && pendingIntent != null) { + nfcAdapter!!.enableForegroundDispatch( + this, pendingIntent, mFilters, + mTechLists + ) + } + } + + override fun onDestroy() { + super.onDestroy() + ControllerActivity.getAppManager().finishActivity(this) + } + + /** + * 显示toast + * + * @param text + */ + fun showToast(text: String?) { + if (text != null && text.trim { it <= ' ' } != "") { + Toast.makeText(this, text, Toast.LENGTH_SHORT).show() + } + } + + fun showToast(id: Int) { + Toast.makeText(this, id, Toast.LENGTH_SHORT).show() + } + + /** + * 检测工作,判断设备的NFC支持情况 + * + * @return + */ + private fun ifNFCUse(): Boolean { + if (nfcAdapter == null) { + Toast.makeText(this, "设备不支持NFC!", Toast.LENGTH_SHORT).show() + return false + } + if (!nfcAdapter!!.isEnabled) { + Toast.makeText(this, "请在系统设置中先启用NFC功能!", Toast.LENGTH_SHORT).show() + return false + } + return true + } + + /** + * 初始化过程 + */ + fun initNFC() { + + //NFC适配器,所有的关于NFC的操作从该适配器进行 + nfcAdapter = NfcAdapter.getDefaultAdapter(this) + if (!ifNFCUse()) { + return + } + //将被调用的Intent,用于重复被Intent触发后将要执行的跳转 + pendingIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + PendingIntent.getActivity( + this, + 0, + Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), + PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT + ) + } else { + PendingIntent.getActivity( + this, + 0, + Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), + 0 + ) + } + + + //设定要过滤的标签动作,这里只接收ACTION_NDEF_DISCOVERED类型 + ndef = IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED) + ndef!!.addCategory("*/*") + mFilters = arrayOf(ndef!!) // 过滤器 + mTechLists = arrayOf( + arrayOf(NfcA::class.java.name), arrayOf( + NfcF::class.java.name + ), arrayOf(NfcB::class.java.name), arrayOf( + NfcV::class.java.name + ), arrayOf(MifareClassic::class.java.name), arrayOf( + MifareUltralight::class.java.name + ), arrayOf(IsoDep::class.java.name) + ) // 允许扫描的标签类型 + if (isFirst) { + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent + .action + ) { + ndef = IntentFilter() + if (readFromTag(intent)) { + Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show() + } else { + Toast.makeText(this, "标签数据为空", Toast.LENGTH_SHORT).show() + } + } + isFirst = false + } + } + + /** + * 2进制to 16进制 + * @param src + * @return + */ + private fun bytesToHex(src: ByteArray?): String { + val sb = StringBuffer() + if (src == null || src.isEmpty()) { + return "" + } + var sTemp: String + for (i in src.indices) { + sTemp = Integer.toHexString(0xFF and src[i].toInt()) + if (sTemp.length < 2) { + sb.append(0) + } + sb.append(sTemp.uppercase(Locale.getDefault())) + } + return sb.toString() + } + + /* + * 有必要要了解onNewIntent回调函数的调用时机,请自行上网查询 + */ + override fun onNewIntent(intent: Intent) { + super.onNewIntent(intent) + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action || NfcAdapter.ACTION_TECH_DISCOVERED == intent.action) { + val id = bytesToHex(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)) + handleNfc(id) + } + } + + /** + * 读取NFC标签数据的操作 + */ + private fun readFromTag(intent: Intent): Boolean { + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) { + val rawArray = intent + .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES) + if (rawArray != null) { + val mNdefMsg = rawArray[0] as NdefMessage + val mNdefRecord = mNdefMsg.records[0] + if (mNdefRecord != null) { + readResult = String(mNdefRecord.payload, StandardCharsets.UTF_8) + return true + } + } + return false + } + return false + } + + //处理NFC + open fun handleNfc(result: String) { + //showToast(result); + } + + fun initToolbar( + title: String, + rightText: String, + listenerLeftClick: View.OnClickListener, + listenerRightClick: View.OnClickListener + ) { + mToolbar.setTvTitleText(title) + mToolbar.setTvRightText(rightText) + mToolbar.setIvLeftIcon(R.mipmap.ac_back_icon) + mToolbar.setIvLeftOnClickListener(listenerLeftClick) + mToolbar.setTvRightOnClickListener(listenerRightClick) + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseCallBack.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseCallBack.java new file mode 100755 index 0000000..aebfa2d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseCallBack.java @@ -0,0 +1,44 @@ +package com.rehome.bhdxj.base; + +import android.content.Context; +import android.widget.Toast; + +import com.rehome.bhdxj.weight.LoadDialog; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +/** + * Created by ruihong on 2017/12/22. + */ + +public abstract class BaseCallBack implements Callback { + + private Context context; + + private LoadDialog dialog; + + public BaseCallBack(Context context) { + this.context = context; + dialog = new LoadDialog(context, false, "正在加载中..."); + dialog.show(); + } + + @Override + public void onResponse(Call call, Response response) { + dialog.dismiss(); + onSuccess(call, response); + } + + @Override + public void onFailure(Call call, Throwable t) { + dialog.dismiss(); + Toast.makeText(context, "请求异常:" + t.getMessage(), Toast.LENGTH_SHORT).show(); + onError(call, t); + } + + public abstract void onSuccess(Call call, Response response); + + public abstract void onError(Call call, Throwable t); +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseFragment.java new file mode 100755 index 0000000..23ae621 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseFragment.java @@ -0,0 +1,54 @@ +package com.rehome.bhdxj.base; + +import android.app.Activity; +import android.content.Context; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Toast; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; + +/** + * Created by Administrator on 2016/9/icon5. + */ +public abstract class BaseFragment extends Fragment { + + + public abstract int getContentViewId(); + public Activity mActivity; + public View view; + public Context context; + + + @Override + public void onAttach(Context context) { + super.onAttach(context); + this.context = context; + mActivity = getActivity(); + } + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + view = inflater.inflate(getContentViewId(), container, false); + initView(); + initData(); + return view; + } + + protected abstract void initView(); + + public abstract void initData(); + + public void showToast(String text) { + if (text != null && !text.trim().equals("")) { + Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT).show(); + } + } + + public void showToast(int strId) { + Toast.makeText(getContext(), strId, Toast.LENGTH_SHORT).show(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseViewBindingActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseViewBindingActivity.java new file mode 100644 index 0000000..de19b88 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseViewBindingActivity.java @@ -0,0 +1,272 @@ +package com.rehome.bhdxj.base; + +/** + * Create By HuangWenFei + * 创建日期:2023-02-06 14:58 + * 描述: + */ + + +import android.app.Activity; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.nfc.NdefMessage; +import android.nfc.NdefRecord; +import android.nfc.NfcAdapter; +import android.nfc.tech.IsoDep; +import android.nfc.tech.MifareClassic; +import android.nfc.tech.MifareUltralight; +import android.nfc.tech.NfcA; +import android.nfc.tech.NfcB; +import android.nfc.tech.NfcF; +import android.nfc.tech.NfcV; +import android.os.Bundle; +import android.os.Parcelable; +import androidx.viewbinding.ViewBinding; +import android.view.View; +import android.widget.Toast; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.utils.ControllerActivity; +import com.rehome.bhdxj.utils.OAToolbar; +import com.zhy.autolayout.AutoLayoutActivity; +import java.nio.charset.StandardCharsets; + +/** + * Create By HuangWenFei + * 创建日期:2023-01-11 14:25 + * 描述:基类使用ViewBinding,ButterKnife已被作者废弃,不再维护 + */ +public abstract class BaseViewBindingActivity extends AutoLayoutActivity { + + + protected T binding; + OAToolbar mToolbar; + public Context context; + private NfcAdapter nfcAdapter; + private String readResult = ""; + private PendingIntent pendingIntent; + private IntentFilter[] mFilters; + private String[][] mTechLists; + private boolean isFirst = true; + private IntentFilter ndef; + + + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = getViewBinding(); + mToolbar = getToolbar(); + setContentView(binding.getRoot()); + context = this; + ControllerActivity.getAppManager().addActivity(this); + + initView(); + initData(); + } + + //初始化View + protected abstract void initView(); + //初始化数据 + protected abstract void initData(); + protected abstract T getViewBinding(); + protected abstract OAToolbar getToolbar(); + + + public void startActivity(Class cls) { + Intent intent = new Intent(this, cls); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); + startActivity(intent); + } + + @Override + protected void onPause() { + super.onPause(); + if (nfcAdapter != null) { + nfcAdapter.disableForegroundDispatch(this); + } + } + + /* + * 重写onResume回调函数的意义在于处理多次读取NFC标签时的情况 + */ + @Override + protected void onResume() { + super.onResume(); + + // 前台分发系统,这里的作用在于第二次检测NFC标签时该应用有最高的捕获优先权. + if (nfcAdapter != null && pendingIntent != null && mFilters != null && mTechLists != null) { + nfcAdapter.enableForegroundDispatch(this, pendingIntent, mFilters, + mTechLists); + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + ControllerActivity.getAppManager().finishActivity(this); + context = null; + } + + /** + * 显示toast + * + * @param text + */ + public void showToast(String text) { + if (text != null && !text.trim().equals("")) { + Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); + } + } + + public void showToast(int id) { + Toast.makeText(this, id, Toast.LENGTH_SHORT).show(); + } + + + /** + * 检测工作,判断设备的NFC支持情况 + * + * @return + */ + private Boolean ifNFCUse() { + if (nfcAdapter == null) { + Toast.makeText(this, "设备不支持NFC!", Toast.LENGTH_SHORT).show(); + return false; + } + if (!nfcAdapter.isEnabled()) { + Toast.makeText(this, "请在系统设置中先启用NFC功能!", Toast.LENGTH_SHORT).show(); + return false; + } + return true; + } + + /** + * 初始化过程 + */ + public void initNFC() { + + //NFC适配器,所有的关于NFC的操作从该适配器进行 + nfcAdapter = NfcAdapter.getDefaultAdapter(this); + if (!ifNFCUse()) { + return; + } + //将被调用的Intent,用于重复被Intent触发后将要执行的跳转 + + + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) { + pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); + } else { + pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0); + } + + + //设定要过滤的标签动作,这里只接收ACTION_NDEF_DISCOVERED类型 + ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED); + ndef.addCategory("*/*"); + mFilters = new IntentFilter[]{ndef};// 过滤器 + mTechLists = new String[][]{new String[]{NfcA.class.getName()}, + new String[]{NfcF.class.getName()}, + new String[]{NfcB.class.getName()}, + new String[]{NfcV.class.getName()}, + new String[]{MifareClassic.class.getName()}, + new String[]{MifareUltralight.class.getName()}, + new String[]{IsoDep.class.getName()}};// 允许扫描的标签类型 + + if (isFirst) { + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent() + .getAction())) { + ndef = new IntentFilter(); + if (readFromTag(getIntent())) { + Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(this, "标签数据为空", Toast.LENGTH_SHORT).show(); + } + } + isFirst = false; + } + } + + /** + * 2进制to 16进制 + * @param src + * @return + */ + private static String bytesToHex(byte[] src){ + StringBuffer sb = new StringBuffer(); + if (src == null || src.length <= 0) { + return null; + } + String sTemp; + for (int i = 0; i < src.length; i++) { + sTemp = Integer.toHexString(0xFF & src[i]); + if (sTemp.length() < 2){ + sb.append(0); + } + sb.append(sTemp.toUpperCase()); + } + return sb.toString(); + } + + /* + * 有必要要了解onNewIntent回调函数的调用时机,请自行上网查询 + */ + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction()) || + NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) { + + String id = bytesToHex(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)); + + if (id != null) { + handleNfc(id); + } + +// if (readFromTag(intent)) { +// Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show(); +// handleNfc(readResult); +// } else { +// Toast.makeText(this, "ID:" + id + " 标签数据为空", Toast.LENGTH_SHORT).show(); +// } + } + } + + /** + * 读取NFC标签数据的操作 + */ + private boolean readFromTag(Intent intent) { + + if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) { + + Parcelable[] rawArray = intent + .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); + if (rawArray != null) { + NdefMessage mNdefMsg = (NdefMessage) rawArray[0]; + NdefRecord mNdefRecord = mNdefMsg.getRecords()[0]; + if (mNdefRecord != null) { + readResult = new String(mNdefRecord.getPayload(), StandardCharsets.UTF_8); + return true; + } + //return false; + } + return false; + } + return false; + } + + //处理NFC + public void handleNfc(String result) { + //showToast(result); + } + public void initToolbar(String title, String rightText, View.OnClickListener listenerLeftClick,View.OnClickListener listenerRightClick) { + mToolbar.setTvTitleText(title); + mToolbar.setTvRightText(rightText); + mToolbar.setIvLeftIcon(R.mipmap.ac_back_icon); + mToolbar.setIvLeftOnClickListener(listenerLeftClick); + mToolbar.setTvRightOnClickListener(listenerRightClick); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseViewBindingAdapter.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseViewBindingAdapter.java new file mode 100644 index 0000000..1b913e2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseViewBindingAdapter.java @@ -0,0 +1,51 @@ +package com.rehome.bhdxj.base; + + + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import androidx.viewbinding.ViewBinding; + +/** + * Create By HuangWenFei + * 创建日期:2023-02-06 14:56 + * 描述: + */ +public abstract class BaseViewBindingAdapter extends BaseAdapter { + + private final LayoutInflater inflater; + public BaseViewBindingAdapter(Context context) { + inflater = LayoutInflater.from(context); + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder; + if (null == convertView) { + T binding = getBinding(inflater, parent); + holder = new ViewHolder(binding); + convertView = binding.getRoot(); + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + handleData(position, holder.binding); + return convertView; + } + + protected abstract void handleData(int position, T binding); + + protected abstract T getBinding(LayoutInflater inflater, ViewGroup parent); + + class ViewHolder { + + private final T binding; + public ViewHolder(T binding) { + this.binding = binding; + } + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseViewBindingFragment.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseViewBindingFragment.java new file mode 100644 index 0000000..b1557dd --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/BaseViewBindingFragment.java @@ -0,0 +1,76 @@ +package com.rehome.bhdxj.base; + + +import android.content.Context; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.viewbinding.ViewBinding; +/** + * Create By HuangWenFei + * 创建日期:2023-02-06 14:57 + * 描述: + */ + +public abstract class BaseViewBindingFragment extends Fragment { + + protected Context context; + protected T binding; + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + binding = getBinding(inflater, container); + return binding.getRoot(); + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + initView(); + initData(); + } + + protected abstract T getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup container); + /** + * 初始化视图 + */ + protected abstract void initView(); + + /** + * 初始化数据 + */ + protected abstract void initData(); + + @Override + public void onDestroyView() { + super.onDestroyView(); + binding = null; + } + + @Override + public void onAttach(@NonNull Context context) { + super.onAttach(context); + this.context = context; + } + + @Override + public void onDetach() { + super.onDetach(); + this.context = null; + } + + public void showToast(String msg) { + Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); + } + + public void showToast(int strId) { + Toast.makeText(context, strId, Toast.LENGTH_SHORT).show(); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/MipcaActivityCapture.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/MipcaActivityCapture.java new file mode 100755 index 0000000..9902e16 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/base/MipcaActivityCapture.java @@ -0,0 +1,268 @@ +package com.rehome.bhdxj.base; + +import android.content.Intent; +import android.content.res.AssetFileDescriptor; +import android.graphics.Bitmap; +import android.hardware.Camera; +import android.media.AudioManager; +import android.media.MediaPlayer; +import android.media.MediaPlayer.OnCompletionListener; +import android.os.Bundle; +import android.os.Handler; +import android.os.Vibrator; +import android.view.SurfaceHolder; +import android.view.SurfaceHolder.Callback; +import android.view.SurfaceView; +import android.view.View; +import android.widget.Button; +import com.google.zxing.BarcodeFormat; +import com.google.zxing.Result; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.zxing.camera.CameraManager; +import com.rehome.bhdxj.zxing.decoding.CaptureActivityHandler; +import com.rehome.bhdxj.zxing.decoding.InactivityTimer; +import com.rehome.bhdxj.zxing.view.ViewfinderView; +import java.io.IOException; +import java.util.Vector; + + +/** + * 二维码扫描界面 + */ +public class MipcaActivityCapture extends BaseActivity implements Callback { + + Button flashlightButton; + private CaptureActivityHandler handler; + private ViewfinderView viewfinderView; + private boolean hasSurface; + private Vector decodeFormats; + private String characterSet; + private InactivityTimer inactivityTimer; + private MediaPlayer mediaPlayer; + private boolean playBeep; + private static final float BEEP_VOLUME = 0.10f; + private boolean vibrate; + private static Camera camera; + private Camera.Parameters params; + private boolean isOpen = true; + + @Override + public int getContentViewID() { + return R.layout.activity_capture; + } + + @Override + protected void initView() { + CameraManager.init(getApplication()); + viewfinderView = findViewById(R.id.viewfinder_view); + flashlightButton = findViewById(R.id.flashlightButton); + hasSurface = false; + inactivityTimer = new InactivityTimer(this); + + title = findViewById(R.id.title); + title.setText("二维码/条码扫描"); + mToolbar = findViewById(R.id.toolbar); + mToolbar.setNavigationIcon(R.mipmap.back); + mToolbar.setNavigationOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + finish(); + } + }); + + flashlightButton.setOnClickListener(openListener); + + + } + + private View.OnClickListener openListener = new View.OnClickListener() { + @Override + public void onClick(View v) { + //获取到ZXing相机管理器创建的camera + camera = CameraManager.getCamera(); + params = camera.getParameters(); + // TODO 开灯 + if (isOpen) { + flashlightButton.setText("关闭闪光灯"); + params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); + camera.setParameters(params); + isOpen = false; + } else { // 关灯 + flashlightButton.setText("打开闪光灯"); + params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); + camera.setParameters(params); + isOpen = true; + } + } + }; + + + @Override + protected void onResume() { + super.onResume(); + SurfaceView surfaceView = findViewById(R.id.preview_view); + SurfaceHolder surfaceHolder = surfaceView.getHolder(); + if (hasSurface) { + initCamera(surfaceHolder); + } else { + surfaceHolder.addCallback(this); + surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); + } + decodeFormats = null; + characterSet = null; + + playBeep = true; + AudioManager audioService = (AudioManager) getSystemService(AUDIO_SERVICE); + if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) { + playBeep = false; + } + initBeepSound(); + vibrate = true; + + } + + @Override + protected void onPause() { + super.onPause(); + if (handler != null) { + handler.quitSynchronously(); + handler = null; + } + CameraManager.get().closeDriver(); + } + + @Override + protected void onDestroy() { + inactivityTimer.shutdown(); + super.onDestroy(); + } + + /** + * ����ɨ���� + * + * @param result + * @param barcode + */ + public void handleDecode(Result result, Bitmap barcode) { + + + inactivityTimer.onActivity(); + + + playBeepSoundAndVibrate(); + + String[] b = result.getText().split("\\t"); + + String Result = b[0]; + + if (Result.equals("")) { + + showToast("Scan failed!"); + + } else { + + Intent resultIntent = new Intent(); + + Bundle bundle = new Bundle(); + + bundle.putString("result", Result); + + resultIntent.putExtras(bundle); + + setResult(RESULT_OK, resultIntent); + } + finish(); + } + + private void initCamera(SurfaceHolder surfaceHolder) { + try { + CameraManager.get().openDriver(surfaceHolder); + } catch (IOException ioe) { + return; + } catch (RuntimeException e) { + return; + } + if (handler == null) { + handler = new CaptureActivityHandler(this, decodeFormats, characterSet); + } + } + + @Override + public void surfaceChanged(SurfaceHolder holder, int format, int width, + int height) { + + } + + @Override + public void surfaceCreated(SurfaceHolder holder) { + if (!hasSurface) { + hasSurface = true; + initCamera(holder); + } + + } + + @Override + public void surfaceDestroyed(SurfaceHolder holder) { + hasSurface = false; + + } + + public ViewfinderView getViewfinderView() { + return viewfinderView; + } + + public Handler getHandler() { + return handler; + } + + public void drawViewfinder() { + viewfinderView.drawViewfinder(); + + } + + private void initBeepSound() { + if (playBeep && mediaPlayer == null) { + // The volume on STREAM_SYSTEM is not adjustable, and users found it + // too loud, + // so we now play on the music stream. + setVolumeControlStream(AudioManager.STREAM_MUSIC); + mediaPlayer = new MediaPlayer(); + mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); + mediaPlayer.setOnCompletionListener(beepListener); + + AssetFileDescriptor file = getResources().openRawResourceFd( + R.raw.beep); + try { + mediaPlayer.setDataSource(file.getFileDescriptor(), + file.getStartOffset(), file.getLength()); + file.close(); + mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME); + mediaPlayer.prepare(); + } catch (IOException e) { + mediaPlayer = null; + } + } + } + + private static final long VIBRATE_DURATION = 200L; + + private void playBeepSoundAndVibrate() { + if (playBeep && mediaPlayer != null) { + mediaPlayer.start(); + } + if (vibrate) { + Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); + vibrator.vibrate(VIBRATE_DURATION); + } + } + + /** + * When the beep has finished playing, rewind to queue up another one. + */ + private final OnCompletionListener beepListener = new OnCompletionListener() { + public void onCompletion(MediaPlayer mediaPlayer) { + mediaPlayer.seekTo(0); + } + }; +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ApkUpdateBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ApkUpdateBean.java new file mode 100755 index 0000000..8965837 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ApkUpdateBean.java @@ -0,0 +1,74 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +public class ApkUpdateBean { + + private String Total; + private List Rows; + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class RowsBean { + + private String versionname="1.0.0"; + private String versioncode="1"; + private String apkurl=""; + private String bz=""; + private String appdesc=""; + + public String getVersionname() { + return versionname; + } + + public void setVersionname(String versionname) { + this.versionname = versionname; + } + + public String getVersioncode() { + return versioncode; + } + + public void setVersioncode(String versioncode) { + this.versioncode = versioncode; + } + + public String getApkurl() { + return apkurl; + } + + public void setApkurl(String apkurl) { + this.apkurl = apkurl; + } + + public String getBz() { + return bz; + } + + public void setBz(String bz) { + this.bz = bz; + } + + public String getAppdesc() { + return appdesc; + } + + public void setAppdesc(String appdesc) { + this.appdesc = appdesc; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/AqjclbBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/AqjclbBean.java new file mode 100755 index 0000000..7847ae2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/AqjclbBean.java @@ -0,0 +1,222 @@ +package com.rehome.bhdxj.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2017/12/28. + */ + +public class AqjclbBean implements Parcelable { + /** + * state : 1 + * msg : + * data : [{"JHID":"jh00000000061","JHMC":"TEST1","ST":"2017/12/20 0:00:00","ET":"2017/12/30 0:00:00","JCFW":"123123","TJR":"SH_Admin","TJSJ":"2017/12/21 16:38:57","XGR":"","XGSJ":""},{"JHID":"jh00000000072","JHMC":"test9","ST":"2017/12/13 0:00:00","ET":"2017/12/30 0:00:00","JCFW":"123","TJR":"SH_Admin","TJSJ":"2017/12/22 13:41:44","XGR":"SH_Admin","XGSJ":"2017/12/22 13:41:48"},{"JHID":"jh00000000075","JHMC":"TEST13","ST":"2017/12/7 0:00:00","ET":"2017/12/29 0:00:00","JCFW":"123","TJR":"SH_Admin","TJSJ":"2017/12/22 13:50:24","XGR":"","XGSJ":""},{"JHID":"jh00000000064","JHMC":"TEST4","ST":"2017/12/16 0:00:00","ET":"2017/12/30 0:00:00","JCFW":"123123","TJR":"SH_Admin","TJSJ":"2017/12/22 9:31:48","XGR":"","XGSJ":""},{"JHID":"jh00000000066","JHMC":"TEST5","ST":"2017/12/21 0:00:00","ET":"2018/1/6 0:00:00","JCFW":"123","TJR":"SH_Admin","TJSJ":"2017/12/22 9:56:35","XGR":"","XGSJ":""},{"JHID":"jh00000000068","JHMC":"TEST6","ST":"2017/12/22 0:00:00","ET":"2017/12/29 0:00:00","JCFW":"1111","TJR":"SH_Admin","TJSJ":"2017/12/22 10:16:42","XGR":"","XGSJ":""}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean implements Parcelable { + /** + * JHID : jh00000000061 + * JHMC : TEST1 + * ST : 2017/12/20 0:00:00 + * ET : 2017/12/30 0:00:00 + * JCFW : 123123 + * TJR : SH_Admin + * TJSJ : 2017/12/21 16:38:57 + * XGR : + * XGSJ : + */ + + private String JHID; + private String JHMC; + private String ST; + private String ET; + private String JCFW; + private String TJR; + private String TJSJ; + private String XGR; + private String XGSJ; + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getJHMC() { + return JHMC; + } + + public void setJHMC(String JHMC) { + this.JHMC = JHMC; + } + + public String getST() { + return ST; + } + + public void setST(String ST) { + this.ST = ST; + } + + public String getET() { + return ET; + } + + public void setET(String ET) { + this.ET = ET; + } + + public String getJCFW() { + return JCFW; + } + + public void setJCFW(String JCFW) { + this.JCFW = JCFW; + } + + public String getTJR() { + return TJR; + } + + public void setTJR(String TJR) { + this.TJR = TJR; + } + + public String getTJSJ() { + return TJSJ; + } + + public void setTJSJ(String TJSJ) { + this.TJSJ = TJSJ; + } + + public String getXGR() { + return XGR; + } + + public void setXGR(String XGR) { + this.XGR = XGR; + } + + public String getXGSJ() { + return XGSJ; + } + + public void setXGSJ(String XGSJ) { + this.XGSJ = XGSJ; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.JHID); + dest.writeString(this.JHMC); + dest.writeString(this.ST); + dest.writeString(this.ET); + dest.writeString(this.JCFW); + dest.writeString(this.TJR); + dest.writeString(this.TJSJ); + dest.writeString(this.XGR); + dest.writeString(this.XGSJ); + } + + public DataBean() { + } + + protected DataBean(Parcel in) { + this.JHID = in.readString(); + this.JHMC = in.readString(); + this.ST = in.readString(); + this.ET = in.readString(); + this.JCFW = in.readString(); + this.TJR = in.readString(); + this.TJSJ = in.readString(); + this.XGR = in.readString(); + this.XGSJ = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DataBean createFromParcel(Parcel source) { + return new DataBean(source); + } + + @Override + public DataBean[] newArray(int size) { + return new DataBean[size]; + } + }; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.state); + dest.writeString(this.msg); + dest.writeList(this.data); + } + + public AqjclbBean() { + } + + protected AqjclbBean(Parcel in) { + this.state = in.readInt(); + this.msg = in.readString(); + this.data = new ArrayList(); + in.readList(this.data, DataBean.class.getClassLoader()); + } + + public static final Creator CREATOR = new Creator() { + @Override + public AqjclbBean createFromParcel(Parcel source) { + return new AqjclbBean(source); + } + + @Override + public AqjclbBean[] newArray(int size) { + return new AqjclbBean[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/AqjcrwListBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/AqjcrwListBean.java new file mode 100755 index 0000000..ee7d276 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/AqjcrwListBean.java @@ -0,0 +1,358 @@ +package com.rehome.bhdxj.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.List; + +/** + * Created by ruihong on 2018/1/20. + */ + +public class AqjcrwListBean { + /** + * state : 1 + * msg : + * data : [{"RWID":"RW00000000071","RWZT":"2","RWZT_NAME":"整改中","JHID":"jh00000000101","JHMC":"TEST1","WTQY":"13123123123123123131","WTMS":"234213546432134","FXLB":"","YHDJ":"","ZRBM":"BM00003","LRR":"管理员","LRSJ":"2018/1/20 10:21:38","SCSJ":"2018/1/20 10:20:41","TJSJ":"2018/1/20 10:21:35","APR":"管理员","APSJ":"2018/1/20 10:21:51","ZGJG":"","ZGR":"管理员","ZGSJ":"","QRR":"","QRSJ":"","QRBZ":"","IMG":[{"IMGLX":"0","IMGURL":"AQJC_IMG/jh00000000101/B18B074D8B8E4CB4B6C4515258A25E22.jpg"}]},{"RWID":"RW00000000072","RWZT":"2","RWZT_NAME":"整改中","JHID":"jh00000000101","JHMC":"TEST1","WTQY":"如意","WTMS":"测试","FXLB":"","YHDJ":"","ZRBM":"BM00003","LRR":"管理员","LRSJ":"2018/1/20 10:21:56","SCSJ":"2018/1/20 10:20:59","TJSJ":"2018/1/20 10:21:12","APR":"管理员","APSJ":"2018/1/20 10:21:30","ZGJG":"","ZGR":"管理员","ZGSJ":"","QRR":"","QRSJ":"","QRBZ":"","IMG":[{"IMGLX":"0","IMGURL":"AQJC_IMG/jh00000000101/7BF8F27227F94BC5A8B28381F0065555.jpg"}]}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean implements Parcelable { + + + private String RWID; + private String RWZT; + private String RWZT_NAME; + private String JHID; + private String JHMC; + private String WTQY; + private String WTMS; + private String FXLB; + private String YHDJ; + private String ZRBM; + private String LRR; + private String LRSJ; + private String SCSJ; + private String TJSJ; + private String APR; + private String APSJ; + private String ZGJG; + private String ZGR; + private String ZGSJ; + private String QRR; + private String QRSJ; + private String QRBZ; + private List IMG; + + public String getRWID() { + return RWID; + } + + public void setRWID(String RWID) { + this.RWID = RWID; + } + + public String getRWZT() { + return RWZT; + } + + public void setRWZT(String RWZT) { + this.RWZT = RWZT; + } + + public String getRWZT_NAME() { + return RWZT_NAME; + } + + public void setRWZT_NAME(String RWZT_NAME) { + this.RWZT_NAME = RWZT_NAME; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getJHMC() { + return JHMC; + } + + public void setJHMC(String JHMC) { + this.JHMC = JHMC; + } + + public String getWTQY() { + return WTQY; + } + + public void setWTQY(String WTQY) { + this.WTQY = WTQY; + } + + public String getWTMS() { + return WTMS; + } + + public void setWTMS(String WTMS) { + this.WTMS = WTMS; + } + + public String getFXLB() { + return FXLB; + } + + public void setFXLB(String FXLB) { + this.FXLB = FXLB; + } + + public String getYHDJ() { + return YHDJ; + } + + public void setYHDJ(String YHDJ) { + this.YHDJ = YHDJ; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getLRR() { + return LRR; + } + + public void setLRR(String LRR) { + this.LRR = LRR; + } + + public String getLRSJ() { + return LRSJ; + } + + public void setLRSJ(String LRSJ) { + this.LRSJ = LRSJ; + } + + public String getSCSJ() { + return SCSJ; + } + + public void setSCSJ(String SCSJ) { + this.SCSJ = SCSJ; + } + + public String getTJSJ() { + return TJSJ; + } + + public void setTJSJ(String TJSJ) { + this.TJSJ = TJSJ; + } + + public String getAPR() { + return APR; + } + + public void setAPR(String APR) { + this.APR = APR; + } + + public String getAPSJ() { + return APSJ; + } + + public void setAPSJ(String APSJ) { + this.APSJ = APSJ; + } + + public String getZGJG() { + return ZGJG; + } + + public void setZGJG(String ZGJG) { + this.ZGJG = ZGJG; + } + + public String getZGR() { + return ZGR; + } + + public void setZGR(String ZGR) { + this.ZGR = ZGR; + } + + public String getZGSJ() { + return ZGSJ; + } + + public void setZGSJ(String ZGSJ) { + this.ZGSJ = ZGSJ; + } + + public String getQRR() { + return QRR; + } + + public void setQRR(String QRR) { + this.QRR = QRR; + } + + public String getQRSJ() { + return QRSJ; + } + + public void setQRSJ(String QRSJ) { + this.QRSJ = QRSJ; + } + + public String getQRBZ() { + return QRBZ; + } + + public void setQRBZ(String QRBZ) { + this.QRBZ = QRBZ; + } + + public List getIMG() { + return IMG; + } + + public void setIMG(List IMG) { + this.IMG = IMG; + } + + public static class IMGBean { + /** + * IMGLX : 0 + * IMGURL : AQJC_IMG/jh00000000101/B18B074D8B8E4CB4B6C4515258A25E22.jpg + */ + + private String IMGLX; + private String IMGURL; + + public String getIMGLX() { + return IMGLX; + } + + public void setIMGLX(String IMGLX) { + this.IMGLX = IMGLX; + } + + public String getIMGURL() { + return IMGURL; + } + + public void setIMGURL(String IMGURL) { + this.IMGURL = IMGURL; + } + } + + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.RWID); + dest.writeString(this.RWZT); + dest.writeString(this.RWZT_NAME); + dest.writeString(this.JHID); + dest.writeString(this.JHMC); + dest.writeString(this.WTQY); + dest.writeString(this.WTMS); + dest.writeString(this.FXLB); + dest.writeString(this.YHDJ); + dest.writeString(this.ZRBM); + dest.writeString(this.LRR); + dest.writeString(this.LRSJ); + dest.writeString(this.SCSJ); + dest.writeString(this.TJSJ); + dest.writeString(this.APR); + dest.writeString(this.APSJ); + dest.writeString(this.ZGJG); + dest.writeString(this.ZGR); + dest.writeString(this.ZGSJ); + dest.writeString(this.QRR); + dest.writeString(this.QRSJ); + dest.writeString(this.QRBZ); + } + + public DataBean() { + } + + protected DataBean(Parcel in) { + this.RWID = in.readString(); + this.RWZT = in.readString(); + this.RWZT_NAME = in.readString(); + this.JHID = in.readString(); + this.JHMC = in.readString(); + this.WTQY = in.readString(); + this.WTMS = in.readString(); + this.FXLB = in.readString(); + this.YHDJ = in.readString(); + this.ZRBM = in.readString(); + this.LRR = in.readString(); + this.LRSJ = in.readString(); + this.SCSJ = in.readString(); + this.TJSJ = in.readString(); + this.APR = in.readString(); + this.APSJ = in.readString(); + this.ZGJG = in.readString(); + this.ZGR = in.readString(); + this.ZGSJ = in.readString(); + this.QRR = in.readString(); + this.QRSJ = in.readString(); + this.QRBZ = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DataBean createFromParcel(Parcel source) { + return new DataBean(source); + } + + @Override + public DataBean[] newArray(int size) { + return new DataBean[size]; + } + }; + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/BasicDataBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/BasicDataBean.java new file mode 100755 index 0000000..304c368 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/BasicDataBean.java @@ -0,0 +1,71 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/27. + */ + +public class BasicDataBean { + + + /** + * state : 1 + * msg : 获取成功 + * data : [{"id":"7","name":"灰控"},{"id":"6","name":"脱硫"},{"id":"5","name":"#2汽机"},{"id":"4","name":"#1汽机"},{"id":"3","name":"#2锅炉"},{"id":"2","name":"#1锅炉"},{"id":"1","name":"电气网控"},{"id":"8","name":"化学"},{"id":"9","name":"厂用电"}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * id : 7 + * name : 灰控 + */ + + 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; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/BmBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/BmBean.java new file mode 100755 index 0000000..571f649 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/BmBean.java @@ -0,0 +1,64 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/20. + */ + +public class BmBean { + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * BMID : 121790701 + * BMMC : 策划分部 + */ + + private String BMID; + private String BMMC; + + public String getBMID() { + return BMID; + } + + public void setBMID(String BMID) { + this.BMID = BMID; + } + + public String getBMMC() { + return BMMC; + } + + public void setBMMC(String BMMC) { + this.BMMC = BMMC; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/BmidBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/BmidBean.java new file mode 100755 index 0000000..1c14f1f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/BmidBean.java @@ -0,0 +1,61 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/5/10. + */ + +public class BmidBean { + + + /** + * Rows : [{"re_tm_no_p":"91","re_tm_de":"策划分部"}] + * Total : 1 + */ + + private String Total; + private List Rows; + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class RowsBean { + /** + * re_tm_no_p : 91 + * re_tm_de : 策划分部 + */ + + private String re_tm_no_p; + private String re_tm_de; + + public String getRe_tm_no_p() { + return re_tm_no_p; + } + + public void setRe_tm_no_p(String re_tm_no_p) { + this.re_tm_no_p = re_tm_no_p; + } + + public String getRe_tm_de() { + return re_tm_de; + } + + public void setRe_tm_de(String re_tm_de) { + this.re_tm_de = re_tm_de; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ContactListBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ContactListBean.java new file mode 100755 index 0000000..a289a5b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ContactListBean.java @@ -0,0 +1,128 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/4. + *

+ * 通讯录 + */ + +public class ContactListBean { + + + private List Rows; + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class RowsBean { + /** + * DeptName : 厂领导 + * orderlist : [{"name":"高苑辉","telephone":"","address_tel":""},{"name":"张洪刚","telephone":"","address_tel":""},{"name":"石喜光","telephone":"","address_tel":""},{"name":"齐晓波","telephone":"","address_tel":""},{"name":"陈运强","telephone":"","address_tel":""}] + */ + + private String DeptName; + private List orderlist; + + public String getDeptName() { + return DeptName; + } + + public void setDeptName(String DeptName) { + this.DeptName = DeptName; + } + + public List getOrderlist() { + return orderlist; + } + + public void setOrderlist(List orderlist) { + this.orderlist = orderlist; + } + + public static class OrderlistBean { + /** + * name : 高苑辉 + * telephone : + * address_tel : + */ + + private String name; + private String telephone; + private String address_tel; + private String groupName; + private String man_id; + private String account_head; + + public OrderlistBean(String name, String telephone, String address_tel, String groupName, String account_head) { + this.name = name; + this.telephone = telephone; + this.address_tel = address_tel; + this.groupName = groupName; + this.account_head = account_head; + } + + public OrderlistBean(String groupName) { + this.groupName = groupName; + } + + public OrderlistBean() { + + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTelephone() { + return telephone; + } + + public void setTelephone(String telephone) { + this.telephone = telephone; + } + + public String getAddress_tel() { + return address_tel; + } + + public void setAddress_tel(String address_tel) { + this.address_tel = address_tel; + } + + public String getGroupName() { + return groupName; + } + + public void setGroupName(String groupName) { + this.groupName = groupName; + } + + public String getMan_id() { + return man_id; + } + + public void setMan_id(String man_id) { + this.man_id = man_id; + } + + public String getAccount_head() { + return account_head; + } + + public void setAccount_head(String account_head) { + this.account_head = account_head; + } + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DjAjhGzInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DjAjhGzInfo.java new file mode 100755 index 0000000..ee451ea --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DjAjhGzInfo.java @@ -0,0 +1,37 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by gzw on 2016/11/10. + */ + +public class DjAjhGzInfo { + + private String xh; + private String qy; + private String djrw; + + public String getXh() { + return xh; + } + + public void setXh(String xh) { + this.xh = xh; + } + + public String getQy() { + return qy; + } + + public void setQy(String qy) { + this.qy = qy; + } + + public String getDjrw() { + return djrw; + } + + public void setDjrw(String djrw) { + this.djrw = djrw; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DlbInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DlbInfo.java new file mode 100755 index 0000000..6789d8e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DlbInfo.java @@ -0,0 +1,64 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by Administrator on 2016/8/22. + */ +public class DlbInfo { + + private int xh; + private String dian; + private boolean statu; + private String cjjg; + private String sbid;//后来加上的设备id + + + public DlbInfo() { + } + + public DlbInfo(int xh, String dian, boolean statu, String sbid) { + this.xh = xh; + this.dian = dian; + this.statu = statu; + this.sbid = sbid; + } + + public String getCjjg() { + return cjjg; + } + + public void setCjjg(String cjjg) { + this.cjjg = cjjg; + } + + public int getXh() { + return xh; + } + + public void setXh(int xh) { + this.xh = xh; + } + + public String getDian() { + return dian; + } + + public void setDian(String dian) { + this.dian = dian; + } + + public boolean isStatu() { + return statu; + } + + public void setStatu(boolean statu) { + this.statu = statu; + } + + public String getSbid() { + return sbid; + } + + public void setSbid(String sbid) { + this.sbid = sbid; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DxxSbListBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DxxSbListBean.java new file mode 100755 index 0000000..a1dd30d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DxxSbListBean.java @@ -0,0 +1,97 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/3. + */ + +public class DxxSbListBean { + + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + + private String ID; + private String JZ; + private String JZNAME; + private String SBNAME; + private String TYPE; + private String DEPTNAME; + + public String getID() { + return ID; + } + + public void setID(String ID) { + this.ID = ID; + } + + public String getJZ() { + return JZ; + } + + public void setJZ(String JZ) { + this.JZ = JZ; + } + + public String getJZNAME() { + return JZNAME; + } + + public void setJZNAME(String JZNAME) { + this.JZNAME = JZNAME; + } + + public String getSBNAME() { + return SBNAME; + } + + public void setSBNAME(String SBNAME) { + this.SBNAME = SBNAME; + } + + public String getTYPE() { + return TYPE; + } + + public void setTYPE(String TYPE) { + this.TYPE = TYPE; + } + + public String getDEPTNAME() { + return DEPTNAME; + } + + public void setDEPTNAME(String DEPTNAME) { + this.DEPTNAME = DEPTNAME; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DxxSbUploadBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DxxSbUploadBean.java new file mode 100755 index 0000000..12a2e85 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DxxSbUploadBean.java @@ -0,0 +1,356 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/4. + */ + +public class DxxSbUploadBean { + private String Action; + private String FID; + private String ZJTIME; + private String TITLE; + private String NEXTATUSER; + private String ISAUDIT; + private String EDITTIME; + private String WORKUSERID; + private String JLUSERID; + private String CJUSERID; + private String ISBHG; + private String ISWC; + private String WCINTRO; + private String EDITUSERID; + private String CLASSID; + private String NODEID; + private String PRENODEID; + private String DEPTID; + private String ADDUSERID; + private String ADDTIME; + private String AUDITDEPTID; + private String AUDITUSERID; + private String AUDITTIME; + private String AUDITSTATE; + private String NODETYPE; + private String SIGNCOUNT; + private String SIGNATCOUNT; + private String ISRUN; + private String PROUSERID; + private String STATE; + private String DataTotal; + private List ZJDSBLIST; + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getFID() { + return FID; + } + + public void setFID(String FID) { + this.FID = FID; + } + + public String getZJTIME() { + return ZJTIME; + } + + public void setZJTIME(String ZJTIME) { + this.ZJTIME = ZJTIME; + } + + public String getTITLE() { + return TITLE; + } + + public void setTITLE(String TITLE) { + this.TITLE = TITLE; + } + + public String getNEXTATUSER() { + return NEXTATUSER; + } + + public void setNEXTATUSER(String NEXTATUSER) { + this.NEXTATUSER = NEXTATUSER; + } + + public String getISAUDIT() { + return ISAUDIT; + } + + public void setISAUDIT(String ISAUDIT) { + this.ISAUDIT = ISAUDIT; + } + + public String getEDITTIME() { + return EDITTIME; + } + + public void setEDITTIME(String EDITTIME) { + this.EDITTIME = EDITTIME; + } + + public String getWORKUSERID() { + return WORKUSERID; + } + + public void setWORKUSERID(String WORKUSERID) { + this.WORKUSERID = WORKUSERID; + } + + public String getJLUSERID() { + return JLUSERID; + } + + public void setJLUSERID(String JLUSERID) { + this.JLUSERID = JLUSERID; + } + + public String getCJUSERID() { + return CJUSERID; + } + + public void setCJUSERID(String CJUSERID) { + this.CJUSERID = CJUSERID; + } + + public String getISBHG() { + return ISBHG; + } + + public void setISBHG(String ISBHG) { + this.ISBHG = ISBHG; + } + + public String getISWC() { + return ISWC; + } + + public void setISWC(String ISWC) { + this.ISWC = ISWC; + } + + public String getWCINTRO() { + return WCINTRO; + } + + public void setWCINTRO(String WCINTRO) { + this.WCINTRO = WCINTRO; + } + + public String getEDITUSERID() { + return EDITUSERID; + } + + public void setEDITUSERID(String EDITUSERID) { + this.EDITUSERID = EDITUSERID; + } + + public String getCLASSID() { + return CLASSID; + } + + public void setCLASSID(String CLASSID) { + this.CLASSID = CLASSID; + } + + public String getNODEID() { + return NODEID; + } + + public void setNODEID(String NODEID) { + this.NODEID = NODEID; + } + + public String getPRENODEID() { + return PRENODEID; + } + + public void setPRENODEID(String PRENODEID) { + this.PRENODEID = PRENODEID; + } + + public String getDEPTID() { + return DEPTID; + } + + public void setDEPTID(String DEPTID) { + this.DEPTID = DEPTID; + } + + public String getADDUSERID() { + return ADDUSERID; + } + + public void setADDUSERID(String ADDUSERID) { + this.ADDUSERID = ADDUSERID; + } + + public String getADDTIME() { + return ADDTIME; + } + + public void setADDTIME(String ADDTIME) { + this.ADDTIME = ADDTIME; + } + + public String getAUDITDEPTID() { + return AUDITDEPTID; + } + + public void setAUDITDEPTID(String AUDITDEPTID) { + this.AUDITDEPTID = AUDITDEPTID; + } + + public String getAUDITUSERID() { + return AUDITUSERID; + } + + public void setAUDITUSERID(String AUDITUSERID) { + this.AUDITUSERID = AUDITUSERID; + } + + public String getAUDITTIME() { + return AUDITTIME; + } + + public void setAUDITTIME(String AUDITTIME) { + this.AUDITTIME = AUDITTIME; + } + + public String getAUDITSTATE() { + return AUDITSTATE; + } + + public void setAUDITSTATE(String AUDITSTATE) { + this.AUDITSTATE = AUDITSTATE; + } + + public String getNODETYPE() { + return NODETYPE; + } + + public void setNODETYPE(String NODETYPE) { + this.NODETYPE = NODETYPE; + } + + public String getSIGNCOUNT() { + return SIGNCOUNT; + } + + public void setSIGNCOUNT(String SIGNCOUNT) { + this.SIGNCOUNT = SIGNCOUNT; + } + + public String getSIGNATCOUNT() { + return SIGNATCOUNT; + } + + public void setSIGNATCOUNT(String SIGNATCOUNT) { + this.SIGNATCOUNT = SIGNATCOUNT; + } + + public String getISRUN() { + return ISRUN; + } + + public void setISRUN(String ISRUN) { + this.ISRUN = ISRUN; + } + + public String getPROUSERID() { + return PROUSERID; + } + + public void setPROUSERID(String PROUSERID) { + this.PROUSERID = PROUSERID; + } + + public String getSTATE() { + return STATE; + } + + public void setSTATE(String STATE) { + this.STATE = STATE; + } + + public String getDataTotal() { + return DataTotal; + } + + public void setDataTotal(String dataTotal) { + DataTotal = dataTotal; + } + + public List getZJDSBLIST() { + return ZJDSBLIST; + } + + public void setZJDSBLIST(List ZJDSBLIST) { + this.ZJDSBLIST = ZJDSBLIST; + } + + public static class ZJDSBLIST { + private String SBID; + private String FID; + private String TYPE; + private String JZ; + private String SBCODE; + private String SBNAME; + + public String getSBID() { + return SBID; + } + + public void setSBID(String SBID) { + this.SBID = SBID; + } + + public String getFID() { + return FID; + } + + public void setFID(String FID) { + this.FID = FID; + } + + public String getTYPE() { + return TYPE; + } + + public void setTYPE(String TYPE) { + this.TYPE = TYPE; + } + + public String getJZ() { + return JZ; + } + + public void setJZ(String JZ) { + this.JZ = JZ; + } + + public String getSBCODE() { + return SBCODE; + } + + public void setSBCODE(String SBCODE) { + this.SBCODE = SBCODE; + } + + public String getSBNAME() { + return SBNAME; + } + + public void setSBNAME(String SBNAME) { + this.SBNAME = SBNAME; + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DxxZjrwBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DxxZjrwBean.java new file mode 100755 index 0000000..e355d3c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/DxxZjrwBean.java @@ -0,0 +1,161 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/3. + */ + +public class DxxZjrwBean { + + + /** + * state : 0 + * msg : + * data : [{"JHTITLE":"307B#3机组B级检修","FILEBAGTITLE":"油漆防腐项目作业指导书(第二版)","FILEBAGID":"587","ZJDNAME":"见证点W-1","PROUSERID":"280865","PROUSERNAME":"黎立威(点检定修策划工程师)","ZJDID":"2471","WZJSBCOUNT":"0","WORKUSERID":"130636","CJUSERID":"","JLUSERID":""},{"JHTITLE":"307B#3机组B级检修","FILEBAGTITLE":"油漆防腐项目作业指导书(第二版)","FILEBAGID":"587","ZJDNAME":"停工待检点H-2","PROUSERID":"280865","PROUSERNAME":"黎立威(点检定修策划工程师)","ZJDID":"2473","WZJSBCOUNT":"0","WORKUSERID":"","CJUSERID":"","JLUSERID":""},{"JHTITLE":"307B#3机组B级检修","FILEBAGTITLE":"油漆防腐项目作业指导书(第二版)","FILEBAGID":"587","ZJDNAME":"停工待检点H-3","PROUSERID":"280865","PROUSERNAME":"黎立威(点检定修策划工程师)","ZJDID":"2474","WZJSBCOUNT":"21","WORKUSERID":"","CJUSERID":"","JLUSERID":""}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * JHTITLE : 307B#3机组B级检修 + * FILEBAGTITLE : 油漆防腐项目作业指导书(第二版) + * FILEBAGID : 587 + * ZJDNAME : 见证点W-1 + * PROUSERID : 280865 + * PROUSERNAME : 黎立威(点检定修策划工程师) + * ZJDID : 2471 + * WZJSBCOUNT : 0 + * WORKUSERID : 130636 + * CJUSERID : + * JLUSERID : + */ + + private String JHTITLE; + private String FILEBAGTITLE; + private String FILEBAGID; + private String ZJDNAME; + private String PROUSERID; + private String PROUSERNAME; + private String ZJDID; + private String WZJSBCOUNT; + private String WORKUSERID; + private String CJUSERID; + private String JLUSERID; + + public String getJHTITLE() { + return JHTITLE; + } + + public void setJHTITLE(String JHTITLE) { + this.JHTITLE = JHTITLE; + } + + public String getFILEBAGTITLE() { + return FILEBAGTITLE; + } + + public void setFILEBAGTITLE(String FILEBAGTITLE) { + this.FILEBAGTITLE = FILEBAGTITLE; + } + + public String getFILEBAGID() { + return FILEBAGID; + } + + public void setFILEBAGID(String FILEBAGID) { + this.FILEBAGID = FILEBAGID; + } + + public String getZJDNAME() { + return ZJDNAME; + } + + public void setZJDNAME(String ZJDNAME) { + this.ZJDNAME = ZJDNAME; + } + + public String getPROUSERID() { + return PROUSERID; + } + + public void setPROUSERID(String PROUSERID) { + this.PROUSERID = PROUSERID; + } + + public String getPROUSERNAME() { + return PROUSERNAME; + } + + public void setPROUSERNAME(String PROUSERNAME) { + this.PROUSERNAME = PROUSERNAME; + } + + public String getZJDID() { + return ZJDID; + } + + public void setZJDID(String ZJDID) { + this.ZJDID = ZJDID; + } + + public String getWZJSBCOUNT() { + return WZJSBCOUNT; + } + + public void setWZJSBCOUNT(String WZJSBCOUNT) { + this.WZJSBCOUNT = WZJSBCOUNT; + } + + public String getWORKUSERID() { + return WORKUSERID; + } + + public void setWORKUSERID(String WORKUSERID) { + this.WORKUSERID = WORKUSERID; + } + + public String getCJUSERID() { + return CJUSERID; + } + + public void setCJUSERID(String CJUSERID) { + this.CJUSERID = CJUSERID; + } + + public String getJLUSERID() { + return JLUSERID; + } + + public void setJLUSERID(String JLUSERID) { + this.JLUSERID = JLUSERID; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/GridViewBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/GridViewBean.java new file mode 100755 index 0000000..a4ec1d2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/GridViewBean.java @@ -0,0 +1,46 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by Rehome-rjb1 on 2017/3/29. + */ + +public class GridViewBean { + + private String title; + private int imageid; + private int backgroup; + private boolean isShow; + + public int getImageid() { + return imageid; + } + + public void setImageid(int imageid) { + this.imageid = imageid; + } + + public int getBackgroup() { + return backgroup; + } + + public void setBackgroup(int backgroup) { + this.backgroup = backgroup; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + + public boolean isShow() { + return isShow; + } + + public void setShow(boolean show) { + isShow = show; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/GzbBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/GzbBean.java new file mode 100755 index 0000000..5758312 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/GzbBean.java @@ -0,0 +1,76 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/23. + */ + +public class GzbBean { + + + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * BHBH : WW000040 + * BHMS : 机务分部待指定维护项目 + */ + + private String BHBH; + private String BHMS; + private boolean isSelected = false; //是否选中的标识 + + + public String getBHBH() { + return BHBH; + } + + public void setBHBH(String BHBH) { + this.BHBH = BHBH; + } + + public String getBHMS() { + return BHMS; + } + + public void setBHMS(String BHMS) { + this.BHMS = BHMS; + } + + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Gzqk.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Gzqk.java new file mode 100755 index 0000000..0007393 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Gzqk.java @@ -0,0 +1,130 @@ +package com.rehome.bhdxj.bean; + + +import java.io.Serializable; + +/** + * Created by Rehome-rjb1 on 2017/4/11. + */ + +public class Gzqk implements Serializable { + + private String id; + private String ggtime_s; //工作开始时间 + private String ggplace; //工作地点 + private String ggcontent; //工作内容描述 + private String lrr; //录入人 + private String lrrname;//录入人名字 + private String addtime; //录入时间 + private String bm; //部门 + private String ggtime_e;//工作结束时间 + private String rwstate;//任务状态 + private String is_del; + private String tbtime; + private String cbs;//承包商 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getGgtime_s() { + return ggtime_s; + } + + public void setGgtime_s(String ggtime_s) { + this.ggtime_s = ggtime_s; + } + + public String getGgplace() { + return ggplace; + } + + public void setGgplace(String ggplace) { + this.ggplace = ggplace; + } + + public String getGgcontent() { + return ggcontent; + } + + public void setGgcontent(String ggcontent) { + this.ggcontent = ggcontent; + } + + public String getLrr() { + return lrr; + } + + public void setLrr(String lrr) { + this.lrr = lrr; + } + + public String getAddtime() { + return addtime; + } + + public void setAddtime(String addtime) { + this.addtime = addtime; + } + + public String getBm() { + return bm; + } + + public void setBm(String bm) { + this.bm = bm; + } + + public String getGgtime_e() { + return ggtime_e; + } + + public void setGgtime_e(String ggtime_e) { + this.ggtime_e = ggtime_e; + } + + public String getRwstate() { + return rwstate; + } + + public void setRwstate(String rwstate) { + this.rwstate = rwstate; + } + + public String getIs_del() { + return is_del; + } + + public void setIs_del(String is_del) { + this.is_del = is_del; + } + + public String getTbtime() { + return tbtime; + } + + public void setTbtime(String tbtime) { + this.tbtime = tbtime; + } + + public String getLrrname() { + return lrrname; + } + + public void setLrrname(String llrname) { + this.lrrname = llrname; + } + + public String getCbs() { + return cbs; + } + + public void setCbs(String cbs) { + this.cbs = cbs; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/GzqkInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/GzqkInfo.java new file mode 100755 index 0000000..d70ed56 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/GzqkInfo.java @@ -0,0 +1,36 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/4/12. + */ + +public class GzqkInfo { + + + /** + * Rows : [{"id":"201704110942207293","ggtime_s":"2017/4/5 18:00:00","ggtime_e":"","ggplace":"煤场D","ggcontent":"隐患排查发现问题310194","lrr":"张三杰","addtime":"2017/4/1 18:00:00","bm":"燃料部","rwstate":"0","is_del":"0","tbtime":""},{"id":"201704110942074272","ggtime_s":"2017/4/5 18:00:00","ggtime_e":"2017/4/11 10:07:20","ggplace":"煤场Dccccccc","ggcontent":"隐患排查发现问题310194","lrr":"张三杰","addtime":"2017/4/11 9:46:33","bm":"燃料部","rwstate":"0","is_del":"0","tbtime":"2017/4/11 13:46:03"}] + * Total : 2 + */ + + private String Total; + private List Rows; + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/JzBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/JzBean.java new file mode 100644 index 0000000..558bbab --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/JzBean.java @@ -0,0 +1,39 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +public class JzBean { + + private List result; + + public List getResult() { + return result; + } + + public void setResult(List result) { + this.result = result; + } + + public static class ResultBean { + + + private String description; + private String value; + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/MessageEvent.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/MessageEvent.java new file mode 100755 index 0000000..b778136 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/MessageEvent.java @@ -0,0 +1,33 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/4/18. + */ + +public class MessageEvent { + + private String message; + private String messageid; + + + public MessageEvent(String message, String messageid) { + this.message = message; + this.messageid = messageid; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getMessageid() { + return messageid; + } + + public void setMessageid(String messageid) { + this.messageid = messageid; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PMChangeRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PMChangeRequestBean.java new file mode 100755 index 0000000..f47d2d9 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PMChangeRequestBean.java @@ -0,0 +1,90 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/3/23. + */ + +public class PMChangeRequestBean { + + private String Action; + private String YHID; + private String GDID; + private String GDZT_NO; + private String GDZT_SO; + private String ZHBZ; + private String XGYY; + private String FSRQ; + private String WCBG; + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getGDID() { + return GDID; + } + + public void setGDID(String GDID) { + this.GDID = GDID; + } + + public String getGDZT_NO() { + return GDZT_NO; + } + + public void setGDZT_NO(String GDZT_NO) { + this.GDZT_NO = GDZT_NO; + } + + public String getGDZT_SO() { + return GDZT_SO; + } + + public void setGDZT_SO(String GDZT_SO) { + this.GDZT_SO = GDZT_SO; + } + + public String getZHBZ() { + return ZHBZ; + } + + public void setZHBZ(String ZHBZ) { + this.ZHBZ = ZHBZ; + } + + public String getXGYY() { + return XGYY; + } + + public void setXGYY(String XGYY) { + this.XGYY = XGYY; + } + + public String getFSRQ() { + return FSRQ; + } + + public void setFSRQ(String FSRQ) { + this.FSRQ = FSRQ; + } + + public String getWCBG() { + return WCBG; + } + + public void setWCBG(String WCBG) { + this.WCBG = WCBG; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PMRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PMRequestBean.java new file mode 100755 index 0000000..c27504e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PMRequestBean.java @@ -0,0 +1,109 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/3/23. + */ + +public class PMRequestBean { + + private String Action; + private String YHID; + private String GZZT; + private String ZRBM; + private String GZYXJ; + private String SBBH; + private String GZDH; + private String PM_ST; + private String PM_ET; + private String ZRR; + private String ID; + + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getGZZT() { + return GZZT; + } + + public void setGZZT(String GZZT) { + this.GZZT = GZZT; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getGZYXJ() { + return GZYXJ; + } + + public void setGZYXJ(String GZYXJ) { + this.GZYXJ = GZYXJ; + } + + public String getSBBH() { + return SBBH; + } + + public void setSBBH(String SBBH) { + this.SBBH = SBBH; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getGZDH() { + return GZDH; + } + + public void setGZDH(String GZDH) { + this.GZDH = GZDH; + } + + public String getZRR() { + return ZRR; + } + + public void setZRR(String ZRR) { + this.ZRR = ZRR; + } + + public String getPM_ST() { + return PM_ST; + } + + public void setPM_ST(String PM_ST) { + this.PM_ST = PM_ST; + } + + public String getPM_ET() { + return PM_ET; + } + + public void setPM_ET(String PM_ET) { + this.PM_ET = PM_ET; + } + + public String getID() { + return ID; + } + + public void setID(String ID) { + this.ID = ID; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PhoneInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PhoneInfo.java new file mode 100755 index 0000000..09c5b43 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PhoneInfo.java @@ -0,0 +1,99 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Administrator on 2016/9/13. + */ +public class PhoneInfo { + + /** + * Rows : [{"phonemodel":"MX5","sysversion":"wwwww","imeinum":"55484848","phonenum":"48524848","username":"454545","password":"sfasf"}] + * Total : 1 + */ + + private int Total; + /** + * phonemodel : MX5 + * sysversion : wwwww + * imeinum : 55484848 + * phonenum : 48524848 + * username : 454545 + * password : sfasf + */ + + private List Rows; + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class UserInfo { + private String phonemodel;//手机类型 + private String sysversion;//系统版本 + private String imeinum;//imei + private String phonenum;//手机号码 + private String username;//用户名 + private String password;//密码 + + public String getPhonemodel() { + return phonemodel; + } + + public void setPhonemodel(String phonemodel) { + this.phonemodel = phonemodel; + } + + public String getSysversion() { + return sysversion; + } + + public void setSysversion(String sysversion) { + this.sysversion = sysversion; + } + + public String getImeinum() { + return imeinum; + } + + public void setImeinum(String imeinum) { + this.imeinum = imeinum; + } + + public String getPhonenum() { + return phonenum; + } + + public void setPhonenum(String phonenum) { + this.phonenum = phonenum; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PminfoBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PminfoBean.java new file mode 100755 index 0000000..ea7a59a --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PminfoBean.java @@ -0,0 +1,333 @@ +package com.rehome.bhdxj.bean; + +import com.bin.david.form.annotation.SmartColumn; +import com.bin.david.form.annotation.SmartTable; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/20. + */ + + +public class PminfoBean { + + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @SmartTable(name = "PM工单查询") + public static class DataBean { + + @SmartColumn(id = 1, name = "工作单号") + private String GZDH; + + @SmartColumn(id = 2, name = "工作状态") + private String GZZT; + + @SmartColumn(id = 3, name = "责任部门") + private String ZRBM; + + @SmartColumn(id = 4, name = "工作先级") + private String GZYXJ; + + @SmartColumn(id = 5, name = "设备编号") + private String SBBH; + + @SmartColumn(id = 6, name = "设备名称") + private String SBMC; + + @SmartColumn(id = 7, name = "缺陷描述") + private String QXMS; + + @SmartColumn(id = 8, name = "工作描述") + private String GZMS; + + @SmartColumn(id = 9, name = "提交人") + private String TJR; + + @SmartColumn(id = 10, name = "提交人名") + private String TJR_NAME; + + @SmartColumn(id = 11, name = "提交日期") + private String TJRQ; + + @SmartColumn(id = 12, name = "提交时间") + private String TJSJ; + + @SmartColumn(id = 13, name = "报告人") + private String BGR; + + @SmartColumn(id = 14, name = "报告人名") + private String BGR_NAME; + + @SmartColumn(id = 15, name = "报告日期") + private String BGRQ; + + @SmartColumn(id = 16, name = "报告时间") + private String BGSJ; + + @SmartColumn(id = 17, name = "安排人") + private String APR; + + @SmartColumn(id = 18, name = "安排人名") + private String APR_NAME; + + @SmartColumn(id = 19, name = "安排日期") + private String APRQ; + + @SmartColumn(id = 20, name = "安排时间") + private String ARSJ; + + @SmartColumn(id = 21, name = "批准人") + private String PZR; + + @SmartColumn(id = 22, name = "批准人名") + private String PZR_NAME; + + @SmartColumn(id = 23, name = "批准日期") + private String PZRQ; + + @SmartColumn(id = 24, name = "批准时间") + private String PZSJ; + + @SmartColumn(id = 25, name = "项目负责人") + private String XMFZR; + + @SmartColumn(id = 26, name = "录入方式") + private String LRFS; + + public String getGZDH() { + return GZDH; + } + + public void setGZDH(String GZDH) { + this.GZDH = GZDH; + } + + public String getGZZT() { + return GZZT; + } + + public void setGZZT(String GZZT) { + this.GZZT = GZZT; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getGZYXJ() { + return GZYXJ; + } + + public void setGZYXJ(String GZYXJ) { + this.GZYXJ = GZYXJ; + } + + public String getSBBH() { + return SBBH; + } + + public void setSBBH(String SBBH) { + this.SBBH = SBBH; + } + + public String getSBMC() { + return SBMC; + } + + public void setSBMC(String SBMC) { + this.SBMC = SBMC; + } + + public String getQXMS() { + return QXMS; + } + + public void setQXMS(String QXMS) { + this.QXMS = QXMS; + } + + public String getGZMS() { + return GZMS; + } + + public void setGZMS(String GZMS) { + this.GZMS = GZMS; + } + + public String getTJR() { + return TJR; + } + + public void setTJR(String TJR) { + this.TJR = TJR; + } + + public String getTJR_NAME() { + return TJR_NAME; + } + + public void setTJR_NAME(String TJR_NAME) { + this.TJR_NAME = TJR_NAME; + } + + public String getTJRQ() { + return TJRQ; + } + + public void setTJRQ(String TJRQ) { + this.TJRQ = TJRQ; + } + + public String getTJSJ() { + return TJSJ; + } + + public void setTJSJ(String TJSJ) { + this.TJSJ = TJSJ; + } + + public String getBGR() { + return BGR; + } + + public void setBGR(String BGR) { + this.BGR = BGR; + } + + public String getBGR_NAME() { + return BGR_NAME; + } + + public void setBGR_NAME(String BGR_NAME) { + this.BGR_NAME = BGR_NAME; + } + + public String getBGRQ() { + return BGRQ; + } + + public void setBGRQ(String BGRQ) { + this.BGRQ = BGRQ; + } + + public String getBGSJ() { + return BGSJ; + } + + public void setBGSJ(String BGSJ) { + this.BGSJ = BGSJ; + } + + public String getAPR() { + return APR; + } + + public void setAPR(String APR) { + this.APR = APR; + } + + public String getAPR_NAME() { + return APR_NAME; + } + + public void setAPR_NAME(String APR_NAME) { + this.APR_NAME = APR_NAME; + } + + public String getAPRQ() { + return APRQ; + } + + public void setAPRQ(String APRQ) { + this.APRQ = APRQ; + } + + public String getARSJ() { + return ARSJ; + } + + public void setARSJ(String ARSJ) { + this.ARSJ = ARSJ; + } + + public String getPZR() { + return PZR; + } + + public void setPZR(String PZR) { + this.PZR = PZR; + } + + public String getPZR_NAME() { + return PZR_NAME; + } + + public void setPZR_NAME(String PZR_NAME) { + this.PZR_NAME = PZR_NAME; + } + + public String getPZRQ() { + return PZRQ; + } + + public void setPZRQ(String PZRQ) { + this.PZRQ = PZRQ; + } + + public String getPZSJ() { + return PZSJ; + } + + public void setPZSJ(String PZSJ) { + this.PZSJ = PZSJ; + } + + public String getXMFZR() { + return XMFZR; + } + + public void setXMFZR(String XMFZR) { + this.XMFZR = XMFZR; + } + + public String getLRFS() { + return LRFS; + } + + public void setLRFS(String LRFS) { + this.LRFS = LRFS; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PminfoBean2.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PminfoBean2.java new file mode 100755 index 0000000..23b9fa6 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PminfoBean2.java @@ -0,0 +1,336 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/20. + */ + + +public class PminfoBean2 { + + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * GZDH : WK181110.8007 + * GZZT : 已提出 + * ZRBM : 策划分部 + * GZYXJ : A(等机会或停机) + * SBBH : 1 + * SBMC : #1机组 + * QXMS : Test + * GZMS : Test1111 + * TJR : 300075 + * TJR_NAME : 罗玉环 + * TJRQ : 2018/11/10 0:00:00 + * TJSJ : 2018/11/10 9:18:50 + * BGR : 300075 + * BGR_NAME : 罗玉环 + * BGRQ : + * BGSJ : + * APR : + * APR_NAME : + * APRQ : + * ARSJ : + * PZR : + * PZR_NAME : + * PZRQ : + * PZSJ : + * XMFZR : 280865 + * XMFZR_Name : 黎立威 + * JXBZ : 策划分部 + * JXFZR : 黎立威 + * LRFS : + */ + + private String GZDH; + private String GZZT; + private String ZRBM; + private String GZYXJ; + private String SBBH; + private String SBMC; + private String QXMS; + private String GZMS; + private String TJR; + private String TJR_NAME; + private String TJRQ; + private String TJSJ; + private String BGR; + private String BGR_NAME; + private String BGRQ; + private String BGSJ; + private String APR; + private String APR_NAME; + private String APRQ; + private String ARSJ; + private String PZR; + private String PZR_NAME; + private String PZRQ; + private String PZSJ; + private String XMFZR; + private String XMFZR_Name; + private String JXBZ; + private String JXFZR; + private String LRFS; + + public String getGZDH() { + return GZDH; + } + + public void setGZDH(String GZDH) { + this.GZDH = GZDH; + } + + public String getGZZT() { + return GZZT; + } + + public void setGZZT(String GZZT) { + this.GZZT = GZZT; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getGZYXJ() { + return GZYXJ; + } + + public void setGZYXJ(String GZYXJ) { + this.GZYXJ = GZYXJ; + } + + public String getSBBH() { + return SBBH; + } + + public void setSBBH(String SBBH) { + this.SBBH = SBBH; + } + + public String getSBMC() { + return SBMC; + } + + public void setSBMC(String SBMC) { + this.SBMC = SBMC; + } + + public String getQXMS() { + return QXMS; + } + + public void setQXMS(String QXMS) { + this.QXMS = QXMS; + } + + public String getGZMS() { + return GZMS; + } + + public void setGZMS(String GZMS) { + this.GZMS = GZMS; + } + + public String getTJR() { + return TJR; + } + + public void setTJR(String TJR) { + this.TJR = TJR; + } + + public String getTJR_NAME() { + return TJR_NAME; + } + + public void setTJR_NAME(String TJR_NAME) { + this.TJR_NAME = TJR_NAME; + } + + public String getTJRQ() { + return TJRQ; + } + + public void setTJRQ(String TJRQ) { + this.TJRQ = TJRQ; + } + + public String getTJSJ() { + return TJSJ; + } + + public void setTJSJ(String TJSJ) { + this.TJSJ = TJSJ; + } + + public String getBGR() { + return BGR; + } + + public void setBGR(String BGR) { + this.BGR = BGR; + } + + public String getBGR_NAME() { + return BGR_NAME; + } + + public void setBGR_NAME(String BGR_NAME) { + this.BGR_NAME = BGR_NAME; + } + + public String getBGRQ() { + return BGRQ; + } + + public void setBGRQ(String BGRQ) { + this.BGRQ = BGRQ; + } + + public String getBGSJ() { + return BGSJ; + } + + public void setBGSJ(String BGSJ) { + this.BGSJ = BGSJ; + } + + public String getAPR() { + return APR; + } + + public void setAPR(String APR) { + this.APR = APR; + } + + public String getAPR_NAME() { + return APR_NAME; + } + + public void setAPR_NAME(String APR_NAME) { + this.APR_NAME = APR_NAME; + } + + public String getAPRQ() { + return APRQ; + } + + public void setAPRQ(String APRQ) { + this.APRQ = APRQ; + } + + public String getARSJ() { + return ARSJ; + } + + public void setARSJ(String ARSJ) { + this.ARSJ = ARSJ; + } + + public String getPZR() { + return PZR; + } + + public void setPZR(String PZR) { + this.PZR = PZR; + } + + public String getPZR_NAME() { + return PZR_NAME; + } + + public void setPZR_NAME(String PZR_NAME) { + this.PZR_NAME = PZR_NAME; + } + + public String getPZRQ() { + return PZRQ; + } + + public void setPZRQ(String PZRQ) { + this.PZRQ = PZRQ; + } + + public String getPZSJ() { + return PZSJ; + } + + public void setPZSJ(String PZSJ) { + this.PZSJ = PZSJ; + } + + public String getXMFZR() { + return XMFZR; + } + + public void setXMFZR(String XMFZR) { + this.XMFZR = XMFZR; + } + + public String getXMFZR_Name() { + return XMFZR_Name; + } + + public void setXMFZR_Name(String XMFZR_Name) { + this.XMFZR_Name = XMFZR_Name; + } + + public String getJXBZ() { + return JXBZ; + } + + public void setJXBZ(String JXBZ) { + this.JXBZ = JXBZ; + } + + public String getJXFZR() { + return JXFZR; + } + + public void setJXFZR(String JXFZR) { + this.JXFZR = JXFZR; + } + + public String getLRFS() { + return LRFS; + } + + public void setLRFS(String LRFS) { + this.LRFS = LRFS; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PminfoNewBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PminfoNewBean.java new file mode 100755 index 0000000..b31a6d1 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PminfoNewBean.java @@ -0,0 +1,157 @@ +package com.rehome.bhdxj.bean; + +import com.bin.david.form.annotation.SmartColumn; +import com.bin.david.form.annotation.SmartTable; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/20. + */ + + +public class PminfoNewBean { + + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @SmartTable(name = "PM工单查询") + public static class DataBean { + + @SmartColumn(id = 1, name = "PM单号") + private String ta_pm_no_p; + + @SmartColumn(id = 2, name = "设备描述") + private String eq_ma_de; + +// @SmartColumn(id = 3, name = "工作规范代码") + private String ta_pm_sn; + +// @SmartColumn(id = 4, name = "工作规范类型") + private String ta_ws_ca; + + @SmartColumn(id = 3, name = "工作规范描述") + private String ta_ws_de; + + @SmartColumn(id = 4, name = "数据日期") + private String ta_pm_ld; + + @SmartColumn(id = 5, name = "下次到期") + private String ta_pm_nextdue; + + @SmartColumn(id = 6, name = "PM状态") + private String ta_pm_fl; + + @SmartColumn(id = 7, name = "责任单位") + private String re_tm_de; + + @SmartColumn(id = 8, name = "类型") + private String ta_md_de; + + public String getTa_pm_no_p() { + return ta_pm_no_p; + } + + public void setTa_pm_no_p(String ta_pm_no_p) { + this.ta_pm_no_p = ta_pm_no_p; + } + + public String getEq_ma_de() { + return eq_ma_de; + } + + public void setEq_ma_de(String eq_ma_de) { + this.eq_ma_de = eq_ma_de; + } + + public String getTa_pm_sn() { + return ta_pm_sn; + } + + public void setTa_pm_sn(String ta_pm_sn) { + this.ta_pm_sn = ta_pm_sn; + } + + public String getTa_ws_ca() { + return ta_ws_ca; + } + + public void setTa_ws_ca(String ta_ws_ca) { + this.ta_ws_ca = ta_ws_ca; + } + + public String getTa_ws_de() { + return ta_ws_de; + } + + public void setTa_ws_de(String ta_ws_de) { + this.ta_ws_de = ta_ws_de; + } + + public String getTa_pm_ld() { + return ta_pm_ld; + } + + public void setTa_pm_ld(String ta_pm_ld) { + this.ta_pm_ld = ta_pm_ld; + } + + public String getTa_pm_nextdue() { + return ta_pm_nextdue; + } + + public void setTa_pm_nextdue(String ta_pm_nextdue) { + this.ta_pm_nextdue = ta_pm_nextdue; + } + + public String getTa_pm_fl() { + return ta_pm_fl; + } + + public void setTa_pm_fl(String ta_pm_fl) { + this.ta_pm_fl = ta_pm_fl; + } + + public String getRe_tm_de() { + return re_tm_de; + } + + public void setRe_tm_de(String re_tm_de) { + this.re_tm_de = re_tm_de; + } + + public String getTa_md_de() { + return ta_md_de; + } + + public void setTa_md_de(String ta_md_de) { + this.ta_md_de = ta_md_de; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PushInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PushInfo.java new file mode 100755 index 0000000..22205d5 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/PushInfo.java @@ -0,0 +1,70 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/15. + */ + +public class PushInfo { + + /** + * Rows : [{"dbtitle":"消防巡查","dbname":"消防巡查计划10月15号开始","dbid":"20161014163244"}] + * Total : 1 + */ + + private int Total; + /** + * dbtitle : 消防巡查 + * dbname : 消防巡查计划10月15号开始 + * dbid : 20161014163244 + */ + + private List Rows; + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class Push { + private String dbtitle; + private String dbname; + private String dbid; + + public String getDbtitle() { + return dbtitle; + } + + public void setDbtitle(String dbtitle) { + this.dbtitle = dbtitle; + } + + public String getDbname() { + return dbname; + } + + public void setDbname(String dbname) { + this.dbname = dbname; + } + + public String getDbid() { + return dbid; + } + + public void setDbid(String dbid) { + this.dbid = dbid; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QXGDResultBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QXGDResultBean.java new file mode 100644 index 0000000..7467971 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QXGDResultBean.java @@ -0,0 +1,28 @@ +package com.rehome.bhdxj.bean; + +public class QXGDResultBean { + + /** + * message : 1 + * status : 1 + */ + + private String message; + private String status; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QXRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QXRequestBean.java new file mode 100755 index 0000000..32bb6e8 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QXRequestBean.java @@ -0,0 +1,145 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/3/23. + */ + +public class QXRequestBean { + + + private String Action; + private String YHID; + private String GZDH; + private String ZRBM; + private String SBBH; + private String GZZT; + private String GZYXJ; + private String PL_WK_DO; + private String PL_WK_TE; + private String RWZT; + private String ST; + private String ET; + private String RWID; + private String BMID; + private String ZRR; + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getGZDH() { + return GZDH; + } + + public void setGZDH(String GZDH) { + this.GZDH = GZDH; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getSBBH() { + return SBBH; + } + + public void setSBBH(String SBBH) { + this.SBBH = SBBH; + } + + public String getGZZT() { + return GZZT; + } + + public void setGZZT(String GZZT) { + this.GZZT = GZZT; + } + + public String getGZYXJ() { + return GZYXJ; + } + + public void setGZYXJ(String GZYXJ) { + this.GZYXJ = GZYXJ; + } + + public String getPL_WK_DO() { + return PL_WK_DO; + } + + public void setPL_WK_DO(String PL_WK_DO) { + this.PL_WK_DO = PL_WK_DO; + } + + public String getPL_WK_TE() { + return PL_WK_TE; + } + + public void setPL_WK_TE(String PL_WK_TE) { + this.PL_WK_TE = PL_WK_TE; + } + + public String getRWZT() { + return RWZT; + } + + public void setRWZT(String RWZT) { + this.RWZT = RWZT; + } + + public String getST() { + return ST; + } + + public void setST(String ST) { + this.ST = ST; + } + + public String getET() { + return ET; + } + + public void setET(String ET) { + this.ET = ET; + } + + public String getRWID() { + return RWID; + } + + public void setRWID(String RWID) { + this.RWID = RWID; + } + + public String getBMID() { + return BMID; + } + + public void setBMID(String BMID) { + this.BMID = BMID; + } + + public String getZRR() { + return ZRR; + } + + public void setZRR(String ZRR) { + this.ZRR = ZRR; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfFzrBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfFzrBean.java new file mode 100755 index 0000000..f7d0258 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfFzrBean.java @@ -0,0 +1,88 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/19. + */ + +public class QfFzrBean { + + private int state; + private String msg1; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg1() { + return msg1; + } + + public void setMsg1(String msg1) { + this.msg1 = msg1; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + + private String YHID; + private String YHMC; + private String BMID; + private String BMMC; + private boolean isSelected; //是否选中的标识 + + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getYHMC() { + return YHMC; + } + + public void setYHMC(String YHMC) { + this.YHMC = YHMC; + } + + public String getBMID() { + return BMID; + } + + public void setBMID(String BMID) { + this.BMID = BMID; + } + + public String getBMMC() { + return BMMC; + } + + public void setBMMC(String BMMC) { + this.BMMC = BMMC; + } + + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfbmlistBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfbmlistBean.java new file mode 100755 index 0000000..af682ba --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfbmlistBean.java @@ -0,0 +1,85 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/18. + */ + +public class QfbmlistBean { + + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * BMID : 1-LS + * BMMC : 安徽合源电力工程有限公司 + * SJBM : 10 + */ + + private String BMID; + private String BMMC; + private String SJBM; + private boolean isSelected; //是否选中的标识 + + + public String getBMID() { + return BMID; + } + + public void setBMID(String BMID) { + this.BMID = BMID; + } + + public String getBMMC() { + return BMMC; + } + + public void setBMMC(String BMMC) { + this.BMMC = BMMC; + } + + public String getSJBM() { + return SJBM; + } + + public void setSJBM(String SJBM) { + this.SJBM = SJBM; + } + + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfdjBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfdjBean.java new file mode 100755 index 0000000..9f87c88 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfdjBean.java @@ -0,0 +1,75 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/19. + */ + +public class QfdjBean { + + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * DJID : 5 + * DJMC : A(等机会或停机) + */ + + private String DJID; + private String DJMC; + private boolean isSelected; //是否选中的标识 + + + public String getDJID() { + return DJID; + } + + public void setDJID(String DJID) { + this.DJID = DJID; + } + + public String getDJMC() { + return DJMC; + } + + public void setDJMC(String DJMC) { + this.DJMC = DJMC; + } + + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfgdztlistBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfgdztlistBean.java new file mode 100755 index 0000000..024bd50 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfgdztlistBean.java @@ -0,0 +1,79 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/18. + */ + +public class QfgdztlistBean { + + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + + private String GDZT_NO; + private String GDZT_SO; + private String GDZTMC; + private boolean isSelected; //是否选中的标识 + + public String getGDZT_NO() { + return GDZT_NO; + } + + public void setGDZT_NO(String GDZT_NO) { + this.GDZT_NO = GDZT_NO; + } + + public String getGDZT_SO() { + return GDZT_SO; + } + + public void setGDZT_SO(String GDZT_SO) { + this.GDZT_SO = GDZT_SO; + } + + public String getGDZTMC() { + return GDZTMC; + } + + public void setGDZTMC(String GDZTMC) { + this.GDZTMC = GDZTMC; + } + + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Qfkccxbean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Qfkccxbean.java new file mode 100755 index 0000000..f32949f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Qfkccxbean.java @@ -0,0 +1,195 @@ +package com.rehome.bhdxj.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +import com.bin.david.form.annotation.SmartColumn; +import com.bin.david.form.annotation.SmartTable; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/3/23. + */ + +public class Qfkccxbean implements Parcelable { + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @SmartTable(name = "备品备件查询") + public static class DataBean implements Parcelable { + + @SmartColumn(id = 1, name = "物资编码") + private String WZBM; + @SmartColumn(id = 2, name = "仓库号") + private String CKH; + @SmartColumn(id = 3, name = "物资名称") + private String WZMC; + @SmartColumn(id = 4, name = "数量") + private String SL; + @SmartColumn(id = 5, name = "单位") + private String DW; + @SmartColumn(id = 6, name = "单价") + private String DJ; + @SmartColumn(id = 7, name = "仓储") + private String CC; + + public String getWZBM() { + return WZBM; + } + + public void setWZBM(String WZBM) { + this.WZBM = WZBM; + } + + public String getCKH() { + return CKH; + } + + public void setCKH(String CKH) { + this.CKH = CKH; + } + + public String getWZMC() { + return WZMC; + } + + public void setWZMC(String WZMC) { + this.WZMC = WZMC; + } + + public String getSL() { + return SL; + } + + public void setSL(String SL) { + this.SL = SL; + } + + public String getDW() { + return DW; + } + + public void setDW(String DW) { + this.DW = DW; + } + + public String getDJ() { + return DJ; + } + + public void setDJ(String DJ) { + this.DJ = DJ; + } + + public String getCC() { + return CC; + } + + public void setCC(String CC) { + this.CC = CC; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.WZBM); + dest.writeString(this.CKH); + dest.writeString(this.WZMC); + dest.writeString(this.SL); + dest.writeString(this.DW); + dest.writeString(this.DJ); + dest.writeString(this.CC); + } + + public DataBean() { + } + + protected DataBean(Parcel in) { + this.WZBM = in.readString(); + this.CKH = in.readString(); + this.WZMC = in.readString(); + this.SL = in.readString(); + this.DW = in.readString(); + this.DJ = in.readString(); + this.CC = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DataBean createFromParcel(Parcel source) { + return new DataBean(source); + } + + @Override + public DataBean[] newArray(int size) { + return new DataBean[size]; + } + }; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.state); + dest.writeString(this.msg); + dest.writeList(this.data); + } + + public Qfkccxbean() { + } + + protected Qfkccxbean(Parcel in) { + this.state = in.readInt(); + this.msg = in.readString(); + this.data = new ArrayList(); + in.readList(this.data, DataBean.class.getClassLoader()); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public Qfkccxbean createFromParcel(Parcel source) { + return new Qfkccxbean(source); + } + + @Override + public Qfkccxbean[] newArray(int size) { + return new Qfkccxbean[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfsblistBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfsblistBean.java new file mode 100755 index 0000000..d1f448f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfsblistBean.java @@ -0,0 +1,90 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/17. + */ + +public class QfsblistBean { + + + /** + * state : 1 + * msg : + * data : [{"FSBID":"","SBID":"0","SBMC":"全厂公用系统"},{"FSBID":"","SBID":"1","SBMC":"#1机组"},{"FSBID":"","SBID":"2","SBMC":"#2机组"},{"FSBID":"","SBID":"3","SBMC":"#3机组"},{"FSBID":"","SBID":"F","SBMC":"#1~3机组公用系统"},{"FSBID":"","SBID":"M","SBMC":"#1~6机组公用系统"},{"FSBID":"","SBID":"P","SBMC":"供热公用系统"},{"FSBID":"","SBID":"U","SBMC":"供热#1炉"},{"FSBID":"","SBID":"V","SBMC":"供热#2炉"},{"FSBID":"","SBID":"W","SBMC":"倒班宿舍及其附属设备"}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * FSBID : + * SBID : 0 + * SBMC : 全厂公用系统 + */ + + private String FSBID; + private String SBID; + private String SBMC; + private boolean isSelected; //是否选中的标识 + + public String getFSBID() { + return FSBID; + } + + public void setFSBID(String FSBID) { + this.FSBID = FSBID; + } + + public String getSBID() { + return SBID; + } + + public void setSBID(String SBID) { + this.SBID = SBID; + } + + public String getSBMC() { + return SBMC; + } + + public void setSBMC(String SBMC) { + this.SBMC = SBMC; + } + + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfsblistRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfsblistRequestBean.java new file mode 100755 index 0000000..0635eb7 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QfsblistRequestBean.java @@ -0,0 +1,81 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/4/17. + */ + +public class QfsblistRequestBean { + + private String Action; + private String YHID; + private String SJBM; + private String FSBID; + private String BMID; + private String BMBSF; + private String GDID; + private String GZZ; + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getSJBM() { + return SJBM; + } + + public void setSJBM(String SJBM) { + this.SJBM = SJBM; + } + + public String getFSBID() { + return FSBID; + } + + public void setFSBID(String FSBID) { + this.FSBID = FSBID; + } + + public String getBMID() { + return BMID; + } + + public void setBMID(String BMID) { + this.BMID = BMID; + } + + public String getBMBSF() { + return BMBSF; + } + + public void setBMBSF(String BMBSF) { + this.BMBSF = BMBSF; + } + + public String getGDID() { + return GDID; + } + + public void setGDID(String GDID) { + this.GDID = GDID; + } + + public String getGZZ() { + return GZZ; + } + + public void setGZZ(String GZZ) { + this.GZZ = GZZ; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QxTjgdRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QxTjgdRequestBean.java new file mode 100755 index 0000000..a66a137 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QxTjgdRequestBean.java @@ -0,0 +1,153 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/4/20. + */ + +public class QxTjgdRequestBean { + + private String Action; + private String YHID; + private String GDZT_SO; + private String GDZT_NO; + private String GDDJ; + private String QXMS; + private String GZMS; + private String SBBH; + private String SBMC; + private String ZRBZ; + private String ZRR; + private String JXBZ; + private String JXR; + private String GZXZ; + private String ST; + private String ET; + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getGDZT_SO() { + return GDZT_SO; + } + + public void setGDZT_SO(String GDZT_SO) { + this.GDZT_SO = GDZT_SO; + } + + public String getGDZT_NO() { + return GDZT_NO; + } + + public void setGDZT_NO(String GDZT_NO) { + this.GDZT_NO = GDZT_NO; + } + + public String getGDDJ() { + return GDDJ; + } + + public void setGDDJ(String GDDJ) { + this.GDDJ = GDDJ; + } + + public String getQXMS() { + return QXMS; + } + + public void setQXMS(String QXMS) { + this.QXMS = QXMS; + } + + public String getGZMS() { + return GZMS; + } + + public void setGZMS(String GZMS) { + this.GZMS = GZMS; + } + + public String getSBBH() { + return SBBH; + } + + public void setSBBH(String SBBH) { + this.SBBH = SBBH; + } + + public String getSBMC() { + return SBMC; + } + + public void setSBMC(String SBMC) { + this.SBMC = SBMC; + } + + public String getZRBZ() { + return ZRBZ; + } + + public void setZRBZ(String ZRBZ) { + this.ZRBZ = ZRBZ; + } + + public String getZRR() { + return ZRR; + } + + public void setZRR(String ZRR) { + this.ZRR = ZRR; + } + + public String getJXBZ() { + return JXBZ; + } + + public void setJXBZ(String JXBZ) { + this.JXBZ = JXBZ; + } + + public String getJXR() { + return JXR; + } + + public void setJXR(String JXR) { + this.JXR = JXR; + } + + public String getGZXZ() { + return GZXZ; + } + + public void setGZXZ(String GZXZ) { + this.GZXZ = GZXZ; + } + + public String getST() { + return ST; + } + + public void setST(String ST) { + this.ST = ST; + } + + public String getET() { + return ET; + } + + public void setET(String ET) { + this.ET = ET; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QxdBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QxdBean.java new file mode 100755 index 0000000..ce7c54c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/QxdBean.java @@ -0,0 +1,141 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/5/11. + */ + +public class QxdBean { + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + + private String pl_wk_wn_p; + private String wo_st_de; + private String re_tm_de; + private String pl_wk_do; + private String pl_wk_wg; + private String priorityclass; + private String pl_wk_sb; + private String pl_wk_eq_ma_no_p; + private String eq_ma_de; + private String pl_wk_fd; + private String pl_wk_de; + + public String getPl_wk_wn_p() { + return pl_wk_wn_p; + } + + public void setPl_wk_wn_p(String pl_wk_wn_p) { + this.pl_wk_wn_p = pl_wk_wn_p; + } + + public String getWo_st_de() { + return wo_st_de; + } + + public void setWo_st_de(String wo_st_de) { + this.wo_st_de = wo_st_de; + } + + public String getRe_tm_de() { + return re_tm_de; + } + + public void setRe_tm_de(String re_tm_de) { + this.re_tm_de = re_tm_de; + } + + public String getPl_wk_do() { + return pl_wk_do; + } + + public void setPl_wk_do(String pl_wk_do) { + this.pl_wk_do = pl_wk_do; + } + + public String getPl_wk_wg() { + return pl_wk_wg; + } + + public void setPl_wk_wg(String pl_wk_wg) { + this.pl_wk_wg = pl_wk_wg; + } + + public String getPriorityclass() { + return priorityclass; + } + + public void setPriorityclass(String priorityclass) { + this.priorityclass = priorityclass; + } + + public String getPl_wk_sb() { + return pl_wk_sb; + } + + public void setPl_wk_sb(String pl_wk_sb) { + this.pl_wk_sb = pl_wk_sb; + } + + public String getPl_wk_eq_ma_no_p() { + return pl_wk_eq_ma_no_p; + } + + public void setPl_wk_eq_ma_no_p(String pl_wk_eq_ma_no_p) { + this.pl_wk_eq_ma_no_p = pl_wk_eq_ma_no_p; + } + + public String getEq_ma_de() { + return eq_ma_de; + } + + public void setEq_ma_de(String eq_ma_de) { + this.eq_ma_de = eq_ma_de; + } + + public String getPl_wk_fd() { + return pl_wk_fd; + } + + public void setPl_wk_fd(String pl_wk_fd) { + this.pl_wk_fd = pl_wk_fd; + } + + public String getPl_wk_de() { + return pl_wk_de; + } + + public void setPl_wk_de(String pl_wk_de) { + this.pl_wk_de = pl_wk_de; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ResultBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ResultBean.java new file mode 100755 index 0000000..e468a80 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ResultBean.java @@ -0,0 +1,38 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/20. + */ + +public class ResultBean { + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ResultBean2.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ResultBean2.java new file mode 100755 index 0000000..588ec7b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ResultBean2.java @@ -0,0 +1,55 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/20. + */ + +public class ResultBean2 { + + + /** + * state : 1 + * gdid : WK180602.8003 + * msg : 添加成功 + * data : [] + */ + + private int state; + private String gdid; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getGdid() { + return gdid; + } + + public void setGdid(String gdid) { + this.gdid = gdid; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ResultBean3.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ResultBean3.java new file mode 100755 index 0000000..1a65491 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ResultBean3.java @@ -0,0 +1,46 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/4/20. + */ + +public class ResultBean3 { + + /** + * state : 1 + * msg : + * data : [] + */ + + private String state; + private String msg; + private List data; + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/RlinfoBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/RlinfoBean.java new file mode 100644 index 0000000..f80ac5e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/RlinfoBean.java @@ -0,0 +1,207 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +public class RlinfoBean { + + + /** + * state : 1 + * msg : 查询成功 + * data : [{"JHID":"XJGLJH00000000127","JHMC":"【电气】【二值】每班一次","JHZT":"1","JHZQ":"24","NEXTTIME":"2020/12/5 9:49:46","ST":"2020/12/4 9:49:46","ET":"2020/12/4 17:49:46","ZC":"12315100101","ZCMC":"甲值","TJR":"管理员","TJSJ":"2020/3/18 9:56:10","XGR":"管理员","XGSJ":"2020/12/4 9:49:46","XXZD":"10","ZYMC":"XJ_RL","ZXSC":"8"},{"JHID":"XJGLJH00000000131","JHMC":"【环化】【二值】每班两次_第2轮","JHZT":"1","JHZQ":"24","NEXTTIME":"2020/12/5 4:00:00","ST":"2020/12/4 4:00:00","ET":"2020/12/4 8:00:00","ZC":"12315100101","ZCMC":"甲值","TJR":"管理员","TJSJ":"2020/3/18 9:57:28","XGR":"管理员","XGSJ":"2020/11/28 14:03:56","XXZD":"10","ZYMC":"XJ_RL","ZXSC":"4"},{"JHID":"XJGLJH00000000238","JHMC":"斗轮机司机","JHZT":"1","JHZQ":"4","NEXTTIME":"2020/12/4 20:00:00","ST":"2020/12/4 16:00:00","ET":"2020/12/4 20:00:00","ZC":"12315100101","ZCMC":"甲值","TJR":"管理员","TJSJ":"2020/3/16 15:59:32","XGR":"管理员","XGSJ":"2020/11/28 11:54:44","XXZD":"10","ZYMC":"XJ_RL","ZXSC":"4"},{"JHID":"XJGLJH00000000234","JHMC":"环场线","JHZT":"1","JHZQ":"4","NEXTTIME":"2020/12/4 16:00:00","ST":"2020/12/4 12:00:00","ET":"2020/12/4 16:00:00","ZC":"12315100101","ZCMC":"甲值","TJR":"管理员","TJSJ":"2020/3/16 15:59:32","XGR":"","XGSJ":"","XXZD":"10","ZYMC":"XJ_RL","ZXSC":"4"},{"JHID":"XJGLJH00000000236","JHMC":"码头班","JHZT":"1","JHZQ":"4","NEXTTIME":"2020/12/4 16:00:00","ST":"2020/12/4 12:00:00","ET":"2020/12/4 16:00:00","ZC":"12315100101","ZCMC":"甲值","TJR":"管理员","TJSJ":"2020/3/16 15:59:32","XGR":"管理员","XGSJ":"2020/11/28 11:45:24","XXZD":"10","ZYMC":"XJ_RL","ZXSC":"4"},{"JHID":"XJGLJH00000000237","JHMC":"燃运综合","JHZT":"1","JHZQ":"24","NEXTTIME":"2020/12/4 12:00:00","ST":"2020/12/3 12:00:00","ET":"2020/12/3 19:00:00","ZC":"12315100101","ZCMC":"甲值","TJR":"管理员","TJSJ":"2020/3/16 15:59:32","XGR":"","XGSJ":"","XXZD":"10","ZYMC":"XJ_RL","ZXSC":"7"},{"JHID":"XJGLJH00000000233","JHMC":"上煤线","JHZT":"1","JHZQ":"24","NEXTTIME":"2020/12/4 12:00:00","ST":"2020/12/3 12:00:00","ET":"2020/12/3 19:00:00","ZC":"12315100101","ZCMC":"甲值","TJR":"管理员","TJSJ":"2020/3/16 15:59:32","XGR":"","XGSJ":"","XXZD":"10","ZYMC":"XJ_RL","ZXSC":"7"},{"JHID":"XJGLJH00000000235","JHMC":"卸煤线","JHZT":"1","JHZQ":"24","NEXTTIME":"2020/12/4 12:00:00","ST":"2020/12/3 12:00:00","ET":"2020/12/3 19:00:00","ZC":"12315100101","ZCMC":"甲值","TJR":"管理员","TJSJ":"2020/3/16 15:59:32","XGR":"管理员","XGSJ":"2020/11/28 11:16:21","XXZD":"10","ZYMC":"XJ_RL","ZXSC":"7"}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * JHID : XJGLJH00000000127 + * JHMC : 【电气】【二值】每班一次 + * JHZT : 1 + * JHZQ : 24 + * NEXTTIME : 2020/12/5 9:49:46 + * ST : 2020/12/4 9:49:46 + * ET : 2020/12/4 17:49:46 + * ZC : 12315100101 + * ZCMC : 甲值 + * TJR : 管理员 + * TJSJ : 2020/3/18 9:56:10 + * XGR : 管理员 + * XGSJ : 2020/12/4 9:49:46 + * XXZD : 10 + * ZYMC : XJ_RL + * ZXSC : 8 + */ + + private String JHID; + private String JHMC; + private String JHZT; + private String JHZQ; + private String NEXTTIME; + private String ST; + private String ET; + private String ZC; + private String ZCMC; + private String TJR; + private String TJSJ; + private String XGR; + private String XGSJ; + private String XXZD; + private String ZYMC; + private String ZXSC; + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getJHMC() { + return JHMC; + } + + public void setJHMC(String JHMC) { + this.JHMC = JHMC; + } + + public String getJHZT() { + return JHZT; + } + + public void setJHZT(String JHZT) { + this.JHZT = JHZT; + } + + public String getJHZQ() { + return JHZQ; + } + + public void setJHZQ(String JHZQ) { + this.JHZQ = JHZQ; + } + + public String getNEXTTIME() { + return NEXTTIME; + } + + public void setNEXTTIME(String NEXTTIME) { + this.NEXTTIME = NEXTTIME; + } + + public String getST() { + return ST; + } + + public void setST(String ST) { + this.ST = ST; + } + + public String getET() { + return ET; + } + + public void setET(String ET) { + this.ET = ET; + } + + public String getZC() { + return ZC; + } + + public void setZC(String ZC) { + this.ZC = ZC; + } + + public String getZCMC() { + return ZCMC; + } + + public void setZCMC(String ZCMC) { + this.ZCMC = ZCMC; + } + + public String getTJR() { + return TJR; + } + + public void setTJR(String TJR) { + this.TJR = TJR; + } + + public String getTJSJ() { + return TJSJ; + } + + public void setTJSJ(String TJSJ) { + this.TJSJ = TJSJ; + } + + public String getXGR() { + return XGR; + } + + public void setXGR(String XGR) { + this.XGR = XGR; + } + + public String getXGSJ() { + return XGSJ; + } + + public void setXGSJ(String XGSJ) { + this.XGSJ = XGSJ; + } + + public String getXXZD() { + return XXZD; + } + + public void setXXZD(String XXZD) { + this.XXZD = XXZD; + } + + public String getZYMC() { + return ZYMC; + } + + public void setZYMC(String ZYMC) { + this.ZYMC = ZYMC; + } + + public String getZXSC() { + return ZXSC; + } + + public void setZXSC(String ZXSC) { + this.ZXSC = ZXSC; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/RlresultBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/RlresultBean.java new file mode 100644 index 0000000..c6abfe1 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/RlresultBean.java @@ -0,0 +1,40 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +public class RlresultBean { + + /** + * state : 1 + * msg : 巡检计划修改成功 + * data : [] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ScDjjhInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ScDjjhInfo.java new file mode 100755 index 0000000..b803247 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ScDjjhInfo.java @@ -0,0 +1,118 @@ +package com.rehome.bhdxj.bean; + +/** + * 上传点击计划信息 + */ + +public class ScDjjhInfo { + + private String jhid; + private String pointnum; + private String Cjjg; + private String date; + private String bzmc; + private String djr; + private boolean checked; + private String fxnr; + private String smfx; + private String ASSETNUM; + private String SBZT; + private String SCID; + + public String getASSETNUM() { + return ASSETNUM; + } + + public void setASSETNUM(String ASSETNUM) { + this.ASSETNUM = ASSETNUM; + } + + public String getSBZT() { + return SBZT; + } + + public void setSBZT(String SBZT) { + this.SBZT = SBZT; + } + + public String getSmfx() { + return smfx; + } + + public void setSmfx(String smfx) { + this.smfx = smfx; + } + + public String getFxnr() { + return fxnr; + } + + public void setFxnr(String fxnr) { + this.fxnr = fxnr; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public String getDjr() { + return djr; + } + + public void setDjr(String djr) { + this.djr = djr; + } + + public String getBzmc() { + return bzmc; + } + + public void setBzmc(String bzmc) { + this.bzmc = bzmc; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getPointnum() { + return pointnum; + } + + public void setPointnum(String pointnum) { + this.pointnum = pointnum; + } + + public String getCjjg() { + return Cjjg; + } + + public void setCjjg(String cjjg) { + Cjjg = cjjg; + } + + public String getSCID() { + return SCID; + } + + public void setSCID(String SCID) { + this.SCID = SCID; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ScdjjhBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ScdjjhBean.java new file mode 100755 index 0000000..0264fe9 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ScdjjhBean.java @@ -0,0 +1,147 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/3/19. + */ + +public class ScdjjhBean {//用于上传点检计划的bean + + private String Action; + private String GWID; + private String YHID; + private String GWMC; + private List DJ_DATA; + + public List getDJ_DATA() { + return DJ_DATA; + } + + public void setDJ_DATA(List DJ_DATA) { + this.DJ_DATA = DJ_DATA; + } + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getGWID() { + return GWID; + } + + public void setGWID(String GWID) { + this.GWID = GWID; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getGWMC() { + return GWMC; + } + + public void setGWMC(String GWMC) { + this.GWMC = GWMC; + } + + public static class DJ_DATA { + private String QYBH; + private String QYDJ_ST; + private List QYDJ_DATA; + + public List getQYDJ_DATA() { + return QYDJ_DATA; + } + + public void setQYDJ_DATA(List QYDJ_DATA) { + this.QYDJ_DATA = QYDJ_DATA; + } + + public String getQYBH() { + return QYBH; + } + + public void setQYBH(String QYBH) { + this.QYBH = QYBH; + } + + public String getQYDJ_ST() { + return QYDJ_ST; + } + + public void setQYDJ_ST(String QYDJ_ST) { + this.QYDJ_ST = QYDJ_ST; + } + + + public static class QYDJ_DATA { + private String SCID; + private String DJSZ; + private String DJSJ; + private String FXNR; + private String SMFS; + private String SBZT; + + public String getSCID() { + return SCID; + } + + public void setSCID(String SCID) { + this.SCID = SCID; + } + + public String getDJSZ() { + return DJSZ; + } + + public void setDJSZ(String DJSZ) { + this.DJSZ = DJSZ; + } + + public String getDJSJ() { + return DJSJ; + } + + public void setDJSJ(String DJSJ) { + this.DJSJ = DJSJ; + } + + public String getFXNR() { + return FXNR; + } + + public void setFXNR(String FXNR) { + this.FXNR = FXNR; + } + + public String getSMFS() { + return SMFS; + } + + public void setSMFS(String SMFS) { + this.SMFS = SMFS; + } + + public String getSBZT() { + return SBZT; + } + + public void setSBZT(String SBZT) { + this.SBZT = SBZT; + } + } + + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ScxjjhBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ScxjjhBean.java new file mode 100755 index 0000000..e684fab --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ScxjjhBean.java @@ -0,0 +1,133 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/3/19. + */ + +public class ScxjjhBean {//用于上传巡检计划的bean + + private String action; + private String zxid; + private String qybh; + private List data; + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getQybh() { + return qybh; + } + + public void setQybh(String qybh) { + this.qybh = qybh; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class data { + private String scid; + private String dbh; + private String cbsz; + private String djsj; + private String zcmc; + private String cbr; + private String fxnr; + private String smfx; + private String SBZT; + + public String getScid() { + return scid; + } + + public void setScid(String scid) { + this.scid = scid; + } + + public String getDbh() { + return dbh; + } + + public void setDbh(String dbh) { + this.dbh = dbh; + } + + public String getCbsz() { + return cbsz; + } + + public void setCbsz(String cbsz) { + this.cbsz = cbsz; + } + + public String getDjsj() { + return djsj; + } + + public void setDjsj(String djsj) { + this.djsj = djsj; + } + + public String getZcmc() { + return zcmc; + } + + public void setZcmc(String zcmc) { + this.zcmc = zcmc; + } + + public String getCbr() { + return cbr; + } + + public void setCbr(String cbr) { + this.cbr = cbr; + } + + public String getFxnr() { + return fxnr; + } + + public void setFxnr(String fxnr) { + this.fxnr = fxnr; + } + + public String getSmfx() { + return smfx; + } + + public void setSmfx(String smfx) { + this.smfx = smfx; + } + + public String getSBZT() { + return SBZT; + } + + public void setSBZT(String SBZT) { + this.SBZT = SBZT; + } + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/SczjdBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/SczjdBean.java new file mode 100755 index 0000000..216a793 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/SczjdBean.java @@ -0,0 +1,209 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/31. + */ + +public class SczjdBean { + + private String Action; + private String DataTotal; + private List data; + + public String getAction() { + return Action; + } + + public void setAction(String Action) { + this.Action = Action; + } + + public String getDataTotal() { + return DataTotal; + } + + public void setDataTotal(String DataTotal) { + this.DataTotal = DataTotal; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class data { + + private String prouserid; + private String iswc; + private String wcintro; + private String rwid; + private List sbwclist; + + public String getProuserid() { + return prouserid; + } + + public void setProuserid(String prouserid) { + this.prouserid = prouserid; + } + + public String getIswc() { + return iswc; + } + + public void setIswc(String iswc) { + this.iswc = iswc; + } + + public String getWcintro() { + return wcintro; + } + + public void setWcintro(String wcintro) { + this.wcintro = wcintro; + } + + public String getRwid() { + return rwid; + } + + public void setRwid(String rwid) { + this.rwid = rwid; + } + + public List getSbwclist() { + return sbwclist; + } + + public void setSbwclist(List sbwclist) { + this.sbwclist = sbwclist; + } + + public static class SbwclistBean { + + private String isbhg; + private String iswc; + private String wcintro; + private String ispass; + private String jgid; + private String ybz; + private String xbz; + private String sqintro; + private String khid; + private String srcid; + private String sbid; + private String filecode; + private String sbname; + + + public String getIsbhg() { + return isbhg; + } + + public void setIsbhg(String isbhg) { + this.isbhg = isbhg; + } + + public String getIswc() { + return iswc; + } + + public void setIswc(String iswc) { + this.iswc = iswc; + } + + public String getWcintro() { + return wcintro; + } + + public void setWcintro(String wcintro) { + this.wcintro = wcintro; + } + + public String getIspass() { + return ispass; + } + + public void setIspass(String ispass) { + this.ispass = ispass; + } + + public String getJgid() { + return jgid; + } + + public void setJgid(String jgid) { + this.jgid = jgid; + } + + public String getYbz() { + return ybz; + } + + public void setYbz(String ybz) { + this.ybz = ybz; + } + + public String getXbz() { + return xbz; + } + + public void setXbz(String xbz) { + this.xbz = xbz; + } + + public String getSqintro() { + return sqintro; + } + + public void setSqintro(String sqintro) { + this.sqintro = sqintro; + } + + public String getKhid() { + return khid; + } + + public void setKhid(String khid) { + this.khid = khid; + } + + public String getSrcid() { + return srcid; + } + + public void setSrcid(String srcid) { + this.srcid = srcid; + } + + public String getSbid() { + return sbid; + } + + public void setSbid(String sbid) { + this.sbid = sbid; + } + + public String getFilecode() { + return filecode; + } + + public void setFilecode(String filecode) { + this.filecode = filecode; + } + + public String getSbname() { + return sbname; + } + + public void setSbname(String sbname) { + this.sbname = sbname; + } + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/SetSbModel.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/SetSbModel.java new file mode 100755 index 0000000..4e1d1ef --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/SetSbModel.java @@ -0,0 +1,72 @@ +package com.rehome.bhdxj.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +/** + * Created by ruihong on 2018/5/10. + */ + +public class SetSbModel implements Parcelable { + + private String sbId; + private String value; + private Boolean statu; + + public String getSbId() { + return sbId; + } + + public void setSbId(String sbId) { + this.sbId = sbId; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public Boolean getStatu() { + return statu; + } + + public void setStatu(Boolean statu) { + this.statu = statu; + } + + public SetSbModel() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.sbId); + dest.writeString(this.value); + dest.writeValue(this.statu); + } + + protected SetSbModel(Parcel in) { + this.sbId = in.readString(); + this.value = in.readString(); + this.statu = (Boolean) in.readValue(Boolean.class.getClassLoader()); + } + + public static final Creator CREATOR = new Creator() { + @Override + public SetSbModel createFromParcel(Parcel source) { + return new SetSbModel(source); + } + + @Override + public SetSbModel[] newArray(int size) { + return new SetSbModel[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/SetxjSbModel.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/SetxjSbModel.java new file mode 100755 index 0000000..4811881 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/SetxjSbModel.java @@ -0,0 +1,72 @@ +package com.rehome.bhdxj.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +/** + * Created by ruihong on 2018/5/10. + */ + +public class SetxjSbModel implements Parcelable { + + private String sbId; + private String value; + private Boolean statu; + + public String getSbId() { + return sbId; + } + + public void setSbId(String sbId) { + this.sbId = sbId; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public Boolean getStatu() { + return statu; + } + + public void setStatu(Boolean statu) { + this.statu = statu; + } + + public SetxjSbModel() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.sbId); + dest.writeString(this.value); + dest.writeValue(this.statu); + } + + protected SetxjSbModel(Parcel in) { + this.sbId = in.readString(); + this.value = in.readString(); + this.statu = (Boolean) in.readValue(Boolean.class.getClassLoader()); + } + + public static final Creator CREATOR = new Creator() { + @Override + public SetxjSbModel createFromParcel(Parcel source) { + return new SetxjSbModel(source); + } + + @Override + public SetxjSbModel[] newArray(int size) { + return new SetxjSbModel[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Sisbean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Sisbean.java new file mode 100755 index 0000000..7b3a340 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Sisbean.java @@ -0,0 +1,71 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/9. + */ + +public class Sisbean { + + + private String Total; + private List Rows; + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class RowsBean { + + + private String poitname; + private String description; + private String jzbm; + private String poitvalue; + + public String getPoitname() { + return poitname; + } + + public void setPoitname(String poitname) { + this.poitname = poitname; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getJzbm() { + return jzbm; + } + + public void setJzbm(String jzbm) { + this.jzbm = jzbm; + } + + public String getPoitvalue() { + return poitvalue; + } + + public void setPoitvalue(String poitvalue) { + this.poitvalue = poitvalue; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/StatusInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/StatusInfo.java new file mode 100755 index 0000000..0e6096a --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/StatusInfo.java @@ -0,0 +1,52 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Administrator on 2016/9/9. + */ +public class StatusInfo { + + + /** + * Rows : [{"status":"1"}] + * Total : 1 + */ + + private int Total; + /** + * status : 1 表示上传成功,0表示上传失败 + */ + + private List Rows; + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class Status { + private String status; + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + } +} + + diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/StatusInfo2.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/StatusInfo2.java new file mode 100755 index 0000000..5f9d255 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/StatusInfo2.java @@ -0,0 +1,57 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Administrator on 2016/9/9. + */ +public class StatusInfo2 { + + private int state; + private String msg; + private String GWID; + private String GWMC; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public String getGWID() { + return GWID; + } + + public void setGWID(String GWID) { + this.GWID = GWID; + } + + public String getGWMC() { + return GWMC; + } + + public void setGWMC(String GWMC) { + this.GWMC = GWMC; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} + + diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Statusinfozj.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Statusinfozj.java new file mode 100755 index 0000000..03e57ef --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/Statusinfozj.java @@ -0,0 +1,61 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/8/2. + */ + +public class Statusinfozj { + + + /** + * state : 1 + * msg : 修改成功 + * data : [{"rwid":"62"}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * rwid : 62 + */ + + private String rwid; + + public String getRwid() { + return rwid; + } + + public void setRwid(String rwid) { + this.rwid = rwid; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/TJRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/TJRequestBean.java new file mode 100755 index 0000000..c93fe7c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/TJRequestBean.java @@ -0,0 +1,63 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/3/23. + */ + +public class TJRequestBean { + + private String action; + private String TJFS; + private String ST; + private String ET; + private String ZY; + private String TJLX; + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getTJFS() { + return TJFS; + } + + public void setTJFS(String TJFS) { + this.TJFS = TJFS; + } + + public String getST() { + return ST; + } + + public void setST(String ST) { + this.ST = ST; + } + + public String getET() { + return ET; + } + + public void setET(String ET) { + this.ET = ET; + } + + public String getZY() { + return ZY; + } + + public void setZY(String ZY) { + this.ZY = ZY; + } + + public String getTJLX() { + return TJLX; + } + + public void setTJLX(String TJLX) { + this.TJLX = TJLX; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/UploadPhotosBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/UploadPhotosBean.java new file mode 100755 index 0000000..3bbdc51 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/UploadPhotosBean.java @@ -0,0 +1,45 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2017/12/22. + */ + +public class UploadPhotosBean { + + + /** + * state : 1 + * msg : + * data : [] + */ + + private String state; + private String msg; + private List data; + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/UploadPhotosBean2.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/UploadPhotosBean2.java new file mode 100755 index 0000000..4e7f1fb --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/UploadPhotosBean2.java @@ -0,0 +1,55 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2017/12/22. + */ + +public class UploadPhotosBean2 { + + + private String Total; + private String Msg; + private List Rows; + + public String getMsg() { + return Msg; + } + + public void setMsg(String msg) { + Msg = msg; + } + + public String getTotal() { + return Total; + } + + public void setTotal(String Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class RowsBean { + /** + * status : 0 + */ + + private String status; + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/UserInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/UserInfo.java new file mode 100755 index 0000000..4e20819 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/UserInfo.java @@ -0,0 +1,78 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Administrator on 2016/9/13. + */ +public class UserInfo { + + + private int Total; + + private List Rows; + + public int getTotal() { + return Total; + } + + public void setTotal(int Total) { + this.Total = Total; + } + + public List getRows() { + return Rows; + } + + public void setRows(List Rows) { + this.Rows = Rows; + } + + public static class User { + private String status; + private String usernames; + private String bzbh; + private String bzmc; + private String PermissionsResult; + + public String getPermissionsResult() { + return PermissionsResult; + } + + public void setPermissionsResult(String permissionsResult) { + PermissionsResult = permissionsResult; + } + + public String getBzbh() { + return bzbh; + } + + public void setBzbh(String bzbh) { + this.bzbh = bzbh; + } + + public String getBzmc() { + return bzmc; + } + + public void setBzmc(String bzmc) { + this.bzmc = bzmc; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getUsernames() { + return usernames; + } + + public void setUsernames(String usernames) { + this.usernames = usernames; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XJRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XJRequestBean.java new file mode 100755 index 0000000..a087de0 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XJRequestBean.java @@ -0,0 +1,38 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/3/14. + */ + +public class XJRequestBean { + + + private String action; + private String zc; + private String zymc; + + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getZc() { + return zc; + } + + public void setZc(String zc) { + this.zc = zc; + } + + public String getZymc() { + return zymc; + } + + public void setZymc(String zymc) { + this.zymc = zymc; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XjSbModel.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XjSbModel.java new file mode 100755 index 0000000..9121c8b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XjSbModel.java @@ -0,0 +1,72 @@ +package com.rehome.bhdxj.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +/** + * Created by ruihong on 2018/5/10. + */ + +public class XjSbModel implements Parcelable { + + private String sbmc; + private String value; + private Boolean statu; + + public String getSbId() { + return sbmc; + } + + public void setSbId(String sbId) { + this.sbmc = sbId; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public Boolean getStatu() { + return statu; + } + + public void setStatu(Boolean statu) { + this.statu = statu; + } + + public XjSbModel() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.sbmc); + dest.writeString(this.value); + dest.writeValue(this.statu); + } + + protected XjSbModel(Parcel in) { + this.sbmc = in.readString(); + this.value = in.readString(); + this.statu = (Boolean) in.readValue(Boolean.class.getClassLoader()); + } + + public static final Creator CREATOR = new Creator() { + @Override + public XjSbModel createFromParcel(Parcel source) { + return new XjSbModel(source); + } + + @Override + public XjSbModel[] newArray(int size) { + return new XjSbModel[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XjzhtjBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XjzhtjBean.java new file mode 100755 index 0000000..27b82c2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XjzhtjBean.java @@ -0,0 +1,106 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/8/3. + */ + +public class XjzhtjBean { + + + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * MC : 运行A值 + * ZDS : 0 + * YJDS : 0 + * WJDS : 0 + * MJDS : 0 + * WCL : 100% + */ + + private String MC; + private String ZDS; + private String YJDS; + private String WJDS; + private String MJDS; + private String WCL; + + public String getMC() { + return MC; + } + + public void setMC(String MC) { + this.MC = MC; + } + + public String getZDS() { + return ZDS; + } + + public void setZDS(String ZDS) { + this.ZDS = ZDS; + } + + public String getYJDS() { + return YJDS; + } + + public void setYJDS(String YJDS) { + this.YJDS = YJDS; + } + + public String getWJDS() { + return WJDS; + } + + public void setWJDS(String WJDS) { + this.WJDS = WJDS; + } + + public String getMJDS() { + return MJDS; + } + + public void setMJDS(String MJDS) { + this.MJDS = MJDS; + } + + public String getWCL() { + return WCL; + } + + public void setWCL(String WCL) { + this.WCL = WCL; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsHistoryListBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsHistoryListBean.java new file mode 100755 index 0000000..aa6ca98 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsHistoryListBean.java @@ -0,0 +1,225 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/26. + */ + +public class XsHistoryListBean { + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBeanX { + + + private String rq; + private String xgqx; + private List data; + + public String getRq() { + return rq; + } + + public void setRq(String rq) { + this.rq = rq; + } + + public String getXgqx() { + return xgqx; + } + + public void setXgqx(String xgqx) { + this.xgqx = xgqx; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * jhid : JH00000000070 + * zxid : ZX00000000169 + * jhmc : TEST1 + * jhlx : 51 + * jhzq : 8 + * st : 2017/7/24 6:00:00 + * et : 2017/7/24 14:00:00 + * wczt : 0 + * ljds : 0 + * jhds : 21 + * zc : 12108020207 + * iswsc : 1 + * zymc : 1 + */ + + private String jhid; + private String zxid; + private String jhmc; + private String jhlx; + private String jhzq; + private String st; + private String et; + private String wczt; + private String ljds; + private String jhds; + private String zc; + private String iswsc; + private String zymc; + private String scsj; + private String scrq; + + public String getScrq() { + return scrq; + } + + public void setScrq(String scrq) { + this.scrq = scrq; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } + + public String getJhlx() { + return jhlx; + } + + public void setJhlx(String jhlx) { + this.jhlx = jhlx; + } + + public String getJhzq() { + return jhzq; + } + + public void setJhzq(String jhzq) { + this.jhzq = jhzq; + } + + public String getSt() { + return st; + } + + public void setSt(String st) { + this.st = st; + } + + public String getEt() { + return et; + } + + public void setEt(String et) { + this.et = et; + } + + public String getWczt() { + return wczt; + } + + public void setWczt(String wczt) { + this.wczt = wczt; + } + + public String getLjds() { + return ljds; + } + + public void setLjds(String ljds) { + this.ljds = ljds; + } + + public String getJhds() { + return jhds; + } + + public void setJhds(String jhds) { + this.jhds = jhds; + } + + public String getZc() { + return zc; + } + + public void setZc(String zc) { + this.zc = zc; + } + + public String getIswsc() { + return iswsc; + } + + public void setIswsc(String iswsc) { + this.iswsc = iswsc; + } + + public String getZymc() { + return zymc; + } + + public void setZymc(String zymc) { + this.zymc = zymc; + } + + public String getScsj() { + return scsj; + } + + public void setScsj(String scsj) { + this.scsj = scsj; + } + + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsJhListBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsJhListBean.java new file mode 100755 index 0000000..49a64da --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsJhListBean.java @@ -0,0 +1,239 @@ +package com.rehome.bhdxj.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/17. + * 巡视计划列表 + */ + +public class XsJhListBean { + + + /** + * state : 1 + * msg : 查询成功 + * data : [{"jhid":"JH00000000061","zxid":"ZX00000000061","jhmc":"测试1","jhlx":"51","jhzq":"8","st":"2017/7/17 11:00:00","et":"2017/7/17 19:00:00","wczt":"0","ljds":"0","jhds":"16","zc":"12108020202","iswsc":"1"},{"jhid":"JH00000000062","zxid":"ZX00000000062","jhmc":"test2","jhlx":"51","jhzq":"8","st":"2017/7/17 11:00:00","et":"2017/7/17 19:00:00","wczt":"0","ljds":"0","jhds":"19","zc":"12108020202","iswsc":"1"}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean implements Parcelable { + /** + * jhid : JH00000000061 + * zxid : ZX00000000061 + * jhmc : 测试1 + * jhlx : 51 + * jhzq : 8 + * st : 2017/7/17 11:00:00 + * et : 2017/7/17 19:00:00 + * wczt : 0 + * ljds : 0 + * jhds : 16 + * zc : 12108020202 + * iswsc : 1 + */ + + private String jhid; + private String zxid; + private String jhmc; + private String jhlx; + private String jhzq; + private String st; + private String et; + private String wczt; + private String ljds; + private String jhds; + private String zc; + private String iswsc; + private String scsj; + + public String getScsj() { + return scsj; + } + + public void setScsj(String scsj) { + this.scsj = scsj; + } + + + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } + + public String getJhlx() { + return jhlx; + } + + public void setJhlx(String jhlx) { + this.jhlx = jhlx; + } + + public String getJhzq() { + return jhzq; + } + + public void setJhzq(String jhzq) { + this.jhzq = jhzq; + } + + public String getSt() { + return st; + } + + public void setSt(String st) { + this.st = st; + } + + public String getEt() { + return et; + } + + public void setEt(String et) { + this.et = et; + } + + public String getWczt() { + return wczt; + } + + public void setWczt(String wczt) { + this.wczt = wczt; + } + + public String getLjds() { + return ljds; + } + + public void setLjds(String ljds) { + this.ljds = ljds; + } + + public String getJhds() { + return jhds; + } + + public void setJhds(String jhds) { + this.jhds = jhds; + } + + public String getZc() { + return zc; + } + + public void setZc(String zc) { + this.zc = zc; + } + + public String getIswsc() { + return iswsc; + } + + public void setIswsc(String iswsc) { + this.iswsc = iswsc; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.jhid); + dest.writeString(this.zxid); + dest.writeString(this.jhmc); + dest.writeString(this.jhlx); + dest.writeString(this.jhzq); + dest.writeString(this.st); + dest.writeString(this.et); + dest.writeString(this.wczt); + dest.writeString(this.ljds); + dest.writeString(this.jhds); + dest.writeString(this.zc); + dest.writeString(this.iswsc); + dest.writeString(this.scsj); + } + + public DataBean() { + } + + protected DataBean(Parcel in) { + this.jhid = in.readString(); + this.zxid = in.readString(); + this.jhmc = in.readString(); + this.jhlx = in.readString(); + this.jhzq = in.readString(); + this.st = in.readString(); + this.et = in.readString(); + this.wczt = in.readString(); + this.ljds = in.readString(); + this.jhds = in.readString(); + this.zc = in.readString(); + this.iswsc = in.readString(); + this.scsj = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DataBean createFromParcel(Parcel source) { + return new DataBean(source); + } + + @Override + public DataBean[] newArray(int size) { + return new DataBean[size]; + } + }; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsRequestInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsRequestInfo.java new file mode 100755 index 0000000..f4bdf74 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsRequestInfo.java @@ -0,0 +1,188 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by Rehome-rjb1 on 2017/7/15. + * 巡视请求数据 + */ + +public class XsRequestInfo { + + + /** + * action : XSCB_ZXJL_GET + * zc : 值次(班组编号) + * jhid : 计划ID + */ + + private String action; + private String zc; + private String jhid; + private String zymc; + private String zxid; + private String bglx; + private String spzt; + private String rownum; + private String zxmc; + private String zy; + private String rqts; + private String moduletype; + private String shmk; + private String userid; + private String spr; + private String sis; + private String jz; + private String yhid; + private String jhmc; + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getZc() { + return zc; + } + + public void setZc(String zc) { + this.zc = zc; + } + + public String getJhid() { + return jhid; + } + + public void setJhid(String jhid) { + this.jhid = jhid; + } + + public String getZymc() { + return zymc; + } + + public void setZymc(String zymc) { + this.zymc = zymc; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getBglx() { + return bglx; + } + + public void setBglx(String bglx) { + this.bglx = bglx; + } + + public String getSpzt() { + return spzt; + } + + public void setSpzt(String spzt) { + this.spzt = spzt; + } + + public String getRownum() { + return rownum; + } + + public void setRownum(String rownum) { + this.rownum = rownum; + } + + public String getZxmc() { + return zxmc; + } + + public void setZxmc(String zxmc) { + this.zxmc = zxmc; + } + + public String getZy() { + return zy; + } + + public void setZy(String zy) { + this.zy = zy; + } + + public String getRqts() { + return rqts; + } + + public void setRqts(String rqts) { + this.rqts = rqts; + } + + public String getModuletype() { + return moduletype; + } + + public void setModuletype(String moduletype) { + this.moduletype = moduletype; + } + + public String getShmk() { + return shmk; + } + + public void setShmk(String shmk) { + this.shmk = shmk; + } + + public String getUserid() { + return userid; + } + + public void setUserid(String userid) { + this.userid = userid; + } + + public String getSpr() { + return spr; + } + + public void setSpr(String spr) { + this.spr = spr; + } + + public String getSis() { + return sis; + } + + public void setSis(String sis) { + this.sis = sis; + } + + public String getJz() { + return jz; + } + + public void setJz(String jz) { + this.jz = jz; + } + + public String getYhid() { + return yhid; + } + + public void setYhid(String yhid) { + this.yhid = yhid; + } + + public String getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsRequestInfo2.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsRequestInfo2.java new file mode 100755 index 0000000..14e0cf7 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsRequestInfo2.java @@ -0,0 +1,257 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by Rehome-rjb1 on 2017/7/15. + * 巡视请求数据 + */ + +public class XsRequestInfo2 { + + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + /** + * action : XSCB_ZXJL_GET + * zc : 值次(班组编号) + * jhid : 计划ID + */ + + private String Action; + private String zc; + + private String YHID; + private String BMID; + private String RWZT; + + private String JHID; + private String zymc; + private String zxid; + private String bglx; + private String spzt; + private String rownum; + private String zxmc; + private String zy; + private String rqts; + private String moduletype; + private String shmk; + private String userid; + private String spr; + private String sis; + private String jz; + private String DEPTID; + private String PROUSERID; + + private String BAGID; + private String ZJDID; + private String FILEBAGID; + private String RWID; + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + + public String getRWZT() { + return RWZT; + } + + public void setRWZT(String RWZT) { + this.RWZT = RWZT; + } + + public String getJHID() { + return JHID; + } + + public void setJHID(String JHID) { + this.JHID = JHID; + } + + public String getBMID() { + return BMID; + } + + public void setBMID(String BMID) { + this.BMID = BMID; + } + + + public String getZc() { + return zc; + } + + public void setZc(String zc) { + this.zc = zc; + } + + + public String getZymc() { + return zymc; + } + + public void setZymc(String zymc) { + this.zymc = zymc; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getBglx() { + return bglx; + } + + public void setBglx(String bglx) { + this.bglx = bglx; + } + + public String getSpzt() { + return spzt; + } + + public void setSpzt(String spzt) { + this.spzt = spzt; + } + + public String getRownum() { + return rownum; + } + + public void setRownum(String rownum) { + this.rownum = rownum; + } + + public String getZxmc() { + return zxmc; + } + + public void setZxmc(String zxmc) { + this.zxmc = zxmc; + } + + public String getZy() { + return zy; + } + + public void setZy(String zy) { + this.zy = zy; + } + + public String getRqts() { + return rqts; + } + + public void setRqts(String rqts) { + this.rqts = rqts; + } + + public String getModuletype() { + return moduletype; + } + + public void setModuletype(String moduletype) { + this.moduletype = moduletype; + } + + public String getShmk() { + return shmk; + } + + public void setShmk(String shmk) { + this.shmk = shmk; + } + + public String getUserid() { + return userid; + } + + public void setUserid(String userid) { + this.userid = userid; + } + + public String getSpr() { + return spr; + } + + public void setSpr(String spr) { + this.spr = spr; + } + + public String getSis() { + return sis; + } + + public void setSis(String sis) { + this.sis = sis; + } + + public String getJz() { + return jz; + } + + public void setJz(String jz) { + this.jz = jz; + } + + public String getDEPTID() { + return DEPTID; + } + + public void setDEPTID(String DEPTID) { + this.DEPTID = DEPTID; + } + + public String getPROUSERID() { + return PROUSERID; + } + + public void setPROUSERID(String PROUSERID) { + this.PROUSERID = PROUSERID; + } + + public String getBAGID() { + return BAGID; + } + + public void setBAGID(String BAGID) { + this.BAGID = BAGID; + } + + public String getZJDID() { + return ZJDID; + } + + public void setZJDID(String ZJDID) { + this.ZJDID = ZJDID; + } + + public String getFILEBAGID() { + return FILEBAGID; + } + + public void setFILEBAGID(String FILEBAGID) { + this.FILEBAGID = FILEBAGID; + } + + public String getRWID() { + return RWID; + } + + public void setRWID(String RWID) { + this.RWID = RWID; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsResultBaseBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsResultBaseBean.java new file mode 100755 index 0000000..321c2ce --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsResultBaseBean.java @@ -0,0 +1,38 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/18. + */ + +public class XsResultBaseBean { + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsSaveDataInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsSaveDataInfo.java new file mode 100755 index 0000000..3d51f3f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsSaveDataInfo.java @@ -0,0 +1,145 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/15. + * 巡视请求数据 + */ + +public class XsSaveDataInfo { + + /** + * action : XSCB_ZXJL_GET + * zc : 值次(班组编号) + * jhid : 计划ID + */ + + private String action; + private String zxid; + private String qybh; + private List data; + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getQybh() { + return qybh; + } + + public void setQybh(String qybh) { + this.qybh = qybh; + } + + public static class DataBean { + + private String dbh; + private String cbsz; + private String djsj; + private String zcmc; + private String cbr; + private String fxnr; + private String smfx; + private String scid; + + + public DataBean() { + } + + public DataBean(String dbh, String cbsz, String djsj, String zcmc, String cbr, String fxnr, String smfx,String scid) { + this.dbh = dbh; + this.cbsz = cbsz; + this.djsj = djsj; + this.zcmc = zcmc; + this.cbr = cbr; + this.fxnr = fxnr; + this.smfx = smfx; + this.scid = scid; + } + + public String getDbh() { + return dbh; + } + + public void setDbh(String dbh) { + this.dbh = dbh; + } + + public String getCbsz() { + return cbsz; + } + + public void setCbsz(String cbsz) { + this.cbsz = cbsz; + } + + public String getDjsj() { + return djsj; + } + + public void setDjsj(String djsj) { + this.djsj = djsj; + } + + public String getZcmc() { + return zcmc; + } + + public void setZcmc(String zcmc) { + this.zcmc = zcmc; + } + + public String getCbr() { + return cbr; + } + + public void setCbr(String cbr) { + this.cbr = cbr; + } + + public String getFxnr() { + return fxnr; + } + + public void setFxnr(String fxnr) { + this.fxnr = fxnr; + } + + public String getSmfx() { + return smfx; + } + + public void setSmfx(String smfx) { + this.smfx = smfx; + } + + public String getScid() { + return scid; + } + + public void setScid(String scid) { + this.scid = scid; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XscbRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XscbRequestBean.java new file mode 100755 index 0000000..91939c7 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XscbRequestBean.java @@ -0,0 +1,44 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/3/14. + */ + +public class XscbRequestBean { + private String Action; + private String YHID; + private String GWID; + private String RWID; + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getGWID() { + return GWID; + } + + public void setGWID(String GWID) { + this.GWID = GWID; + } + + public String getRWID() { + return RWID; + } + + public void setRWID(String RWID) { + this.RWID = RWID; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsjhQyBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsjhQyBean.java new file mode 100755 index 0000000..636abe3 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/XsjhQyBean.java @@ -0,0 +1,441 @@ +package com.rehome.bhdxj.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/17. + * 巡视区域列表 + */ + +public class XsjhQyBean { + + /** + * state : 1 + * msg : 暂无数据 + * data : [{"zxid":"JH00000000062","qybh":"YX002","qymc":"2号机厂高变区域","nfcbm":"","txm":"YX002","data":[{"dbh":"10205","dlxbh":"1","dlxmc":"巡视","sb":" 2号机厂高变区域","zymc":"1","dw":"","dz":"","gz":"","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10013","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变高压绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10014","dlxbh":"2","dlxmc":"抄表","sb":"高压绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10015","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变低压X侧绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10016","dlxbh":"2","dlxmc":"抄表","sb":"低压X侧绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10017","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变低压Y侧绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10018","dlxbh":"2","dlxmc":"抄表","sb":"低压Y侧绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10019","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变上层油温","zymc":"1","dw":"℃","dz":"","gz":"90","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10020","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变冷却系统运行方式","zymc":"1","dw":"","dz":"","gz":"","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10021","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变可燃气体浓度","zymc":"1","dw":"ppm","dz":"","gz":"150","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10022","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变高压绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10023","dlxbh":"2","dlxmc":"抄表","sb":"高压绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10024","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变低压X侧绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10025","dlxbh":"2","dlxmc":"抄表","sb":"低压X侧绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10026","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变低压Y侧绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10027","dlxbh":"2","dlxmc":"抄表","sb":"低压Y侧绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10028","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变上层油温","zymc":"1","dw":"℃","dz":"","gz":"90","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10029","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变冷却系统运行方式","zymc":"1","dw":"","dz":"","gz":"","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10030","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变可燃气体浓度","zymc":"1","dw":"ppm","dz":"","gz":"150","zczt":"","bsyl":"","bqyl":"","xcnr":""}]}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBeanX implements Parcelable { + /** + * zxid : JH00000000062 + * qybh : YX002 + * qymc : 2号机厂高变区域 + * nfcbm : + * txm : YX002 + * data : [{"dbh":"10205","dlxbh":"1","dlxmc":"巡视","sb":" 2号机厂高变区域","zymc":"1","dw":"","dz":"","gz":"","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10013","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变高压绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10014","dlxbh":"2","dlxmc":"抄表","sb":"高压绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10015","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变低压X侧绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10016","dlxbh":"2","dlxmc":"抄表","sb":"低压X侧绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10017","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变低压Y侧绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10018","dlxbh":"2","dlxmc":"抄表","sb":"低压Y侧绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10019","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变上层油温","zymc":"1","dw":"℃","dz":"","gz":"90","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10020","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变冷却系统运行方式","zymc":"1","dw":"","dz":"","gz":"","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10021","dlxbh":"2","dlxmc":"抄表","sb":"A厂高变可燃气体浓度","zymc":"1","dw":"ppm","dz":"","gz":"150","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10022","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变高压绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10023","dlxbh":"2","dlxmc":"抄表","sb":"高压绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10024","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变低压X侧绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10025","dlxbh":"2","dlxmc":"抄表","sb":"低压X侧绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10026","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变低压Y侧绕组温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10027","dlxbh":"2","dlxmc":"抄表","sb":"低压Y侧绕组历史最高温度","zymc":"1","dw":"℃","dz":"","gz":"106","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10028","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变上层油温","zymc":"1","dw":"℃","dz":"","gz":"90","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10029","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变冷却系统运行方式","zymc":"1","dw":"","dz":"","gz":"","zczt":"","bsyl":"","bqyl":"","xcnr":""},{"dbh":"10030","dlxbh":"2","dlxmc":"抄表","sb":"B厂高变可燃气体浓度","zymc":"1","dw":"ppm","dz":"","gz":"150","zczt":"","bsyl":"","bqyl":"","xcnr":""}] + */ + + private String zxid; + private String qybh; + private String qymc; + private String nfcbm; + private String txm; + private String sczt; + private String scsj; + private List data; + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getQybh() { + return qybh; + } + + public void setQybh(String qybh) { + this.qybh = qybh; + } + + public String getQymc() { + return qymc; + } + + public void setQymc(String qymc) { + this.qymc = qymc; + } + + public String getNfcbm() { + return nfcbm; + } + + public void setNfcbm(String nfcbm) { + this.nfcbm = nfcbm; + } + + public String getTxm() { + return txm; + } + + public void setTxm(String txm) { + this.txm = txm; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getSczt() { + return sczt; + } + + public void setSczt(String sczt) { + this.sczt = sczt; + } + + public String getScsj() { + return scsj; + } + + public void setScsj(String scsj) { + this.scsj = scsj; + } + + public static class DataBean implements Parcelable { + /** + * dbh : 10205 + * dlxbh : 1 + * dlxmc : 巡视 + * sb : 2号机厂高变区域 + * zymc : 1 + * dw : + * dz : + * gz : + * zczt : + * bsyl : + * bqyl : + * xcnr : + */ + + private String dbh; + private String dlxbh; + private String dlxmc; + private String sb; + private String zymc; + private String dw; + private String dz; + private String gz; + private String zczt; + private String bsyl; + private String bqyl; + private String xcnr; + private String cbsz = ""; + private String djsj = ""; + private String smfx; + private String sisData; + private String dpx; + private String scid; + private String LRFS; + private String MRNR; + + public String getDbh() { + return dbh; + } + + public void setDbh(String dbh) { + this.dbh = dbh; + } + + public String getDlxbh() { + return dlxbh; + } + + public void setDlxbh(String dlxbh) { + this.dlxbh = dlxbh; + } + + public String getDlxmc() { + return dlxmc; + } + + public void setDlxmc(String dlxmc) { + this.dlxmc = dlxmc; + } + + public String getSb() { + return sb; + } + + public void setSb(String sb) { + this.sb = sb; + } + + public String getZymc() { + return zymc; + } + + public void setZymc(String zymc) { + this.zymc = zymc; + } + + public String getDw() { + return dw; + } + + public void setDw(String dw) { + this.dw = dw; + } + + public String getDz() { + return dz; + } + + public void setDz(String dz) { + this.dz = dz; + } + + public String getGz() { + return gz; + } + + public void setGz(String gz) { + this.gz = gz; + } + + public String getZczt() { + return zczt; + } + + public void setZczt(String zczt) { + this.zczt = zczt; + } + + public String getBsyl() { + return bsyl; + } + + public void setBsyl(String bsyl) { + this.bsyl = bsyl; + } + + public String getBqyl() { + return bqyl; + } + + public void setBqyl(String bqyl) { + this.bqyl = bqyl; + } + + public String getXcnr() { + return xcnr; + } + + public void setXcnr(String xcnr) { + this.xcnr = xcnr; + } + + public String getCbsz() { + return cbsz; + } + + public void setCbsz(String cbsz) { + this.cbsz = cbsz; + } + + public String getDjsj() { + return djsj; + } + + public void setDjsj(String djsj) { + this.djsj = djsj; + } + + public String getSmfx() { + return smfx; + } + + public void setSmfx(String smfx) { + this.smfx = smfx; + } + + public String getSisData() { + return sisData; + } + + public void setSisData(String sisData) { + this.sisData = sisData; + } + + public String getDpx() { + return dpx; + } + + public void setDpx(String dpx) { + this.dpx = dpx; + } + + public String getScid() { + return scid; + } + + public void setScid(String scid) { + this.scid = scid; + } + + public String getLRFS() { + return LRFS; + } + + public void setLRFS(String LRFS) { + this.LRFS = LRFS; + } + + public String getMRNR() { + return MRNR; + } + + public void setMRNR(String MRNR) { + this.MRNR = MRNR; + } + + + public DataBean() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.dbh); + dest.writeString(this.dlxbh); + dest.writeString(this.dlxmc); + dest.writeString(this.sb); + dest.writeString(this.zymc); + dest.writeString(this.dw); + dest.writeString(this.dz); + dest.writeString(this.gz); + dest.writeString(this.zczt); + dest.writeString(this.bsyl); + dest.writeString(this.bqyl); + dest.writeString(this.xcnr); + dest.writeString(this.cbsz); + dest.writeString(this.djsj); + dest.writeString(this.smfx); + dest.writeString(this.sisData); + dest.writeString(this.dpx); + dest.writeString(this.scid); + dest.writeString(this.LRFS); + dest.writeString(this.MRNR); + } + + protected DataBean(Parcel in) { + this.dbh = in.readString(); + this.dlxbh = in.readString(); + this.dlxmc = in.readString(); + this.sb = in.readString(); + this.zymc = in.readString(); + this.dw = in.readString(); + this.dz = in.readString(); + this.gz = in.readString(); + this.zczt = in.readString(); + this.bsyl = in.readString(); + this.bqyl = in.readString(); + this.xcnr = in.readString(); + this.cbsz = in.readString(); + this.djsj = in.readString(); + this.smfx = in.readString(); + this.sisData = in.readString(); + this.dpx = in.readString(); + this.scid = in.readString(); + this.LRFS = in.readString(); + this.MRNR = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DataBean createFromParcel(Parcel source) { + return new DataBean(source); + } + + @Override + public DataBean[] newArray(int size) { + return new DataBean[size]; + } + }; + } + + public DataBeanX() { + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.zxid); + dest.writeString(this.qybh); + dest.writeString(this.qymc); + dest.writeString(this.nfcbm); + dest.writeString(this.txm); + dest.writeString(this.sczt); + dest.writeString(this.scsj); + dest.writeTypedList(this.data); + } + + protected DataBeanX(Parcel in) { + this.zxid = in.readString(); + this.qybh = in.readString(); + this.qymc = in.readString(); + this.nfcbm = in.readString(); + this.txm = in.readString(); + this.sczt = in.readString(); + this.scsj = in.readString(); + this.data = in.createTypedArrayList(DataBean.CREATOR); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DataBeanX createFromParcel(Parcel source) { + return new DataBeanX(source); + } + + @Override + public DataBeanX[] newArray(int size) { + return new DataBeanX[size]; + } + }; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/YhpcResultBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/YhpcResultBean.java new file mode 100644 index 0000000..d23caed --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/YhpcResultBean.java @@ -0,0 +1,38 @@ +package com.rehome.bhdxj.bean; + +public class YhpcResultBean { + + /** + * state : 1 + * msg : 上传成功 + * data : d10055f4cc334b9cb1a3a03527a14631 + */ + + private int state; + private String msg; + private String data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data = data; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZJinfoBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZJinfoBean.java new file mode 100755 index 0000000..cf955f9 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZJinfoBean.java @@ -0,0 +1,124 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/11. + */ + +public class ZJinfoBean { + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + + + private String CLASSID; + private String TITLE; + private String NAME; + private String ISAUDIT; + private String AUDITNAME; + private String NEXTATUSER; + private String ADDTIME; + private String ID; + private String ISWC; + + public String getCLASSID() { + return CLASSID; + } + + public void setCLASSID(String CLASSID) { + this.CLASSID = CLASSID; + } + + public String getTITLE() { + return TITLE; + } + + public void setTITLE(String TITLE) { + this.TITLE = TITLE; + } + + public String getNAME() { + return NAME; + } + + public void setNAME(String NAME) { + this.NAME = NAME; + } + + public String getISAUDIT() { + return ISAUDIT; + } + + public void setISAUDIT(String ISAUDIT) { + this.ISAUDIT = ISAUDIT; + } + + public String getAUDITNAME() { + return AUDITNAME; + } + + public void setAUDITNAME(String AUDITNAME) { + this.AUDITNAME = AUDITNAME; + } + + public String getNEXTATUSER() { + return NEXTATUSER; + } + + public void setNEXTATUSER(String NEXTATUSER) { + this.NEXTATUSER = NEXTATUSER; + } + + public String getADDTIME() { + return ADDTIME; + } + + public void setADDTIME(String ADDTIME) { + this.ADDTIME = ADDTIME; + } + + public String getID() { + return ID; + } + + public void setID(String ID) { + this.ID = ID; + } + + public String getISWC() { + return ISWC; + } + + public void setISWC(String ISWC) { + this.ISWC = ISWC; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZYDataBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZYDataBean.java new file mode 100755 index 0000000..13db461 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZYDataBean.java @@ -0,0 +1,71 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/27. + */ + +public class ZYDataBean { + + + /** + * state : 1 + * msg : 获取成功 + * data : [{"id":"7","name":"灰控"},{"id":"6","name":"脱硫"},{"id":"5","name":"#2汽机"},{"id":"4","name":"#1汽机"},{"id":"3","name":"#2锅炉"},{"id":"2","name":"#1锅炉"},{"id":"1","name":"电气网控"},{"id":"8","name":"化学"},{"id":"9","name":"厂用电"}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * id : 7 + * name : 灰控 + */ + + private String ZYID; + private String ZYMC; + + public String getZYID() { + return ZYID; + } + + public void setZYID(String ZYID) { + this.ZYID = ZYID; + } + + public String getZYMC() { + return ZYMC; + } + + public void setZYMC(String ZYMC) { + this.ZYMC = ZYMC; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZjbBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZjbBean.java new file mode 100755 index 0000000..296a2f2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZjbBean.java @@ -0,0 +1,90 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/25. + */ + +public class ZjbBean { + + + /** + * state : 1 + * msg : + * data : [{"JHTITLE":"307B#3机组B级检修 ","FILEBAGTITLE":"油漆防腐项目作业指导书(第二版)","FILEBAGID":"587"},{"JHTITLE":"307B#3机组B级检修 ","FILEBAGTITLE":"保温施工项目作业指导书(第二版)","FILEBAGID":"588"}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * JHTITLE : 307B#3机组B级检修 + * FILEBAGTITLE : 油漆防腐项目作业指导书(第二版) + * FILEBAGID : 587 + */ + + private String JHTITLE; + private String FILEBAGTITLE; + private String FILEBAGID; + private String RWDS; + + public String getJHTITLE() { + return JHTITLE; + } + + public void setJHTITLE(String JHTITLE) { + this.JHTITLE = JHTITLE; + } + + public String getFILEBAGTITLE() { + return FILEBAGTITLE; + } + + public void setFILEBAGTITLE(String FILEBAGTITLE) { + this.FILEBAGTITLE = FILEBAGTITLE; + } + + public String getFILEBAGID() { + return FILEBAGID; + } + + public void setFILEBAGID(String FILEBAGID) { + this.FILEBAGID = FILEBAGID; + } + + public String getRWDS() { + return RWDS; + } + + public void setRWDS(String RWDS) { + this.RWDS = RWDS; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZjrwBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZjrwBean.java new file mode 100755 index 0000000..3ffde47 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZjrwBean.java @@ -0,0 +1,191 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/5/21. + */ + +public class ZjrwBean { + + + /** + * state : 0 + * msg : + * data : [{"RWID":"16","RWMC":"公共系统D级检修","RWST":"2017/10/1 0:00:00","RWET":"","YJWCSJ":"2017/10/10 0:00:00","RWLX":"D","RWZT":"0","TJR":"280517","TJSJ":"2017/9/20 10:47:39","XGR":"280517","XGSJ":"2017/9/20 10:47:39","BZSM":"","ZJJZ":"0","JXRWID":"156"},{"RWID":"17","RWMC":"307B#3机组B级检修","RWST":"2018/2/8 0:00:00","RWET":"","YJWCSJ":"2018/3/24 0:00:00","RWLX":"B","RWZT":"5","TJR":"280517","TJSJ":"2017/10/18 10:53:13","XGR":"280517","XGSJ":"2017/10/18 10:53:13","BZSM":"","ZJJZ":"3","JXRWID":"157"},{"RWID":"15","RWMC":"207C(C)#2机组C级检修","RWST":"2018/1/4 0:00:00","RWET":"","YJWCSJ":"2018/2/7 0:00:00","RWLX":"C","RWZT":"4","TJR":"280865","TJSJ":"2017/8/29 14:25:14","XGR":"280865","XGSJ":"2017/8/29 14:25:14","BZSM":"","ZJJZ":"2","JXRWID":"119"},{"RWID":"13","RWMC":"107C(C)#1机组C级检修","RWST":"2017/6/5 0:00:00","RWET":"","YJWCSJ":"2017/7/4 0:00:00","RWLX":"C","RWZT":"5","TJR":"280865","TJSJ":"2017/1/5 14:51:05","XGR":"280865","XGSJ":"2017/1/5 14:51:05","BZSM":"","ZJJZ":"1","JXRWID":"113"}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * RWID : 16 + * RWMC : 公共系统D级检修 + * RWST : 2017/10/1 0:00:00 + * RWET : + * YJWCSJ : 2017/10/10 0:00:00 + * RWLX : D + * RWZT : 0 + * TJR : 280517 + * TJSJ : 2017/9/20 10:47:39 + * XGR : 280517 + * XGSJ : 2017/9/20 10:47:39 + * BZSM : + * ZJJZ : 0 + * JXRWID : 156 + */ + + private String RWID; + private String RWMC; + private String RWST; + private String RWET; + private String YJWCSJ; + private String RWLX; + private String RWZT; + private String TJR; + private String TJSJ; + private String XGR; + private String XGSJ; + private String BZSM; + private String ZJJZ; + private String JXRWID; + + public String getRWID() { + return RWID; + } + + public void setRWID(String RWID) { + this.RWID = RWID; + } + + public String getRWMC() { + return RWMC; + } + + public void setRWMC(String RWMC) { + this.RWMC = RWMC; + } + + public String getRWST() { + return RWST; + } + + public void setRWST(String RWST) { + this.RWST = RWST; + } + + public String getRWET() { + return RWET; + } + + public void setRWET(String RWET) { + this.RWET = RWET; + } + + public String getYJWCSJ() { + return YJWCSJ; + } + + public void setYJWCSJ(String YJWCSJ) { + this.YJWCSJ = YJWCSJ; + } + + public String getRWLX() { + return RWLX; + } + + public void setRWLX(String RWLX) { + this.RWLX = RWLX; + } + + public String getRWZT() { + return RWZT; + } + + public void setRWZT(String RWZT) { + this.RWZT = RWZT; + } + + public String getTJR() { + return TJR; + } + + public void setTJR(String TJR) { + this.TJR = TJR; + } + + public String getTJSJ() { + return TJSJ; + } + + public void setTJSJ(String TJSJ) { + this.TJSJ = TJSJ; + } + + public String getXGR() { + return XGR; + } + + public void setXGR(String XGR) { + this.XGR = XGR; + } + + public String getXGSJ() { + return XGSJ; + } + + public void setXGSJ(String XGSJ) { + this.XGSJ = XGSJ; + } + + public String getBZSM() { + return BZSM; + } + + public void setBZSM(String BZSM) { + this.BZSM = BZSM; + } + + public String getZJJZ() { + return ZJJZ; + } + + public void setZJJZ(String ZJJZ) { + this.ZJJZ = ZJJZ; + } + + public String getJXRWID() { + return JXRWID; + } + + public void setJXRWID(String JXRWID) { + this.JXRWID = JXRWID; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZjrwdetailBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZjrwdetailBean.java new file mode 100755 index 0000000..1ee726b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZjrwdetailBean.java @@ -0,0 +1,217 @@ +package com.rehome.bhdxj.bean; + +import java.util.List; + +/** + * Created by ruihong on 2018/7/17. + */ + +public class ZjrwdetailBean { + + + /** + * state : 0 + * msg : + * data : [{"TITLE":"油漆防腐项目作业指导书(第二版)","BAGID":"587","NAME":"停工待检点H-2","PROUSERID":"280865","PROUSERNAME":"黎立威","TYPE":"H","ISWC":"1","WCINTRO":"","SBWCLIST":[{"SBNAME":"凝汽器后水室底板生锈做防腐","SBID":"210","ISBHG":"Y","EXCEPTNAME":"否","ISWC":"10","WCNAME":"是","ID":"210"},{"SBNAME":"凝汽器后水室大盖螺栓防腐","SBID":"211","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"211"},{"SBNAME":"凝汽器前水室大盖螺栓部分防腐","SBID":"212","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"212"},{"SBNAME":"凝汽器排污坑平台做防腐","SBID":"213","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"213"},{"SBNAME":"胶球泵集球器底座防腐","SBID":"214","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"214"},{"SBNAME":"机6.5m凝汽器东侧部分栏杆防腐","SBID":"215","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"215"},{"SBNAME":"机凝汽器负一层平台槽钢做防腐 ","SBID":"216","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"216"},{"SBNAME":"循环水进口拦污栅及槽道防腐","SBID":"217","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"217"},{"SBNAME":"循环水旋转滤网及槽道防腐","SBID":"218","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"218"},{"SBNAME":"循环水泵及外筒体防腐","SBID":"219","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"219"},{"SBNAME":"循环水出口母管防腐","SBID":"220","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"220"},{"SBNAME":"冲洗水泵外筒体及基础台板防腐","SBID":"221","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"221"},{"SBNAME":"机主调压段管道系统(地面管道)防腐 ","SBID":"222","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"222"},{"SBNAME":"炉炉底和炉顶超温部分防腐","SBID":"223","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"223"},{"SBNAME":"炉炉墙检修部位防腐","SBID":"224","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"224"},{"SBNAME":"炉低温汽水管道防腐","SBID":"225","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"225"},{"SBNAME":"燃机进气蜗壳防腐","SBID":"226","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"226"},{"SBNAME":"主变厂高变局部防腐","SBID":"227","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"227"},{"SBNAME":"燃机进气室内部全面油漆防腐","SBID":"228","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"228"},{"SBNAME":"汽机房6.5米钢梁,凝汽器底部及周围钢梁油漆防腐","SBID":"229","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"229"},{"SBNAME":"电气包、热控包周围盖板油漆防腐","SBID":"230","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"230"},{"SBNAME":"燃机排气段外表锈蚀严重部位局部油漆防腐","SBID":"231","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"231"},{"SBNAME":"循环水泵房区域设备检修后特殊防腐","SBID":"232","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"232"},{"SBNAME":"FSC谐波滤波柜及#2主变及高厂变局部防腐","SBID":"233","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"233"},{"SBNAME":"TCA项部根据锈蚀情况局部高温漆防腐","SBID":"234","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"234"},{"SBNAME":"炉顶消音器根据锈蚀情况进行油漆防腐","SBID":"235","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"235"},{"SBNAME":"余热锅炉底部局部高温漆防腐","SBID":"236","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"236"},{"SBNAME":"烟囱旁排气管高温漆防腐","SBID":"237","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"237"}]}] + */ + + private int state; + private String msg; + private List data; + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * TITLE : 油漆防腐项目作业指导书(第二版) + * BAGID : 587 + * NAME : 停工待检点H-2 + * PROUSERID : 280865 + * PROUSERNAME : 黎立威 + * TYPE : H + * ISWC : 1 + * WCINTRO : + * SBWCLIST : [{"SBNAME":"凝汽器后水室底板生锈做防腐","SBID":"210","ISBHG":"Y","EXCEPTNAME":"否","ISWC":"10","WCNAME":"是","ID":"210"},{"SBNAME":"凝汽器后水室大盖螺栓防腐","SBID":"211","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"211"},{"SBNAME":"凝汽器前水室大盖螺栓部分防腐","SBID":"212","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"212"},{"SBNAME":"凝汽器排污坑平台做防腐","SBID":"213","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"213"},{"SBNAME":"胶球泵集球器底座防腐","SBID":"214","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"214"},{"SBNAME":"机6.5m凝汽器东侧部分栏杆防腐","SBID":"215","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"215"},{"SBNAME":"机凝汽器负一层平台槽钢做防腐 ","SBID":"216","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"216"},{"SBNAME":"循环水进口拦污栅及槽道防腐","SBID":"217","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"217"},{"SBNAME":"循环水旋转滤网及槽道防腐","SBID":"218","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"218"},{"SBNAME":"循环水泵及外筒体防腐","SBID":"219","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"219"},{"SBNAME":"循环水出口母管防腐","SBID":"220","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"220"},{"SBNAME":"冲洗水泵外筒体及基础台板防腐","SBID":"221","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"221"},{"SBNAME":"机主调压段管道系统(地面管道)防腐 ","SBID":"222","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"222"},{"SBNAME":"炉炉底和炉顶超温部分防腐","SBID":"223","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"223"},{"SBNAME":"炉炉墙检修部位防腐","SBID":"224","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"224"},{"SBNAME":"炉低温汽水管道防腐","SBID":"225","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"225"},{"SBNAME":"燃机进气蜗壳防腐","SBID":"226","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"226"},{"SBNAME":"主变厂高变局部防腐","SBID":"227","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"227"},{"SBNAME":"燃机进气室内部全面油漆防腐","SBID":"228","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"228"},{"SBNAME":"汽机房6.5米钢梁,凝汽器底部及周围钢梁油漆防腐","SBID":"229","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"229"},{"SBNAME":"电气包、热控包周围盖板油漆防腐","SBID":"230","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"230"},{"SBNAME":"燃机排气段外表锈蚀严重部位局部油漆防腐","SBID":"231","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"231"},{"SBNAME":"循环水泵房区域设备检修后特殊防腐","SBID":"232","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"232"},{"SBNAME":"FSC谐波滤波柜及#2主变及高厂变局部防腐","SBID":"233","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"233"},{"SBNAME":"TCA项部根据锈蚀情况局部高温漆防腐","SBID":"234","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"234"},{"SBNAME":"炉顶消音器根据锈蚀情况进行油漆防腐","SBID":"235","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"235"},{"SBNAME":"余热锅炉底部局部高温漆防腐","SBID":"236","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"236"},{"SBNAME":"烟囱旁排气管高温漆防腐","SBID":"237","ISBHG":"","EXCEPTNAME":"否","ISWC":"0","WCNAME":"否","ID":"237"}] + */ + + private String TITLE; + private String BAGID; + private String NAME; + private String PROUSERID; + private String PROUSERNAME; + private String TYPE; + private String ISWC; + private String WCINTRO; + private List SBWCLIST; + + public String getTITLE() { + return TITLE; + } + + public void setTITLE(String TITLE) { + this.TITLE = TITLE; + } + + public String getBAGID() { + return BAGID; + } + + public void setBAGID(String BAGID) { + this.BAGID = BAGID; + } + + public String getNAME() { + return NAME; + } + + public void setNAME(String NAME) { + this.NAME = NAME; + } + + public String getPROUSERID() { + return PROUSERID; + } + + public void setPROUSERID(String PROUSERID) { + this.PROUSERID = PROUSERID; + } + + public String getPROUSERNAME() { + return PROUSERNAME; + } + + public void setPROUSERNAME(String PROUSERNAME) { + this.PROUSERNAME = PROUSERNAME; + } + + public String getTYPE() { + return TYPE; + } + + public void setTYPE(String TYPE) { + this.TYPE = TYPE; + } + + public String getISWC() { + return ISWC; + } + + public void setISWC(String ISWC) { + this.ISWC = ISWC; + } + + public String getWCINTRO() { + return WCINTRO; + } + + public void setWCINTRO(String WCINTRO) { + this.WCINTRO = WCINTRO; + } + + public List getSBWCLIST() { + return SBWCLIST; + } + + public void setSBWCLIST(List SBWCLIST) { + this.SBWCLIST = SBWCLIST; + } + + public static class SBWCLISTBean { + /** + * SBNAME : 凝汽器后水室底板生锈做防腐 + * SBID : 210 + * ISBHG : Y + * EXCEPTNAME : 否 + * ISWC : 10 + * WCNAME : 是 + * ID : 210 + */ + + private String SBNAME; + private String SBID; + private String ISBHG; + private String EXCEPTNAME; + private String ISWC; + private String WCNAME; + private String ID; + + public String getSBNAME() { + return SBNAME; + } + + public void setSBNAME(String SBNAME) { + this.SBNAME = SBNAME; + } + + public String getSBID() { + return SBID; + } + + public void setSBID(String SBID) { + this.SBID = SBID; + } + + public String getISBHG() { + return ISBHG; + } + + public void setISBHG(String ISBHG) { + this.ISBHG = ISBHG; + } + + public String getEXCEPTNAME() { + return EXCEPTNAME; + } + + public void setEXCEPTNAME(String EXCEPTNAME) { + this.EXCEPTNAME = EXCEPTNAME; + } + + public String getISWC() { + return ISWC; + } + + public void setISWC(String ISWC) { + this.ISWC = ISWC; + } + + public String getWCNAME() { + return WCNAME; + } + + public void setWCNAME(String WCNAME) { + this.WCNAME = WCNAME; + } + + public String getID() { + return ID; + } + + public void setID(String ID) { + this.ID = ID; + } + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZkdInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZkdInfo.java new file mode 100755 index 0000000..122a69d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/ZkdInfo.java @@ -0,0 +1,101 @@ +package com.rehome.bhdxj.bean; + +/** + * 质控点bean + */ +public class ZkdInfo { + + private int xh; + private String gx; + private String zt; + private String fl; + private String aj; + private String bj; + private String cj; + private String jl; + + /** + * @param xh 序号 + * @param gx 工序 + * @param zt 状态 + * @param fl 质控点分类 + * @param aj A级质检员 + * @param bj B级质检员 + * @param cj C级质检员 + * @param jl 监理工程师 + */ + public ZkdInfo(int xh, String gx, String zt, String fl, String aj, String bj, String cj, String jl) { + this.xh = xh; + this.gx = gx; + this.zt = zt; + this.fl = fl; + this.aj = aj; + this.bj = bj; + this.cj = cj; + this.jl = jl; + } + + public int getXh() { + return xh; + } + + public void setXh(int xh) { + this.xh = xh; + } + + public String getGx() { + return gx; + } + + public void setGx(String gx) { + this.gx = gx; + } + + public String getZt() { + return zt; + } + + public void setZt(String zt) { + this.zt = zt; + } + + public String getFl() { + return fl; + } + + public void setFl(String fl) { + this.fl = fl; + } + + public String getAj() { + return aj; + } + + public void setAj(String aj) { + this.aj = aj; + } + + public String getBj() { + return bj; + } + + public void setBj(String bj) { + this.bj = bj; + } + + public String getCj() { + return cj; + } + + public void setCj(String cj) { + this.cj = cj; + } + + public String getJl() { + return jl; + } + + public void setJl(String jl) { + this.jl = jl; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/djuploadrzRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/djuploadrzRequestBean.java new file mode 100755 index 0000000..3440aa8 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/djuploadrzRequestBean.java @@ -0,0 +1,108 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/3/23. + */ + +public class djuploadrzRequestBean { + + private String Action; + private String GWID; + private String YHID; + private String RZID; + private String DJQK; + private String DXQK; + private String QXQK; + private String SBTFYQK; + private String BPXHQK; + private String FXHJY; + private String JS; + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getGWID() { + return GWID; + } + + public void setGWID(String GWID) { + this.GWID = GWID; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getRZID() { + return RZID; + } + + public void setRZID(String RZID) { + this.RZID = RZID; + } + + public String getDJQK() { + return DJQK; + } + + public void setDJQK(String DJQK) { + this.DJQK = DJQK; + } + + public String getDXQK() { + return DXQK; + } + + public void setDXQK(String DXQK) { + this.DXQK = DXQK; + } + + public String getQXQK() { + return QXQK; + } + + public void setQXQK(String QXQK) { + this.QXQK = QXQK; + } + + public String getSBTFYQK() { + return SBTFYQK; + } + + public void setSBTFYQK(String SBTFYQK) { + this.SBTFYQK = SBTFYQK; + } + + public String getBPXHQK() { + return BPXHQK; + } + + public void setBPXHQK(String BPXHQK) { + this.BPXHQK = BPXHQK; + } + + public String getFXHJY() { + return FXHJY; + } + + public void setFXHJY(String FXHJY) { + this.FXHJY = FXHJY; + } + + public String getJS() { + return JS; + } + + public void setJS(String JS) { + this.JS = JS; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/qfbpbjRequestBean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/qfbpbjRequestBean.java new file mode 100755 index 0000000..fcd980a --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/qfbpbjRequestBean.java @@ -0,0 +1,55 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/3/23. + */ + +public class qfbpbjRequestBean { + + private String Action; + private String YHID; + private String WZBM; + private String WZMC; + private String CKH; + + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getWZBM() { + return WZBM; + } + + public void setWZBM(String WZBM) { + this.WZBM = WZBM; + } + + public String getWZMC() { + return WZMC; + } + + public void setWZMC(String WZMC) { + this.WZMC = WZMC; + } + + public String getCKH() { + return CKH; + } + + public void setCKH(String CKH) { + this.CKH = CKH; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/sbInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/sbInfo.java new file mode 100755 index 0000000..b5b3fc8 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/sbInfo.java @@ -0,0 +1,76 @@ +package com.rehome.bhdxj.bean; + +import android.os.Parcel; +import android.os.Parcelable; + + +public class sbInfo implements Parcelable { + + private int xh; + private String qybh; + private String sbmc; + private String sbid; + private String sbstate; + public int getXh() { + return xh; + } + public void setXh(int xh) { + this.xh = xh; + } + public String getQybh() { + return qybh; + } + public void setQybh(String qybh) { + this.qybh = qybh; + } + public String getSbmc() { + return sbmc; + } + public void setSbmc(String sbmc) { + this.sbmc = sbmc; + } + public String getSbid() { + return sbid; + } + public void setSbid(String sbid) { + this.sbid = sbid; + } + public String getSbstate() { + return sbstate; + } + public void setSbstate(String sbstate) { + this.sbstate = sbstate; + } + @Override + public int describeContents() { + return 0; + } + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.xh); + dest.writeString(this.sbmc); + dest.writeString(this.sbid); + dest.writeString(this.qybh); + dest.writeString(this.sbstate); + } + public sbInfo() { + } + protected sbInfo(Parcel in) { + this.xh = in.readInt(); + this.sbmc = in.readString(); + this.sbid = in.readString(); + this.qybh = in.readString(); + this.sbstate = in.readString(); + } + public static final Creator CREATOR = new Creator() { + @Override + public sbInfo createFromParcel(Parcel source) { + return new sbInfo(source); + } + + @Override + public sbInfo[] newArray(int size) { + return new sbInfo[size]; + } + }; +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/xjsbInfo.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/xjsbInfo.java new file mode 100755 index 0000000..55d4988 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/xjsbInfo.java @@ -0,0 +1,35 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by Administrator on 2016/8/22. + */ +public class xjsbInfo { + + private int xh; + private String sbmc; + private String sbstate; + + public int getXh() { + return xh; + } + + public void setXh(int xh) { + this.xh = xh; + } + + public String getSbmc() { + return sbmc; + } + + public void setSbmc(String sbmc) { + this.sbmc = sbmc; + } + + public String getSbstate() { + return sbstate; + } + + public void setSbstate(String sbstate) { + this.sbstate = sbstate; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/zdybean.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/zdybean.java new file mode 100755 index 0000000..c78fb94 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bean/zdybean.java @@ -0,0 +1,162 @@ +package com.rehome.bhdxj.bean; + +/** + * Created by ruihong on 2018/7/23. + */ + +public class zdybean { + + private String Action; + private String GZDH; + private String GZZT; + private String GZLY; + private String SBBH; + private String SBMC; + private String GZMS; + private String QXMS; + private String GZYXJ; + private String GZXZ; + private String TJR; + private String CHR; + private String BHBH; + private String ZRBM; + private String YHID; + private String JXBZ; + private String GZFZR; + + public String getAction() { + return Action; + } + + public void setAction(String action) { + Action = action; + } + + public String getGZDH() { + return GZDH; + } + + public void setGZDH(String GZDH) { + this.GZDH = GZDH; + } + + public String getGZZT() { + return GZZT; + } + + public void setGZZT(String GZZT) { + this.GZZT = GZZT; + } + + public String getGZLY() { + return GZLY; + } + + public void setGZLY(String GZLY) { + this.GZLY = GZLY; + } + + public String getSBBH() { + return SBBH; + } + + public void setSBBH(String SBBH) { + this.SBBH = SBBH; + } + + public String getSBMC() { + return SBMC; + } + + public void setSBMC(String SBMC) { + this.SBMC = SBMC; + } + + public String getGZMS() { + return GZMS; + } + + public void setGZMS(String GZMS) { + this.GZMS = GZMS; + } + + public String getQXMS() { + return QXMS; + } + + public void setQXMS(String QXMS) { + this.QXMS = QXMS; + } + + public String getGZYXJ() { + return GZYXJ; + } + + public void setGZYXJ(String GZYXJ) { + this.GZYXJ = GZYXJ; + } + + public String getGZXZ() { + return GZXZ; + } + + public void setGZXZ(String GZXZ) { + this.GZXZ = GZXZ; + } + + public String getTJR() { + return TJR; + } + + public void setTJR(String TJR) { + this.TJR = TJR; + } + + public String getCHR() { + return CHR; + } + + public void setCHR(String CHR) { + this.CHR = CHR; + } + + public String getBHBH() { + return BHBH; + } + + public void setBHBH(String BHBH) { + this.BHBH = BHBH; + } + + public String getZRBM() { + return ZRBM; + } + + public void setZRBM(String ZRBM) { + this.ZRBM = ZRBM; + } + + public String getYHID() { + return YHID; + } + + public void setYHID(String YHID) { + this.YHID = YHID; + } + + public String getJXBZ() { + return JXBZ; + } + + public void setJXBZ(String JXBZ) { + this.JXBZ = JXBZ; + } + + public String getGZFZR() { + return GZFZR; + } + + public void setGZFZR(String GZFZR) { + this.GZFZR = GZFZR; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bleUtil/BlueTestInfoActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bleUtil/BlueTestInfoActivity.java new file mode 100644 index 0000000..fd8f5ee --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bleUtil/BlueTestInfoActivity.java @@ -0,0 +1,402 @@ +package com.rehome.bhdxj.bleUtil; + + +import android.Manifest; +import android.app.Activity; +import android.bluetooth.BluetoothAdapter; +import android.bluetooth.BluetoothDevice; +import android.bluetooth.BluetoothManager; +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.ServiceConnection; +import android.content.pm.PackageManager; +import android.graphics.Color; +import android.os.Build; +import android.os.Handler; +import android.os.IBinder; +import android.util.Log; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; +import com.google.gson.Gson; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.BaseActivity3; +import java.util.ArrayList; +import androidx.annotation.NonNull; +import androidx.core.app.ActivityCompat; + + +public class BlueTestInfoActivity extends BaseActivity3 { + + ListView lv; + TextView txData; + TextView ztData; + + private LeDeviceListAdapter mLeDeviceListAdapter; + private BluetoothAdapter mBluetoothAdapter; + private boolean mScanning; + private Handler mHandler; + private static final int REQUEST_ENABLE_BT = 1; + private static final long SCAN_PERIOD = 10000; + private static final int REQUEST_CODE_ACCESS_COARSE_LOCATION = 123; + private boolean initconn = false; + private String mDeviceAddress; + private BluetoothLeService mBluetoothLeService; + private boolean mConnected = false; + private ArrayList mPermissionList = new ArrayList(); + + @Override + public int getLayoutId() { + return R.layout.activity_bluetoothlist; + } + + + @Override + public void initView() { + initToolbar("蓝牙数据管理", "扫描并确认", new View.OnClickListener() { + @Override + public void onClick(View v) { + mLeDeviceListAdapter.clear(); + mLeDeviceListAdapter.notifyDataSetChanged(); + scanLeDevice(true); + } + }); + lv = findViewById(R.id.lv); + txData = findViewById(R.id.tx_data); + ztData = findViewById(R.id.zt_data); + } + + @Override + public void initData() { + initPermission(); + mHandler = new Handler(); + if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) { + Toast.makeText(this, R.string.ble_not_supported, Toast.LENGTH_SHORT).show(); + finish(); + } + final BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); + mBluetoothAdapter = bluetoothManager.getAdapter(); + + if (mBluetoothAdapter == null) { + Toast.makeText(this, R.string.error_bluetooth_not_supported, Toast.LENGTH_SHORT).show(); + finish(); + return; + } + setAdapter(); + registerReceiver(mGattUpdateReceiver, makeGattUpdateIntentFilter()); + Intent gattServiceIntent = new Intent(BlueTestInfoActivity.this, BluetoothLeService.class); + bindService(gattServiceIntent, mServiceConnection, BIND_AUTO_CREATE); + initconn = true; + } + + // todo 蓝牙动态申请权限 + private void initPermission(){ + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){ + // Android 版本大于等于 Android12 时 + // 只包括蓝牙这部分的权限,其余的需要什么权限自己添加 + mPermissionList.add(Manifest.permission.BLUETOOTH_SCAN); + mPermissionList.add(Manifest.permission.BLUETOOTH_ADVERTISE); + mPermissionList.add(Manifest.permission.BLUETOOTH_CONNECT); + } else { + // Android 版本小于 Android12 及以下版本 + mPermissionList.add(Manifest.permission.ACCESS_COARSE_LOCATION); + mPermissionList.add(Manifest.permission.ACCESS_FINE_LOCATION); + } + Log.i("app",new Gson().toJson(mPermissionList.toArray(new String[0]))); + ActivityCompat.requestPermissions(this,mPermissionList.toArray(new String[0]),1001); + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + Log.i("app","onRequestPermissionsResult"); + Log.i("app",String.valueOf(grantResults.length)); + Log.i("app",new Gson().toJson(grantResults)); + boolean hasGrant = true; + for (int grantResult : grantResults) { + if (grantResult != 0) { + //未授权 + hasGrant = false; + break; + } + } + if(hasGrant){ + //已授权 + scanLeDevice(true); + }else{ + showToast("您未授权开启蓝牙连接到Blue设备,请先开启权限"); + } + } + + @Override + protected void onResume() { + super.onResume(); + if (!mBluetoothAdapter.isEnabled()) { + if (!mBluetoothAdapter.isEnabled()) { + Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + return; + } + startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); + } + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (requestCode == REQUEST_ENABLE_BT && resultCode == Activity.RESULT_CANCELED) { + finish(); + return; + } + super.onActivityResult(requestCode, resultCode, data); + } + + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + finish(); + return true; + } + return super.onKeyDown(keyCode, event); + } + + private void scanLeDevice(final boolean enable) { + if (enable) { + mHandler.postDelayed(() -> { + mScanning = false; + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_SCAN) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + return; + } + mBluetoothAdapter.stopLeScan(mLeScanCallback); + }, SCAN_PERIOD); + + mScanning = true; + mBluetoothAdapter.startLeScan(mLeScanCallback); + } else { + mScanning = false; + mBluetoothAdapter.stopLeScan(mLeScanCallback); + } + } + + //扫描到每台设备后调用回调函数callback. + private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() { + @Override + public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) { + runOnUiThread(() -> { + mLeDeviceListAdapter.addDevice(device); + mLeDeviceListAdapter.notifyDataSetChanged(); + }); + } + }; + + private void setAdapter() { + mLeDeviceListAdapter = new LeDeviceListAdapter(); + lv.setAdapter(mLeDeviceListAdapter); + lv.setOnItemClickListener((parent, view, position, id) -> { + final BluetoothDevice device = mLeDeviceListAdapter.getDevice(position); + if (device == null) return; + if (mScanning) { + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_SCAN) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + return; + } + mBluetoothAdapter.stopLeScan(mLeScanCallback); + mScanning = false; + } + + mDeviceAddress = device.getAddress(); + mLeDeviceListAdapter.setSelectItem(position);//记载当前点击选中的节点position,为了变色 + mLeDeviceListAdapter.notifyDataSetChanged(); + + if (initconn) { + if (!mConnected) mBluetoothLeService.connect(mDeviceAddress); + } else { + registerReceiver(mGattUpdateReceiver, makeGattUpdateIntentFilter()); + Intent gattServiceIntent = new Intent(BlueTestInfoActivity.this, BluetoothLeService.class); + bindService(gattServiceIntent, mServiceConnection, BIND_AUTO_CREATE); + initconn = true; + } + }); + } + + private class LeDeviceListAdapter extends BaseAdapter { + private class ViewHolder { + TextView deviceName; + } + + private ArrayList mLeDevices; + private LayoutInflater mInflator; + + public LeDeviceListAdapter() { + super(); + mLeDevices = new ArrayList(); + mInflator = BlueTestInfoActivity.this.getLayoutInflater(); + } + + public void addDevice(BluetoothDevice device) { + if (!mLeDevices.contains(device)) { + mLeDevices.add(device); + } + } + + public BluetoothDevice getDevice(int position) { + return mLeDevices.get(position); + } + + public void clear() { + mLeDevices.clear(); + } + + @Override + public int getCount() { + return mLeDevices.size(); + } + + @Override + public Object getItem(int i) { + return mLeDevices.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + ViewHolder viewHolder; + if (view == null) { + view = mInflator.inflate(R.layout.listitem_device, null); + viewHolder = new ViewHolder(); + viewHolder.deviceName = view.findViewById(R.id.device_name); + view.setTag(viewHolder); + } else { + viewHolder = (ViewHolder) view.getTag(); + } + + BluetoothDevice device = mLeDevices.get(i); + if (ActivityCompat.checkSelfPermission(context, Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + return null; + } + final String deviceName = device.getName(); + if (deviceName != null && deviceName.length() > 0) + viewHolder.deviceName.setText(deviceName); + else + viewHolder.deviceName.setText(R.string.unknown_device); + //当前点击选中的变色 + if (i == selectItem) { + viewHolder.deviceName.getPaint().setFakeBoldText(true); + viewHolder.deviceName.setTextColor(Color.parseColor("#00FF7F"));//连接之后的颜色 + } else { + viewHolder.deviceName.getPaint().setFakeBoldText(false); + viewHolder.deviceName.setTextColor(Color.parseColor("#000000")); + } + return view; + } + + public void setSelectItem(int selectItem) { + this.selectItem = selectItem; + } + + private int selectItem = -1; + } + + + private final ServiceConnection mServiceConnection = new ServiceConnection() { + @Override + public void onServiceConnected(ComponentName componentName, IBinder service) { + mBluetoothLeService = ((BluetoothLeService.LocalBinder) service).getService(); + if (!mBluetoothLeService.initialize()) { + finish(); + } + mBluetoothLeService.connect(mDeviceAddress); + } + + @Override + public void onServiceDisconnected(ComponentName componentName) { + mBluetoothLeService = null; + } + }; + private final BroadcastReceiver mGattUpdateReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + final String action = intent.getAction(); + if (BluetoothLeService.ACTION_GATT_CONNECTED.equals(action)) { + mConnected = true; + ztData.setText("蓝牙状态:已连接"); + } else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action)) { + mConnected = false; + ztData.setText("蓝牙状态:已断开"); + } else if (BluetoothLeService.ACTION_GATT_SERVICES_DISCOVERED.equals(action)) { + ztData.setText("蓝牙状态:已连接,仪器准备就绪"); + } else if (BluetoothLeService.ACTION_DATA_AVAILABLE.equals(action)) { + String Data = ""; + String BleData = intent.getStringExtra(BluetoothLeService.EXTRA_DATA); + String type = BleData.substring(0, 1); + if (type.equals("T")) { + Data = "温度:" + BleData.substring(2, 6); + } else { + Data = "震动:" + BleData.substring(2, 6); + } + txData.setText(Data); + + } + } + }; + + + static IntentFilter makeGattUpdateIntentFilter() { + final IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction(BluetoothLeService.ACTION_GATT_CONNECTED); + intentFilter.addAction(BluetoothLeService.ACTION_GATT_DISCONNECTED); + intentFilter.addAction(BluetoothLeService.ACTION_GATT_SERVICES_DISCOVERED); + intentFilter.addAction(BluetoothLeService.ACTION_DATA_AVAILABLE); + return intentFilter; + } + + @Override + protected void onDestroy() { + scanLeDevice(false); + mLeDeviceListAdapter.clear(); + unbindService(mServiceConnection); + unregisterReceiver(mGattUpdateReceiver); + super.onDestroy(); + } + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/bleUtil/BluetoothLeService.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bleUtil/BluetoothLeService.java new file mode 100644 index 0000000..258fec4 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/bleUtil/BluetoothLeService.java @@ -0,0 +1,277 @@ +package com.rehome.bhdxj.bleUtil; + + +import android.app.Service; +import android.bluetooth.BluetoothAdapter; +import android.bluetooth.BluetoothDevice; +import android.bluetooth.BluetoothGatt; +import android.bluetooth.BluetoothGattCallback; +import android.bluetooth.BluetoothGattCharacteristic; +import android.bluetooth.BluetoothGattService; +import android.bluetooth.BluetoothManager; +import android.bluetooth.BluetoothProfile; +import android.content.Context; +import android.content.Intent; +import android.os.Binder; +import android.os.IBinder; +import android.util.Log; + +import java.util.List; +import java.util.UUID; + + +public class BluetoothLeService extends Service { + + private final static String TAG = BluetoothLeService.class.getSimpleName(); + + private BluetoothManager mBluetoothManager; + private BluetoothAdapter mBluetoothAdapter; + private String mBluetoothDeviceAddress; + private BluetoothGatt mBluetoothGatt; + private int mConnectionState = STATE_DISCONNECTED; + + private static final int STATE_DISCONNECTED = 0; + private static final int STATE_CONNECTING = 1; + private static final int STATE_CONNECTED = 2; + + public final static String ACTION_GATT_CONNECTED = + "com.example.bluetooth.le.ACTION_GATT_CONNECTED"; + public final static String ACTION_GATT_DISCONNECTED = + "com.example.bluetooth.le.ACTION_GATT_DISCONNECTED"; + public final static String ACTION_GATT_SERVICES_DISCOVERED = + "com.example.bluetooth.le.ACTION_GATT_SERVICES_DISCOVERED"; + public final static String ACTION_DATA_AVAILABLE = + "com.example.bluetooth.le.ACTION_DATA_AVAILABLE"; + public final static String EXTRA_DATA = + "com.example.bluetooth.le.EXTRA_DATA"; + + + + // Implements callback methods for GATT events that the app cares about. For example, + // connection change and services discovered. + private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() { + @Override + public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { + String intentAction; + if (newState == BluetoothProfile.STATE_CONNECTED) { + intentAction = ACTION_GATT_CONNECTED; + mConnectionState = STATE_CONNECTED; + broadcastUpdate(intentAction); + Log.i(TAG, "Connected to GATT server."); + // Attempts to discover services after successful connection. + Log.i(TAG, "Attempting to start service discovery:" + + mBluetoothGatt.discoverServices()); + + } else if (newState == BluetoothProfile.STATE_DISCONNECTED) { + intentAction = ACTION_GATT_DISCONNECTED; + mConnectionState = STATE_DISCONNECTED; + Log.i(TAG, "Disconnected from GATT server."); + broadcastUpdate(intentAction); + } + } + + @Override + public void onServicesDiscovered(BluetoothGatt gatt, int status) { + if (status == BluetoothGatt.GATT_SUCCESS) { + broadcastUpdate(ACTION_GATT_SERVICES_DISCOVERED); + ////tsp默认选择一个地址 + BluetoothGattCharacteristic characteristic1= + gatt.getService(UUID.fromString("0000ffe0-0000-1000-8000-00805f9b34fb")).getCharacteristic(UUID.fromString("0000ffe4-0000-1000-8000-00805f9b34fb")); + setCharacteristicNotification(characteristic1,true); + } else { + Log.w(TAG, "onServicesDiscovered received: " + status); + } + } + + @Override + public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) { + if (status == BluetoothGatt.GATT_SUCCESS) { + broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic); + } + } + + @Override + public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) { + broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic); + } + @Override + public void onCharacteristicWrite (BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status){ + + } + }; + + private void broadcastUpdate(final String action) { + final Intent intent = new Intent(action); + sendBroadcast(intent); + } + + //收到数据后,触发广播 + private void broadcastUpdate(final String action, final BluetoothGattCharacteristic characteristic) { + final Intent intent = new Intent(action); + // For all other profiles, writes the data formatted in HEX. + final byte[] data = characteristic.getValue(); + if (data != null && data.length > 0) { + final StringBuilder stringBuilder = new StringBuilder(data.length); + for(byte byteChar : data) + stringBuilder.append(String.format("%02X ", byteChar)); + intent.putExtra(EXTRA_DATA, new String(data) + "\n" + stringBuilder.toString()); + } + sendBroadcast(intent); + } + + public class LocalBinder extends Binder { + public BluetoothLeService getService() { + return BluetoothLeService.this; + } + } + + @Override + public IBinder onBind(Intent intent) { + return mBinder; + } + + @Override + public boolean onUnbind(Intent intent) { + // After using a given device, you should make sure that BluetoothGatt.close() is called + // such that resources are cleaned up properly. In this particular example, close() is + // invoked when the UI is disconnected from the Service. +// close(); + return super.onUnbind(intent); + } + + private final IBinder mBinder = new LocalBinder(); + + /** + * Initializes a reference to the local Bluetooth adapter. + * + * @return Return true if the initialization is successful. + */ + public boolean initialize() { + // For API level 18 and above, get a reference to BluetoothAdapter through + // BluetoothManager. + if (mBluetoothManager == null) { + mBluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); + if (mBluetoothManager == null) { + Log.e(TAG, "Unable to initialize BluetoothManager."); + return false; + } + } + + mBluetoothAdapter = mBluetoothManager.getAdapter(); + if (mBluetoothAdapter == null) { + Log.e(TAG, "Unable to obtain a BluetoothAdapter."); + return false; + } + + return true; + } + + /** + * Connects to the GATT server hosted on the Bluetooth LE device. + * + * @param address The device address of the destination device. + * + * @return Return true if the connection is initiated successfully. The connection result + * is reported asynchronously through the + * {@code BluetoothGattCallback#onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)} + * callback. + */ + public boolean connect(final String address) {//连接设备 + if (mBluetoothAdapter == null || address == null) { + Log.w(TAG, "BluetoothAdapter not initialized or unspecified address."); + return false; + } + + // Previously connected device. Try to reconnect. + if (mBluetoothDeviceAddress != null && address.equals(mBluetoothDeviceAddress)&& mBluetoothGatt != null) { + Log.d(TAG, "Trying to use an existing mBluetoothGatt for connection."); + if (mBluetoothGatt.connect()) { + mConnectionState = STATE_CONNECTING; + return true; + } else { + return false; + } + } + + final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address); + if (device == null) { + Log.w(TAG, "Device not found. Unable to connect."); + return false; + } + // We want to directly connect to the device, so we are setting the autoConnect + // parameter to false. + mBluetoothGatt = device.connectGatt(this, false, mGattCallback); + Log.d(TAG, "Trying to create a new connection."); + mBluetoothDeviceAddress = address; + mConnectionState = STATE_CONNECTING; + return true; + } + + /** + * Disconnects an existing connection or cancel a pending connection. The disconnection result + * is reported asynchronously through the + * {@code BluetoothGattCallback#onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)} + * callback. + */ + public void disconnect() { + if (mBluetoothAdapter == null || mBluetoothGatt == null) { + Log.w(TAG, "BluetoothAdapter not initialized"); + return; + } + mBluetoothGatt.disconnect(); + } + + /** + * After using a given BLE device, the app must call this method to ensure resources are + * released properly. + */ + public void close() { + if (mBluetoothGatt == null) { + return; + } + mBluetoothGatt.close(); + mBluetoothGatt = null; + } + + /** + * Request a read on a given {@code BluetoothGattCharacteristic}. The read result is reported + * asynchronously through the {@code BluetoothGattCallback#onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int)} + * callback. + * + * @param characteristic The characteristic to read from. + */ + public void readCharacteristic(BluetoothGattCharacteristic characteristic) { + if (mBluetoothAdapter == null || mBluetoothGatt == null) { + Log.w(TAG, "BluetoothAdapter not initialized"); + return; + } + mBluetoothGatt.readCharacteristic(characteristic); + } + public void writeCharacteristic(BluetoothGattCharacteristic characteristic) { + if (mBluetoothAdapter == null || mBluetoothGatt == null) { + Log.w(TAG, "BluetoothAdapter not initialized"); + return; + } + mBluetoothGatt.writeCharacteristic(characteristic); + } + /** + * Enables or disables notification on a give characteristic. + * + * @param characteristic Characteristic to act on. + * @param enabled If true, enable notification. False otherwise. + */ + //选择地址 + public void setCharacteristicNotification(BluetoothGattCharacteristic characteristic, boolean enabled) { + if (mBluetoothAdapter == null || mBluetoothGatt == null) { + Log.w(TAG, "BluetoothAdapter not initialized"); + return; + } + mBluetoothGatt.setCharacteristicNotification(characteristic, enabled); + } + + public List getSupportedGattServices() { + if (mBluetoothGatt == null) return null; + return mBluetoothGatt.getServices(); + } +} + diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/contans/Contans.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/contans/Contans.java new file mode 100755 index 0000000..c2f5c53 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/contans/Contans.java @@ -0,0 +1,91 @@ +package com.rehome.bhdxj.contans; + +public class Contans { + + + public static String LOGIN = "AppLogin/GetData.aspx"; + public static String CHECK_UPDATA_APK = "ApkUpdate/GetData.aspx"; + public static String IP = "http://10.46.0.164:8002/"; + //public static String MAXIMOIP = "http://10.46.0.152:7001/"; + public static String MAXIMOIP = "http://10.46.0.15:7001/"; + + +// public static String IP = "http://192.168.2.116:3028/"; + + + // //获取到的蓝牙mac地址 +// /*-------------------------------*/ +// public final static String LOCALBLEADDRESS = "LOCALBLEADDRESS"; +// /*-------------------------------*/ + public static String YXCB_ZY_ID = "";//运行抄表专业ID + public static String YXCB_ZY_NAME = "";//运行抄表专业名字 + + //-----------------------点检--------------------------// + public static String DJJHLIST = "DJGL/DJGL_GWDJ.ashx";//prame BZMC = 测试班组 + public static String DJJHDLB = "DJGL/DJGL_GWDJ.ashx";// prame jhid=20161013141937; + public static String DJJHXCJSSC = "DJGL/DJGL_XCJS.ashx";//ms:描述 fileps:文件 poinnum jhid + public static String DJJHSC = "DJGL/DJGL_GWDJ.ashx";//json字符串 + public static String DJJHQXGD = "DJGL/DJGL_QXGD.ashx";//json字符串 + public static String QXGDZY = "QXGD/QXGD_ZYXX.ASHX"; + public static String YHPC = "AJH/AJH_YHPCSC.ashx";//隐患排查 + public static String YHPCTP = "AJH/AJH_YHWJSC.ashx";//guid + //-----------------------安健环------------------------// + public static String AJHJHLIST = "AJH/AJH_XZJH.ashx"; + public static String AJHXZRW = "AJH/AJH_XZRW.ashx"; + public static String AJHSC = "AJH/AJH_JLSC.ashx"; + public static String AJHXCJS = "AJH/AJH_JSXC.ashx"; + public static String XWAQGC = "ajh/gc_xzrw.ashx"; //gh = + public static String QY = "djgl/DJGL_QYLIST.ashx"; + public static String XWAQGCSC = "ajh/gc_jlsc.ashx";//观察结果上传 + public static String XWAQGCJS = "ajh/GC_JSSC.ashx";//记事上传 + public static String GZQKSBLIST = "AJH/GZQKSB/GetDataByList.ashx";//工作上报列表查看 + public static String GZQKSBSAVE = "AJH/GZQKSB/SaveData.ashx";//工作情况上报保存 + public static String GZQKSBGB = "AJH/GZQKSB/SetRWState.ashx";//工作情况上报关闭 + public static String GZQKID = "AJH/GZQKSB/GetDataByID.ashx"; + public final static int IMAGE_RESULT = 10; + public final static int SBXJZT_WWC = 0; + public final static int SBXJZT_ZC = 1; + public final static int SBXJZT_BZC = 2; + public final static int RESULT_OK = 1; + public final static int DLB = 1; + public final static int ZKDLB = 2; + //==============================巡视抄表=========================================// + public final static String XSCB = "XSCB/XSCB_JHGL.ashx";//巡视抄表 + + // ========================= intent KEY ========================// + public final static String KEY_ITEMID = "itemid"; + public final static String KEY_SBINFO = "sbinfo"; + public final static String KEY_SBDJLIST = "sbdjlist"; + public final static String KEY_JCZT = "zczt"; + public final static String KEY_MS = "ms"; + public final static String KEY_FLAG = "flag"; + public final static String KEY_IS_EDIT = "edit"; + public final static String KEY_NOTIF = "notification"; + public final static String KEY_PDID = "pdid"; + public final static String KEY_DJJHLIST = "djjhlist"; + public final static String KEY_DJJHRWQY = "djjhrwqy"; + public final static String KEY_ITEM = "item"; + public final static String FILEPS = "fileps"; + public final static String KEY_XSCBJH = "xscbjh"; + public final static String KEY_QY = "qydlist"; + public final static String KEY_EWM_OR_NFC = "ewm_or_nfc";//二维码或NFC 0 NFC 1 一维码二维码 + public final static String KEY_IS_HIS = "history";//历史 + public final static String KEY_JHLX = "jhlx"; + public final static String KEY_BG = "DQGZBG";//定期工作变更 + public final static String KEY_ZXID = "zxid"; + public final static String KEY_XS_HISTORY = "xs_history"; + public final static String KEY_NAME = "keyName"; + public final static String KEY_POSITION = "keyPosition"; + public final static String KEY_BQBM = "bqbm";//二维码或条形码 + public final static String KEY_NFCBH = "nfcbh";//NFC编号 + public final static String NFCOREWM = "nfcorewm"; + public final static String PERMISSIONSRESULT = "PermissionsResult"; + public final static String USERID = "USERID"; + public final static String USERPWD = "USERPWD"; + public final static String BZBH = "bzbh"; + public final static String BZMC = "bzmc"; + public final static String USERNAME = "USERNAME"; + /********************广播字段(唯一性)********************************/ + public static final String ACTION_YULONE = "actionYulOne"; + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/service/PushService.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/service/PushService.java new file mode 100755 index 0000000..d439bcc --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/service/PushService.java @@ -0,0 +1,169 @@ +package com.rehome.bhdxj.service; + +import android.app.IntentService; +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; + +import com.rehome.bhdxj.DBModel.Djjh; +import com.rehome.bhdxj.DBModel.DjjhList; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.activity.sbxdj.DjMainActivity; +import com.rehome.bhdxj.bean.XscbRequestBean; +import com.rehome.bhdxj.contans.Contans; +import com.rehome.bhdxj.utils.GsonUtils; +import com.rehome.bhdxj.utils.HttpListener; +import com.rehome.bhdxj.utils.NohttpUtils; +import com.rehome.bhdxj.utils.SPUtils; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; + +import org.litepal.crud.DataSupport; + +import java.util.List; + +import static com.rehome.bhdxj.utils.GsonUtils.GsonToBean; + + +public class PushService extends IntentService { + private int[] whats = new int[]{}; + public PushService() { + super("PushService"); + } + + @Override + public void onCreate() { + super.onCreate(); + setTheme(R.style.AppTheme); + } + + @Override + protected void onHandleIntent(Intent intent) { + if (intent != null) { + whats = intent.getExtras().getIntArray("what"); + requestData(whats); + } + } + + private void requestData(int[] what) { + + Request qy = NoHttp.createStringRequest(Contans.IP + Contans.QY); + NohttpUtils.getInstance().add(null, 12, qy, callback, false, false, ""); + for (int i = 0; i < what.length; i++) { + switch (what[i]) { + //点检 + case 1: + Request requestdj = NoHttp.createStringRequest(Contans.IP + Contans.DJJHLIST, RequestMethod.POST); + requestdj.setDefineRequestBodyForJson(createZyJson()); + NohttpUtils.getInstance().add(null, 1, requestdj, callback, false, false, "加载中..."); + break; + + } + } + } + + + private HttpListener callback = new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + + switch (what) { + + case 1: +// Log.e("serviceData", response.get()); + DjjhList list = GsonToBean(response.get(), DjjhList.class); + if (list != null) { + if (list.getState().equals("1")) { + int dbcount = -1;//数据库中是否有数据 + List djjhs = list.getData();//服务器数据 + + //先删除未下 载的计划 + + DataSupport.deleteAll(Djjh.class, "download = 0"); + + for (Djjh djjh : djjhs) { + + List dbdjjh = DataSupport.where("GWID = ? and download = ?", djjh.getGWID(), "1").find(Djjh.class); + + //如果数据库中没有这条数据,就添加到数据库 + + if (dbdjjh.size() == 0) { + + dbcount = 1; + + djjh.save(); + } + } + if (dbcount == 1) { + +// shownotification(1, "您有新的点检计划"); + } + } else { + DataSupport.deleteAll(Djjh.class, "download = 0"); + } + } + break; + + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }; + + private void shownotification(int what, String msg) { + + NotificationManager manager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE); + PendingIntent pendingIntent; + Intent intent = null; + if (what == 0) { +// intent = new Intent(this, XxzActivity.class); + } else if (what == 1) { +// intent = new Intent(this, SxcdjActivity.class); + intent = new Intent(this, DjMainActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); + } else if (what == 2) { +// intent = new Intent(this, AjhXzActivity.class); + } else if (what == 3) { +// intent = new Intent(this, AxwaqgcglActivity.class); + } + Notification notify; + + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) { + pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); + } else { + pendingIntent = PendingIntent.getActivity(this, 0, intent, 0); + } + + notify = new Notification.Builder(this) + .setTicker(System.currentTimeMillis() + "") + .setSmallIcon(R.mipmap.ic_launcher_round) + .setTicker("您有新的计划") + .setContentTitle(msg) + .setContentText("点击进入下载") + .setContentIntent(pendingIntent).build(); // 需要注意build()是在API + notify.defaults = Notification.DEFAULT_SOUND; + // level16及之后增加的,API11可以使用getNotificatin()来替代 + notify.flags |= Notification.FLAG_AUTO_CANCEL; // FLAG_AUTO_CANCEL表明当通知被用户点击时,通知将被清除。 + manager.notify(what, notify); + } + + private String createZyJson() { + String GWID = (String) SPUtils.get(getApplicationContext(), Contans.BZBH, ""); + String YHID = (String) SPUtils.get(getApplicationContext(), Contans.USERID, ""); + XscbRequestBean info = new XscbRequestBean(); + info.setAction("DJ_GWLIST_GET"); + info.setGWID(GWID); + info.setYHID(YHID); + String json = GsonUtils.GsonString(info); + return json; + } + + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/Api.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/Api.java new file mode 100755 index 0000000..990a406 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/Api.java @@ -0,0 +1,213 @@ +package com.rehome.bhdxj.utils; + +import com.rehome.bhdxj.bean.ApkUpdateBean; +import com.rehome.bhdxj.bean.BmidBean; +import com.rehome.bhdxj.bean.ContactListBean; +import com.rehome.bhdxj.bean.JzBean; +import com.rehome.bhdxj.bean.QXGDResultBean; +import com.rehome.bhdxj.bean.ResultBean3; +import com.rehome.bhdxj.bean.UploadPhotosBean; +import com.rehome.bhdxj.bean.UploadPhotosBean2; +import com.rehome.bhdxj.bean.YhpcResultBean; + +import okhttp3.RequestBody; +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Query; + +/** + * Created by ruihong on 2017/12/22. + */ + +public interface Api { + /** + * 检查更新 + * + * @return + */ + @GET("ApkUpdate/GetData.aspx") + Call getCheckUpdataApk(); + + /** + * 安全检查任务上传 + * + * @param action AQJC_RW_SET(必填) + * @param SCR 上传人ID(必填) + * @param JHID 计划ID(必填) + * @param WTQY 问题区域(必填) + * @param WTMS 问题描述(必填) + * @param LRSJ 录入时间(创建任务的时间) + * @param FXLB 风险类别(选填) + * @param YHDJ 隐患等级(选填) + * @param ZRBM 责任部门(选填) + * @return + */ + + @POST("AQJC/AQJC_RWSC.ashx") + Call upload_QJRWPhoto(@Query("Action") String action, + @Query("SCR") String SCR, + @Query("JHID") String JHID, + @Query("WTQY") String WTQY, + @Query("WTMS") String WTMS, + @Query("LRSJ") String LRSJ, + @Query("FXLB") String FXLB, + @Query("YHDJ") String YHDJ, + @Query("ZRBM") String ZRBM, + @Body RequestBody body); + + + @POST("Q4GD/Q4GD_CKGL.ashx") + Call upload_QXGD(@Query("Action") String action, + @Query("YHID") String YHID, + @Query("GDZT_SO") String GDZT_SO, + @Query("GDZT_NO") String GDZT_NO, + @Query("GDDJ") String GDDJ, + @Query("QXMS") String QXMS, + @Query("GZMS") String GZMS, + @Query("SBBH") String SBBH, + @Query("SBMC") String SBMC, + @Query("ZRBZ") String ZRBZ, + @Query("ZRR") String ZRR, + @Query("JXBZ") String JXBZ, + @Query("JXR") String JXR, + @Query("GZXZ") String GZXZ, + @Query("ST") String ST, + @Query("ET") String ET, + @Body RequestBody body); + + + @POST("Q4GD/Q4GD_IMG.ashx") + Call upload_QXGDTP( + @Query("GDID") String GDID, + @Body RequestBody body); + + + /** + * 安全检查整改任务上传 + * + * @param action SBLC_ZG_SET + * @param YHID 用户ID(必填) + * @param JHID 计划ID(必填) + * @param RWID 任务ID(必填) + * @param ZGJG 整改结果(必填) + * @return + */ + + @POST("AQJC/AQJC_RWSC.ashx") + Call upload_AQZGJG(@Query("Action") String action, + @Query("YHID") String YHID, + @Query("JHID") String JHID, + @Query("RWID") String RWID, + @Query("ZGJG") String ZGJG, + @Body RequestBody body); + + + /** + * 获取通讯录列表 + * + * @return + */ + @GET("AppLogin/GetAddressbook.ashx") + Call getContactList(); + + + /** + * 获取机组信息 + * + * @return + */ + @GET("workorder/selectUnit") + Call GetJzList(); + + + /** + * 获取专业信息 + * + * @return + */ + @GET("workorder/selectProfession") + Call GetZyList(); + + /** + * 获取类型 + * x + * + * @return + */ + @GET("workorder/selectBugtype") + Call GetLxist(); + + /** + * 获取缺陷登记 + * x + * + * @return + */ + @GET("workorder/selectBuglevel") + Call GetQXDJist(); + + /** + * 获取工单安排 + * x + * + * @return + */ + @GET("workorder/selectBugdept") + Call GetGDAPist(); + + /** + * 创建缺陷工单 + * + * @return + */ + + + @GET("workorder/createCmwo") + Call UploadQXgd(@Query("jsonData") String jsonData); + + + /** + * 获取部门id + * + * @return + */ + @GET("UserInfos/GetDeptByUserid.aspx") + Call getbmid(@Query("yhid") String yhid); + + + /** + * 安全检查整改任务上传 + * + * @param fid 用户ID(必填) + * @param srcid 计划ID(必填) + * @param adduserid 任务ID(必填) + * @param type 整改结果(必填) + * @return + */ + + @POST("M_DXX/UploadCattach.ashx") + Call uploadzjfile( + @Query("fid") String fid, + @Query("srcid") String srcid, + @Query("adduserid") String adduserid, + @Query("type") String type, + @Body RequestBody body); + + //点检管理-隐患信息上传 + @POST("DJGL/DJGL_YHPC.ashx") + Call upload_yhpcxx(@Body RequestBody json); + + + //点检管理-隐患图片上传 + @POST("DJGL/DJGL_YHPC_IMG.ashx") + Call upload_yhpcPhoto(@Query("ID") String ID, @Query("LX") String LX, @Query("SCR") String SCR, @Body RequestBody body); + + +// //点检管理-隐患图片上传 +// @POST("DJGL/DJGL_YHPC_IMG.ashx") +// Call upload_yhpcPhoto(@Part MultipartBody.Part part, +// @PartMap Map params); + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/AppManager.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/AppManager.java new file mode 100755 index 0000000..9d1ac11 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/AppManager.java @@ -0,0 +1,107 @@ +package com.rehome.bhdxj.utils; + +import android.app.Activity; +import android.app.ActivityManager; +import android.content.Context; + +import java.util.Stack; + +/** + * Created by Administrator on 2017/3/8. + * Activity管理类 + */ + +public class AppManager { + + private static Stack activityStack; + + private static AppManager instance; + + private AppManager() { + } + + /** + * 单一实例 + */ + public static AppManager getAppManager() { + if (instance == null) { + instance = new AppManager(); + } + return instance; + } + + /** + * 添加Activity到堆栈 + */ + public void addActivity(Activity activity) { + if (activityStack == null) { + activityStack = new Stack(); + } + activityStack.add(activity); + } + + /** + * 获取当前Activity(堆栈中最后一个压入的) + */ + public Activity currentActivity() { + Activity activity = activityStack.lastElement(); + return activity; + } + + /** + * 结束当前Activity(堆栈中最后一个压入的) + */ + public void finishActivity() { + Activity activity = activityStack.lastElement(); + finishActivity(activity); + } + + /** + * 结束指定的Activity + */ + public void finishActivity(Activity activity) { + if (activity != null) { + activityStack.remove(activity); + activity.finish(); + activity = null; + } + } + + /** + * 结束指定类名的Activity + */ + public void finishActivity(Class cls) { + for (Activity activity : activityStack) { + if (activity.getClass().equals(cls)) { + finishActivity(activity); + } + } + } + + /** + * 结束所有Activity + */ + public void finishAllActivity() { + for (int i = 0, size = activityStack.size(); i < size; i++) { + if (null != activityStack.get(i)) { + activityStack.get(i).finish(); + } + } + activityStack.clear(); + } + + /** + * 退出应用程序 + */ + @SuppressWarnings("deprecation") + public void AppExit(Context context) { + try { + finishAllActivity(); + ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); + activityManager.restartPackage(context.getPackageName()); + System.exit(0); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/AutoToolbar.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/AutoToolbar.java new file mode 100755 index 0000000..c4d9cb4 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/AutoToolbar.java @@ -0,0 +1,144 @@ +package com.rehome.bhdxj.utils; + +import android.content.Context; +import android.content.res.TypedArray; +import androidx.appcompat.widget.Toolbar; +import android.text.TextUtils; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.widget.TextView; + +import com.rehome.bhdxj.R; +import com.zhy.autolayout.AutoLayoutInfo; +import com.zhy.autolayout.utils.AutoLayoutHelper; +import com.zhy.autolayout.utils.AutoUtils; +import com.zhy.autolayout.utils.DimenUtils; + +import java.lang.reflect.Field; + +/** + * Created by hupei on 2015/12/28 20:33. + */ +public class AutoToolbar extends Toolbar { + private static final int NO_VALID = -1; + private int mTextSize; + private int mSubTextSize; + private final AutoLayoutHelper mHelper = new AutoLayoutHelper(this); + + public AutoToolbar(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.Toolbar, + defStyleAttr, R.style.Widget_AppCompat_Toolbar); + + int titleTextAppearance = a.getResourceId(R.styleable.Toolbar_titleTextAppearance, + R.style.TextAppearance_Widget_AppCompat_Toolbar_Title); + + int subtitleTextAppearance = a.getResourceId(R.styleable.Toolbar_subtitleTextAppearance, + R.style.TextAppearance_Widget_AppCompat_Toolbar_Subtitle); + + mTextSize = loadTextSizeFromTextAppearance(titleTextAppearance); + mSubTextSize = loadTextSizeFromTextAppearance(subtitleTextAppearance); + + TypedArray menuA = context.getTheme().obtainStyledAttributes(attrs, R.styleable.ActionBar, + defStyleAttr, R.style.ThemeOverlay_AppCompat); + int menuTextAppearance = menuA.getResourceId(R.styleable.AutoLayout_Layout_layout_auto_basewidth, + R.style.ThemeOverlay_AppCompat_ActionBar); + int menuTextSize = loadTextSizeFromTextAppearance(menuTextAppearance); + + //防止 menu 定义 textSize,而 Toolbar 无定义 textSize 时,title 的 textSize 随 menu 变化 + if (mTextSize == NO_VALID) mTextSize = menuTextSize; + if (mSubTextSize == NO_VALID) mSubTextSize = menuTextSize; + + a.recycle(); + menuA.recycle(); + } + + public AutoToolbar(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public AutoToolbar(Context context) { + this(context, null); + } + + private int loadTextSizeFromTextAppearance(int textAppearanceResId) { + TypedArray a = getContext().obtainStyledAttributes(textAppearanceResId, + R.styleable.TextAppearance); + try { + if (!DimenUtils.isPxVal(a.peekValue(R.styleable.TextAppearance_android_textSize))) + return NO_VALID; + return a.getDimensionPixelSize(R.styleable.TextAppearance_android_textSize, NO_VALID); + } finally { + a.recycle(); + } + } + + private void setUpTitleTextSize() { + CharSequence title = getTitle(); + if (!TextUtils.isEmpty(title) && mTextSize != NO_VALID) + setUpTitleTextSize("mTitleTextView", mTextSize); + CharSequence subtitle = getSubtitle(); + if (!TextUtils.isEmpty(subtitle) && mSubTextSize != NO_VALID) + setUpTitleTextSize("mSubtitleTextView", mSubTextSize); + } + + private void setUpTitleTextSize(String name, int val) { + try { + //反射 Toolbar 的 TextView + Field f = getClass().getSuperclass().getDeclaredField(name); + f.setAccessible(true); + TextView textView = (TextView) f.get(this); + if (textView != null) { + int autoTextSize = AutoUtils.getPercentHeightSize(val); + textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, autoTextSize); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + if (!this.isInEditMode()) { + setUpTitleTextSize(); + this.mHelper.adjustChildren(); + } + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + super.onLayout(changed, l, t, r, b); + } + + @Override + public LayoutParams generateLayoutParams(AttributeSet attrs) { + return new LayoutParams(this.getContext(), attrs); + } + + public static class LayoutParams extends Toolbar.LayoutParams implements AutoLayoutHelper.AutoLayoutParams { + private AutoLayoutInfo mDimenLayoutInfo; + + public LayoutParams(Context c, AttributeSet attrs) { + super(c, attrs); + this.mDimenLayoutInfo = AutoLayoutHelper.getAutoLayoutInfo(c, attrs); + } + + @Override + public AutoLayoutInfo getAutoLayoutInfo() { + return this.mDimenLayoutInfo; + } + + public LayoutParams(int width, int height) { + super(width, height); + } + + public LayoutParams(android.view.ViewGroup.LayoutParams source) { + super(source); + } + + public LayoutParams(MarginLayoutParams source) { + super(source); + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/CanBanScrollViewPager.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/CanBanScrollViewPager.java new file mode 100755 index 0000000..46e1252 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/CanBanScrollViewPager.java @@ -0,0 +1,60 @@ +package com.rehome.bhdxj.utils; + + +import android.content.Context; +import android.content.res.TypedArray; +import androidx.viewpager.widget.ViewPager; +import android.util.AttributeSet; +import android.view.MotionEvent; + +import com.rehome.bhdxj.R; + + +/** + * Created by 翟杰 on 2017/1/13. + * 不可滑动的ViewPage + */ + +public class CanBanScrollViewPager extends ViewPager { + private boolean isCanScroll;/*是否可以滑动*/ + + public CanBanScrollViewPager(Context context) { + super(context); + } + + public CanBanScrollViewPager(Context context, AttributeSet attrs) { + super(context, attrs); + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CanBanScrollViewPager); + /*获取布局中设置的属性*/ + isCanScroll = a.getBoolean(R.styleable.CanBanScrollViewPager_isScroll, false); + a.recycle(); + } + + public void setCanScroll(boolean isCanScroll) { + /*对外公开的方法,设置是否可以滑动*/ + this.isCanScroll = isCanScroll; + } + + public boolean isCanScroll() { + /*对外公开的方法,获取当前是否可以滑动*/ + return isCanScroll; + } + + @Override + public boolean onTouchEvent(MotionEvent ev) { + /*重写此方法,判断当前是否可以滑动,如果可以,正常调用父类的方法,该干嘛干嘛!如果不可以滑动,直接返回false,不做任何触摸事件的处理*/ + if (isCanScroll()) { + return super.onTouchEvent(ev); + } + return false; + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + /*这里意思和上面的重写方法差不多,不多解释*/ + if (isCanScroll()) { + return super.onInterceptTouchEvent(ev); + } + return false; + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/ContactDatas.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/ContactDatas.java new file mode 100755 index 0000000..209f6a0 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/ContactDatas.java @@ -0,0 +1,41 @@ +package com.rehome.bhdxj.utils; + + +import com.rehome.bhdxj.bean.ContactListBean; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/7/5. + * 通讯录 工具类 + */ + +public class ContactDatas { + + + public static List getContanctList(ContactListBean bean) { + + List orderlistBeanListEnd = new ArrayList<>(); + + List rowsBeanList = bean.getRows(); + for (int i = 0; i < rowsBeanList.size(); i++) { + ContactListBean.RowsBean rowsBean = rowsBeanList.get(i); + + if (rowsBean.getOrderlist() != null) { + List orderlistBeanList = rowsBean.getOrderlist(); + if (orderlistBeanList.size() != 0) { + orderlistBeanListEnd.add(new ContactListBean.RowsBean.OrderlistBean("", "", "", rowsBean.getDeptName(), "")); + + for (ContactListBean.RowsBean.OrderlistBean orderlistBean : orderlistBeanList) { + orderlistBean.setGroupName(rowsBean.getDeptName()); + } + + orderlistBeanListEnd.addAll(orderlistBeanList); + } + } + } + return orderlistBeanListEnd; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/ControllerActivity.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/ControllerActivity.java new file mode 100755 index 0000000..cc6384f --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/ControllerActivity.java @@ -0,0 +1,112 @@ +package com.rehome.bhdxj.utils; + +import android.app.Activity; +import android.app.ActivityManager; +import android.content.Context; + +import java.util.Stack; + + +/** + * 管理activity的类 + */ +public class ControllerActivity { + //activity栈 + private static Stack activityStack; + //使用单例模式 + private static ControllerActivity instance; + + private ControllerActivity() { + } + + + public static ControllerActivity getAppManager() { + if (instance == null) { + instance = new ControllerActivity(); + } + return instance; + } + + /*** + * 添加Activity到栈 + * @param activity + */ + public void addActivity(Activity activity) { + if (activityStack == null) { + activityStack = new Stack(); + } + activityStack.add(activity); + } + + /** + * 获取当前Activity(堆栈中最后一个压入的) + */ + public Activity currentActivity() { + + if (activityStack.size() == 0) { + return null; + }else { + Activity activity = activityStack.lastElement(); + return activity; + } + } + + /** + * 结束当前Activity(堆栈中最后一个压入的) + */ + public void finishActivity() { + Activity activity = activityStack.lastElement(); + finishActivity(activity); + } + + /** + * 结束指定的Activity + */ + public void finishActivity(Activity activity) { + if (activity != null) { + activityStack.remove(activity); + activity.finish(); + activity = null; + } + } + + /** + * 结束指定类名的Activity + */ + public void finishActivity(Class cls) { + for (Activity activity : activityStack) { + if (activity.getClass().equals(cls)) { + finishActivity(activity); + break; + } + } + } + + /** + * 结束所有Activity + */ + public void finishAllActivity() { + for (int i = 0; i < activityStack.size(); i++) { + if (null != activityStack.get(i)) { + activityStack.get(i).finish(); + } + } + activityStack.clear(); + } + + /** + * 退出程序 + * + * @param context + */ + public void AppExit(Context context) { + try { + finishAllActivity(); + ActivityManager activityMgr = (ActivityManager) context + .getSystemService(Context.ACTIVITY_SERVICE); + activityMgr.killBackgroundProcesses(context.getPackageName()); + System.exit(0); + } catch (Exception e) { + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/GsonUtils.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/GsonUtils.java new file mode 100755 index 0000000..b316eb6 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/GsonUtils.java @@ -0,0 +1,130 @@ +package com.rehome.bhdxj.utils; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; +import com.google.gson.reflect.TypeToken; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + + +/** + * gson工具类,封装GSON + */ +public class GsonUtils { + + private static Gson gson = null; + + static { + if (gson == null) { + gson = new Gson(); + } + } + + private GsonUtils() { + } + + /** + * 转成json + * + * @param object + * @return + */ + public static String GsonString(Object object) { + String gsonString = null; + if (gson != null) { + gsonString = gson.toJson(object); + } + return gsonString; + } + + /** + * 转成bean + * + * @param gsonString + * @param cls + * @return + */ + public static T GsonToBean(String gsonString, Class cls) { + T t = null; + if (gson != null) { + try { + t = gson.fromJson(gsonString, cls); + } catch (Exception e) { + e.printStackTrace(); + } + } + return t; + } + + /** + * 转成list + * 泛型在编译期类型被擦除导致报错 + * + * @param gsonString + * @param cls + * @return + */ + public static List GsonToList(String gsonString, Class cls) { + List list = null; + if (gson != null) { + list = gson.fromJson(gsonString, new TypeToken>() { + }.getType()); + } + return list; + } + + /** + * 转成list + * 解决泛型问题 + * + * @param json + * @param cls + * @param + * @return + */ + public List jsonToList(String json, Class cls) { + Gson gson = new Gson(); + List list = new ArrayList(); + JsonArray array = new JsonParser().parse(json).getAsJsonArray(); + for (final JsonElement elem : array) { + list.add(gson.fromJson(elem, cls)); + } + return list; + } + + + /** + * 转成list中有map的 + * + * @param gsonString + * @return + */ + public static List> GsonToListMaps(String gsonString) { + List> list = null; + if (gson != null) { + list = gson.fromJson(gsonString, + new TypeToken>>() { + }.getType()); + } + return list; + } + + /** + * 转成map的 + * + * @param gsonString + * @return + */ + public static Map GsonToMaps(String gsonString) { + Map map = null; + if (gson != null) { + map = gson.fromJson(gsonString, new TypeToken>() { + }.getType()); + } + return map; + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/HttpListener.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/HttpListener.java new file mode 100755 index 0000000..5a3d23d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/HttpListener.java @@ -0,0 +1,25 @@ +package com.rehome.bhdxj.utils; + +import com.yolanda.nohttp.rest.Response; + +/** + * NoHttp请求回调的接口 + */ +public interface HttpListener { + + /** + * 请求成功 + * + * @param what 请求队列的标志 + * @param response 请求结果 + */ + void onSucceed(int what, Response response); + + /** + * 请求失败 + * + * @param what 请求队列的标志 + * @param response 请求结果 + */ + void onFailed(int what, Response response); +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/HttpResponseListener.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/HttpResponseListener.java new file mode 100755 index 0000000..ebdc597 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/HttpResponseListener.java @@ -0,0 +1,134 @@ +package com.rehome.bhdxj.utils; + +import android.app.Activity; +import android.content.DialogInterface; +import android.widget.Toast; + +import com.rehome.bhdxj.weight.WaitDialog; +import com.yolanda.nohttp.Logger; +import com.yolanda.nohttp.error.NetworkError; +import com.yolanda.nohttp.error.TimeoutError; +import com.yolanda.nohttp.error.URLError; +import com.yolanda.nohttp.error.UnKnownHostError; +import com.yolanda.nohttp.rest.OnResponseListener; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.Response; + +/** + * NoHttp的封装 + */ +public class HttpResponseListener implements OnResponseListener { + + private Activity mActivity; + + /** + * dialog + */ + private WaitDialog mDialog; + + /** + * 当前请求 + */ + private Request mRequest; + + /** + * 请求回调 + */ + private HttpListener callback; + + /** + * 是否显示dialog + */ + private boolean isLoading; + + + /** + * @param mActivity 用来实例化dialog + * @param mRequest 请求 + * @param callback 请求回调 + * @param canCancel 是否允许用户请求 + * @param isLoading 是否显示dialog + */ + public HttpResponseListener(Activity mActivity, final Request mRequest, HttpListener callback, boolean canCancel, boolean isLoading, String msg) { + this.mActivity = mActivity; + this.mRequest = mRequest; + if (isLoading) { + mDialog = new WaitDialog(mActivity, msg); + mDialog.setCancelable(canCancel); + mDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { + @Override + public void onCancel(DialogInterface dialogInterface) { + HttpResponseListener.this.mRequest.cancel();//取消请求 + } + }); + } + this.callback = callback; + this.isLoading = isLoading; + } + + /** + * 请求开始 + * + * @param what + */ + @Override + public void onStart(int what) { + + if (mDialog != null && !mDialog.isShowing() && !mActivity.isFinishing()) { + mDialog.show(); + } + } + + /** + * 成功回调 + * + * @param what + * @param response + */ + @Override + public void onSucceed(int what, Response response) { + if (callback != null) { + callback.onSucceed(what, response); + } + } + + /** + * 失败回调 + * + * @param what + * @param response + */ + @Override + public void onFailed(int what, Response response) { + + Exception exception = response.getException(); + if (mActivity != null) { + if (exception instanceof NetworkError) {// 网络不好 + Toast.makeText(mActivity, "网络异常", Toast.LENGTH_SHORT).show(); + } else if (exception instanceof TimeoutError) {// 请求超时 + Toast.makeText(mActivity, "请求超时", Toast.LENGTH_SHORT).show(); + } else if (exception instanceof UnKnownHostError) {// 找不到服务器 + Toast.makeText(mActivity, "找不到服务器", Toast.LENGTH_SHORT).show(); + } else if (exception instanceof URLError) {// URL是错的 + Toast.makeText(mActivity, "url出错", Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(mActivity, "网络连接超时", Toast.LENGTH_SHORT).show(); + } + } + Logger.e("错误:" + exception.getMessage()); + if (callback != null) + callback.onFailed(what, response); + } + + /** + * 请求结束 + * + * @param what + */ + @Override + public void onFinish(int what) { + if (mDialog != null && mDialog.isShowing()) { + mDialog.dismiss(); + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/HttpUtils.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/HttpUtils.java new file mode 100755 index 0000000..c40758e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/HttpUtils.java @@ -0,0 +1,115 @@ +package com.rehome.bhdxj.utils; + +import android.content.Context; +import android.util.Log; + +import com.rehome.bhdxj.contans.Contans; + +import java.io.IOException; +import java.util.concurrent.TimeUnit; + +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.ResponseBody; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +/** + * 网络请求工具类,封装的retrofit1 + */ + +public class HttpUtils { + +// private static List datas = new ArrayList<>(); + + private static Api api; + + private static Context context; + + private static HttpUtils instance = null; + + public static HttpUtils getInstance(Context context, String url) { + if (instance == null) { + instance = new HttpUtils(context, url); + } + return instance; + } + + private HttpUtils(Context context, String url) { + Retrofit mRetrofit = new Retrofit.Builder() + .baseUrl(url) + .client(getOkHttpClient()) + .addConverterFactory(GsonConverterFactory.create()) + .build(); + api = mRetrofit.create(Api.class); + HttpUtils.context = context; + } + + public static Api getApi() { + return getApi(Contans.IP); + } + + + public static Api GETMAXIMOIP() { + return getApi(Contans.MAXIMOIP); + } + + public static Api getApi(String url) { + + Retrofit mRetrofit = new Retrofit.Builder() + .baseUrl(url) + .client(getOkHttpClient()) + .addConverterFactory(GsonConverterFactory.create()) + .build(); + Api api = mRetrofit.create(Api.class); + + return api; + } + + + private static OkHttpClient getOkHttpClient() { + + OkHttpClient.Builder httpClientBuilder = new OkHttpClient + .Builder(); + //OkHttp进行添加拦截器loggingInterceptor + httpClientBuilder.addInterceptor(new LoggingInterceptor()); + + //设置超时时间 + httpClientBuilder.connectTimeout(5, TimeUnit.SECONDS); + httpClientBuilder.writeTimeout(60, TimeUnit.SECONDS); + httpClientBuilder.readTimeout(60, TimeUnit.SECONDS); + + return httpClientBuilder.build(); + } + + public static class LoggingInterceptor implements Interceptor { + @Override + public Response intercept(Chain chain) throws IOException { + //这个chain里面包含了request和response,所以你要什么都可以从这里拿 + Request request = chain.request(); + + long t1 = System.nanoTime();//请求发起的时间 + Log.v("okhttpmsg", String.format("发送请求 %s on %s%n%s", + request.url(), chain.connection(), request.headers())); + + Response response = chain.proceed(request); + + long t2 = System.nanoTime();//收到响应的时间 + + //这里不能直接使用response.body().string()的方式输出日志 + //因为response.body().string()之后,response中的流会被关闭,程序会报错,我们需要创建出一 + //个新的response给应用层处理 + ResponseBody responseBody = response.peekBody(1024 * 1024); + + Log.v("okhttpmsg", String.format("接收响应: [%s] %n返回json:【%s】 %.1fms%n%s", + response.request().url(), + responseBody.string(), + (t2 - t1) / 1e6d, + response.headers())); + + return response; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/NetworkAvailableUtils.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/NetworkAvailableUtils.java new file mode 100755 index 0000000..c6ab7f6 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/NetworkAvailableUtils.java @@ -0,0 +1,102 @@ +package com.rehome.bhdxj.utils; + +import android.content.Context; +import android.location.LocationManager; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.telephony.TelephonyManager; + +import java.util.List; + +/** + * 判断网路状态工具类 + */ +public class NetworkAvailableUtils { + + /** + * 判断是否联网 + * + * @param context + * @return + */ + public static boolean isNetworkAvailable(Context context) { + System.out.println(context); + ConnectivityManager cm = (ConnectivityManager) context + .getSystemService(Context.CONNECTIVITY_SERVICE); + if (cm == null) { + } else { + //       如果仅仅是用来判断网络连接 + //       则可以使用 cm.getActiveNetworkInfo().isAvailable(); + NetworkInfo[] info = cm.getAllNetworkInfo(); + if (info != null) { + for (int i = 0; i < info.length; i++) { + if (info[i].getState() == NetworkInfo.State.CONNECTED) { + return true; + } + } + } + } + return false; + } + + /** + * 判断GPS是否打开 + * + * @param context + * @return + */ + + public static boolean isGpsEnabled(Context context) { + LocationManager lm = ((LocationManager) context + .getSystemService(Context.LOCATION_SERVICE)); + List accessibleProviders = lm.getProviders(true); + return accessibleProviders != null && accessibleProviders.size() > 0; + } + + /** + * 三、判断WIFI是否打开 + * + * @param context + * @return + */ + + public static boolean isWifiEnabled(Context context) { + ConnectivityManager mgrConn = (ConnectivityManager) context + .getSystemService(Context.CONNECTIVITY_SERVICE); + TelephonyManager mgrTel = (TelephonyManager) context + .getSystemService(Context.TELEPHONY_SERVICE); + return ((mgrConn.getActiveNetworkInfo() != null && mgrConn + .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel + .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS); + } + + /** + * 四、判断是否是3G网络 + * + * @param context + * @return + */ + + public static boolean is3rd(Context context) { + ConnectivityManager cm = (ConnectivityManager) context + .getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo networkINfo = cm.getActiveNetworkInfo(); + return networkINfo != null + && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE; + } + + /** + * 五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。 + * + * @param context + * @return + */ + + public static boolean isWifi(Context context) { + ConnectivityManager cm = (ConnectivityManager) context + .getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo networkINfo = cm.getActiveNetworkInfo(); + return networkINfo != null + && networkINfo.getType() == ConnectivityManager.TYPE_WIFI; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/NetworkUtil.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/NetworkUtil.java new file mode 100644 index 0000000..532ae07 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/NetworkUtil.java @@ -0,0 +1,51 @@ +package com.rehome.bhdxj.utils; + +/** + * Create By HuangWenFei + * 创建日期:2023-05-19 15:35 + * 描述: + */ + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; + +public class NetworkUtil { + + private NetworkUtil() {} + + /** + * 当前是否有网络状态 + * + * @param context 上下文 + * @param needWifi 是否需要wifi网络 + */ + public static boolean hasNetWorkStatus(Context context, boolean needWifi) { + NetworkInfo info = getActiveNetwork(context); + if (info == null) { + return false; + } + if (!needWifi) { + return info.isAvailable(); + } else if (info.getType() == ConnectivityManager.TYPE_WIFI) { + return info.isAvailable(); + } + return false; + } + + /** + * 获取活动网络连接信息 + * + * @param context 上下文 + * @return NetworkInfo + */ + public static NetworkInfo getActiveNetwork(Context context) { + ConnectivityManager mConnMgr = (ConnectivityManager) context + .getSystemService(Context.CONNECTIVITY_SERVICE); + if (mConnMgr == null) { + return null; + } + // 获取活动网络连接信息 + return mConnMgr.getActiveNetworkInfo(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/NohttpUtils.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/NohttpUtils.java new file mode 100755 index 0000000..2f8d5ef --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/NohttpUtils.java @@ -0,0 +1,95 @@ +package com.rehome.bhdxj.utils; + +import android.app.Activity; + +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.download.DownloadQueue; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.RequestQueue; + +/** + * Nohttp工具类 + */ +public class NohttpUtils { + + private static NohttpUtils sUtils; + private RequestQueue mQueue; + + /** + * 下载队列. + */ + private static DownloadQueue downloadQueue; + + private NohttpUtils() { + mQueue = NoHttp.newRequestQueue(8); + } + + /** + * DCL单例模式 双层锁 + * + * @return + */ + public static NohttpUtils getInstance() { + if (sUtils == null) { + synchronized (NohttpUtils.class) { + if (sUtils == null) { + sUtils = new NohttpUtils(); + } + } + } + return sUtils; + } + + /** + * 下载队列. + */ + public static DownloadQueue getDownloadInstance() { + if (downloadQueue == null) + downloadQueue = NoHttp.newDownloadQueue(1); + return downloadQueue; + } + + + /** + * 添加请求 + * + * @param mActivity activity + * @param what 请求码,用来区分队列中的请求 + * @param request 请求 + * @param callback 请求回调 + * @param canCanel 是否可以取消请求 + * @param isLoading 是否弹出对话框 + * @param + */ + public void add(Activity mActivity, int what, Request request, HttpListener callback, boolean canCanel, boolean isLoading, String msg) { + mQueue.add(what, request, new HttpResponseListener(mActivity, request, callback, canCanel, isLoading, msg)); + } + + + public void add(Activity mActivity, int what, Request request, HttpListener callback) { + mQueue.add(what, request, new HttpResponseListener(mActivity, request, callback, true, true, "加载中...")); + } + + /** + * 取消这个sign这个标记的所有请求 + * + * @param sign + */ + public void cancelBySign(Object sign) { + mQueue.cancelBySign(sign); + } + + /** + * 取消队列中所有请求 + */ + public void cancelAll() { + mQueue.cancelAll(); + } + + /** + * 退出App停止所有请求 + */ + public void stopAll() { + mQueue.stop(); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/OAToolbar.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/OAToolbar.java new file mode 100755 index 0000000..76ed562 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/OAToolbar.java @@ -0,0 +1,134 @@ +package com.rehome.bhdxj.utils; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.TintTypedArray; +import androidx.appcompat.widget.Toolbar; +import android.text.TextUtils; +import android.util.AttributeSet; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageButton; +import android.widget.TextView; + +import com.rehome.bhdxj.R; + + +/** + * Created by Rehome-rjb1 on 2017/5/8. + * 导航栏的封装 + * + */ + +public class OAToolbar extends Toolbar { + + private LayoutInflater inflater; + private View view; + private TextView tvTitle; + private TextView tvRight; + private ImageButton ivLeft; + + public OAToolbar(Context context) { + super(context, null); + } + + public OAToolbar(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + initView(); + setContentInsetsRelative(10, 10); + if (attrs != null) { + final TintTypedArray tta = TintTypedArray.obtainStyledAttributes(getContext(), attrs, + R.styleable.OAToolbar); + + String title = tta.getString(R.styleable.OAToolbar_tvTitle); + String tvRightText = tta.getString(R.styleable.OAToolbar_tvRight); + Drawable drawable = tta.getDrawable(R.styleable.OAToolbar_ivLeftIcon); + + setIvLeftIcon(drawable); + + if (!TextUtils.isEmpty(title)) { + setTvTitleText(title); + } + + if (!TextUtils.isEmpty(tvRightText)) { + setTvRightText(tvRightText); + } + + tta.recycle(); + } + } + + public OAToolbar(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + + + } + + private void initView() { + + inflater = LayoutInflater.from(getContext()); + + if (view == null) { + view = inflater.inflate(R.layout.toolbar2, null); + tvTitle = view.findViewById(R.id.tv_title); + tvRight = view.findViewById(R.id.tv_right); + ivLeft = view.findViewById(R.id.iv_left); + //然后使用LayoutParams把控件添加到子view中 + LayoutParams lp = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL); + addView(view, lp); + } + } + + public void setTvTitleText(String text) { + if (tvTitle != null) { + tvTitle.setText(text); + } + } + + public void setTvTitleColor(int color) { + if (tvTitle != null) { + tvTitle.setTextColor(color); + } + } + + public void setTvRightText(String text) { + if (tvRight != null) { + tvRight.setVisibility(VISIBLE); + tvRight.setText(text); + } + } + + public void setTvRightText(int text) { + if (tvRight != null) { + tvRight.setVisibility(VISIBLE); + tvRight.setText(text); + } + } + + public void setTvRightOnClickListener(OnClickListener listener) { + tvRight.setOnClickListener(listener); + } + + + public void setIvLeftIcon(int resId) { + if (ivLeft != null) { + ivLeft.setVisibility(VISIBLE); + ivLeft.setImageResource(resId); + } + } + + public void setIvLeftIcon(Drawable drawable) { + if (ivLeft != null) { + ivLeft.setVisibility(VISIBLE); + ivLeft.setImageDrawable(drawable); + } + } + + public void setIvLeftOnClickListener(OnClickListener listener) { + ivLeft.setOnClickListener(listener); + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/RetrofitHttpUtils.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/RetrofitHttpUtils.java new file mode 100755 index 0000000..a58224d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/RetrofitHttpUtils.java @@ -0,0 +1,112 @@ +package com.rehome.bhdxj.utils; + +import android.content.Context; +import android.util.Log; + +import com.rehome.bhdxj.contans.Contans; + +import java.io.IOException; +import java.util.concurrent.TimeUnit; + +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.ResponseBody; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +/** + * Created by ruihong on 2017/12/22. + */ + +public class RetrofitHttpUtils { + + private static Api api; + + private static Context context; + + private static RetrofitHttpUtils instance = null; + + public static RetrofitHttpUtils getInstance(Context context, String url) { + if (instance == null) { + instance = new RetrofitHttpUtils(context, url); + } + return instance; + } + + private RetrofitHttpUtils(Context context, String url) { + Retrofit mRetrofit = new Retrofit.Builder() + .baseUrl(url) + .client(getOkHttpClient()) + .addConverterFactory(GsonConverterFactory.create()) + .build(); + api = mRetrofit.create(Api.class); + RetrofitHttpUtils.context = context; + } + + public static Api getApi() { + return getApi(Contans.IP); + } + + public static Api GETMAXIMOIP() { + return getApi(Contans.MAXIMOIP); + } + + public static Api getApi(String url) { + + Retrofit mRetrofit = new Retrofit.Builder() + .baseUrl(url) + .client(getOkHttpClient()) + .addConverterFactory(GsonConverterFactory.create()) + .build(); + Api api = mRetrofit.create(Api.class); + + return api; + } + + + private static OkHttpClient getOkHttpClient() { + + OkHttpClient.Builder httpClientBuilder = new OkHttpClient + .Builder(); + //OkHttp进行添加拦截器loggingInterceptor + httpClientBuilder.addInterceptor(new LoggingInterceptor()); + + //设置超时时间 + httpClientBuilder.connectTimeout(60, TimeUnit.SECONDS); + httpClientBuilder.writeTimeout(60, TimeUnit.SECONDS); + httpClientBuilder.readTimeout(60, TimeUnit.SECONDS); + + return httpClientBuilder.build(); + } + + public static class LoggingInterceptor implements Interceptor { + @Override + public Response intercept(Chain chain) throws IOException { + //这个chain里面包含了request和response,所以你要什么都可以从这里拿 + Request request = chain.request(); + + long t1 = System.nanoTime();//请求发起的时间 + Log.d("okhttpmsg", String.format("发送请求 %s on %s%n%s", + request.url(), chain.connection(), request.headers())); + + Response response = chain.proceed(request); + + long t2 = System.nanoTime();//收到响应的时间 + + //这里不能直接使用response.body().string()的方式输出日志 + //因为response.body().string()之后,response中的流会被关闭,程序会报错,我们需要创建出一 + //个新的response给应用层处理 + ResponseBody responseBody = response.peekBody(1024 * 1024); + + Log.d("okhttpmsg", String.format("接收响应: [%s] %n返回json:【%s】 %.1fms%n%s", + response.request().url(), + responseBody.string(), + (t2 - t1) / 1e6d, + response.headers())); + + return response; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/SPUtils.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/SPUtils.java new file mode 100755 index 0000000..088ceb2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/SPUtils.java @@ -0,0 +1,169 @@ +package com.rehome.bhdxj.utils; + +import android.content.Context; +import android.content.SharedPreferences; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Map; + +/** + * SharedPreferences的封装 + */ +public class SPUtils { + + /** + * 保存在手机里面的文件名 + */ + public static final String FILE_NAME = "share_data"; + + /** + * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法 + * + * @param context + * @param key + * @param object + */ + public static void put(Context context, String key, Object object) { + + SharedPreferences sp = context.getSharedPreferences(FILE_NAME, + Context.MODE_PRIVATE); + SharedPreferences.Editor editor = sp.edit(); + + if (object instanceof String) { + editor.putString(key, (String) object); + } else if (object instanceof Integer) { + editor.putInt(key, (Integer) object); + } else if (object instanceof Boolean) { + editor.putBoolean(key, (Boolean) object); + } else if (object instanceof Float) { + editor.putFloat(key, (Float) object); + } else if (object instanceof Long) { + editor.putLong(key, (Long) object); + } else { + editor.putString(key, object.toString()); + } + SharedPreferencesCompat.apply(editor); + } + + /** + * 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值 + * + * @param context + * @param key + * @param defaultObject + * @return + */ + public static Object get(Context context, String key, Object defaultObject) { + SharedPreferences sp = context.getSharedPreferences(FILE_NAME, + Context.MODE_PRIVATE); + + if (defaultObject instanceof String) { + return sp.getString(key, (String) defaultObject); + } else if (defaultObject instanceof Integer) { + return sp.getInt(key, (Integer) defaultObject); + } else if (defaultObject instanceof Boolean) { + return sp.getBoolean(key, (Boolean) defaultObject); + } else if (defaultObject instanceof Float) { + return sp.getFloat(key, (Float) defaultObject); + } else if (defaultObject instanceof Long) { + return sp.getLong(key, (Long) defaultObject); + } + + return null; + } + + /** + * 移除某个key值已经对应的值 + * + * @param context + * @param key + */ + public static void remove(Context context, String key) { + SharedPreferences sp = context.getSharedPreferences(FILE_NAME, + Context.MODE_PRIVATE); + SharedPreferences.Editor editor = sp.edit(); + editor.remove(key); + SharedPreferencesCompat.apply(editor); + } + + /** + * 清除所有数据 + * + * @param context + */ + public static void clear(Context context) { + SharedPreferences sp = context.getSharedPreferences(FILE_NAME, + Context.MODE_PRIVATE); + SharedPreferences.Editor editor = sp.edit(); + editor.clear(); + SharedPreferencesCompat.apply(editor); + } + + /** + * 查询某个key是否已经存在 + * + * @param context + * @param key + * @return + */ + public static boolean contains(Context context, String key) { + SharedPreferences sp = context.getSharedPreferences(FILE_NAME, + Context.MODE_PRIVATE); + return sp.contains(key); + } + + /** + * 返回所有的键值对 + * + * @param context + * @return + */ + public static Map getAll(Context context) { + SharedPreferences sp = context.getSharedPreferences(FILE_NAME, + Context.MODE_PRIVATE); + return sp.getAll(); + } + + /** + * 创建一个解决SharedPreferencesCompat.apply方法的一个兼容类 + * + * @author zhy + */ + private static class SharedPreferencesCompat { + private static final Method sApplyMethod = findApplyMethod(); + + /** + * 反射查找apply的方法 + * + * @return + */ + @SuppressWarnings({"unchecked", "rawtypes"}) + private static Method findApplyMethod() { + try { + Class clz = SharedPreferences.Editor.class; + return clz.getMethod("apply"); + } catch (NoSuchMethodException e) { + } + return null; + } + + /** + * 如果找到则使用apply执行,否则使用commit + * + * @param editor + */ + public static void apply(SharedPreferences.Editor editor) { + try { + if (sApplyMethod != null) { + sApplyMethod.invoke(editor); + return; + } + } catch (IllegalArgumentException e) { + } catch (IllegalAccessException e) { + } catch (InvocationTargetException e) { + } + editor.commit(); + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/StatusBarUtil.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/StatusBarUtil.java new file mode 100755 index 0000000..7e4fed4 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/StatusBarUtil.java @@ -0,0 +1,832 @@ +package com.rehome.bhdxj.utils; + +import android.annotation.SuppressLint; +import android.annotation.TargetApi; +import android.app.Activity; +import android.content.Context; +import android.graphics.Color; +import android.os.Build; +import androidx.annotation.ColorInt; +import androidx.annotation.IntRange; +import androidx.coordinatorlayout.widget.CoordinatorLayout; +import androidx.drawerlayout.widget.DrawerLayout; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.widget.LinearLayout; + +import com.rehome.bhdxj.R; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; + + +/** + * @author 47184 on 2018/2/27. + */ + +public class StatusBarUtil { + + + public static final int DEFAULT_STATUS_BAR_ALPHA = 0; + private static final int FAKE_STATUS_BAR_VIEW_ID = R.id.statusbarutil_fake_status_bar_view; + private static final int FAKE_TRANSLUCENT_VIEW_ID = R.id.statusbarutil_translucent_view; + private static final int TAG_KEY_HAVE_SET_OFFSET = -123; + + /** + * 修改状态栏为全透明 + * + * @param activity + */ + @TargetApi(19) + public static void transparencyBar(Activity activity) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Window window = activity.getWindow(); + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + window.setStatusBarColor(Color.TRANSPARENT); + + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + Window window = activity.getWindow(); + window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, + WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + } + } + + + + /** + * 设置状态栏颜色 + * + * @param activity 需要设置的 activity + * @param color 状态栏颜色值 + */ + public static void setColor(Activity activity, @ColorInt int color) { + setColor(activity, color, DEFAULT_STATUS_BAR_ALPHA); + } + + /** + * 设置状态栏颜色 + * + * @param activity 需要设置的activity + * @param color 状态栏颜色值 + * @param statusBarAlpha 状态栏透明度 + */ + + public static void setColor(Activity activity, @ColorInt int color, @IntRange(from = 0, to = 255) int statusBarAlpha) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + activity.getWindow().setStatusBarColor(calculateStatusColor(color, statusBarAlpha)); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView(); + View fakeStatusBarView = decorView.findViewById(FAKE_STATUS_BAR_VIEW_ID); + if (fakeStatusBarView != null) { + if (fakeStatusBarView.getVisibility() == View.GONE) { + fakeStatusBarView.setVisibility(View.VISIBLE); + } + fakeStatusBarView.setBackgroundColor(calculateStatusColor(color, statusBarAlpha)); + } else { + decorView.addView(createStatusBarView(activity, color, statusBarAlpha)); + } + setRootView(activity); + } + } + + /** + * 为滑动返回界面设置状态栏颜色 + * + * @param activity 需要设置的activity + * @param color 状态栏颜色值 + */ + public static void setColorForSwipeBack(Activity activity, int color) { + setColorForSwipeBack(activity, color, DEFAULT_STATUS_BAR_ALPHA); + } + + /** + * 为滑动返回界面设置状态栏颜色 + * + * @param activity 需要设置的activity + * @param color 状态栏颜色值 + * @param statusBarAlpha 状态栏透明度 + */ + public static void setColorForSwipeBack(Activity activity, @ColorInt int color, + @IntRange(from = 0, to = 255) int statusBarAlpha) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + + ViewGroup contentView = activity.findViewById(android.R.id.content); + View rootView = contentView.getChildAt(0); + int statusBarHeight = getStatusBarHeight(activity); + if (rootView != null && rootView instanceof CoordinatorLayout) { + final CoordinatorLayout coordinatorLayout = (CoordinatorLayout) rootView; + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + coordinatorLayout.setFitsSystemWindows(false); + contentView.setBackgroundColor(calculateStatusColor(color, statusBarAlpha)); + boolean isNeedRequestLayout = contentView.getPaddingTop() < statusBarHeight; + if (isNeedRequestLayout) { + contentView.setPadding(0, statusBarHeight, 0, 0); + coordinatorLayout.post(new Runnable() { + @Override + public void run() { + coordinatorLayout.requestLayout(); + } + }); + } + } else { + coordinatorLayout.setStatusBarBackgroundColor(calculateStatusColor(color, statusBarAlpha)); + } + } else { + contentView.setPadding(0, statusBarHeight, 0, 0); + contentView.setBackgroundColor(calculateStatusColor(color, statusBarAlpha)); + } + setTransparentForWindow(activity); + } + } + + /** + * 设置状态栏纯色 不加半透明效果 + * + * @param activity 需要设置的 activity + * @param color 状态栏颜色值 + */ + public static void setColorNoTranslucent(Activity activity, @ColorInt int color) { + setColor(activity, color, 0); + } + + /** + * 设置状态栏颜色(5.0以下无半透明效果,不建议使用) + * + * @param activity 需要设置的 activity + * @param color 状态栏颜色值 + */ + @Deprecated + public static void setColorDiff(Activity activity, @ColorInt int color) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return; + } + transparentStatusBar(activity); + ViewGroup contentView = activity.findViewById(android.R.id.content); + // 移除半透明矩形,以免叠加 + View fakeStatusBarView = contentView.findViewById(FAKE_STATUS_BAR_VIEW_ID); + if (fakeStatusBarView != null) { + if (fakeStatusBarView.getVisibility() == View.GONE) { + fakeStatusBarView.setVisibility(View.VISIBLE); + } + fakeStatusBarView.setBackgroundColor(color); + } else { + contentView.addView(createStatusBarView(activity, color)); + } + setRootView(activity); + } + + /** + * 使状态栏半透明 + *

+ * 适用于图片作为背景的界面,此时需要图片填充到状态栏 + * + * @param activity 需要设置的activity + */ + public static void setTranslucent(Activity activity) { + setTranslucent(activity, DEFAULT_STATUS_BAR_ALPHA); + } + + /** + * 使状态栏半透明 + *

+ * 适用于图片作为背景的界面,此时需要图片填充到状态栏 + * + * @param activity 需要设置的activity + * @param statusBarAlpha 状态栏透明度 + */ + public static void setTranslucent(Activity activity, @IntRange(from = 0, to = 255) int statusBarAlpha) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return; + } + setTransparent(activity); + addTranslucentView(activity, statusBarAlpha); + } + + /** + * 针对根布局是 CoordinatorLayout, 使状态栏半透明 + *

+ * 适用于图片作为背景的界面,此时需要图片填充到状态栏 + * + * @param activity 需要设置的activity + * @param statusBarAlpha 状态栏透明度 + */ + public static void setTranslucentForCoordinatorLayout(Activity activity, @IntRange(from = 0, to = 255) int statusBarAlpha) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return; + } + transparentStatusBar(activity); + addTranslucentView(activity, statusBarAlpha); + } + + /** + * 设置状态栏全透明 + * + * @param activity 需要设置的activity + */ + public static void setTransparent(Activity activity) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return; + } + transparentStatusBar(activity); + setRootView(activity); + } + + /** + * 使状态栏透明(5.0以上半透明效果,不建议使用) + *

+ * 适用于图片作为背景的界面,此时需要图片填充到状态栏 + * + * @param activity 需要设置的activity + */ + @Deprecated + public static void setTranslucentDiff(Activity activity) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + // 设置状态栏透明 + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + setRootView(activity); + } + } + + /** + * 为DrawerLayout 布局设置状态栏变色 + * + * @param activity 需要设置的activity + * @param drawerLayout DrawerLayout + * @param color 状态栏颜色值 + */ + public static void setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, @ColorInt int color) { + setColorForDrawerLayout(activity, drawerLayout, color, DEFAULT_STATUS_BAR_ALPHA); + } + + /** + * 为DrawerLayout 布局设置状态栏颜色,纯色 + * + * @param activity 需要设置的activity + * @param drawerLayout DrawerLayout + * @param color 状态栏颜色值 + */ + public static void setColorNoTranslucentForDrawerLayout(Activity activity, DrawerLayout drawerLayout, @ColorInt int color) { + setColorForDrawerLayout(activity, drawerLayout, color, 0); + } + + /** + * 为DrawerLayout 布局设置状态栏变色 + * + * @param activity 需要设置的activity + * @param drawerLayout DrawerLayout + * @param color 状态栏颜色值 + * @param statusBarAlpha 状态栏透明度 + */ + public static void setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, @ColorInt int color, + @IntRange(from = 0, to = 255) int statusBarAlpha) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return; + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + activity.getWindow().setStatusBarColor(Color.TRANSPARENT); + } else { + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + } + // 生成一个状态栏大小的矩形 + // 添加 statusBarView 到布局中 + ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0); + View fakeStatusBarView = contentLayout.findViewById(FAKE_STATUS_BAR_VIEW_ID); + if (fakeStatusBarView != null) { + if (fakeStatusBarView.getVisibility() == View.GONE) { + fakeStatusBarView.setVisibility(View.VISIBLE); + } + fakeStatusBarView.setBackgroundColor(color); + } else { + contentLayout.addView(createStatusBarView(activity, color), 0); + } + // 内容布局不是 LinearLayout 时,设置padding top + if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) { + contentLayout.getChildAt(1) + .setPadding(contentLayout.getPaddingLeft(), getStatusBarHeight(activity) + contentLayout.getPaddingTop(), + contentLayout.getPaddingRight(), contentLayout.getPaddingBottom()); + } + // 设置属性 + setDrawerLayoutProperty(drawerLayout, contentLayout); + addTranslucentView(activity, statusBarAlpha); + } + + /** + * 设置 DrawerLayout 属性 + * + * @param drawerLayout DrawerLayout + * @param drawerLayoutContentLayout DrawerLayout 的内容布局 + */ + private static void setDrawerLayoutProperty(DrawerLayout drawerLayout, ViewGroup drawerLayoutContentLayout) { + ViewGroup drawer = (ViewGroup) drawerLayout.getChildAt(1); + drawerLayout.setFitsSystemWindows(false); + drawerLayoutContentLayout.setFitsSystemWindows(false); + drawerLayoutContentLayout.setClipToPadding(true); + drawer.setFitsSystemWindows(false); + } + + /** + * 为DrawerLayout 布局设置状态栏变色(5.0以下无半透明效果,不建议使用) + * + * @param activity 需要设置的activity + * @param drawerLayout DrawerLayout + * @param color 状态栏颜色值 + */ + @Deprecated + public static void setColorForDrawerLayoutDiff(Activity activity, DrawerLayout drawerLayout, @ColorInt int color) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + // 生成一个状态栏大小的矩形 + ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0); + View fakeStatusBarView = contentLayout.findViewById(FAKE_STATUS_BAR_VIEW_ID); + if (fakeStatusBarView != null) { + if (fakeStatusBarView.getVisibility() == View.GONE) { + fakeStatusBarView.setVisibility(View.VISIBLE); + } + fakeStatusBarView.setBackgroundColor(calculateStatusColor(color, DEFAULT_STATUS_BAR_ALPHA)); + } else { + // 添加 statusBarView 到布局中 + contentLayout.addView(createStatusBarView(activity, color), 0); + } + // 内容布局不是 LinearLayout 时,设置padding top + if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) { + contentLayout.getChildAt(1).setPadding(0, getStatusBarHeight(activity), 0, 0); + } + // 设置属性 + setDrawerLayoutProperty(drawerLayout, contentLayout); + } + } + + /** + * 为 DrawerLayout 布局设置状态栏透明 + * + * @param activity 需要设置的activity + * @param drawerLayout DrawerLayout + */ + public static void setTranslucentForDrawerLayout(Activity activity, DrawerLayout drawerLayout) { + setTranslucentForDrawerLayout(activity, drawerLayout, DEFAULT_STATUS_BAR_ALPHA); + } + + /** + * 为 DrawerLayout 布局设置状态栏透明 + * + * @param activity 需要设置的activity + * @param drawerLayout DrawerLayout + */ + public static void setTranslucentForDrawerLayout(Activity activity, DrawerLayout drawerLayout, + @IntRange(from = 0, to = 255) int statusBarAlpha) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return; + } + setTransparentForDrawerLayout(activity, drawerLayout); + addTranslucentView(activity, statusBarAlpha); + } + + /** + * 为 DrawerLayout 布局设置状态栏透明 + * + * @param activity 需要设置的activity + * @param drawerLayout DrawerLayout + */ + public static void setTransparentForDrawerLayout(Activity activity, DrawerLayout drawerLayout) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return; + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + activity.getWindow().setStatusBarColor(Color.TRANSPARENT); + } else { + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + } + + ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0); + // 内容布局不是 LinearLayout 时,设置padding top + if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) { + contentLayout.getChildAt(1).setPadding(0, getStatusBarHeight(activity), 0, 0); + } + + // 设置属性 + setDrawerLayoutProperty(drawerLayout, contentLayout); + } + + /** + * 为 DrawerLayout 布局设置状态栏透明(5.0以上半透明效果,不建议使用) + * + * @param activity 需要设置的activity + * @param drawerLayout DrawerLayout + */ + @Deprecated + public static void setTranslucentForDrawerLayoutDiff(Activity activity, DrawerLayout drawerLayout) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + // 设置状态栏透明 + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + // 设置内容布局属性 + ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0); + contentLayout.setFitsSystemWindows(true); + contentLayout.setClipToPadding(true); + // 设置抽屉布局属性 + ViewGroup vg = (ViewGroup) drawerLayout.getChildAt(1); + vg.setFitsSystemWindows(false); + // 设置 DrawerLayout 属性 + drawerLayout.setFitsSystemWindows(false); + } + } + + /** + * 为头部是 ImageView 的界面设置状态栏全透明 + * + * @param activity 需要设置的activity + * @param needOffsetView 需要向下偏移的 View + */ + public static void setTransparentForImageView(Activity activity, View needOffsetView) { + setTranslucentForImageView(activity, 0, needOffsetView); + } + + /** + * 为头部是 ImageView 的界面设置状态栏透明(使用默认透明度) + * + * @param activity 需要设置的activity + * @param needOffsetView 需要向下偏移的 View + */ + public static void setTranslucentForImageView(Activity activity, View needOffsetView) { + setTranslucentForImageView(activity, DEFAULT_STATUS_BAR_ALPHA, needOffsetView); + } + + /** + * 为头部是 ImageView 的界面设置状态栏透明 + * + * @param activity 需要设置的activity + * @param statusBarAlpha 状态栏透明度 + * @param needOffsetView 需要向下偏移的 View + */ + public static void setTranslucentForImageView(Activity activity, @IntRange(from = 0, to = 255) int statusBarAlpha, + View needOffsetView) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return; + } + setTransparentForWindow(activity); + addTranslucentView(activity, statusBarAlpha); + if (needOffsetView != null) { + Object haveSetOffset = needOffsetView.getTag(TAG_KEY_HAVE_SET_OFFSET); + if (haveSetOffset != null && (Boolean) haveSetOffset) { + return; + } + ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) needOffsetView.getLayoutParams(); + layoutParams.setMargins(layoutParams.leftMargin, layoutParams.topMargin + getStatusBarHeight(activity), + layoutParams.rightMargin, layoutParams.bottomMargin); + needOffsetView.setTag(TAG_KEY_HAVE_SET_OFFSET, true); + } + } + + /** + * 为 fragment 头部是 ImageView 的设置状态栏透明 + * + * @param activity fragment 对应的 activity + * @param needOffsetView 需要向下偏移的 View + */ + public static void setTranslucentForImageViewInFragment(Activity activity, View needOffsetView) { + setTranslucentForImageViewInFragment(activity, DEFAULT_STATUS_BAR_ALPHA, needOffsetView); + } + + /** + * 为 fragment 头部是 ImageView 的设置状态栏透明 + * + * @param activity fragment 对应的 activity + * @param needOffsetView 需要向下偏移的 View + */ + public static void setTransparentForImageViewInFragment(Activity activity, View needOffsetView) { + setTranslucentForImageViewInFragment(activity, 0, needOffsetView); + } + + /** + * 为 fragment 头部是 ImageView 的设置状态栏透明 + * + * @param activity fragment 对应的 activity + * @param statusBarAlpha 状态栏透明度 + * @param needOffsetView 需要向下偏移的 View + */ + public static void setTranslucentForImageViewInFragment(Activity activity, @IntRange(from = 0, to = 255) int statusBarAlpha, + View needOffsetView) { + setTranslucentForImageView(activity, statusBarAlpha, needOffsetView); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + clearPreviousSetting(activity); + } + } + + /** + * 隐藏伪状态栏 View + * + * @param activity 调用的 Activity + */ + public static void hideFakeStatusBarView(Activity activity) { + ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView(); + View fakeStatusBarView = decorView.findViewById(FAKE_STATUS_BAR_VIEW_ID); + if (fakeStatusBarView != null) { + fakeStatusBarView.setVisibility(View.GONE); + } + View fakeTranslucentView = decorView.findViewById(FAKE_TRANSLUCENT_VIEW_ID); + if (fakeTranslucentView != null) { + fakeTranslucentView.setVisibility(View.GONE); + } + } + + /////////////////////////////////////////////////////////////////////////////////// + + @TargetApi(Build.VERSION_CODES.KITKAT) + private static void clearPreviousSetting(Activity activity) { + ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView(); + View fakeStatusBarView = decorView.findViewById(FAKE_STATUS_BAR_VIEW_ID); + if (fakeStatusBarView != null) { + decorView.removeView(fakeStatusBarView); + ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0); + rootView.setPadding(0, 0, 0, 0); + } + } + + /** + * 添加半透明矩形条 + * + * @param activity 需要设置的 activity + * @param statusBarAlpha 透明值 + */ + private static void addTranslucentView(Activity activity, @IntRange(from = 0, to = 255) int statusBarAlpha) { + ViewGroup contentView = activity.findViewById(android.R.id.content); + View fakeTranslucentView = contentView.findViewById(FAKE_TRANSLUCENT_VIEW_ID); + if (fakeTranslucentView != null) { + if (fakeTranslucentView.getVisibility() == View.GONE) { + fakeTranslucentView.setVisibility(View.VISIBLE); + } + fakeTranslucentView.setBackgroundColor(Color.argb(statusBarAlpha, 0, 0, 0)); + } else { + contentView.addView(createTranslucentStatusBarView(activity, statusBarAlpha)); + } + } + + /** + * 生成一个和状态栏大小相同的彩色矩形条 + * + * @param activity 需要设置的 activity + * @param color 状态栏颜色值 + * @return 状态栏矩形条 + */ + private static View createStatusBarView(Activity activity, @ColorInt int color) { + return createStatusBarView(activity, color, 0); + } + + /** + * 生成一个和状态栏大小相同的半透明矩形条 + * + * @param activity 需要设置的activity + * @param color 状态栏颜色值 + * @param alpha 透明值 + * @return 状态栏矩形条 + */ + private static View createStatusBarView(Activity activity, @ColorInt int color, int alpha) { + // 绘制一个和状态栏一样高的矩形 + View statusBarView = new View(activity); + LinearLayout.LayoutParams params = + new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight(activity)); + statusBarView.setLayoutParams(params); + statusBarView.setBackgroundColor(calculateStatusColor(color, alpha)); + statusBarView.setId(FAKE_STATUS_BAR_VIEW_ID); + return statusBarView; + } + + /** + * 设置根布局参数 + */ + private static void setRootView(Activity activity) { + ViewGroup parent = activity.findViewById(android.R.id.content); + for (int i = 0, count = parent.getChildCount(); i < count; i++) { + View childView = parent.getChildAt(i); + if (childView instanceof ViewGroup) { + childView.setFitsSystemWindows(true); + ((ViewGroup) childView).setClipToPadding(true); + } + } + } + + /** + * 设置透明 + */ + private static void setTransparentForWindow(Activity activity) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + activity.getWindow().setStatusBarColor(Color.TRANSPARENT); + activity.getWindow() + .getDecorView() + .setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + activity.getWindow() + .setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + } + } + + /** + * 使状态栏透明 + */ + @TargetApi(Build.VERSION_CODES.KITKAT) + private static void transparentStatusBar(Activity activity) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); + activity.getWindow().setStatusBarColor(Color.TRANSPARENT); + } else { + activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + } + } + + /** + * 创建半透明矩形 View + * + * @param alpha 透明值 + * @return 半透明 View + */ + private static View createTranslucentStatusBarView(Activity activity, int alpha) { + // 绘制一个和状态栏一样高的矩形 + View statusBarView = new View(activity); + LinearLayout.LayoutParams params = + new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight(activity)); + statusBarView.setLayoutParams(params); + statusBarView.setBackgroundColor(Color.argb(alpha, 0, 0, 0)); + statusBarView.setId(FAKE_TRANSLUCENT_VIEW_ID); + return statusBarView; + } + + /** + * 获取状态栏高度 + * + * @param context context + * @return 状态栏高度 + */ + private static int getStatusBarHeight(Context context) { + // 获得状态栏高度 + int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); + return context.getResources().getDimensionPixelSize(resourceId); + } + + /** + * 计算状态栏颜色 + * + * @param color color值 + * @param alpha alpha值 + * @return 最终的状态栏颜色 + */ + private static int calculateStatusColor(@ColorInt int color, int alpha) { + if (alpha == 0) { + return color; + } + float a = 1 - alpha / 255f; + int red = color >> 16 & 0xff; + int green = color >> 8 & 0xff; + int blue = color & 0xff; + red = (int) (red * a + 0.5); + green = (int) (green * a + 0.5); + blue = (int) (blue * a + 0.5); + return 0xff << 24 | red << 16 | green << 8 | blue; + } + + + /** + * 状态栏亮色模式,设置状态栏黑色文字、图标, + * 适配4.4以上版本MIUIV、Flyme和6.0以上版本其他Android + * + * @param activity + * @return 1:MIUUI 2:Flyme 3:android6.0 + */ + public static int StatusBarLightMode(Activity activity) { + int result = 0; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + if (MIUISetStatusBarLightMode(activity, true)) { + result = 1; + } else if (FlymeSetStatusBarLightMode(activity.getWindow(), true)) { + result = 2; + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + result = 3; + } + } + return result; + } + + /** + * 已知系统类型时,设置状态栏黑色文字、图标。 + * 适配4.4以上版本MIUIV、Flyme和6.0以上版本其他Android + * + * @param activity + * @param type 1:MIUUI 2:Flyme 3:android6.0 + */ + public static void StatusBarLightMode(Activity activity, int type) { + if (type == 1) { + MIUISetStatusBarLightMode(activity, true); + } else if (type == 2) { + FlymeSetStatusBarLightMode(activity.getWindow(), true); + } else if (type == 3) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + } + } + + } + + /** + * 状态栏暗色模式,清除MIUI、flyme或6.0以上版本状态栏黑色文字、图标 + */ + public static void StatusBarDarkMode(Activity activity, int type) { + if (type == 1) { + MIUISetStatusBarLightMode(activity, false); + } else if (type == 2) { + FlymeSetStatusBarLightMode(activity.getWindow(), false); + } else if (type == 3) { + activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); + } + + } + + + /** + * 设置状态栏图标为深色和魅族特定的文字风格 + * 可以用来判断是否为Flyme用户 + * + * @param window 需要设置的窗口 + * @param dark 是否把状态栏文字及图标颜色设置为深色 + * @return boolean 成功执行返回true + */ + public static boolean FlymeSetStatusBarLightMode(Window window, boolean dark) { + boolean result = false; + if (window != null) { + try { + WindowManager.LayoutParams lp = window.getAttributes(); + Field darkFlag = WindowManager.LayoutParams.class + .getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON"); + Field meizuFlags = WindowManager.LayoutParams.class + .getDeclaredField("meizuFlags"); + darkFlag.setAccessible(true); + meizuFlags.setAccessible(true); + int bit = darkFlag.getInt(null); + int value = meizuFlags.getInt(lp); + if (dark) { + value |= bit; + } else { + value &= ~bit; + } + meizuFlags.setInt(lp, value); + window.setAttributes(lp); + result = true; + } catch (Exception e) { + + } + } + return result; + } + + /** + * 需要MIUIV6以上 + * + * @param activity + * @param dark 是否把状态栏文字及图标颜色设置为深色 + * @return boolean 成功执行返回true + */ + public static boolean MIUISetStatusBarLightMode(Activity activity, boolean dark) { + boolean result = false; + Window window = activity.getWindow(); + if (window != null) { + Class clazz = window.getClass(); + try { + int darkModeFlag = 0; + @SuppressLint("PrivateApi") Class layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams"); + Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE"); + darkModeFlag = field.getInt(layoutParams); + Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class); + if (dark) { + extraFlagField.invoke(window, darkModeFlag, darkModeFlag);//状态栏透明且黑色字体 + } else { + extraFlagField.invoke(window, 0, darkModeFlag);//清除黑色字体 + } + result = true; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + //开发版 7.7.13 及以后版本采用了系统API,旧方法无效但不会报错,所以两个方式都要加上 + if (dark) { + activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + } else { + activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); + } + } + } catch (Exception ignored) { + + } + } + return result; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/UiUtlis.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/UiUtlis.java new file mode 100755 index 0000000..16ea55b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/utils/UiUtlis.java @@ -0,0 +1,110 @@ +package com.rehome.bhdxj.utils; + +import android.content.Context; +import android.text.TextUtils; +import android.view.inputmethod.InputMethodManager; +import android.widget.EditText; + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * 一个ui的工具类 + */ +public class UiUtlis { + + public static String getText(EditText editText) { + return editText.getText().toString().trim(); + } + + public static String getString(Context context, int id) { + return context.getResources().getString(id); + } + + /** + * 隐藏键盘 + * + * @param editText EditText + * @param context Context + */ + public static void hideInput(EditText editText, Context context) { + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); + } + + /** + * URL加密 + * + * @param text 加密的文本 + * @return + */ + public static String encoder(String text) { + + String name = ""; + try { + name = URLEncoder.encode(text, "utf-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return name; + } + + /** + * String类型转double + * + * @param text 文本 + * @return + */ + public static double getNum(String text) { + double num = 0; + try { + num = Double.parseDouble(text); + } catch (Exception e) { + e.printStackTrace(); + } + return num; + } + + /** + * 判断计划 + * + * @param time + * @return + */ + public static boolean isdelete(String time) { + + if (!time.isEmpty()) { + + String str = ""; + if (time.indexOf("-") != -1) { + str = "yyyy-MM-dd HH:mm:ss"; + } + + if (time.indexOf("/") != -1) { + str = "yyyy/MM/dd HH:mm:ss"; + } + + SimpleDateFormat sdf = new SimpleDateFormat(str); + //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date date = null; + try { + date = sdf.parse(time); + } catch (ParseException e) { + e.printStackTrace(); + } + long l1 = date.getTime();//服务器返回时间 + long l2 = System.currentTimeMillis();//系统时间 + return l1 < l2; + } + return false; + } + + public static boolean isEmpty(EditText editText) { + + return TextUtils.isEmpty(editText.getText().toString()); + } + +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AuditDialog.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AuditDialog.java new file mode 100755 index 0000000..f4c8083 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AuditDialog.java @@ -0,0 +1,91 @@ +package com.rehome.bhdxj.weight; + +import android.app.Dialog; +import android.content.Context; +import androidx.annotation.NonNull; +import android.text.TextUtils; +import android.view.Display; +import android.view.Gravity; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.rehome.bhdxj.R; + + +/** + * Created by Rehome-rjb1 on 2017/5/31. + * 是否审核的对话框 + */ + +public class AuditDialog extends Dialog { + + TextView tvMsg; + TextView dialogCancel; + TextView dialogCommit; + LinearLayout layDialogCancel; + + private AuditDialogListener listener; + + public AuditDialog(@NonNull Context context, String msg, AuditDialogListener listener) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + setContentView(R.layout.layout_audit_dialog); + findView(); + Window window = getWindow(); + WindowManager.LayoutParams lp = window.getAttributes(); + lp.width = (getScreenWidth(context)) * 2 / 3; + window.setGravity(Gravity.CENTER); + this.listener = listener; + setCancelable(false); + setTvMsg(msg); + } + + private void findView(){ + + tvMsg = findViewById(R.id.tv_msg); + dialogCancel = findViewById(R.id.dialog_cancel); + dialogCommit = findViewById(R.id.dialog_commit); + layDialogCancel = findViewById(R.id.lay_dialog_cancel); + dialogCancel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + if (listener != null) { + listener.cancel(); + } + } + }); + dialogCommit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + if (listener != null) { + listener.confirm(); + } + } + }); + } + + public void setTvMsg(String msg) { + if (!TextUtils.isEmpty(msg)) { + tvMsg.setText(msg); + } + } + + //获取屏幕宽度 + public static int getScreenWidth(Context context) { + WindowManager manager = (WindowManager) context + .getSystemService(Context.WINDOW_SERVICE); + Display display = manager.getDefaultDisplay(); + return display.getWidth(); + } + + public interface AuditDialogListener { + void confirm(); + + void cancel(); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AutoGridView.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AutoGridView.java new file mode 100755 index 0000000..889f51c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AutoGridView.java @@ -0,0 +1,37 @@ +package com.rehome.bhdxj.weight; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.widget.GridView; + +/** + * Created by Rehome-rjb1 on 2017/5/16. + * 自适应的gridview + */ + +public class AutoGridView extends GridView { + + public AutoGridView(Context context) { + super(context); + } + + public AutoGridView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public AutoGridView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + return super.dispatchTouchEvent(ev); + } + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); + super.onMeasure(widthMeasureSpec, expandSpec); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AutoListView.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AutoListView.java new file mode 100755 index 0000000..d10da28 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AutoListView.java @@ -0,0 +1,36 @@ +package com.rehome.bhdxj.weight; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.widget.ListView; + +/** + * Created by Rehome-rjb1 on 2017/5/16. + * 自适应的listview + */ + +public class AutoListView extends ListView { + public AutoListView(Context context) { + super(context); + } + + public AutoListView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public AutoListView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + return super.dispatchTouchEvent(ev); + } + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); + super.onMeasure(widthMeasureSpec, expandSpec); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AutoRadioGroup.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AutoRadioGroup.java new file mode 100755 index 0000000..011ef38 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/AutoRadioGroup.java @@ -0,0 +1,80 @@ +package com.rehome.bhdxj.weight; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.ViewGroup; +import android.widget.RadioGroup; + +import com.zhy.autolayout.AutoLayoutInfo; +import com.zhy.autolayout.utils.AutoLayoutHelper; + +/** + * Created by hupei on 2016/icon2/29 9:59. + */ +public class AutoRadioGroup extends RadioGroup +{ + private AutoLayoutHelper mHelper = new AutoLayoutHelper(this); + + public AutoRadioGroup(Context context) + { + super(context); + } + + public AutoRadioGroup(Context context, AttributeSet attrs) + { + super(context, attrs); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) + { + if (!isInEditMode()) + mHelper.adjustChildren(); + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) + { + super.onLayout(changed, l, t, r, b); + } + + @Override + public LayoutParams generateLayoutParams(AttributeSet attrs) + { + return new LayoutParams(getContext(), attrs); + } + + public static class LayoutParams extends RadioGroup.LayoutParams + implements AutoLayoutHelper.AutoLayoutParams + { + private AutoLayoutInfo mAutoLayoutInfo; + + public LayoutParams(Context c, AttributeSet attrs) + { + super(c, attrs); + mAutoLayoutInfo = AutoLayoutHelper.getAutoLayoutInfo(c, attrs); + } + + @Override + public AutoLayoutInfo getAutoLayoutInfo() + { + return mAutoLayoutInfo; + } + + public LayoutParams(int width, int height) + { + super(width, height); + } + + public LayoutParams(ViewGroup.LayoutParams source) + { + super(source); + } + + public LayoutParams(MarginLayoutParams source) + { + super(source); + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/ClearEditText.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/ClearEditText.java new file mode 100755 index 0000000..a4710af --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/ClearEditText.java @@ -0,0 +1,126 @@ +package com.rehome.bhdxj.weight; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; +import androidx.appcompat.widget.AppCompatEditText; +import android.text.Editable; +import android.text.TextWatcher; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; + +import com.rehome.bhdxj.R; + + +/** + * Created by Rehome-rjb1 on 2017/5/9. + * 一个可以清空文本框的EditText + */ + +public class ClearEditText extends AppCompatEditText implements View.OnTouchListener, View.OnFocusChangeListener, TextWatcher { + + private Drawable mClearTextIcon; + private OnFocusChangeListener mOnFocusChangeListener; + private OnTouchListener mOnTouchListener; + + public ClearEditText(final Context context) { + super(context); + init(context); + } + + public ClearEditText(final Context context, final AttributeSet attrs) { + super(context, attrs); + init(context); + } + + public ClearEditText(final Context context, final AttributeSet attrs, final int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(context); + } + + private void init(final Context context) { + + final Drawable drawable = ContextCompat.getDrawable(context, R.mipmap.del); + final Drawable wrappedDrawable = DrawableCompat.wrap(drawable); //Wrap the drawable so that it can be tinted pre Lollipop + DrawableCompat.setTint(wrappedDrawable, getCurrentHintTextColor()); + mClearTextIcon = wrappedDrawable; + +// mClearTextIcon= context.getResources().getDrawable(R.drawable.icon_delete_32); + //设置图片在右边 + mClearTextIcon.setBounds(0, 0, mClearTextIcon.getIntrinsicHeight(), mClearTextIcon.getIntrinsicHeight()); + //默认设置为隐藏状态1 + setClearIconVisible(false); + super.setOnTouchListener(this); + super.setOnFocusChangeListener(this); + addTextChangedListener(this); + } + + @Override + public void setOnFocusChangeListener(OnFocusChangeListener l) { + mOnFocusChangeListener = l; + } + + @Override + public void setOnTouchListener(OnTouchListener l) { + mOnTouchListener = l; + } + + @Override + public void onFocusChange(View v, boolean hasFocus) { + //如果获取焦点。文本大于0就显示删除按钮, + if (hasFocus) { + setClearIconVisible(getText().length() > 0); + } else { + setClearIconVisible(false); + } + if (mOnFocusChangeListener != null) { + mOnFocusChangeListener.onFocusChange(v, hasFocus); + } + } + + @Override + public boolean onTouch(View view, MotionEvent motionEvent) { + final int x = (int) motionEvent.getX(); + //点击删除按钮,就清空字符串 + if (mClearTextIcon.isVisible() && x > getWidth() - getPaddingRight() - mClearTextIcon.getIntrinsicWidth()) { + if (motionEvent.getAction() == MotionEvent.ACTION_UP) { + setError(null); + setText(""); + } + return true; + } + return mOnTouchListener != null && mOnTouchListener.onTouch(view, motionEvent); + } + + @Override + public final void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) { + //有获取到焦点且文本发生变化时候,显示删除按钮 + if (isFocused()) { + setClearIconVisible(text.length() > 0); + } + } + + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void afterTextChanged(Editable s) { + + } + + //设置删除图标是否隐藏 + private void setClearIconVisible(final boolean visible) { + mClearTextIcon.setVisible(visible, false); + final Drawable[] compoundDrawables = getCompoundDrawables(); + setCompoundDrawables( + compoundDrawables[0], + compoundDrawables[1], + visible ? mClearTextIcon : null, + compoundDrawables[3]); + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/DateTimePickDialog.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/DateTimePickDialog.java new file mode 100755 index 0000000..5b4c629 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/DateTimePickDialog.java @@ -0,0 +1,195 @@ +package com.rehome.bhdxj.weight; + +import android.app.Dialog; +import android.content.Context; +import android.view.Display; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.widget.DatePicker; +import android.widget.TextView; +import android.widget.TimePicker; + +import com.rehome.bhdxj.R; + +import java.text.SimpleDateFormat; +import java.util.Calendar; + +/** + * 时间日期选择器 + * Created by Rehome-rjb1 on 2017/4/10. + */ + +public class DateTimePickDialog extends Dialog implements DatePicker.OnDateChangedListener,TimePicker.OnTimeChangedListener { + + private TextView tv_dialog_title, tv_dialog_msg, tv_dialog_commit, tv_dialog_cancel; + private View lay_dialog_title, lay_dialog_cancel, lay_dialog_commit; + private DateTimePickDialog.CommitClickListener commitClickListener; + private DatePicker datePicker; + private TimePicker timePicker; + private String dateTime, outPutDateTime, outPutDateTime1, outPutDateTime2,outPutDateTime3; + private Calendar calendar = Calendar.getInstance(); + private Calendar nowCalendar = Calendar.getInstance();//现在时间 + private Calendar tempCalendar = Calendar.getInstance();//历史时间 + + + private SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); + private SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + private SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy-MM-dd"); + private SimpleDateFormat simpleDateFormat4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + private SimpleDateFormat simpleDateFormat5 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm"); + + public DateTimePickDialog(Context context, DateTimePickDialog.CommitClickListener commitClickListener) { + super(context); + this.commitClickListener = commitClickListener; + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + setContentView(R.layout.layout_datetime_dialog); + + Window window = getWindow(); + WindowManager.LayoutParams lp = window.getAttributes(); + lp.width = (getScreenWidth(context)) * 4 / 5; + window.setGravity(Gravity.CENTER); + + lay_dialog_title = findViewById(R.id.lay_dialog_title); + tv_dialog_title = findViewById(R.id.dialog_title); + + lay_dialog_cancel = findViewById(R.id.lay_dialog_cancel); +// lay_dialog_commit = findViewById(R.id.lay_dialog_commit); + + tv_dialog_cancel = findViewById(R.id.dialog_cancel); + tv_dialog_commit = findViewById(R.id.dialog_commit); + + datePicker = findViewById(R.id.datePicker); + timePicker = findViewById(R.id.timePicker); + + if (calendar != null) { + initDateTime(datePicker, timePicker, calendar); + } + + timePicker.setIs24HourView(true); + timePicker.setOnTimeChangedListener(this); + tv_dialog_cancel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + } + }); + tv_dialog_commit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + commitClickListener.confirm(outPutDateTime, outPutDateTime1,outPutDateTime2,outPutDateTime3); + dismiss(); + } + }); + } + + public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { + onDateChanged(null, 0, 0, 0); + } + + /** + * 时间改变时候回调 + * + * @param view + * @param year 年 + * @param monthOfYear 月 + * @param dayOfMonth 日 + */ + public void onDateChanged(DatePicker view, int year, int monthOfYear, + int dayOfMonth) { + tempCalendar.set(datePicker.getYear(), datePicker.getMonth(), + datePicker.getDayOfMonth(), timePicker.getCurrentHour(), + timePicker.getCurrentMinute(),0); + + /** + * 如果当前时间大于选择的时间,就重置时间 + */ +// if (nowCalendar.getTimeInMillis() > tempCalendar.getTimeInMillis()) { +// changeDateTime(datePicker, timePicker, nowCalendar); +// } else { + calendar = tempCalendar; + dateTime = simpleDateFormat1.format(calendar.getTime()); + tv_dialog_title.setText(dateTime); + outPutDateTime = simpleDateFormat2.format(calendar.getTime()); + outPutDateTime1 = simpleDateFormat3.format(calendar.getTime()); + outPutDateTime2 = simpleDateFormat4.format(calendar.getTime()); + outPutDateTime3= simpleDateFormat5.format(calendar.getTime()); +// } + } + + /** + * 改变时间 + * + * @param datePicker 日期选择控件 + * @param timePicker 时间选择控件 + * @param calendar 日历类 + */ + private void changeDateTime(DatePicker datePicker, TimePicker timePicker, Calendar calendar) { + datePicker.init(calendar.get(Calendar.YEAR), + calendar.get(Calendar.MONTH), + calendar.get(Calendar.DAY_OF_MONTH), this); + //设置不显示年 + if (datePicker != null) { + ((ViewGroup) ((ViewGroup) datePicker.getChildAt(0)).getChildAt(0)).getChildAt(0).setVisibility(View.GONE); + } + tv_dialog_title.setText(simpleDateFormat1.format(calendar.getTime())); + + //设置显示时分 + timePicker.setCurrentHour(calendar.get(Calendar.HOUR_OF_DAY)); + timePicker.setCurrentMinute(calendar.get(Calendar.MINUTE)); + } + + /** + * 初始化时间 + * + * @param datePicker 日期选择控件 + * @param timePicker 时间选择控件 + * @param calendar 日历类 + */ + private void initDateTime(DatePicker datePicker, TimePicker timePicker, Calendar calendar) { +// calendar.add(Calendar.DATE, 1); + datePicker.init(calendar.get(Calendar.YEAR), + calendar.get(Calendar.MONTH), + calendar.get(Calendar.DAY_OF_MONTH), this); +// 设置不显示年 + if (datePicker != null) { + ((ViewGroup) ((ViewGroup) datePicker.getChildAt(0)).getChildAt(0)).getChildAt(0).setVisibility(View.GONE); + } + + calendar.set(datePicker.getYear(), datePicker.getMonth(), + datePicker.getDayOfMonth(), timePicker.getCurrentHour(), + timePicker.getCurrentMinute(),0); + + + tv_dialog_title.setText(simpleDateFormat1.format(calendar.getTime())); + //设置显示时分 + timePicker.setCurrentHour(calendar.get(Calendar.HOUR_OF_DAY)); + timePicker.setCurrentMinute(calendar.get(Calendar.MINUTE)); + tempCalendar = calendar; + outPutDateTime = simpleDateFormat2.format(calendar.getTime()); + outPutDateTime1 = simpleDateFormat3.format(calendar.getTime()); + outPutDateTime2 = simpleDateFormat4.format(calendar.getTime()); + outPutDateTime3 = simpleDateFormat5.format(calendar.getTime()); + } + + public interface CommitClickListener { + /** + * @param outPutDate 精确到分 + * @param outPutDate1 精确到天 + * @param outPutDate2 精确到秒 + */ + void confirm(String outPutDate, String outPutDate1, String outPutDate2,String outPutDateTime3); + } + + //获取屏幕宽度 + public static int getScreenWidth(Context context) { + WindowManager manager = (WindowManager) context + .getSystemService(Context.WINDOW_SERVICE); + Display display = manager.getDefaultDisplay(); + return display.getWidth(); + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/InputLayout.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/InputLayout.java new file mode 100755 index 0000000..176ce1c --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/InputLayout.java @@ -0,0 +1,241 @@ +package com.rehome.bhdxj.weight; + +import android.content.Context; +import android.content.res.TypedArray; +import androidx.annotation.Nullable; +import android.text.Html; +import android.text.InputType; +import android.util.AttributeSet; +import android.view.KeyEvent; +import android.view.View; +import android.widget.ImageButton; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.zhy.autolayout.AutoLinearLayout; +import com.zhy.autolayout.utils.AutoUtils; + +/** + * Created by Rehome-rjb1 on 2017/5/9. + *

+ * 输入框 + * + * + * + * + * + * + * + * + * + */ + +public class InputLayout extends AutoLinearLayout { + + TextView tvTitle; + ClearEditText etContent; + TextView tvContent; + NumAddSubView numAddSubView; + ImageButton ibtnSelect; + + + + private View view; + + public InputLayout(Context context) { + super(context, null); + initView(); + } + + public InputLayout(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + initView(); + if (attrs != null) { + TypedArray type = context.obtainStyledAttributes(attrs, R.styleable.InputLayout); + + String title = type.getString(R.styleable.InputLayout_tv_title); + Boolean isShowSelect = type.getBoolean(R.styleable.InputLayout_isShowSelect, false); + Boolean isShowTextView = type.getBoolean(R.styleable.InputLayout_isShowTextView, false); + Boolean isShowNumSubView = type.getBoolean(R.styleable.InputLayout_isShowNumSubView, false); + String hintText = type.getString(R.styleable.InputLayout_hintText); + Boolean must = type.getBoolean(R.styleable.InputLayout_must, false); + + int minValue = type.getInt(R.styleable.InputLayout_minValue, 1); + numAddSubView.setMinNum(minValue); + + setHintText(hintText); + setTvTitle(title, must); + isShowIbtnSelect(isShowSelect); + isShowTextView(isShowTextView); + isShowNumSubView(isShowNumSubView); + type.recycle(); + } + } + + + public InputLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initView(); + } + + private void findView(){ + tvTitle = view.findViewById(R.id.tv_title); + etContent = view.findViewById(R.id.et_content); + tvContent = view.findViewById(R.id.tv_content); + numAddSubView = view.findViewById(R.id.numAddSubView); + ibtnSelect = view.findViewById(R.id.ibtn_select); + } + + private void initView() { + + if (view == null) { + view = View.inflate(getContext(), R.layout.layout_input, this); + AutoUtils.auto(view); + findView(); + } + + + + etContent.setOnEditorActionListener(new TextView.OnEditorActionListener() { + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + + if (event != null) { + return (event.getKeyCode() == KeyEvent.KEYCODE_ENTER); + } else { + return false; + } + } + }); + + } + + public void setTvTitle(String title, boolean must) { + + if (must) { + String mustTitle = title + "*"; + tvTitle.setText(Html.fromHtml(mustTitle + ":")); + } else { + tvTitle.setText(title + ":"); + } + } + + public void isShowIbtnSelect(boolean isShow) { + ibtnSelect.setVisibility(isShow ? VISIBLE : GONE); + } + + public void isShowTextView(boolean isShow) { + + if (isShow) { + tvContent.setVisibility(VISIBLE); + etContent.setVisibility(GONE); + } + } + + public void isShowNumSubView(boolean isShow) { + numAddSubView.setVisibility(isShow ? VISIBLE : GONE); + } + + /** + * 设置选择控件的点击事件 + * + * @param listener + */ + public void setIbtnSelectOnClickListener(OnClickListener listener) { + ibtnSelect.setOnClickListener(listener); + } + + /** + * 设置文本框点击事件 + * + * @param listener + */ + public void setTvContentOnClickListener(OnClickListener listener) { + tvContent.setOnClickListener(listener); + } + + + /** + * 设置文本内容 + * + * @param content + */ + public void setContent(String content) { + + if (tvContent.getVisibility() == VISIBLE) { + tvContent.setText(content); + } else { + etContent.setText(content); + } + } + + public void setHintText(String hintText) { + tvContent.setHint(hintText); + } + + /** + * 获取文本内容 + * + * @return + */ + public String getContent() { + String content; + if (tvContent.getVisibility() == VISIBLE) { + content = tvContent.getText().toString(); + } else { + content = etContent.getText().toString(); + } + return content; + } + + /** + * 设置为+号的按钮 + */ + public void setIbtnSelectIcon() { + ibtnSelect.setImageResource(R.mipmap.add_gray); + } + + /** + * 获取加减控件的值 + * + * @return + */ + public String getNum() { + return numAddSubView.getNum(); + } + + public void setNum(String num) { + numAddSubView.setNum(num); + } + + /** + * 设置不可编辑 + * + * @param enabled + */ + @Override + public void setEnabled(boolean enabled) { + super.setEnabled(enabled); + + etContent.setVisibility(VISIBLE); + tvContent.setVisibility(GONE); + + etContent.setEnabled(enabled); + tvContent.setEnabled(enabled); + ibtnSelect.setEnabled(enabled); + numAddSubView.setEnabled(enabled); + } + + /** + * 设置为数字类型的InputType + */ + public void setEtNumInputType() { + etContent.setInputType(InputType.TYPE_CLASS_NUMBER); + } + + /** + * 设置为数字类型的InputType 可加小数点 + */ + public void setNo() { + etContent.setInputType(InputType.TYPE_CLASS_PHONE); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/ListDialog.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/ListDialog.java new file mode 100755 index 0000000..91c23c5 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/ListDialog.java @@ -0,0 +1,106 @@ +package com.rehome.bhdxj.weight; + +import android.app.Dialog; +import android.content.Context; +import androidx.annotation.NonNull; +import android.view.Display; +import android.view.Gravity; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.AdapterView; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.adapter.CommonAdapter; +import com.rehome.bhdxj.adapter.ViewHolder; +import java.util.List; + +/** + * Created by Rehome-rjb1 on 2017/5/18. + * 列表模式的dialog + */ + +public class ListDialog extends Dialog { + + AutoListView lv; + TextView tvTitle; + LinearLayout llTitle; + + private CommonAdapter adapter; + private List datas; + + private ListDialogListener listener; + + + public ListDialog(@NonNull Context context, List datas, ListDialogListener listener) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + setContentView(R.layout.layout_take_out_time); + findView(); + this.listener = listener; + Window window = getWindow(); + WindowManager.LayoutParams lp = window.getAttributes(); + lp.width = (getScreenWidth(context)) * 2 / 3; + window.setGravity(Gravity.CENTER); + + this.datas = datas; + if (datas != null) { + setAdapter(); + } + } + + private void findView(){ + tvTitle = findViewById(R.id.tv_title); + lv = findViewById(R.id.lv); + llTitle = findViewById(R.id.ll_title); + } + + public void setTvTitle(String title) { + tvTitle.setText(title); + } + + public void hideTitle() { + llTitle.setVisibility(View.GONE); + } + + private void setAdapter() { + + if (adapter == null) { + adapter = new CommonAdapter(getContext(), R.layout.item_content, datas) { + @Override + protected void convert(ViewHolder viewHolder, String item, int position) { + viewHolder.setText(R.id.tv_text, item); + } + }; + + lv.setAdapter(adapter); + lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + if (listener != null) { + listener.selectText(datas.get(position), position); + dismiss(); + } + } + }); + + } else { + adapter.notifyDataSetChanged(); + } + + } + + //获取屏幕宽度 + public static int getScreenWidth(Context context) { + WindowManager manager = (WindowManager) context + .getSystemService(Context.WINDOW_SERVICE); + Display display = manager.getDefaultDisplay(); + return display.getWidth(); + } + + public interface ListDialogListener { + void selectText(String text, int position); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/LoadDialog.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/LoadDialog.java new file mode 100755 index 0000000..83f402d --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/LoadDialog.java @@ -0,0 +1,128 @@ +package com.rehome.bhdxj.weight; + +import android.app.Activity; +import android.app.Dialog; +import android.content.Context; +import android.text.TextUtils; +import android.view.Display; +import android.view.KeyEvent; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.TextView; +import android.widget.Toast; + +import com.rehome.bhdxj.R; + + +/** + * Created by Rehome-rjb1 on 2017/5/17. + * 加载框1 + */ + +public class LoadDialog extends Dialog { + + + private static LoadDialog loadDialog; + + private boolean cancelable; + + private String tipMsg; + + + public LoadDialog(final Context ctx, boolean cancelable, String tipMsg) { + super(ctx); + + this.cancelable = cancelable; + this.tipMsg = tipMsg; + + this.getContext().setTheme(android.R.style.Theme_DeviceDefault_Dialog_NoActionBar_MinWidth); + setContentView(R.layout.layout_dialog); + // 必须放在加载布局后 + setparams(); + TextView tv = findViewById(R.id.tvLoad); + if (!TextUtils.isEmpty(tipMsg)) { + tv.setVisibility(View.VISIBLE); + tv.setText(tipMsg); + } + } + + private void setparams() { + this.setCancelable(cancelable); + this.setCanceledOnTouchOutside(false); + WindowManager windowManager = getWindow().getWindowManager(); + Display display = windowManager.getDefaultDisplay(); + WindowManager.LayoutParams lp = this.getWindow().getAttributes(); + // Dialog宽度 + lp.width = (int) (display.getWidth() * 0.7); + Window window = getWindow(); + window.setAttributes(lp); + window.getDecorView().getBackground().setAlpha(0); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (!cancelable) { + Toast.makeText(getContext(), tipMsg, Toast.LENGTH_SHORT).show(); + return true; + } + } + return super.onKeyDown(keyCode, event); + } + + + public static void show(Context context) { + show(context, null, true); + } + + + public static void show(Context context, String message) { + show(context, message, true); + } + + + public static void show(Context context, int resourceId) { + show(context, context.getResources().getString(resourceId), true); + } + + + private static void show(Context context, String message, boolean cancelable) { + if (context instanceof Activity) { + if (((Activity) context).isFinishing()) { + return; + } + } + if (loadDialog != null && loadDialog.isShowing()) { + return; + } + loadDialog = new LoadDialog(context, cancelable, message); + loadDialog.show(); + } + + public static void dismiss(Context context) { + try { + if (context instanceof Activity) { + if (((Activity) context).isFinishing()) { + loadDialog = null; + return; + } + } + + if (loadDialog != null && loadDialog.isShowing()) { + Context loadContext = loadDialog.getContext(); + if (loadContext != null && loadContext instanceof Activity) { + if (((Activity) loadContext).isFinishing()) { + loadDialog = null; + return; + } + } + loadDialog.dismiss(); + loadDialog = null; + } + } catch (Exception e) { + e.printStackTrace(); + loadDialog = null; + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/NoscrollViewPager.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/NoscrollViewPager.java new file mode 100755 index 0000000..0fa6ecf --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/NoscrollViewPager.java @@ -0,0 +1,41 @@ +package com.rehome.bhdxj.weight; + +import android.content.Context; +import androidx.viewpager.widget.ViewPager; +import android.util.AttributeSet; +import android.view.MotionEvent; + +/** + * 禁止滑动的ViewPager + */ + +public class NoscrollViewPager extends ViewPager { + + public NoscrollViewPager(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public NoscrollViewPager(Context context) { + super(context); + } + + /** + * 什么都不用做 + * @param arg0 + * @return + */ + + @Override + public boolean onTouchEvent(MotionEvent arg0) { + return false; + } + + /** + * false表示不拦截事件 + */ + @Override + public boolean onInterceptTouchEvent(MotionEvent arg0) { + return false; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/NumAddSubView.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/NumAddSubView.java new file mode 100755 index 0000000..aa4b86e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/NumAddSubView.java @@ -0,0 +1,117 @@ +package com.rehome.bhdxj.weight; + +import android.content.Context; +import android.content.res.TypedArray; +import androidx.annotation.Nullable; +import android.util.AttributeSet; +import android.view.View; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.rehome.bhdxj.R; + +/** + * 可以加减的控件 + */ +public class NumAddSubView extends LinearLayout { + + ImageButton ibtnSub; + TextView tvNum; + ImageButton ibtnAdd; + + private View view; + + private int maxNum = 100; + private int minNum = 1; + + public NumAddSubView(Context context) { + super(context, null); + initView(); + } + + public NumAddSubView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + initView(); + + if (attrs != null) { + TypedArray type = context.obtainStyledAttributes(attrs, R.styleable.NumAddSubView); + maxNum = type.getInt(R.styleable.NumAddSubView_maxNum, 100); + minNum = type.getInt(R.styleable.NumAddSubView_minNum, 1); + } + } + + public NumAddSubView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initView(); + } + + private void initView() { + + if (view == null) { + view = View.inflate(getContext(), R.layout.num_add_sub_layout, this); + findView(); + } + + tvNum.setText("1"); + } + + private void findView(){ + ibtnSub = view.findViewById(R.id.ibtn_sub); + tvNum = view.findViewById(R.id.tv_num); + ibtnAdd = view.findViewById(R.id.ibtn_add); + ibtnAdd.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + int nowMax = getNum(tvNum) + 1; + if (nowMax <= maxNum) { + tvNum.setText(nowMax + ""); + if (listener != null) { + listener.numChange(tvNum.getText().toString()); + } + } + } + }); + ibtnSub.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + int nowMin = getNum(tvNum) - 1; + if (nowMin >= minNum) { + tvNum.setText(nowMin + ""); + if (listener != null) { + listener.numChange(tvNum.getText().toString()); + } + } + } + }); + } + + public void setMaxNum(int maxNum) { + this.maxNum = maxNum; + } + + public void setMinNum(int minNum) { + this.minNum = minNum; + } + + public void setNum(String num) { + tvNum.setText(num); + } + + public int getNum(TextView num) { + return Integer.parseInt(num.getText().toString()); + } + + public String getNum() { + return tvNum.getText().toString(); + } + + private NumChangeListener listener; + + public void setListener(NumChangeListener listener) { + this.listener = listener; + } + + public interface NumChangeListener { + void numChange(String num); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/SettingIpDialog.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/SettingIpDialog.java new file mode 100755 index 0000000..679a852 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/SettingIpDialog.java @@ -0,0 +1,92 @@ +package com.rehome.bhdxj.weight; + +import android.content.Context; +import androidx.appcompat.app.AlertDialog; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; + +import com.rehome.bhdxj.R; + + +/** + * Created by Administrator on 2016/10/22. + */ + +public class SettingIpDialog { + + private Context mContext; + private AlertDialog dialog; + private TextView tv_title; + private Button btn_save; + private Button btn_cancel; + private Window mWindow; + private EditText wifi_ip; + private EditText mobile_ip; + private InputMethodManager input; + + public SettingIpDialog(Context context) { + mContext = context; + dialog = new AlertDialog.Builder(context).create(); + dialog.setCancelable(true); + dialog.show(); + mWindow = dialog.getWindow(); + mWindow.clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); + mWindow.setContentView(R.layout.setting_ip); + wifi_ip = mWindow.findViewById(R.id.et_wifi_ip); + mobile_ip = mWindow.findViewById(R.id.et_4g_ip); + tv_title = mWindow.findViewById(R.id.tv_title); + btn_cancel = mWindow.findViewById(R.id.btn_qx); + btn_save = mWindow.findViewById(R.id.btn_qd); + } + + public void setSaveOnClick(View.OnClickListener listener) { + btn_save.setOnClickListener(listener); + } + + + public void setCancelOnClick(View.OnClickListener listener) { + btn_cancel.setOnClickListener(listener); + } + + /** + * 设置Title + * + * @param title + */ + public void setTitle(String title) { + tv_title.setText(title); + } + + public void setWifi_ip(String wifi_ip) { + this.wifi_ip.setText(wifi_ip); + } + + public void setMobile_ip(String mobile_ip) { + this.mobile_ip.setText(mobile_ip); + } + + public String getWifiIp() { + return wifi_ip.getText().toString().trim(); + } + + public String getMobileIp() { + return mobile_ip.getText().toString().trim(); + } + + public EditText getWifi_ip() { + return wifi_ip; + } + + public EditText getMobile_ip() { + return mobile_ip; + } + + public void close() { + dialog.dismiss(); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/UpdateAuditDialog.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/UpdateAuditDialog.java new file mode 100755 index 0000000..420617a --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/UpdateAuditDialog.java @@ -0,0 +1,89 @@ +package com.rehome.bhdxj.weight; + +import android.app.Dialog; +import android.content.Context; +import androidx.annotation.NonNull; +import android.text.TextUtils; +import android.view.Display; +import android.view.Gravity; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.rehome.bhdxj.R; + +/** + * Created by Rehome-rjb1 on 2017/5/31. + * 是否审核的对话框 + */ + +public class UpdateAuditDialog extends Dialog { + + TextView tvMsg; + TextView dialogCancel; + TextView dialogCommit; + LinearLayout layDialogCancel; + + private AuditDialogListener listener; + + public UpdateAuditDialog(@NonNull Context context, String msg, AuditDialogListener listener) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + setContentView(R.layout.layout_update_audit_dialog); + findView(); + Window window = getWindow(); + WindowManager.LayoutParams lp = window.getAttributes(); + lp.width = (getScreenWidth(context)) * 2 / 3; + window.setGravity(Gravity.CENTER); + this.listener = listener; + setCancelable(false); + setTvMsg(msg); + } + + private void findView(){ + tvMsg = findViewById(R.id.tv_msg); + dialogCancel = findViewById(R.id.dialog_cancel); + dialogCommit = findViewById(R.id.dialog_commit); + layDialogCancel = findViewById(R.id.lay_dialog_cancel); + dialogCancel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + if (listener != null) { + listener.cancel(); + } + } + }); + dialogCommit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + if (listener != null) { + listener.confirm(); + } + } + }); + } + + public void setTvMsg(String msg) { + if (!TextUtils.isEmpty(msg)) { + tvMsg.setText(msg); + } + } + + //获取屏幕宽度 + public static int getScreenWidth(Context context) { + WindowManager manager = (WindowManager) context + .getSystemService(Context.WINDOW_SERVICE); + Display display = manager.getDefaultDisplay(); + return display.getWidth(); + } + + public interface AuditDialogListener { + void confirm(); + + void cancel(); + } +} \ No newline at end of file diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/WaitDialog.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/WaitDialog.java new file mode 100755 index 0000000..6115904 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/WaitDialog.java @@ -0,0 +1,34 @@ +/* + * Copyright 2015 Yan Zhenjie + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.rehome.bhdxj.weight; + +import android.app.ProgressDialog; +import android.content.Context; +import android.view.Window; + +/** + * 加载框 + */ +public class WaitDialog extends ProgressDialog { + + public WaitDialog(Context context, String msg) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + setCanceledOnTouchOutside(false); + setProgressStyle(STYLE_SPINNER); + setMessage(msg); + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/toastviewbymyself.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/toastviewbymyself.java new file mode 100755 index 0000000..ad12f00 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/weight/toastviewbymyself.java @@ -0,0 +1,45 @@ +package com.rehome.bhdxj.weight; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.TextView; +import android.widget.Toast; + +import com.rehome.bhdxj.R; + +import static com.rehome.bhdxj.R.layout.toastviewlayout; + +/** + * Created by ruihong on 2017/8/15. + */ + +public class toastviewbymyself { + + private Toast mToast; + + private toastviewbymyself(Context context, CharSequence text, int duration) { + View v = LayoutInflater.from(context).inflate(toastviewlayout, null); + TextView textView = v.findViewById(R.id.textView1); + textView.setText(text); + mToast = new Toast(context); + mToast.setDuration(duration); + mToast.setView(v); + } + + public static toastviewbymyself makeText(Context context, CharSequence text, int duration) { + return new toastviewbymyself(context, text, duration); + } + + public void show() { + if (mToast != null) { + mToast.show(); + } + } + + public void setGravity(int gravity, int xOffset, int yOffset) { + if (mToast != null) { + mToast.setGravity(gravity, xOffset, yOffset); + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/AutoFocusCallback.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/AutoFocusCallback.java new file mode 100755 index 0000000..ac308bc --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/AutoFocusCallback.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2010 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.camera; + +import android.hardware.Camera; +import android.os.Handler; +import android.os.Message; +import android.util.Log; + +final class AutoFocusCallback implements Camera.AutoFocusCallback { + + private static final String TAG = AutoFocusCallback.class.getSimpleName(); + + private static final long AUTOFOCUS_INTERVAL_MS = 1500L; + + private Handler autoFocusHandler; + private int autoFocusMessage; + + void setHandler(Handler autoFocusHandler, int autoFocusMessage) { + this.autoFocusHandler = autoFocusHandler; + this.autoFocusMessage = autoFocusMessage; + } + + public void onAutoFocus(boolean success, Camera camera) { + if (autoFocusHandler != null) { + Message message = autoFocusHandler.obtainMessage(autoFocusMessage, success); + autoFocusHandler.sendMessageDelayed(message, AUTOFOCUS_INTERVAL_MS); + autoFocusHandler = null; + } else { + Log.d(TAG, "Got auto-focus callback, but no handler for it"); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/CameraConfigurationManager.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/CameraConfigurationManager.java new file mode 100755 index 0000000..dc2b6cb --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/CameraConfigurationManager.java @@ -0,0 +1,283 @@ +/* + * Copyright (C) 2010 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.camera; + +import android.content.Context; +import android.graphics.Point; +import android.hardware.Camera; +import android.os.Build; +import android.util.Log; +import android.view.Display; +import android.view.WindowManager; + +import java.lang.reflect.Method; +import java.util.regex.Pattern; + +final class CameraConfigurationManager { + + private static final String TAG = CameraConfigurationManager.class.getSimpleName(); + + private static final int TEN_DESIRED_ZOOM = 27; + private static final int DESIRED_SHARPNESS = 30; + + private static final Pattern COMMA_PATTERN = Pattern.compile(","); + + private final Context context; + private Point screenResolution; + private Point cameraResolution; + private int previewFormat; + private String previewFormatString; + + CameraConfigurationManager(Context context) { + this.context = context; + } + + /** + * Reads, one time, values from the camera that are needed by the app. + */ + void initFromCameraParameters(Camera camera) { + Camera.Parameters parameters = camera.getParameters(); + previewFormat = parameters.getPreviewFormat(); + previewFormatString = parameters.get("preview-format"); + Log.d(TAG, "Default preview format: " + previewFormat + '/' + previewFormatString); + WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); + Display display = manager.getDefaultDisplay(); + screenResolution = new Point(display.getWidth(), display.getHeight()); + Log.d(TAG, "Screen resolution: " + screenResolution); + cameraResolution = getCameraResolution(parameters, screenResolution); + Log.d(TAG, "Camera resolution: " + screenResolution); + } + + /** + * Sets the camera up to take preview images which are used for both preview and decoding. + * We detect the preview format here so that buildLuminanceSource() can build an appropriate + * LuminanceSource subclass. In the future we may want to force YUV420SP as it's the smallest, + * and the planar Y can be used for barcode scanning without background copy in some cases. + */ + void setDesiredCameraParameters(Camera camera) { + Camera.Parameters parameters = camera.getParameters(); + Log.d(TAG, "Setting preview size: " + cameraResolution); + parameters.setPreviewSize(cameraResolution.x, cameraResolution.y); + setFlash(parameters); + setZoom(parameters); + setDisplayOrientation(camera, 90); + camera.setParameters(parameters); + } + + Point getCameraResolution() { + return cameraResolution; + } + + Point getScreenResolution() { + return screenResolution; + } + + int getPreviewFormat() { + return previewFormat; + } + + String getPreviewFormatString() { + return previewFormatString; + } + + private static Point getCameraResolution(Camera.Parameters parameters, Point screenResolution) { + + String previewSizeValueString = parameters.get("preview-size-values"); + // saw this on Xperia + if (previewSizeValueString == null) { + previewSizeValueString = parameters.get("preview-size-value"); + } + + Point cameraResolution = null; + + if (previewSizeValueString != null) { + Log.d(TAG, "preview-size-values parameter: " + previewSizeValueString); + cameraResolution = findBestPreviewSizeValue(previewSizeValueString, screenResolution); + } + + if (cameraResolution == null) { + // Ensure that the camera resolution is background multiple of 8, as the screen may not be. + cameraResolution = new Point( + (screenResolution.x >> 3) << 3, + (screenResolution.y >> 3) << 3); + } + + return cameraResolution; + } + + private static Point findBestPreviewSizeValue(CharSequence previewSizeValueString, Point screenResolution) { + int bestX = 0; + int bestY = 0; + int diff = Integer.MAX_VALUE; + for (String previewSize : COMMA_PATTERN.split(previewSizeValueString)) { + + previewSize = previewSize.trim(); + int dimPosition = previewSize.indexOf('x'); + if (dimPosition < 0) { + Log.w(TAG, "Bad preview-size: " + previewSize); + continue; + } + + int newX; + int newY; + try { + newX = Integer.parseInt(previewSize.substring(0, dimPosition)); + newY = Integer.parseInt(previewSize.substring(dimPosition + 1)); + } catch (NumberFormatException nfe) { + Log.w(TAG, "Bad preview-size: " + previewSize); + continue; + } + + int newDiff = Math.abs(newX - screenResolution.x) + Math.abs(newY - screenResolution.y); + if (newDiff == 0) { + bestX = newX; + bestY = newY; + break; + } else if (newDiff < diff) { + bestX = newX; + bestY = newY; + diff = newDiff; + } + + } + + if (bestX > 0 && bestY > 0) { + return new Point(bestX, bestY); + } + return null; + } + + private static int findBestMotZoomValue(CharSequence stringValues, int tenDesiredZoom) { + int tenBestValue = 0; + for (String stringValue : COMMA_PATTERN.split(stringValues)) { + stringValue = stringValue.trim(); + double value; + try { + value = Double.parseDouble(stringValue); + } catch (NumberFormatException nfe) { + return tenDesiredZoom; + } + int tenValue = (int) (10.0 * value); + if (Math.abs(tenDesiredZoom - value) < Math.abs(tenDesiredZoom - tenBestValue)) { + tenBestValue = tenValue; + } + } + return tenBestValue; + } + + private void setFlash(Camera.Parameters parameters) { + // FIXME: This is background hack to turn the flash off on the Samsung Galaxy. + // And this is background hack-hack to work around background different value on the Behold II + // Restrict Behold II check to Cupcake, per Samsung's advice + //if (Build.MODEL.contains("Behold II") && + // CameraManager.SDK_INT == Build.VERSION_CODES.CUPCAKE) { + if (Build.MODEL.contains("Behold II") && CameraManager.SDK_INT == 3) { // icon3 = Cupcake + parameters.set("flash-value", 1); + } else { + parameters.set("flash-value", 2); + } + // This is the standard setting to turn the flash off that all devices should honor. + parameters.set("flash-mode", "off"); + } + + private void setZoom(Camera.Parameters parameters) { + + String zoomSupportedString = parameters.get("zoom-supported"); + if (zoomSupportedString != null && !Boolean.parseBoolean(zoomSupportedString)) { + return; + } + + int tenDesiredZoom = TEN_DESIRED_ZOOM; + + String maxZoomString = parameters.get("max-zoom"); + if (maxZoomString != null) { + try { + int tenMaxZoom = (int) (10.0 * Double.parseDouble(maxZoomString)); + if (tenDesiredZoom > tenMaxZoom) { + tenDesiredZoom = tenMaxZoom; + } + } catch (NumberFormatException nfe) { + Log.w(TAG, "Bad max-zoom: " + maxZoomString); + } + } + + String takingPictureZoomMaxString = parameters.get("taking-picture-zoom-max"); + if (takingPictureZoomMaxString != null) { + try { + int tenMaxZoom = Integer.parseInt(takingPictureZoomMaxString); + if (tenDesiredZoom > tenMaxZoom) { + tenDesiredZoom = tenMaxZoom; + } + } catch (NumberFormatException nfe) { + Log.w(TAG, "Bad taking-picture-zoom-max: " + takingPictureZoomMaxString); + } + } + + String motZoomValuesString = parameters.get("mot-zoom-values"); + if (motZoomValuesString != null) { + tenDesiredZoom = findBestMotZoomValue(motZoomValuesString, tenDesiredZoom); + } + + String motZoomStepString = parameters.get("mot-zoom-step"); + if (motZoomStepString != null) { + try { + double motZoomStep = Double.parseDouble(motZoomStepString.trim()); + int tenZoomStep = (int) (10.0 * motZoomStep); + if (tenZoomStep > 1) { + tenDesiredZoom -= tenDesiredZoom % tenZoomStep; + } + } catch (NumberFormatException nfe) { + // continue + } + } + + // Set zoom. This helps encourage the user to pull back. + // Some devices like the Behold have background zoom parameter + if (maxZoomString != null || motZoomValuesString != null) { + parameters.set("zoom", String.valueOf(tenDesiredZoom / 10.0)); + } + + // Most devices, like the Hero, appear to expose this zoom parameter. + // It takes on values like "27" which appears to mean icon2.7x zoom + if (takingPictureZoomMaxString != null) { + parameters.set("taking-picture-zoom", tenDesiredZoom); + } + } + + public static int getDesiredSharpness() { + return DESIRED_SHARPNESS; + } + + /** + * compatible icon1.icon6 + * @param camera + * @param angle + */ + protected void setDisplayOrientation(Camera camera, int angle){ + Method downPolymorphic; + try + { + downPolymorphic = camera.getClass().getMethod("setDisplayOrientation", int.class); + if (downPolymorphic != null) + downPolymorphic.invoke(camera, angle); + } + catch (Exception e1) + { + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/CameraManager.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/CameraManager.java new file mode 100755 index 0000000..9b157c0 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/CameraManager.java @@ -0,0 +1,328 @@ +/* + * Copyright (C) 2008 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.camera; + +import android.content.Context; +import android.graphics.PixelFormat; +import android.graphics.Point; +import android.graphics.Rect; +import android.hardware.Camera; +import android.os.Build; +import android.os.Handler; +import android.util.Log; +import android.view.SurfaceHolder; + +import java.io.IOException; + +/** + * This object wraps the Camera service object and expects to be the only one talking to it. The + * implementation encapsulates the steps needed to take preview-sized images, which are used for + * both preview and decoding. + */ +public final class CameraManager { + + private static final String TAG = CameraManager.class.getSimpleName(); + + private static final int MIN_FRAME_WIDTH = 350; + private static final int MIN_FRAME_HEIGHT = 350; + private static final int MAX_FRAME_WIDTH = 700; + private static final int MAX_FRAME_HEIGHT + = 630; + + private static CameraManager cameraManager; + + static final int SDK_INT; // Later we can use Build.VERSION.SDK_INT + + static { + int sdkInt; + try { + sdkInt = Integer.parseInt(Build.VERSION.SDK); + } catch (NumberFormatException nfe) { + // Just to be safe + sdkInt = 10000; + } + SDK_INT = sdkInt; + } + + private final Context context; + private final CameraConfigurationManager configManager; + private static Camera camera; + private Rect framingRect; + private Rect framingRectInPreview; + private boolean initialized; + private boolean previewing; + private final boolean useOneShotPreviewCallback; + /** + * Preview frames are delivered here, which we pass on to the registered handler. Make sure to + * clear the handler so it will only receive one message. + */ + private final PreviewCallback previewCallback; + /** + * Autofocus callbacks arrive here, and are dispatched to the Handler which requested them. + */ + private final AutoFocusCallback autoFocusCallback; + + /** + * Initializes this static object with the Context of the calling Activity. + * + * @param context The Activity which wants to use the camera. + */ + public static void init(Context context) { + if (cameraManager == null) { + cameraManager = new CameraManager(context); + } + } + + /** + * Gets the CameraManager singleton instance. + * + * @return A reference to the CameraManager singleton. + */ + public static CameraManager get() { + return cameraManager; + } + + public static Camera getCamera() { + return camera; + } + + private CameraManager(Context context) { + + this.context = context; + this.configManager = new CameraConfigurationManager(context); + + // Camera.setOneShotPreviewCallback() has background race condition in Cupcake, so we use the older + // Camera.setPreviewCallback() on icon1.icon5 and earlier. For Donut and later, we need to use + // the more efficient one shot callback, as the older one can swamp the system and cause it + // to run out of memory. We can't use SDK_INT because it was introduced in the Donut SDK. + //useOneShotPreviewCallback = Integer.parseInt(Build.VERSION.SDK) > Build.VERSION_CODES.CUPCAKE; + useOneShotPreviewCallback = Integer.parseInt(Build.VERSION.SDK) > 3; // icon3 = Cupcake + + previewCallback = new PreviewCallback(configManager, useOneShotPreviewCallback); + autoFocusCallback = new AutoFocusCallback(); + } + + /** + * Opens the camera driver and initializes the hardware parameters. + * + * @param holder The surface object which the camera will draw preview frames into. + * @throws IOException Indicates the camera driver failed to open. + */ + public void openDriver(SurfaceHolder holder) throws IOException { + if (camera == null) { + camera = Camera.open(); + if (camera == null) { + throw new IOException(); + } + camera.setPreviewDisplay(holder); + + if (!initialized) { + initialized = true; + configManager.initFromCameraParameters(camera); + } + configManager.setDesiredCameraParameters(camera); + + + FlashlightManager.enableFlashlight(); + } + } + + /** + * Closes the camera driver if still in use. + */ + public void closeDriver() { + if (camera != null) { + FlashlightManager.disableFlashlight(); + camera.release(); + camera = null; + } + } + + /** + * Asks the camera hardware to begin drawing preview frames to the screen. + */ + public void startPreview() { + if (camera != null && !previewing) { + camera.startPreview(); + previewing = true; + } + } + + /** + * Tells the camera to stop drawing preview frames. + */ + public void stopPreview() { + if (camera != null && previewing) { + if (!useOneShotPreviewCallback) { + camera.setPreviewCallback(null); + } + camera.stopPreview(); + previewCallback.setHandler(null, 0); + autoFocusCallback.setHandler(null, 0); + previewing = false; + } + } + + /** + * A single preview frame will be returned to the handler supplied. The data will arrive as byte[] + * in the message.obj field, with width and height encoded as message.arg1 and message.arg2, + * respectively. + * + * @param handler The handler to send the message to. + * @param message The what field of the message to be sent. + */ + public void requestPreviewFrame(Handler handler, int message) { + if (camera != null && previewing) { + previewCallback.setHandler(handler, message); + if (useOneShotPreviewCallback) { + camera.setOneShotPreviewCallback(previewCallback); + } else { + camera.setPreviewCallback(previewCallback); + } + } + } + + /** + * Asks the camera hardware to perform an autofocus. + * + * @param handler The Handler to notify when the autofocus completes. + * @param message The message to deliver. + */ + public void requestAutoFocus(Handler handler, int message) { + if (camera != null && previewing) { + autoFocusCallback.setHandler(handler, message); + //Log.d(TAG, "Requesting auto-focus callback"); + camera.autoFocus(autoFocusCallback); + } + } + + /** + * Calculates the framing rect which the UI should draw to show the user where to place the + * barcode. This target helps with alignment as well as forces the user to hold the device + * far enough away to ensure the image will be in focus. + * + * @return The rectangle to draw on screen in window coordinates. + */ + public Rect getFramingRect() { + Point screenResolution = configManager.getScreenResolution(); + if (framingRect == null) { + if (camera == null) { + return null; + } + int width = screenResolution.x * 3 / 4; + if (width < MIN_FRAME_WIDTH) { + width = MIN_FRAME_WIDTH; + } else if (width > MAX_FRAME_WIDTH) { + width = MAX_FRAME_WIDTH; + } + int height = screenResolution.y * 3 / 4; + if (height < MIN_FRAME_HEIGHT) { + height = MIN_FRAME_HEIGHT; + } else if (height > MAX_FRAME_HEIGHT) { + height = MAX_FRAME_HEIGHT; + } + int leftOffset = (screenResolution.x - width) / 2; + int topOffset = (screenResolution.y - height) / 2; + framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height); + Log.d(TAG, "Calculated framing rect: " + framingRect); + } + return framingRect; + } + + /** + * Like {@link #getFramingRect} but coordinates are in terms of the preview frame, + * not UI / screen. + */ + public Rect getFramingRectInPreview() { + if (framingRectInPreview == null) { + Rect rect = new Rect(getFramingRect()); + Point cameraResolution = configManager.getCameraResolution(); + Point screenResolution = configManager.getScreenResolution(); + //modify here +// rect.left = rect.left * cameraResolution.x / screenResolution.x; +// rect.right = rect.right * cameraResolution.x / screenResolution.x; +// rect.top = rect.top * cameraResolution.y / screenResolution.y; +// rect.bottom = rect.bottom * cameraResolution.y / screenResolution.y; + rect.left = rect.left * cameraResolution.y / screenResolution.x; + rect.right = rect.right * cameraResolution.y / screenResolution.x; + rect.top = rect.top * cameraResolution.x / screenResolution.y; + rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y; + framingRectInPreview = rect; + } + return framingRectInPreview; + } + + /** + * Converts the result points from still resolution coordinates to screen coordinates. + * + * @param points The points returned by the Reader subclass through Result.getResultPoints(). + * @return An array of Points scaled to the size of the framing rect and offset appropriately + * so they can be drawn in screen coordinates. + */ + /* + public Point[] convertResultPoints(ResultPoint[] points) { + Rect frame = getFramingRectInPreview(); + int count = points.length; + Point[] output = new Point[count]; + for (int x = 0; x < count; x++) { + output[x] = new Point(); + output[x].x = frame.left + (int) (points[x].getX() + 0.5f); + output[x].y = frame.top + (int) (points[x].getY() + 0.5f); + } + return output; + } + */ + + /** + * A factory method to build the appropriate LuminanceSource object based on the format + * of the preview buffers, as described by Camera.Parameters. + * + * @param data A preview frame. + * @param width The width of the image. + * @param height The height of the image. + * @return A PlanarYUVLuminanceSource instance. + */ + public PlanarYUVLuminanceSource buildLuminanceSource(byte[] data, int width, int height) { + Rect rect = getFramingRectInPreview(); + int previewFormat = configManager.getPreviewFormat(); + String previewFormatString = configManager.getPreviewFormatString(); + switch (previewFormat) { + // This is the standard Android format which all devices are REQUIRED to support. + // In theory, it's the only one we should ever care about. + case PixelFormat.YCbCr_420_SP: + // This format has never been seen in the wild, but is compatible as we only care + // about the Y channel, so allow it. + case PixelFormat.YCbCr_422_SP: + return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top, + rect.width(), rect.height()); + default: + // The Samsung Moment incorrectly uses this variant instead of the 'sp' version. + // Fortunately, it too has all the Y data up front, so we can read it. + if ("yuv420p".equals(previewFormatString)) { + return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top, + rect.width(), rect.height()); + } + } + throw new IllegalArgumentException("Unsupported picture format: " + + previewFormat + '/' + previewFormatString); + } + + public Context getContext() { + return context; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/FlashlightManager.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/FlashlightManager.java new file mode 100755 index 0000000..ec976c8 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/FlashlightManager.java @@ -0,0 +1,148 @@ +/* + * Copyright (C) 2010 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.camera; + +import android.os.IBinder; +import android.util.Log; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +/** + * This class is used to activate the weak light on some camera phones (not flash) + * in order to illuminate surfaces for scanning. There is no official way to do this, + * but, classes which allow access to this function still exist on some devices. + * This therefore proceeds through background great deal of reflection. + * + * See + * http://almondmendoza.com/2009/01/05/changing-the-screen-brightness-programatically/ and + * + * http://code.google.com/p/droidled/source/browse/trunk/src/com/droidled/demo/DroidLED.java. + * Thanks to Ryan Alford for pointing out the availability of this class. + */ +final class FlashlightManager { + + private static final String TAG = FlashlightManager.class.getSimpleName(); + + private static final Object iHardwareService; + private static final Method setFlashEnabledMethod; + static { + iHardwareService = getHardwareService(); + setFlashEnabledMethod = getSetFlashEnabledMethod(iHardwareService); + if (iHardwareService == null) { + Log.v(TAG, "This device does supports control of background flashlight"); + } else { + Log.v(TAG, "This device does not support control of background flashlight"); + } + } + + private FlashlightManager() { + } + + + //FIXME + static void enableFlashlight() { + setFlashlight(false); + } + + static void disableFlashlight() { + setFlashlight(false); + } + + private static Object getHardwareService() { + Class serviceManagerClass = maybeForName("android.os.ServiceManager"); + if (serviceManagerClass == null) { + return null; + } + + Method getServiceMethod = maybeGetMethod(serviceManagerClass, "getService", String.class); + if (getServiceMethod == null) { + return null; + } + + Object hardwareService = invoke(getServiceMethod, null, "hardware"); + if (hardwareService == null) { + return null; + } + + Class iHardwareServiceStubClass = maybeForName("android.os.IHardwareService$Stub"); + if (iHardwareServiceStubClass == null) { + return null; + } + + Method asInterfaceMethod = maybeGetMethod(iHardwareServiceStubClass, "asInterface", IBinder.class); + if (asInterfaceMethod == null) { + return null; + } + + return invoke(asInterfaceMethod, null, hardwareService); + } + + private static Method getSetFlashEnabledMethod(Object iHardwareService) { + if (iHardwareService == null) { + return null; + } + Class proxyClass = iHardwareService.getClass(); + return maybeGetMethod(proxyClass, "setFlashlightEnabled", boolean.class); + } + + private static Class maybeForName(String name) { + try { + return Class.forName(name); + } catch (ClassNotFoundException cnfe) { + // OK + return null; + } catch (RuntimeException re) { + Log.w(TAG, "Unexpected error while finding class " + name, re); + return null; + } + } + + private static Method maybeGetMethod(Class clazz, String name, Class... argClasses) { + try { + return clazz.getMethod(name, argClasses); + } catch (NoSuchMethodException nsme) { + // OK + return null; + } catch (RuntimeException re) { + Log.w(TAG, "Unexpected error while finding method " + name, re); + return null; + } + } + + private static Object invoke(Method method, Object instance, Object... args) { + try { + return method.invoke(instance, args); + } catch (IllegalAccessException e) { + Log.w(TAG, "Unexpected error while invoking " + method, e); + return null; + } catch (InvocationTargetException e) { + Log.w(TAG, "Unexpected error while invoking " + method, e.getCause()); + return null; + } catch (RuntimeException re) { + Log.w(TAG, "Unexpected error while invoking " + method, re); + return null; + } + } + + private static void setFlashlight(boolean active) { + if (iHardwareService != null) { + invoke(setFlashEnabledMethod, iHardwareService, active); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/PlanarYUVLuminanceSource.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/PlanarYUVLuminanceSource.java new file mode 100755 index 0000000..c868b9e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/PlanarYUVLuminanceSource.java @@ -0,0 +1,133 @@ +/* + * Copyright 2009 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.camera; + +import android.graphics.Bitmap; + +import com.google.zxing.LuminanceSource; + +/** + * This object extends LuminanceSource around an array of YUV data returned from the camera driver, + * with the option to crop to background rectangle within the full data. This can be used to exclude + * superfluous pixels around the perimeter and speed up decoding. + * + * It works for any pixel format where the Y channel is planar and appears first, including + * YCbCr_420_SP and YCbCr_422_SP. + * + * @author dswitkin@google.com (Daniel Switkin) + */ +public final class PlanarYUVLuminanceSource extends LuminanceSource { + private final byte[] yuvData; + private final int dataWidth; + private final int dataHeight; + private final int left; + private final int top; + + public PlanarYUVLuminanceSource(byte[] yuvData, int dataWidth, int dataHeight, int left, int top, + int width, int height) { + super(width, height); + + if (left + width > dataWidth || top + height > dataHeight) { + throw new IllegalArgumentException("Crop rectangle does not fit within image data."); + } + + this.yuvData = yuvData; + this.dataWidth = dataWidth; + this.dataHeight = dataHeight; + this.left = left; + this.top = top; + } + + @Override + public byte[] getRow(int y, byte[] row) { + if (y < 0 || y >= getHeight()) { + throw new IllegalArgumentException("Requested row is outside the image: " + y); + } + int width = getWidth(); + if (row == null || row.length < width) { + row = new byte[width]; + } + int offset = (y + top) * dataWidth + left; + System.arraycopy(yuvData, offset, row, 0, width); + return row; + } + + @Override + public byte[] getMatrix() { + int width = getWidth(); + int height = getHeight(); + + // If the caller asks for the entire underlying image, save the copy and give them the + // original data. The docs specifically warn that result.length must be ignored. + if (width == dataWidth && height == dataHeight) { + return yuvData; + } + + int area = width * height; + byte[] matrix = new byte[area]; + int inputOffset = top * dataWidth + left; + + // If the width matches the full width of the underlying data, perform background single copy. + if (width == dataWidth) { + System.arraycopy(yuvData, inputOffset, matrix, 0, area); + return matrix; + } + + // Otherwise copy one cropped row at background time. + byte[] yuv = yuvData; + for (int y = 0; y < height; y++) { + int outputOffset = y * width; + System.arraycopy(yuv, inputOffset, matrix, outputOffset, width); + inputOffset += dataWidth; + } + return matrix; + } + + @Override + public boolean isCropSupported() { + return true; + } + + public int getDataWidth() { + return dataWidth; + } + + public int getDataHeight() { + return dataHeight; + } + + public Bitmap renderCroppedGreyscaleBitmap() { + int width = getWidth(); + int height = getHeight(); + int[] pixels = new int[width * height]; + byte[] yuv = yuvData; + int inputOffset = top * dataWidth + left; + + for (int y = 0; y < height; y++) { + int outputOffset = y * width; + for (int x = 0; x < width; x++) { + int grey = yuv[inputOffset + x] & 0xff; + pixels[outputOffset + x] = 0xFF000000 | (grey * 0x00010101); + } + inputOffset += dataWidth; + } + + Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + bitmap.setPixels(pixels, 0, width, 0, 0, width, height); + return bitmap; + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/PreviewCallback.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/PreviewCallback.java new file mode 100755 index 0000000..bddb5c5 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/camera/PreviewCallback.java @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2010 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.camera; + +import android.graphics.Point; +import android.hardware.Camera; +import android.os.Handler; +import android.os.Message; +import android.util.Log; + +final class PreviewCallback implements Camera.PreviewCallback { + + private static final String TAG = PreviewCallback.class.getSimpleName(); + + private final CameraConfigurationManager configManager; + private final boolean useOneShotPreviewCallback; + private Handler previewHandler; + private int previewMessage; + + PreviewCallback(CameraConfigurationManager configManager, boolean useOneShotPreviewCallback) { + this.configManager = configManager; + this.useOneShotPreviewCallback = useOneShotPreviewCallback; + } + + void setHandler(Handler previewHandler, int previewMessage) { + this.previewHandler = previewHandler; + this.previewMessage = previewMessage; + } + + public void onPreviewFrame(byte[] data, Camera camera) { + Point cameraResolution = configManager.getCameraResolution(); + if (!useOneShotPreviewCallback) { + camera.setPreviewCallback(null); + } + if (previewHandler != null) { + Message message = previewHandler.obtainMessage(previewMessage, cameraResolution.x, + cameraResolution.y, data); + message.sendToTarget(); + previewHandler = null; + } else { + Log.d(TAG, "Got preview callback, but no handler for it"); + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/CaptureActivityHandler.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/CaptureActivityHandler.java new file mode 100755 index 0000000..fa033de --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/CaptureActivityHandler.java @@ -0,0 +1,138 @@ +/* + * Copyright (C) 2008 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.decoding; + +import android.app.Activity; +import android.content.Intent; +import android.graphics.Bitmap; +import android.net.Uri; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.util.Log; + +import com.google.zxing.BarcodeFormat; +import com.google.zxing.Result; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.MipcaActivityCapture; +import com.rehome.bhdxj.zxing.camera.CameraManager; +import com.rehome.bhdxj.zxing.view.ViewfinderResultPointCallback; + +import java.util.Vector; + +/** + * This class handles all the messaging which comprises the state machine for capture. + */ +public final class CaptureActivityHandler extends Handler { + + private static final String TAG = CaptureActivityHandler.class.getSimpleName(); + + private final MipcaActivityCapture activity; + private final DecodeThread decodeThread; + private State state; + + private enum State { + PREVIEW, + SUCCESS, + DONE + } + + public CaptureActivityHandler(MipcaActivityCapture activity, Vector decodeFormats, + String characterSet) { + this.activity = activity; + decodeThread = new DecodeThread(activity, decodeFormats, characterSet, + new ViewfinderResultPointCallback(activity.getViewfinderView())); + decodeThread.start(); + state = State.SUCCESS; + // Start ourselves capturing previews and decoding. + CameraManager.get().startPreview(); + restartPreviewAndDecode(); + } + + @Override + public void handleMessage(Message message) { + switch (message.what) { + case R.id.auto_focus: + //Log.d(TAG, "Got auto-focus message"); + // When one auto focus pass finishes, start another. This is the closest thing to + // continuous AF. It does seem to hunt background bit, but I'm not sure what else to do. + if (state == State.PREVIEW) { + CameraManager.get().requestAutoFocus(this, R.id.auto_focus); + } + break; + case R.id.restart_preview: + Log.d(TAG, "Got restart preview message"); + restartPreviewAndDecode(); + break; + case R.id.decode_succeeded: + Log.d(TAG, "Got decode succeeded message"); + state = State.SUCCESS; + Bundle bundle = message.getData(); + + /***********************************************************************/ + Bitmap barcode = bundle == null ? null : + (Bitmap) bundle.getParcelable(DecodeThread.BARCODE_BITMAP);//���ñ����߳� + + activity.handleDecode((Result) message.obj, barcode);//���ؽ��? /***********************************************************************/ + break; + case R.id.decode_failed: + // We're decoding as fast as possible, so when one decode fails, start another. + state = State.PREVIEW; + CameraManager.get().requestPreviewFrame(decodeThread.getHandler(), R.id.decode); + break; + case R.id.return_scan_result: + Log.d(TAG, "Got return scan result message"); + activity.setResult(Activity.RESULT_OK, (Intent) message.obj); + activity.finish(); + break; + case R.id.launch_product_query: + Log.d(TAG, "Got product query message"); + String url = (String) message.obj; + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); + activity.startActivity(intent); + break; + } + } + + public void quitSynchronously() { + state = State.DONE; + CameraManager.get().stopPreview(); + Message quit = Message.obtain(decodeThread.getHandler(), R.id.quit); + quit.sendToTarget(); + try { + decodeThread.join(); + } catch (InterruptedException e) { + // continue + } + + // Be absolutely sure we don't send any queued up messages + removeMessages(R.id.decode_succeeded); + removeMessages(R.id.decode_failed); + } + + private void restartPreviewAndDecode() { + if (state == State.SUCCESS) { + state = State.PREVIEW; + CameraManager.get().requestPreviewFrame(decodeThread.getHandler(), R.id.decode); + CameraManager.get().requestAutoFocus(this, R.id.auto_focus); + activity.drawViewfinder(); + } + } + + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/DecodeFormatManager.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/DecodeFormatManager.java new file mode 100755 index 0000000..1220f11 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/DecodeFormatManager.java @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2010 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.decoding; + +import android.content.Intent; +import android.net.Uri; + +import com.google.zxing.BarcodeFormat; + +import java.util.Arrays; +import java.util.List; +import java.util.Vector; +import java.util.regex.Pattern; + +final class DecodeFormatManager { + + private static final Pattern COMMA_PATTERN = Pattern.compile(","); + + static final Vector PRODUCT_FORMATS; + static final Vector ONE_D_FORMATS; + static final Vector QR_CODE_FORMATS; + static final Vector DATA_MATRIX_FORMATS; + static { + PRODUCT_FORMATS = new Vector(5); + PRODUCT_FORMATS.add(BarcodeFormat.UPC_A); + PRODUCT_FORMATS.add(BarcodeFormat.UPC_E); + PRODUCT_FORMATS.add(BarcodeFormat.EAN_13); + PRODUCT_FORMATS.add(BarcodeFormat.EAN_8); + ONE_D_FORMATS = new Vector(PRODUCT_FORMATS.size() + 4); + ONE_D_FORMATS.addAll(PRODUCT_FORMATS); + ONE_D_FORMATS.add(BarcodeFormat.CODE_39); + ONE_D_FORMATS.add(BarcodeFormat.CODE_93); + ONE_D_FORMATS.add(BarcodeFormat.CODE_128); + ONE_D_FORMATS.add(BarcodeFormat.ITF); + QR_CODE_FORMATS = new Vector(1); + QR_CODE_FORMATS.add(BarcodeFormat.QR_CODE); + DATA_MATRIX_FORMATS = new Vector(1); + DATA_MATRIX_FORMATS.add(BarcodeFormat.DATA_MATRIX); + } + + private DecodeFormatManager() {} + + static Vector parseDecodeFormats(Intent intent) { + List scanFormats = null; + String scanFormatsString = intent.getStringExtra(Intents.Scan.SCAN_FORMATS); + if (scanFormatsString != null) { + scanFormats = Arrays.asList(COMMA_PATTERN.split(scanFormatsString)); + } + return parseDecodeFormats(scanFormats, intent.getStringExtra(Intents.Scan.MODE)); + } + + static Vector parseDecodeFormats(Uri inputUri) { + List formats = inputUri.getQueryParameters(Intents.Scan.SCAN_FORMATS); + if (formats != null && formats.size() == 1 && formats.get(0) != null){ + formats = Arrays.asList(COMMA_PATTERN.split(formats.get(0))); + } + return parseDecodeFormats(formats, inputUri.getQueryParameter(Intents.Scan.MODE)); + } + + private static Vector parseDecodeFormats(Iterable scanFormats, + String decodeMode) { + if (scanFormats != null) { + Vector formats = new Vector(); + try { + for (String format : scanFormats) { + formats.add(BarcodeFormat.valueOf(format)); + } + return formats; + } catch (IllegalArgumentException iae) { + // ignore it then + } + } + if (decodeMode != null) { + if (Intents.Scan.PRODUCT_MODE.equals(decodeMode)) { + return PRODUCT_FORMATS; + } + if (Intents.Scan.QR_CODE_MODE.equals(decodeMode)) { + return QR_CODE_FORMATS; + } + if (Intents.Scan.DATA_MATRIX_MODE.equals(decodeMode)) { + return DATA_MATRIX_FORMATS; + } + if (Intents.Scan.ONE_D_MODE.equals(decodeMode)) { + return ONE_D_FORMATS; + } + } + return null; + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/DecodeHandler.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/DecodeHandler.java new file mode 100755 index 0000000..25e2ebd --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/DecodeHandler.java @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2010 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.decoding; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import android.util.Log; + +import com.google.zxing.BinaryBitmap; +import com.google.zxing.DecodeHintType; +import com.google.zxing.MultiFormatReader; +import com.google.zxing.ReaderException; +import com.google.zxing.Result; +import com.google.zxing.common.HybridBinarizer; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.base.MipcaActivityCapture; +import com.rehome.bhdxj.zxing.camera.CameraManager; +import com.rehome.bhdxj.zxing.camera.PlanarYUVLuminanceSource; + +import java.util.Hashtable; + +final class DecodeHandler extends Handler { + + private static final String TAG = DecodeHandler.class.getSimpleName(); + + private final MipcaActivityCapture activity; + private final MultiFormatReader multiFormatReader; + + DecodeHandler(MipcaActivityCapture activity, Hashtable hints) { + multiFormatReader = new MultiFormatReader(); + multiFormatReader.setHints(hints); + this.activity = activity; + } + + @Override + public void handleMessage(Message message) { + switch (message.what) { + case R.id.decode: + //Log.d(TAG, "Got decode message"); + decode((byte[]) message.obj, message.arg1, message.arg2); + break; + case R.id.quit: + Looper.myLooper().quit(); + break; + } + } + + /** + * Decode the data within the viewfinder rectangle, and time how long it took. For efficiency, + * reuse the same reader objects from one decode to the next. + * + * @param data The YUV preview frame. + * @param width The width of the preview frame. + * @param height The height of the preview frame. + */ + private void decode(byte[] data, int width, int height) { + long start = System.currentTimeMillis(); + Result rawResult = null; + + //modify here + byte[] rotatedData = new byte[data.length]; + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) + rotatedData[x * height + height - y - 1] = data[x + y * width]; + } + int tmp = width; // Here we are swapping, that's the difference to #11 + width = height; + height = tmp; + + PlanarYUVLuminanceSource source = CameraManager.get().buildLuminanceSource(rotatedData, width, height); + BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); + try { + rawResult = multiFormatReader.decodeWithState(bitmap); + } catch (ReaderException re) { + // continue + } finally { + multiFormatReader.reset(); + } + + if (rawResult != null) { + long end = System.currentTimeMillis(); + Log.d(TAG, "Found barcode (" + (end - start) + " ms):\n" + rawResult.toString()); + Message message = Message.obtain(activity.getHandler(), R.id.decode_succeeded, rawResult); + Bundle bundle = new Bundle(); + bundle.putParcelable(DecodeThread.BARCODE_BITMAP, source.renderCroppedGreyscaleBitmap()); + message.setData(bundle); + //Log.d(TAG, "Sending decode succeeded message..."); + message.sendToTarget(); + } else { + Message message = Message.obtain(activity.getHandler(), R.id.decode_failed); + message.sendToTarget(); + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/DecodeThread.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/DecodeThread.java new file mode 100755 index 0000000..170966b --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/DecodeThread.java @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2008 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.decoding; + +import android.os.Handler; +import android.os.Looper; + +import com.google.zxing.BarcodeFormat; +import com.google.zxing.DecodeHintType; +import com.google.zxing.ResultPointCallback; +import com.rehome.bhdxj.base.MipcaActivityCapture; + +import java.util.Hashtable; +import java.util.Vector; +import java.util.concurrent.CountDownLatch; + + +final class DecodeThread extends Thread { + public static final String BARCODE_BITMAP = "barcode_bitmap"; + private final MipcaActivityCapture activity; + private final Hashtable hints; + private Handler handler; + private final CountDownLatch handlerInitLatch; + + DecodeThread(MipcaActivityCapture activity, + Vector decodeFormats, + String characterSet, + ResultPointCallback resultPointCallback) { + + this.activity = activity; + handlerInitLatch = new CountDownLatch(1); + + hints = new Hashtable(3); + + if (decodeFormats == null || decodeFormats.isEmpty()) { + decodeFormats = new Vector(); + decodeFormats.addAll(DecodeFormatManager.ONE_D_FORMATS); + decodeFormats.addAll(DecodeFormatManager.QR_CODE_FORMATS); + decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS); + } + + hints.put(DecodeHintType.POSSIBLE_FORMATS, decodeFormats); + + if (characterSet != null) { + hints.put(DecodeHintType.CHARACTER_SET, characterSet); + } + + hints.put(DecodeHintType.NEED_RESULT_POINT_CALLBACK, resultPointCallback); + } + + Handler getHandler() { + try { + handlerInitLatch.await(); + } catch (InterruptedException ie) { + // continue? + } + return handler; + } + + @Override + public void run() { + Looper.prepare(); + handler = new DecodeHandler(activity, hints); + handlerInitLatch.countDown(); + Looper.loop(); + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/FinishListener.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/FinishListener.java new file mode 100755 index 0000000..a0a36c9 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/FinishListener.java @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2010 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.decoding; + +import android.app.Activity; +import android.content.DialogInterface; + +/** + * Simple listener used to exit the app in background few cases. + * + */ +public final class FinishListener + implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener, Runnable { + + private final Activity activityToFinish; + + public FinishListener(Activity activityToFinish) { + this.activityToFinish = activityToFinish; + } + + public void onCancel(DialogInterface dialogInterface) { + run(); + } + + public void onClick(DialogInterface dialogInterface, int i) { + run(); + } + + public void run() { + activityToFinish.finish(); + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/InactivityTimer.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/InactivityTimer.java new file mode 100755 index 0000000..0f6f606 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/InactivityTimer.java @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2010 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.decoding; + +import android.app.Activity; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; + +/** + * Finishes an activity after background period of inactivity. + */ +public final class InactivityTimer { + + private static final int INACTIVITY_DELAY_SECONDS = 5 * 60; + + private final ScheduledExecutorService inactivityTimer = + Executors.newSingleThreadScheduledExecutor(new DaemonThreadFactory()); + private final Activity activity; + private ScheduledFuture inactivityFuture = null; + + public InactivityTimer(Activity activity) { + this.activity = activity; + onActivity(); + } + + public void onActivity() { + cancel(); + inactivityFuture = inactivityTimer.schedule(new FinishListener(activity), + INACTIVITY_DELAY_SECONDS, + TimeUnit.SECONDS); + } + + private void cancel() { + if (inactivityFuture != null) { + inactivityFuture.cancel(true); + inactivityFuture = null; + } + } + + public void shutdown() { + cancel(); + inactivityTimer.shutdown(); + } + + private static final class DaemonThreadFactory implements ThreadFactory { + public Thread newThread(Runnable runnable) { + Thread thread = new Thread(runnable); + thread.setDaemon(true); + return thread; + } + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/Intents.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/Intents.java new file mode 100755 index 0000000..80a37c2 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/decoding/Intents.java @@ -0,0 +1,190 @@ +/* + * Copyright (C) 2008 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.decoding; + +/** + * This class provides the constants to use when sending an Intent to Barcode Scanner. + * These strings are effectively API and cannot be changed. + */ +public final class Intents { + private Intents() { + } + + public static final class Scan { + /** + * Send this intent to open the Barcodes app in scanning mode, find background barcode, and return + * the results. + */ + public static final String ACTION = "com.google.zxing.client.android.SCAN"; + + /** + * By default, sending Scan.ACTION will decode all barcodes that we understand. However it + * may be useful to limit scanning to certain formats. Use Intent.putExtra(MODE, value) with + * one of the values below ({@link #PRODUCT_MODE}, {@link #ONE_D_MODE}, {@link #QR_CODE_MODE}). + * Optional. + * + * Setting this is effectively shorthnad for setting explicit formats with {@link #SCAN_FORMATS}. + * It is overridden by that setting. + */ + public static final String MODE = "SCAN_MODE"; + + /** + * Comma-separated list of formats to scan for. The values must match the names of + * {@link com.google.zxing.BarcodeFormat}s, such as {@link com.google.zxing.BarcodeFormat#EAN_13}. + * Example: "EAN_13,EAN_8,QR_CODE" + * + * This overrides {@link #MODE}. + */ + public static final String SCAN_FORMATS = "SCAN_FORMATS"; + + /** + * @see com.google.zxing.DecodeHintType#CHARACTER_SET + */ + public static final String CHARACTER_SET = "CHARACTER_SET"; + + /** + * Decode only UPC and EAN barcodes. This is the right choice for shopping apps which get + * prices, reviews, etc. for products. + */ + public static final String PRODUCT_MODE = "PRODUCT_MODE"; + + /** + * Decode only 1D barcodes (currently UPC, EAN, Code 39, and Code 128). + */ + public static final String ONE_D_MODE = "ONE_D_MODE"; + + /** + * Decode only QR codes. + */ + public static final String QR_CODE_MODE = "QR_CODE_MODE"; + + /** + * Decode only Data Matrix codes. + */ + public static final String DATA_MATRIX_MODE = "DATA_MATRIX_MODE"; + + /** + * If background barcode is found, Barcodes returns RESULT_OK to onActivityResult() of the app which + * requested the scan via startSubActivity(). The barcodes contents can be retrieved with + * intent.getStringExtra(RESULT). If the user presses Back, the result code will be + * RESULT_CANCELED. + */ + public static final String RESULT = "SCAN_RESULT"; + + /** + * Call intent.getStringExtra(RESULT_FORMAT) to determine which barcode format was found. + * See Contents.Format for possible values. + */ + public static final String RESULT_FORMAT = "SCAN_RESULT_FORMAT"; + + /** + * Setting this to false will not save scanned codes in the history. + */ + public static final String SAVE_HISTORY = "SAVE_HISTORY"; + + private Scan() { + } + } + + public static final class Encode { + /** + * Send this intent to encode background piece of data as background QR code and display it full screen, so + * that another person can scan the barcode from your screen. + */ + public static final String ACTION = "com.google.zxing.client.android.ENCODE"; + + /** + * The data to encode. Use Intent.putExtra(DATA, data) where data is either background String or background + * Bundle, depending on the type and format specified. Non-QR Code formats should + * just use background String here. For QR Code, see Contents for details. + */ + public static final String DATA = "ENCODE_DATA"; + + /** + * The type of data being supplied if the format is QR Code. Use + * Intent.putExtra(TYPE, type) with one of Contents.Type. + */ + public static final String TYPE = "ENCODE_TYPE"; + + /** + * The barcode format to be displayed. If this isn't specified or is blank, + * it defaults to QR Code. Use Intent.putExtra(FORMAT, format), where + * format is one of Contents.Format. + */ + public static final String FORMAT = "ENCODE_FORMAT"; + + private Encode() { + } + } + + public static final class SearchBookContents { + /** + * Use Google Book Search to search the contents of the book provided. + */ + public static final String ACTION = "com.google.zxing.client.android.SEARCH_BOOK_CONTENTS"; + + /** + * The book to search, identified by ISBN number. + */ + public static final String ISBN = "ISBN"; + + /** + * An optional field which is the text to search for. + */ + public static final String QUERY = "QUERY"; + + private SearchBookContents() { + } + } + + public static final class WifiConnect { + /** + * Internal intent used to trigger connection to background wi-fi network. + */ + public static final String ACTION = "com.google.zxing.client.android.WIFI_CONNECT"; + + /** + * The network to connect to, all the configuration provided here. + */ + public static final String SSID = "SSID"; + + /** + * The network to connect to, all the configuration provided here. + */ + public static final String TYPE = "TYPE"; + + /** + * The network to connect to, all the configuration provided here. + */ + public static final String PASSWORD = "PASSWORD"; + + private WifiConnect() { + } + } + + + public static final class Share { + /** + * Give the user background choice of items to encode as background barcode, then render it as background QR Code and + * display onscreen for background friend to scan with their phone. + */ + public static final String ACTION = "com.google.zxing.client.android.SHARE"; + + private Share() { + } + } +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/view/ViewfinderResultPointCallback.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/view/ViewfinderResultPointCallback.java new file mode 100755 index 0000000..b6744f3 --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/view/ViewfinderResultPointCallback.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2009 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.view; + +import com.google.zxing.ResultPoint; +import com.google.zxing.ResultPointCallback; + +public final class ViewfinderResultPointCallback implements ResultPointCallback { + + private final ViewfinderView viewfinderView; + + public ViewfinderResultPointCallback(ViewfinderView viewfinderView) { + this.viewfinderView = viewfinderView; + } + + public void foundPossibleResultPoint(ResultPoint point) { + viewfinderView.addPossibleResultPoint(point); + } + +} diff --git a/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/view/ViewfinderView.java b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/view/ViewfinderView.java new file mode 100755 index 0000000..3e28f2e --- /dev/null +++ b/BHDXJ/app/src/main/java/com/rehome/bhdxj/zxing/view/ViewfinderView.java @@ -0,0 +1,253 @@ +/* + * Copyright (C) 2008 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rehome.bhdxj.zxing.view; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.Typeface; +import android.util.AttributeSet; +import android.view.View; + +import com.google.zxing.ResultPoint; +import com.rehome.bhdxj.R; +import com.rehome.bhdxj.zxing.camera.CameraManager; + +import java.util.Collection; +import java.util.HashSet; + + +/** + * This view is overlaid on top of the camera preview. It adds the viewfinder + * rectangle and partial transparency outside it, as well as the laser scanner + * animation and result points. + * + */ +public final class ViewfinderView extends View { + private static final String TAG = "log"; + /** + * ˢ�½����ʱ�� + */ + private static final long ANIMATION_DELAY = 10L; + private static final int OPAQUE = 0xFF; + + /** + * �ĸ���ɫ�߽Ƕ�Ӧ�ij��� + */ + private int ScreenRate; + + /** + * �ĸ���ɫ�߽Ƕ�Ӧ�Ŀ�� + */ + private static final int CORNER_WIDTH = 10; + /** + * ɨ����е��м��ߵĿ�� + */ + private static final int MIDDLE_LINE_WIDTH = 6; + + /** + * ɨ����е��м��ߵ���ɨ������ҵļ�϶ + */ + private static final int MIDDLE_LINE_PADDING = 5; + + /** + * �м�������ÿ��ˢ���ƶ��ľ��� + */ + private static final int SPEEN_DISTANCE = 5; + + /** + * �ֻ�����Ļ�ܶ� + */ + private static float density; + /** + * �����С + */ + private static final int TEXT_SIZE = 16; + /** + * �������ɨ�������ľ��� + */ + private static final int TEXT_PADDING_TOP = 30; + + /** + * ���ʶ�������� + */ + private Paint paint; + + /** + * �м们���ߵ����λ�� + */ + private int slideTop; + + /** + * �м们���ߵ���׶�λ�� + */ + private int slideBottom; + + /** + * ��ɨ��Ķ�ά��������������û��������ܣ���ʱ������ + */ + private Bitmap resultBitmap; + private final int maskColor; + private final int resultColor; + + private final int resultPointColor; + private Collection possibleResultPoints; + private Collection lastPossibleResultPoints; + + boolean isFirst; + + public ViewfinderView(Context context, AttributeSet attrs) { + super(context, attrs); + + density = context.getResources().getDisplayMetrics().density; + //������ת����dp + ScreenRate = (int)(20 * density); + + paint = new Paint(); + Resources resources = getResources(); + maskColor = resources.getColor(R.color.viewfinder_mask); + resultColor = resources.getColor(R.color.result_view); + + resultPointColor = resources.getColor(R.color.possible_result_points); + possibleResultPoints = new HashSet(5); + } + + @Override + public void onDraw(Canvas canvas) { + Rect frame = CameraManager.get().getFramingRect(); + if (frame == null) { + return; + } + + //��ʼ���м��߻��������ϱߺ����±� + if(!isFirst){ + isFirst = true; + slideTop = frame.top; + slideBottom = frame.bottom; + } + + int width = canvas.getWidth(); + int height = canvas.getHeight(); + + paint.setColor(resultBitmap != null ? resultColor : maskColor); + + canvas.drawRect(0, 0, width, frame.top, paint); + canvas.drawRect(0, frame.top, frame.left, frame.bottom + 1, paint); + canvas.drawRect(frame.right + 1, frame.top, width, frame.bottom + 1, + paint); + canvas.drawRect(0, frame.bottom + 1, width, height, paint); + + + + if (resultBitmap != null) { + // Draw the opaque result bitmap over the scanning rectangle + paint.setAlpha(OPAQUE); + canvas.drawBitmap(resultBitmap, frame.left, frame.top, paint); + } else { + + paint.setColor(Color.GREEN); + canvas.drawRect(frame.left, frame.top, frame.left + ScreenRate, + frame.top + CORNER_WIDTH, paint); + canvas.drawRect(frame.left, frame.top, frame.left + CORNER_WIDTH, frame.top + + ScreenRate, paint); + canvas.drawRect(frame.right - ScreenRate, frame.top, frame.right, + frame.top + CORNER_WIDTH, paint); + canvas.drawRect(frame.right - CORNER_WIDTH, frame.top, frame.right, frame.top + + ScreenRate, paint); + canvas.drawRect(frame.left, frame.bottom - CORNER_WIDTH, frame.left + + ScreenRate, frame.bottom, paint); + canvas.drawRect(frame.left, frame.bottom - ScreenRate, + frame.left + CORNER_WIDTH, frame.bottom, paint); + canvas.drawRect(frame.right - ScreenRate, frame.bottom - CORNER_WIDTH, + frame.right, frame.bottom, paint); + canvas.drawRect(frame.right - CORNER_WIDTH, frame.bottom - ScreenRate, + frame.right, frame.bottom, paint); + + + slideTop += SPEEN_DISTANCE; + if(slideTop >= frame.bottom){ + slideTop = frame.top; + } + canvas.drawRect(frame.left + MIDDLE_LINE_PADDING, slideTop - MIDDLE_LINE_WIDTH/2, frame.right - MIDDLE_LINE_PADDING,slideTop + MIDDLE_LINE_WIDTH/2, paint); + + + //��ɨ���������� + paint.setColor(Color.WHITE); + paint.setTextSize(TEXT_SIZE * density); + paint.setAlpha(0x40); + paint.setTypeface(Typeface.create("System", Typeface.BOLD)); + canvas.drawText("将二维码/条码放入框内即可扫描", frame.left, frame.bottom + (float)TEXT_PADDING_TOP *density, paint); + + + + Collection currentPossible = possibleResultPoints; + Collection currentLast = lastPossibleResultPoints; + if (currentPossible.isEmpty()) { + lastPossibleResultPoints = null; + } else { + possibleResultPoints = new HashSet(5); + lastPossibleResultPoints = currentPossible; + paint.setAlpha(OPAQUE); + paint.setColor(resultPointColor); + for (ResultPoint point : currentPossible) { + canvas.drawCircle(frame.left + point.getX(), frame.top + + point.getY(), 6.0f, paint); + } + } + if (currentLast != null) { + paint.setAlpha(OPAQUE / 2); + paint.setColor(resultPointColor); + for (ResultPoint point : currentLast) { + canvas.drawCircle(frame.left + point.getX(), frame.top + + point.getY(), 3.0f, paint); + } + } + + + //ֻˢ��ɨ�������ݣ������ط���ˢ�� + postInvalidateDelayed(ANIMATION_DELAY, frame.left, frame.top, + frame.right, frame.bottom); + + } + } + + public void drawViewfinder() { + resultBitmap = null; + invalidate(); + } + + /** + * Draw background bitmap with the result points highlighted instead of the live + * scanning display. + * + * @param barcode + * An image of the decoded barcode. + */ + public void drawResultBitmap(Bitmap barcode) { + resultBitmap = barcode; + invalidate(); + } + + public void addPossibleResultPoint(ResultPoint point) { + possibleResultPoints.add(point); + } + +} diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/head_photo.png b/BHDXJ/app/src/main/res/drawable-xhdpi/head_photo.png new file mode 100755 index 0000000..40f5dff Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/head_photo.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/ic_add_image.png b/BHDXJ/app/src/main/res/drawable-xhdpi/ic_add_image.png new file mode 100644 index 0000000..38e38da Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/ic_add_image.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/ic_delete_menu.png b/BHDXJ/app/src/main/res/drawable-xhdpi/ic_delete_menu.png new file mode 100755 index 0000000..2025f26 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/ic_delete_menu.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/ic_dump_delete.png b/BHDXJ/app/src/main/res/drawable-xhdpi/ic_dump_delete.png new file mode 100644 index 0000000..89bb56a Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/ic_dump_delete.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/ic_normal_delete.png b/BHDXJ/app/src/main/res/drawable-xhdpi/ic_normal_delete.png new file mode 100644 index 0000000..65c21e4 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/ic_normal_delete.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/icon_apply.png b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_apply.png new file mode 100755 index 0000000..0159868 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_apply.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/icon_mentions.png b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_mentions.png new file mode 100755 index 0000000..4f5c406 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_mentions.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/icon_myphone.png b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_myphone.png new file mode 100755 index 0000000..993bb1f Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_myphone.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/icon_order.png b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_order.png new file mode 100755 index 0000000..30600b9 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_order.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/icon_phone.png b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_phone.png new file mode 100755 index 0000000..75ab1c2 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_phone.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/icon_phone1.png b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_phone1.png new file mode 100755 index 0000000..ff10d30 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_phone1.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/icon_started.png b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_started.png new file mode 100755 index 0000000..95d361d Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/icon_started.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/logo_hz.png b/BHDXJ/app/src/main/res/drawable-xhdpi/logo_hz.png new file mode 100755 index 0000000..894ab26 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/logo_hz.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/search.png b/BHDXJ/app/src/main/res/drawable-xhdpi/search.png new file mode 100755 index 0000000..e0f640d Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/search.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/tab_contacts.png b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_contacts.png new file mode 100755 index 0000000..a316ef9 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_contacts.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/tab_contacts_hover.png b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_contacts_hover.png new file mode 100755 index 0000000..e31b408 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_contacts_hover.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/tab_home.png b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_home.png new file mode 100755 index 0000000..e75ecf8 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_home.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/tab_home_hover.png b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_home_hover.png new file mode 100755 index 0000000..90ade02 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_home_hover.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/tab_me.png b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_me.png new file mode 100755 index 0000000..f4723b6 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_me.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/tab_me_hover.png b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_me_hover.png new file mode 100755 index 0000000..c9ea913 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/tab_me_hover.png differ diff --git a/BHDXJ/app/src/main/res/drawable-xhdpi/wechat.png b/BHDXJ/app/src/main/res/drawable-xhdpi/wechat.png new file mode 100755 index 0000000..f5c9522 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable-xhdpi/wechat.png differ diff --git a/BHDXJ/app/src/main/res/drawable/auth_button_login.xml b/BHDXJ/app/src/main/res/drawable/auth_button_login.xml new file mode 100755 index 0000000..226a114 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/auth_button_login.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/auth_tab_header_text.xml b/BHDXJ/app/src/main/res/drawable/auth_tab_header_text.xml new file mode 100755 index 0000000..54692d7 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/auth_tab_header_text.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/bg_dj_edittext.xml b/BHDXJ/app/src/main/res/drawable/bg_dj_edittext.xml new file mode 100755 index 0000000..db8d75a --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/bg_dj_edittext.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/bg_edittext.xml b/BHDXJ/app/src/main/res/drawable/bg_edittext.xml new file mode 100755 index 0000000..c24c1ed --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/bg_edittext.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/bg_gray_solid.xml b/BHDXJ/app/src/main/res/drawable/bg_gray_solid.xml new file mode 100755 index 0000000..48e0965 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/bg_gray_solid.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/bg_tab.xml b/BHDXJ/app/src/main/res/drawable/bg_tab.xml new file mode 100755 index 0000000..a1aee49 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/bg_tab.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/border_line_while.xml b/BHDXJ/app/src/main/res/drawable/border_line_while.xml new file mode 100755 index 0000000..01d57a1 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/border_line_while.xml @@ -0,0 +1,18 @@ + + + + + + + + + + diff --git a/BHDXJ/app/src/main/res/drawable/border_red_roval_sign.xml b/BHDXJ/app/src/main/res/drawable/border_red_roval_sign.xml new file mode 100755 index 0000000..0c51c76 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/border_red_roval_sign.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/btn_bg_red.xml b/BHDXJ/app/src/main/res/drawable/btn_bg_red.xml new file mode 100755 index 0000000..c8ee90a --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/btn_bg_red.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/BHDXJ/app/src/main/res/drawable/btnshape.xml b/BHDXJ/app/src/main/res/drawable/btnshape.xml new file mode 100755 index 0000000..824f8a1 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/btnshape.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/card_background.xml b/BHDXJ/app/src/main/res/drawable/card_background.xml new file mode 100755 index 0000000..3ee88e4 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/card_background.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/card_background_selector.xml b/BHDXJ/app/src/main/res/drawable/card_background_selector.xml new file mode 100755 index 0000000..3c41bfd --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/card_background_selector.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/BHDXJ/app/src/main/res/drawable/card_state_pressed.xml b/BHDXJ/app/src/main/res/drawable/card_state_pressed.xml new file mode 100755 index 0000000..fde3b00 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/card_state_pressed.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/contacts.xml b/BHDXJ/app/src/main/res/drawable/contacts.xml new file mode 100755 index 0000000..8eb52d2 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/contacts.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/dialog_radius.xml b/BHDXJ/app/src/main/res/drawable/dialog_radius.xml new file mode 100755 index 0000000..88f96a5 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/dialog_radius.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/edit_bg.xml b/BHDXJ/app/src/main/res/drawable/edit_bg.xml new file mode 100755 index 0000000..b494d9f --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/edit_bg.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/edittext.xml b/BHDXJ/app/src/main/res/drawable/edittext.xml new file mode 100755 index 0000000..f46590f --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/edittext.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/home.xml b/BHDXJ/app/src/main/res/drawable/home.xml new file mode 100755 index 0000000..5414847 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/home.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/ic_item_delete.png b/BHDXJ/app/src/main/res/drawable/ic_item_delete.png new file mode 100755 index 0000000..2025f26 Binary files /dev/null and b/BHDXJ/app/src/main/res/drawable/ic_item_delete.png differ diff --git a/BHDXJ/app/src/main/res/drawable/me.xml b/BHDXJ/app/src/main/res/drawable/me.xml new file mode 100755 index 0000000..5066e47 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/me.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/pressed_bg_blue88.xml b/BHDXJ/app/src/main/res/drawable/pressed_bg_blue88.xml new file mode 100755 index 0000000..f5832cc --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/pressed_bg_blue88.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/BHDXJ/app/src/main/res/drawable/presslr.xml b/BHDXJ/app/src/main/res/drawable/presslr.xml new file mode 100755 index 0000000..9173168 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/presslr.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/BHDXJ/app/src/main/res/drawable/radiobutton.xml b/BHDXJ/app/src/main/res/drawable/radiobutton.xml new file mode 100755 index 0000000..46515a3 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radiobutton.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/BHDXJ/app/src/main/res/drawable/radius.xml b/BHDXJ/app/src/main/res/drawable/radius.xml new file mode 100755 index 0000000..07ddc9d --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_a1.xml b/BHDXJ/app/src/main/res/drawable/radius_a1.xml new file mode 100755 index 0000000..4c1fb56 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_a1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_a2.xml b/BHDXJ/app/src/main/res/drawable/radius_a2.xml new file mode 100755 index 0000000..10be0b5 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_a2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_a3.xml b/BHDXJ/app/src/main/res/drawable/radius_a3.xml new file mode 100755 index 0000000..e5b7150 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_a3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_a4.xml b/BHDXJ/app/src/main/res/drawable/radius_a4.xml new file mode 100755 index 0000000..3f68485 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_a4.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_b1.xml b/BHDXJ/app/src/main/res/drawable/radius_b1.xml new file mode 100755 index 0000000..514cb42 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_b1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_b2.xml b/BHDXJ/app/src/main/res/drawable/radius_b2.xml new file mode 100755 index 0000000..65c57ed --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_b2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_c1.xml b/BHDXJ/app/src/main/res/drawable/radius_c1.xml new file mode 100755 index 0000000..839feee --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_c1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_c7.xml b/BHDXJ/app/src/main/res/drawable/radius_c7.xml new file mode 100755 index 0000000..3ae14dd --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_c7.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_d1.xml b/BHDXJ/app/src/main/res/drawable/radius_d1.xml new file mode 100755 index 0000000..aee5efc --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_d1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_e2.xml b/BHDXJ/app/src/main/res/drawable/radius_e2.xml new file mode 100755 index 0000000..543ecff --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_e2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/radius_e3.xml b/BHDXJ/app/src/main/res/drawable/radius_e3.xml new file mode 100755 index 0000000..ce8393b --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/radius_e3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/red_dot.xml b/BHDXJ/app/src/main/res/drawable/red_dot.xml new file mode 100755 index 0000000..eb80fcc --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/red_dot.xml @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/selector_list_item.xml b/BHDXJ/app/src/main/res/drawable/selector_list_item.xml new file mode 100755 index 0000000..24a5e0e --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/selector_list_item.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/shape.xml b/BHDXJ/app/src/main/res/drawable/shape.xml new file mode 100755 index 0000000..9159133 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/shape.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/shape_corner.xml b/BHDXJ/app/src/main/res/drawable/shape_corner.xml new file mode 100755 index 0000000..a9575a0 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/shape_corner.xml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/shape_dialog_bg.xml b/BHDXJ/app/src/main/res/drawable/shape_dialog_bg.xml new file mode 100755 index 0000000..f9012f4 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/shape_dialog_bg.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/shape_edittext.xml b/BHDXJ/app/src/main/res/drawable/shape_edittext.xml new file mode 100755 index 0000000..7bbb6c5 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/shape_edittext.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/BHDXJ/app/src/main/res/drawable/text_red_circ.xml b/BHDXJ/app/src/main/res/drawable/text_red_circ.xml new file mode 100755 index 0000000..57dfb60 --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/text_red_circ.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/drawable/textstatus1.xml b/BHDXJ/app/src/main/res/drawable/textstatus1.xml new file mode 100644 index 0000000..bc038be --- /dev/null +++ b/BHDXJ/app/src/main/res/drawable/textstatus1.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/layout/acticity_mainaqjc.xml b/BHDXJ/app/src/main/res/layout/acticity_mainaqjc.xml new file mode 100755 index 0000000..76e1c42 --- /dev/null +++ b/BHDXJ/app/src/main/res/layout/acticity_mainaqjc.xml @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/BHDXJ/app/src/main/res/layout/activity_aqjclb.xml b/BHDXJ/app/src/main/res/layout/activity_aqjclb.xml new file mode 100755 index 0000000..bdb8972 --- /dev/null +++ b/BHDXJ/app/src/main/res/layout/activity_aqjclb.xml @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/BHDXJ/app/src/main/res/layout/activity_aqjclbinfo.xml b/BHDXJ/app/src/main/res/layout/activity_aqjclbinfo.xml new file mode 100755 index 0000000..010ad1d --- /dev/null +++ b/BHDXJ/app/src/main/res/layout/activity_aqjclbinfo.xml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +