diff --git a/ZJDXJ/app/.gitignore b/ZJDXJ/app/.gitignore new file mode 100755 index 0000000..796b96d --- /dev/null +++ b/ZJDXJ/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/ZJDXJ/app/build.gradle b/ZJDXJ/app/build.gradle new file mode 100755 index 0000000..52f912e --- /dev/null +++ b/ZJDXJ/app/build.gradle @@ -0,0 +1,84 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 33 + buildToolsVersion "33.0.0" + defaultConfig { + applicationId "com.bjzc.zjdxj" + minSdkVersion 24 + targetSdkVersion 33 + versionCode 1 + versionName "1.0.0" + multiDexEnabled true + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + //每个应用拥有不同的authorities,防止相同的在同一个手机上无法同时安装 + resValue "string", "authorities", applicationId + resourceConfigurations += ['zh', 'en', 'hdpi'] + } + /* keypassword:abc123123 alias key0*/ + buildTypes { + release { + lintOptions { + checkReleaseBuilds false + abortOnError false + } + minifyEnabled false + zipAlignEnabled true // 对齐zip + debuggable false // 是否debug + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + sourceSets { + main { + jniLibs.srcDirs = ['libs'] + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } + namespace 'com.bjzc.zjdxj' +} + +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.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 'de.hdodenhof:circleimageview:3.1.0' + implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.5.9' + implementation 'com.github.wanglu1209:PhotoViewer:0.50' + implementation 'io.github.azhon:appupdate:4.2.6' + implementation 'com.tencent.bugly:crashreport:3.2.1' + implementation 'com.github.xuexiangjys:XUI:1.1.4' + implementation files('libs/rinsunMT.jar') + implementation 'org.greenrobot:eventbus:3.0.0' + implementation 'com.github.bumptech.glide:glide:4.11.0' + implementation 'com.zhihu.android:matisse:0.5.3-beta3' + //图片压缩 + implementation 'top.zibin:Luban:1.1.8' + implementation 'id.zelory:compressor:1.0.3' + //第三方工具类 + implementation 'cn.hutool:hutool-all:5.8.5' + //mqtt + implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.4' + implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1' + implementation 'org.bouncycastle:bcpkix-jdk15on:1.47' + implementation 'commons-codec:commons-codec:1.15' + 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/ZJDXJ/app/libs/MiPush_SDK_Client_3_2_2.jar b/ZJDXJ/app/libs/MiPush_SDK_Client_3_2_2.jar new file mode 100755 index 0000000..bd8562e Binary files /dev/null and b/ZJDXJ/app/libs/MiPush_SDK_Client_3_2_2.jar differ diff --git a/ZJDXJ/app/libs/SangforSDK.jar b/ZJDXJ/app/libs/SangforSDK.jar new file mode 100755 index 0000000..56abdc0 Binary files /dev/null and b/ZJDXJ/app/libs/SangforSDK.jar differ diff --git a/ZJDXJ/app/libs/ZSDK_API.jar b/ZJDXJ/app/libs/ZSDK_API.jar new file mode 100755 index 0000000..bd0a7e6 Binary files /dev/null and b/ZJDXJ/app/libs/ZSDK_API.jar differ diff --git a/ZJDXJ/app/libs/arm64-v8a/librinsunMT-lib.so b/ZJDXJ/app/libs/arm64-v8a/librinsunMT-lib.so new file mode 100644 index 0000000..87b7246 Binary files /dev/null and b/ZJDXJ/app/libs/arm64-v8a/librinsunMT-lib.so differ diff --git a/ZJDXJ/app/libs/badgeview.jar b/ZJDXJ/app/libs/badgeview.jar new file mode 100755 index 0000000..8190474 Binary files /dev/null and b/ZJDXJ/app/libs/badgeview.jar differ diff --git a/ZJDXJ/app/libs/gson-2.7.jar b/ZJDXJ/app/libs/gson-2.7.jar new file mode 100755 index 0000000..be5b59b Binary files /dev/null and b/ZJDXJ/app/libs/gson-2.7.jar differ diff --git a/ZJDXJ/app/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar b/ZJDXJ/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/ZJDXJ/app/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar differ diff --git a/ZJDXJ/app/libs/rinsunMT.jar b/ZJDXJ/app/libs/rinsunMT.jar new file mode 100644 index 0000000..1761ddc Binary files /dev/null and b/ZJDXJ/app/libs/rinsunMT.jar differ diff --git a/ZJDXJ/app/libs/zxing.jar b/ZJDXJ/app/libs/zxing.jar new file mode 100755 index 0000000..c069965 Binary files /dev/null and b/ZJDXJ/app/libs/zxing.jar differ diff --git a/ZJDXJ/app/proguard-rules.pro b/ZJDXJ/app/proguard-rules.pro new file mode 100755 index 0000000..124e136 --- /dev/null +++ b/ZJDXJ/app/proguard-rules.pro @@ -0,0 +1,27 @@ +# 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 +-dontwarn com.tencent.bugly.** +-keep public class com.tencent.bugly.**{*;} \ No newline at end of file diff --git a/ZJDXJ/app/src/androidTest/java/com/bjzc/zjdxj/ExampleInstrumentedTest.java b/ZJDXJ/app/src/androidTest/java/com/bjzc/zjdxj/ExampleInstrumentedTest.java new file mode 100755 index 0000000..2132416 --- /dev/null +++ b/ZJDXJ/app/src/androidTest/java/com/bjzc/zjdxj/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.bjzc.zjdxj; + +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/ZJDXJ/app/src/androidTest/java/com/rehome/yfdxj/ExampleInstrumentedTest.java b/ZJDXJ/app/src/androidTest/java/com/rehome/yfdxj/ExampleInstrumentedTest.java new file mode 100755 index 0000000..8d53f64 --- /dev/null +++ b/ZJDXJ/app/src/androidTest/java/com/rehome/yfdxj/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.rehome.yfdxj; + +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/ZJDXJ/app/src/main/AndroidManifest.xml b/ZJDXJ/app/src/main/AndroidManifest.xml new file mode 100755 index 0000000..340301e --- /dev/null +++ b/ZJDXJ/app/src/main/AndroidManifest.xml @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/assets/litepal.xml b/ZJDXJ/app/src/main/assets/litepal.xml new file mode 100755 index 0000000..1f0a6e6 --- /dev/null +++ b/ZJDXJ/app/src/main/assets/litepal.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/ic_launcher-playstore.png b/ZJDXJ/app/src/main/ic_launcher-playstore.png new file mode 100644 index 0000000..d053e2d Binary files /dev/null and b/ZJDXJ/app/src/main/ic_launcher-playstore.png differ diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/AjhScInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/AjhScInfo.java new file mode 100755 index 0000000..4f990e7 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/AjhScInfo.java @@ -0,0 +1,94 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhjh.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhjh.java new file mode 100755 index 0000000..286faa2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhjh.java @@ -0,0 +1,65 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/AjhjhList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/AjhjhList.java new file mode 100755 index 0000000..ce5c0f0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/AjhjhList.java @@ -0,0 +1,52 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/AjhjhxzrwList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/AjhjhxzrwList.java new file mode 100755 index 0000000..de8ebe6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/AjhjhxzrwList.java @@ -0,0 +1,65 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhxcjs.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhxcjs.java new file mode 100755 index 0000000..1d31c7f --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhxcjs.java @@ -0,0 +1,56 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhxzrwqy.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhxzrwqy.java new file mode 100755 index 0000000..4907973 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhxzrwqy.java @@ -0,0 +1,229 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhxzrwqylist.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhxzrwqylist.java new file mode 100755 index 0000000..ff41fba --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Ajhxzrwqylist.java @@ -0,0 +1,33 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DataBaseYhpc.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DataBaseYhpc.java new file mode 100644 index 0000000..8a48035 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DataBaseYhpc.java @@ -0,0 +1,91 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Djjh.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Djjh.java new file mode 100755 index 0000000..5ea262b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Djjh.java @@ -0,0 +1,101 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhList.java new file mode 100755 index 0000000..c06596f --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhList.java @@ -0,0 +1,50 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhRwList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhRwList.java new file mode 100755 index 0000000..8bafb81 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhRwList.java @@ -0,0 +1,92 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhRwQy.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhRwQy.java new file mode 100755 index 0000000..7df826a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhRwQy.java @@ -0,0 +1,496 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhRwQyList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhRwQyList.java new file mode 100755 index 0000000..3dec6cf --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DjjhRwQyList.java @@ -0,0 +1,97 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Dqgz.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Dqgz.java new file mode 100644 index 0000000..7fa3be4 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Dqgz.java @@ -0,0 +1,346 @@ +package com.bjzc.zjdxj.DBModel; + +import android.os.Parcel; +import android.os.Parcelable; + +import org.litepal.crud.DataSupport; + +/** + * Created by huangwenfei on 2021/12/09. + */ + +public class Dqgz extends DataSupport implements Parcelable { + private int id; + private String RWID; + private String RWZT; + private String RWZTMC; + private String RWLX; + private String RWLXMC; + private String RWRQ; + private String RWBC; + private String ZXBZ; + private String ZX_ZY; + private String ZX_ZYMC; + private String ZX_JZ; + private String ZX_JZMC; + private String ZX_QYID; + private String ZX_QYMC; + private String ZX_MC; + private String ZX_NR; + private String ZX_LRFS; + private String ZX_LRNR; + private String ZX_CBLX; + private String MKBS; + private String username; + private String SCNR; + private String SCBZ; + private boolean checked;//0:未选中,1:已选中 + private int download;//0:未下载,1:已经下载 + private boolean isWorkChecked;//已检/未检 + private String DATE;//保存时间 + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + 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 getRWZTMC() { + return RWZTMC; + } + + public void setRWZTMC(String RWZTMC) { + this.RWZTMC = RWZTMC; + } + + public String getRWLX() { + return RWLX; + } + + public void setRWLX(String RWLX) { + this.RWLX = RWLX; + } + + public String getRWLXMC() { + return RWLXMC; + } + + public void setRWLXMC(String RWLXMC) { + this.RWLXMC = RWLXMC; + } + + public String getRWRQ() { + return RWRQ; + } + + public void setRWRQ(String RWRQ) { + this.RWRQ = RWRQ; + } + + public String getRWBC() { + return RWBC; + } + + public void setRWBC(String RWBC) { + this.RWBC = RWBC; + } + + public String getZXBZ() { + return ZXBZ; + } + + public void setZXBZ(String ZXBZ) { + this.ZXBZ = ZXBZ; + } + + public String getZX_ZY() { + return ZX_ZY; + } + + public void setZX_ZY(String ZX_ZY) { + this.ZX_ZY = ZX_ZY; + } + + public String getZX_ZYMC() { + return ZX_ZYMC; + } + + public void setZX_ZYMC(String ZX_ZYMC) { + this.ZX_ZYMC = ZX_ZYMC; + } + + public String getZX_JZ() { + return ZX_JZ; + } + + public void setZX_JZ(String ZX_JZ) { + this.ZX_JZ = ZX_JZ; + } + + public String getZX_JZMC() { + return ZX_JZMC; + } + + public void setZX_JZMC(String ZX_JZMC) { + this.ZX_JZMC = ZX_JZMC; + } + + public String getZX_QYID() { + return ZX_QYID; + } + + public void setZX_QYID(String ZX_QYID) { + this.ZX_QYID = ZX_QYID; + } + + public String getZX_QYMC() { + return ZX_QYMC; + } + + public void setZX_QYMC(String ZX_QYMC) { + this.ZX_QYMC = ZX_QYMC; + } + + public String getZX_MC() { + return ZX_MC; + } + + public void setZX_MC(String ZX_MC) { + this.ZX_MC = ZX_MC; + } + + public String getZX_NR() { + return ZX_NR; + } + + public void setZX_NR(String ZX_NR) { + this.ZX_NR = ZX_NR; + } + + public String getZX_LRFS() { + return ZX_LRFS; + } + + public void setZX_LRFS(String ZX_LRFS) { + this.ZX_LRFS = ZX_LRFS; + } + + public String getZX_LRNR() { + return ZX_LRNR; + } + + public void setZX_LRNR(String ZX_LRNR) { + this.ZX_LRNR = ZX_LRNR; + } + + public String getZX_CBLX() { + return ZX_CBLX; + } + + public void setZX_CBLX(String ZX_CBLX) { + this.ZX_CBLX = ZX_CBLX; + } + + public String getMKBS() { + return MKBS; + } + + public void setMKBS(String MKBS) { + this.MKBS = MKBS; + } + + 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 String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public boolean isWorkChecked() { + return isWorkChecked; + } + + public void setWorkChecked(boolean workChecked) { + isWorkChecked = workChecked; + } + + public String getSCNR() { + return SCNR; + } + + public void setSCNR(String SCNR) { + this.SCNR = SCNR; + } + + public String getSCBZ() { + return SCBZ; + } + + public void setSCBZ(String SCBZ) { + this.SCBZ = SCBZ; + } + + public String getDATE() { + return DATE; + } + + public void setDATE(String DATE) { + this.DATE = DATE; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(this.id); + dest.writeString(this.RWID); + dest.writeString(this.RWZT); + dest.writeString(this.RWZTMC); + dest.writeString(this.RWLX); + dest.writeString(this.RWLXMC); + dest.writeString(this.RWRQ); + dest.writeString(this.RWBC); + dest.writeString(this.ZXBZ); + dest.writeString(this.ZX_ZY); + dest.writeString(this.ZX_ZYMC); + dest.writeString(this.ZX_JZ); + dest.writeString(this.ZX_JZMC); + dest.writeString(this.ZX_QYID); + dest.writeString(this.ZX_QYMC); + dest.writeString(this.ZX_MC); + dest.writeString(this.ZX_NR); + dest.writeString(this.ZX_LRFS); + dest.writeString(this.ZX_LRNR); + dest.writeString(this.ZX_CBLX); + dest.writeString(this.MKBS); + dest.writeString(this.username); + dest.writeString(this.SCNR); + dest.writeString(this.SCBZ); + dest.writeByte(this.checked ? (byte) 1 : (byte) 0); + dest.writeInt(this.download); + dest.writeByte(this.isWorkChecked ? (byte) 1 : (byte) 0); + dest.writeString(this.DATE); + } + + public Dqgz(){ + } + protected Dqgz(Parcel in) { + this.id = in.readInt(); + this.RWID = in.readString(); + this.RWZT = in.readString(); + this.RWZTMC = in.readString(); + this.RWLX = in.readString(); + this.RWLXMC = in.readString(); + this.RWRQ = in.readString(); + this.RWBC = in.readString(); + this.ZXBZ = in.readString(); + this.ZX_ZY = in.readString(); + this.ZX_ZYMC = in.readString(); + this.ZX_JZ = in.readString(); + this.ZX_JZMC = in.readString(); + this.ZX_QYID = in.readString(); + this.ZX_QYMC = in.readString(); + this.ZX_MC = in.readString(); + this.ZX_NR = in.readString(); + this.ZX_LRFS = in.readString(); + this.ZX_LRNR = in.readString(); + this.ZX_CBLX = in.readString(); + this.MKBS = in.readString(); + this.username = in.readString(); + this.SCNR = in.readString(); + this.SCBZ = in.readString(); + this.download = in.readInt(); + this.checked = in.readByte() != 0; + this.isWorkChecked = in.readByte() != 0; + this.DATE = in.readString(); + } + public static final Creator CREATOR = new Creator() { + @Override + public Dqgz createFromParcel(Parcel source) { + return new Dqgz(source); + } + + @Override + public Dqgz[] newArray(int size) { + return new Dqgz[size]; + } + }; +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DqgzList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DqgzList.java new file mode 100644 index 0000000..8585faa --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/DqgzList.java @@ -0,0 +1,47 @@ +package com.bjzc.zjdxj.DBModel; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by huangwenfei on 2021/12/09. + */ + +public class DqgzList { + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Gwzyxcqrnr.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Gwzyxcqrnr.java new file mode 100755 index 0000000..6f7eb9f --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Gwzyxcqrnr.java @@ -0,0 +1,63 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyXcjsInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyXcjsInfo.java new file mode 100755 index 0000000..ed8586a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyXcjsInfo.java @@ -0,0 +1,83 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyYhpcInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyYhpcInfo.java new file mode 100755 index 0000000..f0f7123 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyYhpcInfo.java @@ -0,0 +1,56 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcXm.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcXm.java new file mode 100755 index 0000000..b81028e --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcXm.java @@ -0,0 +1,74 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcXmJg.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcXmJg.java new file mode 100755 index 0000000..61f4953 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcXmJg.java @@ -0,0 +1,92 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcXmList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcXmList.java new file mode 100755 index 0000000..7ecaf13 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcXmList.java @@ -0,0 +1,36 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcqyList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcqyList.java new file mode 100755 index 0000000..f254af3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/LyxcqyList.java @@ -0,0 +1,50 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Lyxcrwqy.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Lyxcrwqy.java new file mode 100755 index 0000000..c9c5d44 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Lyxcrwqy.java @@ -0,0 +1,159 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Othersbsave.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Othersbsave.java new file mode 100755 index 0000000..4e095e9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Othersbsave.java @@ -0,0 +1,102 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Profession.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Profession.java new file mode 100644 index 0000000..af4f2a3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Profession.java @@ -0,0 +1,31 @@ +package com.bjzc.zjdxj.DBModel; + + +import org.litepal.crud.DataSupport; + +/** + * Created by Administrator on 2021/11/18 + */ + +public class Profession extends DataSupport { + + 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; + } + +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/ProfessionList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/ProfessionList.java new file mode 100644 index 0000000..8d042bd --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/ProfessionList.java @@ -0,0 +1,42 @@ +package com.bjzc.zjdxj.DBModel; + + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Administrator on 2021/11/18 + */ + +public class ProfessionList { + + private String state; + private String msg; + private List data = new ArrayList<>(); + + 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; + } + + +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QYAQFXDATABean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QYAQFXDATABean.java new file mode 100755 index 0000000..619e6f1 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QYAQFXDATABean.java @@ -0,0 +1,138 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QYDDATABean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QYDDATABean.java new file mode 100755 index 0000000..74fdbf3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QYDDATABean.java @@ -0,0 +1,395 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QxgdInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QxgdInfo.java new file mode 100755 index 0000000..ce22557 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QxgdInfo.java @@ -0,0 +1,47 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Qy.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Qy.java new file mode 100755 index 0000000..b18cbb3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Qy.java @@ -0,0 +1,47 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QyList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QyList.java new file mode 100755 index 0000000..b606288 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/QyList.java @@ -0,0 +1,42 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/UploadLocation.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/UploadLocation.java new file mode 100644 index 0000000..5423e33 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/UploadLocation.java @@ -0,0 +1,41 @@ +package com.bjzc.zjdxj.DBModel; + + +import org.litepal.crud.DataSupport; + +/** + * Created by huangwenfei on 2022/03/04 + */ + +public class UploadLocation extends DataSupport { + + private String nfcbm; + + private String username; + + private String djsj; + + public String getNfcbm() { + return nfcbm; + } + + public void setNfcbm(String nfcbm) { + this.nfcbm = nfcbm; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getDjsj() { + return djsj; + } + + public void setDjsj(String djsj) { + this.djsj = djsj; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadaqjcsave.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadaqjcsave.java new file mode 100755 index 0000000..69222de --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadaqjcsave.java @@ -0,0 +1,101 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadsblcsave.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadsblcsave.java new file mode 100755 index 0000000..fca4354 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadsblcsave.java @@ -0,0 +1,105 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadzdcsrw.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadzdcsrw.java new file mode 100755 index 0000000..8f49d6c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadzdcsrw.java @@ -0,0 +1,109 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadzgjg.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadzgjg.java new file mode 100755 index 0000000..987deb0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadzgjg.java @@ -0,0 +1,75 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadzjcszg.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadzjcszg.java new file mode 100755 index 0000000..7424819 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Uploadzjcszg.java @@ -0,0 +1,74 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbList.java new file mode 100755 index 0000000..8ff3863 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbList.java @@ -0,0 +1,100 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbStateList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbStateList.java new file mode 100755 index 0000000..5b42796 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbStateList.java @@ -0,0 +1,74 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbjxitemList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbjxitemList.java new file mode 100755 index 0000000..11ca39b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbjxitemList.java @@ -0,0 +1,106 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbrwList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbrwList.java new file mode 100755 index 0000000..8bbeba0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbrwList.java @@ -0,0 +1,91 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbrwinfoList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbrwinfoList.java new file mode 100755 index 0000000..51eb9ca --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbrwinfoList.java @@ -0,0 +1,119 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbzjdList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbzjdList.java new file mode 100755 index 0000000..984c3b8 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/WjbzjdList.java @@ -0,0 +1,111 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XDJJHXZBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XDJJHXZBean.java new file mode 100755 index 0000000..6b23fc7 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XDJJHXZBean.java @@ -0,0 +1,74 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XDJJHXZDataBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XDJJHXZDataBean.java new file mode 100755 index 0000000..ffc6136 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XDJJHXZDataBean.java @@ -0,0 +1,200 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XSJJHDataBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XSJJHDataBean.java new file mode 100755 index 0000000..0ad568d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XSJJHDataBean.java @@ -0,0 +1,563 @@ +package com.bjzc.zjdxj.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 qybh; + 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 String TYJCZT;//停用检测状态[未用] + private String CBLX;//抄表类型(W:温度,Z:振动) + private XSJJHXZDataBean xsjjhxzDataBean; + private boolean checked;//是否已经检查 + private boolean uploaded;//是否上传 + private boolean deleted;//true 已删除,false 未删除 + private String mk;//模块 + private String username; + private String jhmc; + + public String getQybh() { + return qybh; + } + + public void setQybh(String qybh) { + this.qybh = qybh; + } + + public String getTYJCZT() { + return TYJCZT; + } + + public void setTYJCZT(String TYJCZT) { + this.TYJCZT = TYJCZT; + } + + public String getCBLX() { + return CBLX; + } + + public void setCBLX(String CBLX) { + this.CBLX = CBLX; + } + + public String getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } + + 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 txm_zt; + + 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 String getTxm_zt() { + return txm_zt; + } + + public void setTxm_zt(String txm_zt) { + this.txm_zt = txm_zt; + } + + 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 getMk() { + return mk; + } + + public void setMk(String mk) { + this.mk = mk; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + 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); + dest.writeString(this.TYJCZT); + dest.writeString(this.CBLX); + dest.writeString(this.mk); + dest.writeString(this.username); + dest.writeString(this.txm_zt); + dest.writeString(this.jhmc); + } + + 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(); + this.TYJCZT = in.readString(); + this.CBLX = in.readString(); + this.mk = in.readString(); + this.username = in.readString(); + this.txm_zt = in.readString(); + this.jhmc = 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XSJJHXZBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XSJJHXZBean.java new file mode 100755 index 0000000..7b71f39 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XSJJHXZBean.java @@ -0,0 +1,74 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XSJJHXZDataBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XSJJHXZDataBean.java new file mode 100755 index 0000000..5a97e08 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XSJJHXZDataBean.java @@ -0,0 +1,366 @@ +package com.bjzc.zjdxj.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 XSJJHXZDataBean extends DataSupport implements Parcelable { + + + private int id; + private String zxid; + private String scid; + private String qybh; + private String qymc; + private String nfcbm; + private String txm; + private String nfcbm_zt; + private String txm_zt; + private String tjxjzt; + + private String sczt; + private String scsj; + private String smfs; + private String fxnr; + private List data= new ArrayList(); // 关系:对多 + private int SN; //自定义序号 + private boolean isChecked;//燃料,运行已检 + private boolean isBAChecked;//保安已检 + private String countPercent; //已检/总数 + private String sbmc; + private String SBMCSTATE;//设备状态 + private String SBMCSTATEVALUE;//设备状态值 + private String second;//是否曾经用过NFC和二维码进入过区域 + private String mk; + private String xjnr; + private String DATE;//保存时间 + private String username; + private String djsj; + private String jhmc; + + + + + + public int getId() { + return id; + } + public void setId(int id) { + this.id = id; + } + public String getNfcbm_zt() { + return nfcbm_zt; + } + + public void setNfcbm_zt(String nfcbm_zt) { + this.nfcbm_zt = nfcbm_zt; + } + + public String getDjsj() { + return djsj; + } + + public void setDjsj(String djsj) { + this.djsj = djsj; + } + + public String getTxm_zt() { + return txm_zt; + } + + public void setTxm_zt(String txm_zt) { + this.txm_zt = txm_zt; + } + + public String getTjxjzt() { + return tjxjzt; + } + + public void setTjxjzt(String tjxjzt) { + this.tjxjzt = tjxjzt; + } + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getScid() { + return scid; + } + + public void setScid(String scid) { + this.scid = scid; + } + + public String getDATE() { + return DATE; + } + + public void setDATE(String DATE) { + this.DATE = DATE; + } + + 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 getSmfs() { + return smfs; + } + + public void setSmfs(String smfs) { + this.smfs = smfs; + } + + 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 boolean isBAChecked() { + return isBAChecked; + } + + public void setBAChecked(boolean BAChecked) { + isBAChecked = BAChecked; + } + + public String getXjnr() { + return xjnr; + } + + public void setXjnr(String xjnr) { + this.xjnr = xjnr; + } + + public String getCountPercent() { + return countPercent; + } + + public void setCountPercent(String countPercent) { + this.countPercent = countPercent; + } + + 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 getSecond() { + return second; + } + + public void setSecond(String second) { + this.second = second; + } + + public String getFxnr() { + return fxnr; + } + + public void setFxnr(String fxnr) { + this.fxnr = fxnr; + } + + public String getMk() { + return mk; + } + + public void setMk(String mk) { + this.mk = mk; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } + + @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.writeString(this.fxnr); + dest.writeTypedList(this.data); + dest.writeInt(this.SN); + dest.writeByte(this.isChecked ? (byte) 1 : (byte) 0); + dest.writeByte(this.isBAChecked ? (byte) 1 : (byte) 0); + dest.writeString(this.countPercent); + dest.writeString(this.sbmc); + dest.writeString(this.SBMCSTATE); + dest.writeString(this.SBMCSTATEVALUE); + dest.writeString(this.second); + dest.writeString(this.nfcbm_zt); + dest.writeString(this.txm_zt); + dest.writeString(this.tjxjzt); + dest.writeString(this.mk); + dest.writeString(this.xjnr); + dest.writeString(this.scid); + dest.writeString(this.DATE); + dest.writeString(this.username); + dest.writeString(this.smfs); + dest.writeString(this.djsj); + dest.writeString(this.jhmc); + } + + public XSJJHXZDataBean() { + } + + protected XSJJHXZDataBean(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.fxnr = in.readString(); + this.data = in.createTypedArrayList(XSJJHDataBean.CREATOR); + this.SN = in.readInt(); + this.isChecked = in.readByte() != 0; + this.isBAChecked = in.readByte() != 0; + this.countPercent = in.readString(); + this.sbmc = in.readString(); + this.SBMCSTATE = in.readString(); + this.SBMCSTATEVALUE = in.readString(); + this.second = in.readString(); + this.nfcbm_zt = in.readString(); + this.txm_zt = in.readString(); + this.tjxjzt = in.readString(); + this.mk = in.readString(); + this.xjnr = in.readString(); + this.scid = in.readString(); + this.DATE = in.readString(); + this.username = in.readString(); + this.smfs = in.readString(); + this.djsj = in.readString(); + this.jhmc = 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XcjsInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XcjsInfo.java new file mode 100755 index 0000000..b024f91 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XcjsInfo.java @@ -0,0 +1,74 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfBaxcRwqy.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfBaxcRwqy.java new file mode 100755 index 0000000..74ab09c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfBaxcRwqy.java @@ -0,0 +1,191 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfBaxcRwqyList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfBaxcRwqyList.java new file mode 100755 index 0000000..5f1dc72 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfBaxcRwqyList.java @@ -0,0 +1,105 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjh.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjh.java new file mode 100755 index 0000000..9152a79 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjh.java @@ -0,0 +1,101 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhList.java new file mode 100755 index 0000000..2cfbb0a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhList.java @@ -0,0 +1,54 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhRwList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhRwList.java new file mode 100755 index 0000000..d422e5c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhRwList.java @@ -0,0 +1,93 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhRwqy.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhRwqy.java new file mode 100755 index 0000000..7bbb5e0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhRwqy.java @@ -0,0 +1,299 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhRwqyList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhRwqyList.java new file mode 100755 index 0000000..bb78b80 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfDjjhRwqyList.java @@ -0,0 +1,81 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcjsInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcjsInfo.java new file mode 100755 index 0000000..f5995f0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcjsInfo.java @@ -0,0 +1,83 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcmhqc.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcmhqc.java new file mode 100755 index 0000000..3504a30 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcmhqc.java @@ -0,0 +1,110 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcmhqcList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcmhqcList.java new file mode 100755 index 0000000..61d1f5d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcmhqcList.java @@ -0,0 +1,58 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcxm.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcxm.java new file mode 100755 index 0000000..f22d6d1 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcxm.java @@ -0,0 +1,83 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcxmList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcxmList.java new file mode 100755 index 0000000..52c322b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcxmList.java @@ -0,0 +1,47 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcxmjg.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcxmjg.java new file mode 100755 index 0000000..17b3cbf --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XfXcxmjg.java @@ -0,0 +1,101 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Xjjh.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Xjjh.java new file mode 100755 index 0000000..019761d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Xjjh.java @@ -0,0 +1,222 @@ +package com.bjzc.zjdxj.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 lc_z; + //当前轮次[新增] + private String lc_d; + private String ljds; + private String jhds; + private String zc; + //值次名称 + private String zc_name; + private String iswsc; + private boolean checked;//0:未选中,1:已选中 + private int download;//0:未下载,1:已经下载 + private String countPercent; //已检/总数 + private XjjhList xjjhList; + private String mk; + private String zyid; + private String username; + + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + + public String getCountPercent() { + return countPercent; + } + + public void setCountPercent(String countPercent) { + this.countPercent = countPercent; + } + + 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 getLc_z() { + return lc_z; + } + + public void setLc_z(String lc_z) { + this.lc_z = lc_z; + } + + public String getLc_d() { + return lc_d; + } + + public void setLc_d(String lc_d) { + this.lc_d = lc_d; + } + + 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 getZc_name() { + return zc_name; + } + + public void setZc_name(String zc_name) { + this.zc_name = zc_name; + } + + 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; + } + + public String getMk() { + return mk; + } + + public void setMk(String mk) { + this.mk = mk; + } + + public String getZyid() { + return zyid; + } + + public void setZyid(String zyid) { + this.zyid = zyid; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XjjhList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XjjhList.java new file mode 100755 index 0000000..a5817b3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XjjhList.java @@ -0,0 +1,52 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Xjzjrw.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Xjzjrw.java new file mode 100755 index 0000000..80d0cbb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Xjzjrw.java @@ -0,0 +1,177 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XjzjrwList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XjzjrwList.java new file mode 100755 index 0000000..0ca72e9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XjzjrwList.java @@ -0,0 +1,49 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcJh.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcJh.java new file mode 100755 index 0000000..7229838 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcJh.java @@ -0,0 +1,103 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcJhList.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcJhList.java new file mode 100755 index 0000000..e9f659b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcJhList.java @@ -0,0 +1,35 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcJs.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcJs.java new file mode 100755 index 0000000..5af4222 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcJs.java @@ -0,0 +1,92 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcSc.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcSc.java new file mode 100755 index 0000000..235ee00 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/XwaqgcSc.java @@ -0,0 +1,193 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/YhpcInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/YhpcInfo.java new file mode 100755 index 0000000..147fde0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/YhpcInfo.java @@ -0,0 +1,65 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Yhpctp.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Yhpctp.java new file mode 100755 index 0000000..7484bde --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Yhpctp.java @@ -0,0 +1,29 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zjrwdata.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zjrwdata.java new file mode 100755 index 0000000..a3da007 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zjrwdata.java @@ -0,0 +1,255 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zjrwdatainfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zjrwdatainfo.java new file mode 100755 index 0000000..930aba7 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zjrwdatainfo.java @@ -0,0 +1,286 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zjrwst.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zjrwst.java new file mode 100755 index 0000000..48847c9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zjrwst.java @@ -0,0 +1,78 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zy.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zy.java new file mode 100755 index 0000000..fc9dff2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/Zy.java @@ -0,0 +1,39 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/ZyInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/ZyInfo.java new file mode 100755 index 0000000..1e216a5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/DBModel/ZyInfo.java @@ -0,0 +1,41 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/DragListener.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/DragListener.java new file mode 100644 index 0000000..34dcebc --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/DragListener.java @@ -0,0 +1,22 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/FullyGridLayoutManager.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/FullyGridLayoutManager.java new file mode 100644 index 0000000..d2e307c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/FullyGridLayoutManager.java @@ -0,0 +1,104 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/GlideEngine.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/GlideEngine.java new file mode 100644 index 0000000..60168ea --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/GlideEngine.java @@ -0,0 +1,221 @@ +package com.bjzc.zjdxj.Listener; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.PointF; +import android.graphics.drawable.Drawable; +import android.view.View; +import android.widget.ImageView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; +import com.bumptech.glide.request.target.BitmapImageViewTarget; +import com.bumptech.glide.request.target.ImageViewTarget; +import com.luck.picture.lib.engine.ImageEngine; +import com.luck.picture.lib.listener.OnImageCompleteCallback; +import com.luck.picture.lib.tools.MediaUtils; +import com.luck.picture.lib.widget.longimage.ImageSource; +import com.luck.picture.lib.widget.longimage.ImageViewState; +import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; +import com.bjzc.zjdxj.R; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.graphics.drawable.RoundedBitmapDrawable; +import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; + +/** + * @author:luck + * @date:2019-11-13 17:02 + * @describe:Glide加载引擎 + */ +public class GlideEngine implements ImageEngine { + + /** + * 加载图片 + * + * @param context + * @param url + * @param imageView + */ + @Override + public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .load(url) + .into(imageView); + } + + @Override + public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { + Glide.with(context) + .asBitmap() + .load(url) + .into(new ImageViewTarget(imageView) { + @Override + public void onLoadStarted(@Nullable Drawable placeholder) { + super.onLoadStarted(placeholder); + if (callback != null) { + callback.onShowLoading(); + } + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + super.onLoadFailed(errorDrawable); + if (callback != null) { + callback.onHideLoading(); + } + } + + @Override + protected void setResource(@Nullable Bitmap resource) { + if (callback != null) { + callback.onHideLoading(); + } + if (resource != null) { + boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(), + resource.getHeight()); + longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE); + imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE); + if (eqLongImage) { + // 加载长图 + longImageView.setQuickScaleEnabled(true); + longImageView.setZoomEnabled(true); + longImageView.setPanEnabled(true); + longImageView.setDoubleTapZoomDuration(100); + longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP); + longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER); + longImageView.setImage(ImageSource.bitmap(resource), + new ImageViewState(0, new PointF(0, 0), 0)); + } else { + // 普通图片 + imageView.setImageBitmap(resource); + } + } + } + }); + } + + /** + * 加载网络图片适配长图方案 + * # 注意:此方法只有加载网络图片才会回调 + * + * @param context + * @param url + * @param imageView + * @param longImageView + * @ 已废弃 + */ + @Override + public void loadImage(@NonNull Context context, @NonNull String url, + @NonNull ImageView imageView, + SubsamplingScaleImageView longImageView) { + Glide.with(context) + .asBitmap() + .load(url) + .into(new ImageViewTarget(imageView) { + @Override + protected void setResource(@Nullable Bitmap resource) { + if (resource != null) { + boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(), + resource.getHeight()); + longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE); + imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE); + if (eqLongImage) { + // 加载长图 + longImageView.setQuickScaleEnabled(true); + longImageView.setZoomEnabled(true); + longImageView.setPanEnabled(true); + longImageView.setDoubleTapZoomDuration(100); + longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP); + longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER); + longImageView.setImage(ImageSource.bitmap(resource), + new ImageViewState(0, new PointF(0, 0), 0)); + } else { + // 普通图片 + imageView.setImageBitmap(resource); + } + } + } + }); + } + + /** + * 加载相册目录 + * + * @param context 上下文 + * @param url 图片路径 + * @param imageView 承载图片ImageView + */ + @Override + public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .centerCrop() + .sizeMultiplier(0.5f) + .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .into(new BitmapImageViewTarget(imageView) { + @Override + protected void setResource(Bitmap resource) { + RoundedBitmapDrawable circularBitmapDrawable = + RoundedBitmapDrawableFactory. + create(context.getResources(), resource); + circularBitmapDrawable.setCornerRadius(8); + imageView.setImageDrawable(circularBitmapDrawable); + } + }); + } + + + /** + * 加载gif + * + * @param context 上下文 + * @param url 图片路径 + * @param imageView 承载图片ImageView + */ + @Override + public void loadAsGifImage(@NonNull Context context, @NonNull String url, + @NonNull ImageView imageView) { + Glide.with(context) + .asGif() + .load(url) + .into(imageView); + } + + /** + * 加载图片列表图片 + * + * @param context 上下文 + * @param url 图片路径 + * @param imageView 承载图片ImageView + */ + @Override + public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .load(url) + .override(200, 200) + .centerCrop() + .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .into(imageView); + } + + + private GlideEngine() { + } + + private static GlideEngine instance; + + public static GlideEngine createGlideEngine() { + if (null == instance) { + synchronized (GlideEngine.class) { + if (null == instance) { + instance = new GlideEngine(); + } + } + } + return instance; + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/OnItemClickListener.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/OnItemClickListener.java new file mode 100644 index 0000000..9556ce3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/OnItemClickListener.java @@ -0,0 +1,12 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/OnItemLongClickListener.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/OnItemLongClickListener.java new file mode 100644 index 0000000..e66d404 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/Listener/OnItemLongClickListener.java @@ -0,0 +1,14 @@ +package com.bjzc.zjdxj.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); +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/MyApplication.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/MyApplication.java new file mode 100755 index 0000000..a154d2b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/MyApplication.java @@ -0,0 +1,69 @@ +package com.bjzc.zjdxj; + +import android.app.Activity; +import android.app.Application; +import android.content.Context; +import android.os.Bundle; +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.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.multidex.MultiDex; + +public class MyApplication extends LitePalApplication implements Application.ActivityLifecycleCallbacks{ + public static Context context = null; + + @Override + public void onCreate() { + super.onCreate(); + XUI.init(this); + NoHttp.initialize(this); + AutoLayoutConifg.getInstance().useDeviceSize(); + CrashReport.initCrashReport(getApplicationContext(), "efefa9e04c", true); + registerActivityLifecycleCallbacks(this); + } + + @Override + protected void attachBaseContext(Context base) { + super.attachBaseContext(base); + MultiDex.install(base); + } + + @Override + public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) { + + } + + @Override + public void onActivityStarted(@NonNull Activity activity) { + + } + + @Override + public void onActivityResumed(@NonNull Activity activity) { + + } + + @Override + public void onActivityPaused(@NonNull Activity activity) { + + } + + @Override + public void onActivityStopped(@NonNull Activity activity) { + + } + + @Override + public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle bundle) { + + } + + @Override + public void onActivityDestroyed(@NonNull Activity activity) { + + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/CheckTemperatureActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/CheckTemperatureActivity.java new file mode 100644 index 0000000..080a838 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/CheckTemperatureActivity.java @@ -0,0 +1,324 @@ +package com.bjzc.zjdxj.activity; + + +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; +import android.util.Log; +import android.view.View; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; +import com.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.AuditDialog; +import com.bjzc.zjdxj.weight.EditDialog; +import com.google.gson.Gson; +import com.rinsun.mtdriver.MTnativeInterface; +import com.bjzc.zjdxj.base.BaseActivity3; +import org.litepal.crud.DataSupport; +import java.text.SimpleDateFormat; +import java.util.Date; + + +public class CheckTemperatureActivity extends BaseActivity3 implements View.OnClickListener { + + EditText etRealValue; + EditText noticeValue; + Button btnSubmit; + TextView checkTip; + TextView standerTip; + + + private String temperatureValue; + //public static final int RESULT_SUCCESS = 1; + private String checkType; + //是否可编辑 + private boolean isEdit = false; + private String username; + private String smfs; + + //频谱用到的变量///////////////////////////// + private double edit16LA; + private double edit16LV; + private double edit16LD; + private double edit16HA; + private double edit16HV; + private double edit16HD; + + private double[] ppsour; + private int ppfreq; // <1280,5120,12800> + private int pplen; // 1024, 4096, 8192 + /////////////////////////////////////////////// + + MTnativeInterface mt= MTnativeInterface.getInstance();//获取传感器调用接口 + Intent intentTemplate; + //页面传过来的数据 + XSJJHDataBean xSJJHDataBean; + + @Override + public int getLayoutId() { + return R.layout.activity_check_temperature; + } + + @Override + public void initView() { + username = (String) SPUtils.get(context, Contans.USERID, ""); + etRealValue = findViewById(R.id.et_realValue); + noticeValue = findViewById(R.id.et_noticeValue); + btnSubmit = findViewById(R.id.btn_submit); + checkTip = findViewById(R.id.tv_checkTip); + standerTip = findViewById(R.id.tv_standerTip); + + Bundle bundle = CheckTemperatureActivity.this.getIntent().getExtras(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + if(isEdit){ + initToolbar("测温", "开始测量", this); + etRealValue.setEnabled(true); + }else{ + initToolbar("测温", "", this); + btnSubmit.setVisibility(View.GONE); + } + } + + noticeValue.setKeyListener(null); + intentTemplate = getIntent(); + //String checkTipStr = intentTemplate.getStringExtra("checkTip"); + String standerTipStr = intentTemplate.getStringExtra("standerTip"); + checkType = intentTemplate.getStringExtra("checkType"); +// if(checkTipStr!=null){ +// checkTip.setText(checkTipStr); +// } + if(standerTipStr!=null){ + standerTip.setText(standerTipStr); + } + //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” + mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { + @Override + public void onShowMessage(byte[] recBuff,int CMDtype, int tag) { + /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ + System.out.println("-------------"); + System.out.println(new String(recBuff)+"/"+CMDtype+"/"+tag); + + //收到普通测量值 + updateUI(new String(recBuff));//可直接显示数据 + + //收到频谱采集部分 + //recBuff 原始数据数组,CMDtype 返回数据类型,tag 数据长度 + System.out.println((recBuff.length)+"/"+CMDtype+"/"+tag); + } + }); + btnSubmit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + temperatureValue = etRealValue.getText().toString(); + if(temperatureValue.equals("")){ + showToast("实际值不能为空"); + }else{ + AuditDialog auditDialog = new AuditDialog(context, "确定要保存数据吗?", new AuditDialog.AuditDialogListener() { + @Override + public void confirm() { + if (isEdit) { + if(!etRealValue.getText().toString().trim().equals("")){ + ContentValues values = new ContentValues(); + values.put("smfs", smfs); + values.put("checked", true); + values.put("CJJG", temperatureValue); + values.put("DATE", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + DataSupport.updateAll(XSJJHDataBean.class, values, "scid = ? and username = ? ",xSJJHDataBean.getScid(),username); + Intent intent = new Intent(Contans.ACTION_YULONE); + intent.putExtra(Contans.KEY_NAME, temperatureValue); + intent.putExtra(Contans.SCID, xSJJHDataBean.getScid()); + //发送广播 + sendBroadcast(intent); + } + } + + Intent intent = new Intent(); + intent.putExtra("value", temperatureValue); + intent.putExtra("checkType", checkType); + setResult(RESULT_OK, intent); + finish(); + } + + @Override + public void cancel() { + + } + }); + auditDialog.show(); + } + } + }); + noticeValue.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View view) { + //Toast.makeText(context, "onLongClick", Toast.LENGTH_SHORT).show(); + EditDialog editDialog = new EditDialog(context); + editDialog.setMessage(noticeValue.getText().toString().trim()); + editDialog.setYesOnclickListener("确定", new EditDialog.onYesOnclickListener() { + @Override + public void onYesClick(String phone) { + if (!TextUtils.isEmpty(phone)) { + noticeValue.setText(phone); + } + //让软键盘隐藏 + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm.isActive()) { + imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 + } + editDialog.dismiss(); + } + }); + editDialog.setNoOnclickListener("取消", new EditDialog.onNoOnclickListener() { + @Override + public void onNoClick() { + //让软键盘隐藏 + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm.isActive()) { + imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 + } + editDialog.dismiss(); + } + }); + editDialog.show(); + return false; + } + }); + } + + @Override + public void initData() { + Bundle bundle = CheckTemperatureActivity.this.getIntent().getExtras(); + if (bundle != null) { + smfs = bundle.getString("smfs"); + xSJJHDataBean = bundle.getParcelable("xSJJHDataBean"); + Gson gson=new Gson(); + Log.i("app",gson.toJson(xSJJHDataBean)); + if(xSJJHDataBean.getSb()!=null){ + checkTip.setText(xSJJHDataBean.getSb()); + } + if(xSJJHDataBean.getBJMC()!=null){ + standerTip.setText(xSJJHDataBean.getBJMC()); + } + if(xSJJHDataBean.getCJJG()!=null){ + etRealValue.setText(xSJJHDataBean.getCJJG()); + } + } + } + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void onPause() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onPause(); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + if(isEdit){ + demo();//测量 + } + break; + } + } + + public void demo(){ + /*========读卡示例,参数说明见“说明文档.txt”============================================================*/ + //mt.RFIDopen(MTnativeInterface.CARD_14443);//开启电源。(不可与振动同时打开,它们共用硬件资源) + //mt.RFIDread(-1,""); + + + /*======转速示例============================================================================================*/ + //mt.RPMopen();//开启电源。 + + /*=====测温示例,参数说明见“说明文档.txt”=================================================================*/ + mt.IRTopen(MTnativeInterface.TEMP_25);//开启电源。 + mt.IRTread(95); + + /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ +// mt.VIBopen();//开启电源。 +// //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) +// mt.VIBread(MTnativeInterface.CMD_VIBD_R,0); + + //频谱采集测量。 + // mt.VIBset(MTnativeInterface.CMD_ALL_W,"RK");//频谱采集前,必须读取一次"频谱参数",频谱计算过程要用到 +// Button but = (Button) findViewById(R.id.button1); +// but.setText("频谱采集"); +// but.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// ppfreq=1280;//可选频率 1280 5120 12800 +// pplen=1024;//对应返回数据长度1024, 4096, 8192 +// ppsour = new double[pplen]; +// //开始频谱采集,参数CMDtype采样类型有三个可选CMD_VIBA_P加速度、CMD_VIBD_P位移、CMD_VIBV_P速度。参数level采样频率有三个可选 1280 5120 12800 +// //mt.VIBread(MTnativeInterface.CMD_VIBA_P,ppfreq); +// //执行下面代码可停止频谱采集 +// //mt.VIBread(0,0); +// } +// }); +// Button btnSecond = (Button) findViewById(R.id.button2); +// btnSecond.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// +// } +// }); + } + + private double getRK(int type){ + double res=0.0; + switch(type) { + case MTnativeInterface.CMD_VIBA_P: + res = edit16LA; + case MTnativeInterface.CMD_VIBV_P: + res=edit16LV; + case MTnativeInterface.CMD_VIBD_P: + res=edit16LD; + } + return res; + } + + public void updateUI(final String info) { + runOnUiThread(new Runnable() { + @Override + public void run() { + if(info!=null){ + if(etRealValue!=null){ + etRealValue.setText(info); + } + } + } + }); + } + + @Override + protected void onDestroy() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onDestroy(); + } +} + diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/CheckVibrationActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/CheckVibrationActivity.java new file mode 100644 index 0000000..e56070b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/CheckVibrationActivity.java @@ -0,0 +1,356 @@ +package com.bjzc.zjdxj.activity; + + + +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; +import android.util.Log; +import android.view.View; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.RadioGroup; +import android.widget.TextView; + +import com.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.AuditDialog; +import com.bjzc.zjdxj.weight.EditDialog; +import com.google.gson.Gson; +import com.rinsun.mtdriver.MTnativeInterface; + +import org.litepal.crud.DataSupport; + +import java.text.SimpleDateFormat; +import java.util.Date; + + +public class CheckVibrationActivity extends BaseActivity3 implements View.OnClickListener { + + TextView etRealTitle; + EditText etRealValue; + EditText noticeValue; + Button btnSubmit; + TextView checkTip; + TextView standerTip; + RadioGroup rgLevel; + RadioGroup rgType; + + + + private String vibrationValue; + public static final int RESULT_SUCCESS = 1; + private String checkType; + int checkVibrationType = MTnativeInterface.CMD_VIBD_R; + int level = 0; + // 振动位移单位 mm + //振动速度单位 mm/s + //振动加速度单位 mm/(s^2) + //String measure = "mm"; + //是否可编辑 + private boolean isEdit = false; + //页面传过来的数据 + XSJJHDataBean xSJJHDataBean; + + //频谱用到的变量///////////////////////////// + private double edit16LA; + private double edit16LV; + private double edit16LD; + private double edit16HA; + private double edit16HV; + private double edit16HD; + + private double[] ppsour; + private int ppfreq; // <1280,5120,12800> + private int pplen; // 1024, 4096, 8192 + /////////////////////////////////////////////// + + MTnativeInterface mt= MTnativeInterface.getInstance();//获取传感器调用接口 + Intent intentTemplate; + private String username; + private String smfs; + + + @Override + public int getLayoutId() { + return R.layout.activity_check_vibration; + } + + @Override + public void initView() { + etRealTitle = findViewById(R.id.tv_realTitle); + etRealValue = findViewById(R.id.et_realValue); + noticeValue = findViewById(R.id.et_noticeValue); + btnSubmit = findViewById(R.id.btn_submit); + checkTip = findViewById(R.id.tv_checkTip); + standerTip = findViewById(R.id.tv_standerTip); + rgLevel = findViewById(R.id.rgLevel); + rgType = findViewById(R.id.rgType); + + username = (String) SPUtils.get(context, Contans.USERID, ""); + Bundle bundle = CheckVibrationActivity.this.getIntent().getExtras(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + if(isEdit){ + etRealValue.setEnabled(true); + initToolbar("测振", "开始测量", this); + }else{ + initToolbar("测振", "", this); + btnSubmit.setVisibility(View.GONE); + } + } + + noticeValue.setKeyListener(null); + intentTemplate = getIntent(); + String checkTipStr = intentTemplate.getStringExtra("checkTip"); + String standerTipStr = intentTemplate.getStringExtra("standerTip"); + checkType = intentTemplate.getStringExtra("checkType"); + if(checkTipStr!=null){ + checkTip.setText(checkTipStr); + } + if(standerTipStr!=null){ + standerTip.setText(standerTipStr); + } + //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” + mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { + @Override + public void onShowMessage(byte[] recBuff,int CMDtype, int tag) { + /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ + System.out.println("-------------"); + System.out.println(new String(recBuff)+"/"+CMDtype+"/"+tag); + + if(CMDtype==MTnativeInterface.CMD_VIBA_R){ + if(recBuff!=null){ + String recv = new String(recBuff); + String cut = " "; + String[] newStr = recv.split(cut); // 分割成数组 + updateUI(newStr[0]);//可直接显示数据 + } + }else{ + //收到普通测量值 + updateUI(new String(recBuff));//可直接显示数据 + } + + //收到频谱采集部分 + //recBuff 原始数据数组,CMDtype 返回数据类型,tag 数据长度 + System.out.println((recBuff.length)+"/"+CMDtype+"/"+tag); + } + }); + btnSubmit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + vibrationValue = etRealValue.getText().toString().trim(); + if(vibrationValue.equals("")){ + showToast("实际值不能为空"); + }else{ + AuditDialog auditDialog = new AuditDialog(context, "确定要保存数据吗?", new AuditDialog.AuditDialogListener() { + @Override + public void confirm() { + + if (isEdit) { + if(!etRealValue.getText().toString().trim().equals("")){ + ContentValues values = new ContentValues(); + values.put("smfs", smfs); + values.put("checked", true); + values.put("CJJG", vibrationValue); + values.put("DATE", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + DataSupport.updateAll(XSJJHDataBean.class, values, "scid = ? and username = ?",xSJJHDataBean.getScid(),username); + Intent intent = new Intent(Contans.ACTION_YULONE); + intent.putExtra(Contans.KEY_NAME, vibrationValue); + intent.putExtra(Contans.SCID, xSJJHDataBean.getScid()); + //发送广播 + sendBroadcast(intent); + } + } + Intent intent = new Intent(); + intent.putExtra("value", vibrationValue); + intent.putExtra("checkType", checkType); + setResult(RESULT_OK, intent); + finish(); + } + + @Override + public void cancel() { + + } + }); + auditDialog.show(); + } + } + }); + rgLevel.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup radioGroup, int i) { + switch (i){ + case R.id.rb1: + level = 0; + if(isEdit){ + demo();//测量 + } + break; + case R.id.rb2: + level = 1; + if(isEdit){ + demo();//测量 + } + break; + } + } + }); + rgType.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup radioGroup, int i) { + switch (i){ + case R.id.rb3: + checkVibrationType = MTnativeInterface.CMD_VIBD_R; + etRealTitle.setText("实际值(mm):"); + if(isEdit){ + demo();//测量 + } + break; + case R.id.rb4: + checkVibrationType = MTnativeInterface.CMD_VIBV_R; + etRealTitle.setText("实际值(mm/s):"); + if(isEdit){ + demo();//测量 + } + break; + case R.id.rb5: + checkVibrationType = MTnativeInterface.CMD_VIBA_R; + etRealTitle.setText("实际值(mm/(s^2)):"); + if(isEdit){ + demo();//测量 + } + break; + } + } + }); + noticeValue.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View view) { + //Toast.makeText(context, "onLongClick", Toast.LENGTH_SHORT).show(); + EditDialog editDialog = new EditDialog(context); + editDialog.setMessage(noticeValue.getText().toString().trim()); + editDialog.setYesOnclickListener("确定", new EditDialog.onYesOnclickListener() { + @Override + public void onYesClick(String phone) { + if (!TextUtils.isEmpty(phone)) { + noticeValue.setText(phone); + } + //让软键盘隐藏 + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm.isActive()) { + imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 + } + editDialog.dismiss(); + } + }); + editDialog.setNoOnclickListener("取消", new EditDialog.onNoOnclickListener() { + @Override + public void onNoClick() { + //让软键盘隐藏 + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm.isActive()) { + imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 + } + editDialog.dismiss(); + } + }); + editDialog.show(); + return false; + } + }); + } + + @Override + public void initData() { + Bundle bundle = CheckVibrationActivity.this.getIntent().getExtras(); + if (bundle != null) { + smfs = bundle.getString("smfs"); + xSJJHDataBean = bundle.getParcelable("xSJJHDataBean"); + Gson gson=new Gson(); + Log.i("app",gson.toJson(xSJJHDataBean)); + if(xSJJHDataBean.getSb()!=null){ + checkTip.setText(xSJJHDataBean.getSb()); + } + if(xSJJHDataBean.getBJMC()!=null){ + standerTip.setText(xSJJHDataBean.getBJMC()); + } + if(xSJJHDataBean.getCJJG()!=null){ + etRealValue.setText(xSJJHDataBean.getCJJG()); + } + } + } + + @Override + protected void onResume() { + //demo();//测量 + super.onResume(); + } + + @Override + protected void onPause() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onPause(); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + if(isEdit){ + //测量 + demo(); + } + break; + } + } + + public void demo(){ + /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ + mt.VIBopen();//开启电源。 + //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) + //读振动加速度(加速度回传了2个值,取第一个就可以) + //CMD_VIBA_R 振动加速度(加速度回传了2个值,取第一个就可以) + //CMD_VIBD_R 振动位移 + //CMD_VIBA_R 振动速度 + mt.VIBread(checkVibrationType,level); + } + + public void updateUI(final String info) { + runOnUiThread(new Runnable() { + @Override + public void run() { + if(info!=null){ + if(etRealValue!=null){ + etRealValue.setText(info); + } + } + } + }); + } + + @Override + protected void onDestroy() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onDestroy(); + } + +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/ContactFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/ContactFragment.java new file mode 100755 index 0000000..eb38e12 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/ContactFragment.java @@ -0,0 +1,205 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.ContactAdapter; +import com.bjzc.zjdxj.base.BaseCallBack; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.ContactListBean; +import com.bjzc.zjdxj.utils.ContactDatas; +import com.bjzc.zjdxj.utils.HttpUtils; +import com.bjzc.zjdxj.weight.ClearEditText; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/CustomDialogActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/CustomDialogActivity.java new file mode 100644 index 0000000..b28c72d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/CustomDialogActivity.java @@ -0,0 +1,158 @@ +package com.bjzc.zjdxj.activity; + +import android.app.Activity; +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; +import android.view.View; +import android.view.Window; +import android.widget.TextView; + +import com.bjzc.zjdxj.R; +import com.rinsun.mtdriver.MTnativeInterface; + +public class CustomDialogActivity extends Activity { + private TextView title; + private TextView msg; + private TextView btnStart; + private TextView btnClose; + + MTnativeInterface mt = MTnativeInterface.getInstance();//获取传感器调用接口 + String type = "7"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + //必须在调用setContentView()之前调用requestWindowFeature() + //requestWindowFeature(Window.FEATURE_LEFT_ICON);//要标题栏显示图标 + //全屏操作,一定要放在加载根view之前 + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().getDecorView().setBackgroundColor(Color.TRANSPARENT); + setContentView(R.layout.dialog_activity); + initView(); + initData(); + } + + private void initView(){ + title = findViewById(R.id.tv_title); + msg = findViewById(R.id.tv_msg); + btnClose = findViewById(R.id.dialog_commit); + btnStart = findViewById(R.id.dialog_cancel); + btnStart.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(type.equals("7")){ + startCheckTemp(); + } + if(type.equals("11")){ + startCheckVibration(); + } + } + }); + btnClose.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + finish(); + } + }); + + //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” + mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { + @Override + public void onShowMessage(byte[] recBuff, int CMDtype, int tag) { + /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ + System.out.println("-------------"); + System.out.println(new String(recBuff) + "/" + CMDtype + "/" + tag); + if (CMDtype == MTnativeInterface.CMD_VIBD_R) { + //收到普通测量值 + updateUIByVibration(new String(recBuff));//可直接显示数据 + } + if (CMDtype == MTnativeInterface.CMD_TEMP_R) { + //收到普通测量值 + updateUIByTemp(new String(recBuff));//可直接显示数据 + } + } + }); + } + private void initData() { + Intent intent = getIntent(); + type = intent.getStringExtra("type"); + if(type.equals("7")){ + title.setText("测温" + "(℃)"); + } + if(type.equals("11")){ + title.setText("测振" + "(mm)"); + } + } + public void startCheckTemp() { + /*=====测温示例,参数说明见“说明文档.txt”=================================================================*/ + mt.IRTopen(MTnativeInterface.TEMP_25);//开启电源。 + mt.IRTread(95); + } + + public void startCheckVibration() { + /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ + mt.VIBopen();//开启电源。 + //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) + //读振动加速度(加速度回传了2个值,取第一个就可以) + //CMD_VIBA_R 振动加速度(加速度回传了2个值,取第一个就可以) + //CMD_VIBD_R 振动位移 + //CMD_VIBA_R 振动速度 + mt.VIBread(MTnativeInterface.CMD_VIBD_R, 0); + } + @Override + protected void onPause() { + super.onPause(); + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + } + + @Override + protected void onResume() { + super.onResume(); + if(type.equals("7")){ + title.setText("测温" + "(℃)"); + } + if(type.equals("11")){ + title.setText("测振" + "(mm)"); + } + } + @Override + public void onDestroy() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onDestroy(); + } + public void updateUIByTemp(final String info) { + runOnUiThread(new Runnable() { + @Override + public void run() { + if (info != null) { + msg.setText(info); + } + } + }); + } + + public void updateUIByVibration(final String info) { + runOnUiThread(new Runnable() { + @Override + public void run() { + if (info != null) { + msg.setText(info); + } + } + }); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/LoginActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/LoginActivity.java new file mode 100755 index 0000000..1a1a39c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/LoginActivity.java @@ -0,0 +1,530 @@ +package com.bjzc.zjdxj.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.provider.Settings; +import android.telephony.TelephonyManager; +import android.text.TextUtils; +import android.util.Log; +import android.view.KeyEvent; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.EditText; +import android.widget.TextView; + +import com.azhon.appupdate.listener.OnButtonClickListener; +import com.azhon.appupdate.listener.OnDownloadListener; +import com.azhon.appupdate.manager.DownloadManager; +import com.bjzc.zjdxj.base.BaseCallBackNoProgress; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.bean.ApkUpdateBean; +import com.bjzc.zjdxj.bean.PhoneInfo; +import com.bjzc.zjdxj.bean.UserInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.ControllerActivity; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.HttpUtils; +import com.bjzc.zjdxj.utils.NetworkUtil; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.utils.StatusBarUtil; +import com.bjzc.zjdxj.utils.UiUtlis; +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.Request; +import com.yolanda.nohttp.rest.Response; + +import java.io.File; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatTextView; + +import retrofit2.Call; + +public class LoginActivity extends BaseActivity { + + + AppCompatTextView title; + TextView tvVersion; + CheckBox savePwUser; + EditText etUse; + EditText etPwd; + Button btnLogin; + + private String UserID; + private String UserPwd; + private long exitTime = 0; + + @Override + public int getContentViewID() { + return R.layout.activity_login; + } + + @SuppressLint("SetTextI18n") + @Override + protected void initView() { + + title = findViewById(R.id.title); + tvVersion = findViewById(R.id.tv_version); + savePwUser = findViewById(R.id.save_pw_user); + etUse = findViewById(R.id.et_use); + etPwd = findViewById(R.id.et_pwd); + btnLogin = findViewById(R.id.btn_login); + + tvVersion.setText("版本V" + getVersionName()); + StatusBarUtil.transparencyBar(LoginActivity.this);//设置透明状态栏 + UserID = (String) SPUtils.get(LoginActivity.this, Contans.USERID, ""); + UserPwd = (String) SPUtils.get(LoginActivity.this, Contans.USERPWD, ""); + boolean save = (boolean) SPUtils.get(LoginActivity.this, "save", true); + + + savePwUser.setChecked(save); + etUse.setText(UserID); + if (save) { + etPwd.setText(UserPwd); + } + //initNFC(); + + etUse.setText("BA001"); + etPwd.setText("BA001"); + + } + + public void initData() { + CrashReport.putUserData(context, "UserName", UserID); + onclick(); + String username = (String) SPUtils.get(LoginActivity.this, Contans.USERID, String.valueOf("")); + if (username != null && !username.equals("")) { + //检查最后登录时间,如果超过10天就不自动跳转到首页,需要重新登录 + if (checkLogin()) { + Intent intent = new Intent(LoginActivity.this, MainActivity.class); + startActivity(intent); + finish(); + } + } else { + checkUpdateApk(); + SetPermission();//设置权限 + } + } + + private boolean checkLogin() { + String lastLoginDate = (String) SPUtils.get(LoginActivity.this, Contans.LASTLOGINDATE, String.valueOf("")); + //Log.i("app",lastLoginDate); + //lastLoginDate="2022年02月18日"; + //Log.i("app",lastLoginDate); + if (!lastLoginDate.equals("")) { + try { + //格式化日期的对象(转化成习惯的时间格式) + SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); + Date date = sdFormat.parse(lastLoginDate); + Calendar calendarOne = Calendar.getInstance(); + calendarOne.setTime(date); + if (!Calendar.getInstance().after(calendarOne)) { + return true; + } + } catch (Exception e) { + + } + } + return false; + } + + private void SetPermission() { + AndPermission.with(this).runtime().permission( + Permission.WRITE_EXTERNAL_STORAGE, + Permission.ACCESS_COARSE_LOCATION, + Permission.READ_PHONE_STATE, + Permission.READ_EXTERNAL_STORAGE, + Permission.WRITE_EXTERNAL_STORAGE, + Permission.CAMERA + ).onGranted(data -> { + }).onDenied(data -> { + }).start(); + } + + private void onclick() { + btnLogin.setOnClickListener(view -> { + if (isLogin()) { + if (NetworkUtil.hasNetWorkStatus(context, false)) { + Log.i("app", "有网络"); + OnlineLogin(); + } else { + Log.i("app", "无网络"); + OfflineLogin(); + } + } + }); + } + + private void OfflineLogin() { + if (UserID.equals("")) { + showToast("首次登陆请连接厂内WIFI"); + } else { + if (!UserID.equals(etUse.getText().toString())) { + showToast("工号错误"); + } else { + Intent intent = new Intent(LoginActivity.this, MainActivity.class); + startActivity(intent); + finish(); + } + } + } + + private void OnlineLogin() { + String json = getPhoneInfo(); + Log.i("app", Contans.IP + Contans.LOGIN); + Request request = NoHttp.createStringRequest(Contans.IP + Contans.LOGIN, RequestMethod.POST); +// SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context); +// if(socketFactory!=null){ +// request.setSSLSocketFactory(socketFactory); +// request.setHostnameVerifier(new HostnameVerifier() { +// @Override +// public boolean verify(String s, SSLSession sslSession) { +// return true; +// } +// }); +// } + request.setDefineRequestBodyForJson(json); + NohttpUtils.getInstance().add(LoginActivity.this, 0, request, callback, true, true, "登录中..."); + } + + private HttpListener callback = new HttpListener() { + @Override + public void onSucceed(int what, Response response) throws ParseException { + String json = response.get(); +// Log.i("app","login-----"); +// Log.i("app",json); + + UserInfo userInfo = GsonUtils.GsonToBean(json, UserInfo.class); + //Log.i("app",new Gson().toJson(userInfo)); + if (userInfo != null) { + UserInfo.User user = userInfo.getRows().get(0); + String status = user.getStatus(); + String username = user.getUsernames(); + switch (status) { + case "0": + showToast("用户名或密码错误"); + break; + case "1": + SPUtils.put(LoginActivity.this, "save", savePwUser.isChecked()); + SPUtils.put(LoginActivity.this, Contans.USERID, etUse.getText().toString()); + SPUtils.put(LoginActivity.this, Contans.USERPWD, etPwd.getText().toString()); + SPUtils.put(LoginActivity.this, Contans.USERNAME, username); + SPUtils.put(LoginActivity.this, Contans.BZBH, user.getBzbh() == null ? "" : user.getBzbh()); + SPUtils.put(LoginActivity.this, Contans.BZMC, user.getBzmc() == null ? "" : user.getBzmc()); + SPUtils.put(LoginActivity.this, Contans.PERMISSIONSRESULT, user.getPermissionsResult() == null ? "" : user.getPermissionsResult()); + SPUtils.put(LoginActivity.this, Contans.ZY, user.getZY() == null ? "" : user.getZY()); + SPUtils.remove(context, Contans.NFCBM); + //格式化日期的对象(转化成习惯的时间格式) + SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); + //静态方法getInstance()使用默认时区和语言环境获得一个日历。 + Calendar calendar = Calendar.getInstance(); + //输出当前系统时间; + //System.out.println("当前系统时间: "+sdFormat.format(calendar.getTime())); + //add()增加日期,以天为单位(Calendar封装了很多静态的操作时间的单位) + //增加10天,负数则为减少天数 + calendar.add(Calendar.DATE, 10); + //输出增加10天后的时间; + //System.out.println("增加10天后的时间: "+sdFormat.format(calendar.getTime())); + //输出时间为2020年的第100天 + Date date = sdFormat.parse(sdFormat.format(calendar.getTime())); + Calendar calendarOne = Calendar.getInstance(); + calendarOne.setTime(date); + SPUtils.put(LoginActivity.this, Contans.LASTLOGINDATE, sdFormat.format(calendarOne.getTime())); + //System.out.println("加10天后的日期: "+sdFormat.format(calendarOne.getTime())); + //System.out.println("登录已失效: "+String.valueOf(Calendar.getInstance().after(calendarOne))); + + + Intent intent = new Intent(LoginActivity.this, MainActivity.class); + startActivity(intent); + finish(); + break; + case "2": + showToast("登录异常..."); + break; + case "3": + showToast("未激活或未授权..."); + break; + case "4": + showToast("禁止登陆..."); + break; + } + } else { + showToast(UiUtlis.getString(context, R.string.data_error)); + } + } + + @Override + public void onFailed(int what, Response response) { + } + }; + + @SuppressLint({"MissingPermission", "HardwareIds"}) + public String getPhoneInfo() { + String imei; + TelephonyManager manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); + if (Build.VERSION.SDK_INT < 29) { + imei = manager.getDeviceId();//IMEI + } else { + imei = Settings.System.getString(getContentResolver(), Settings.System.ANDROID_ID); + } + String model = Build.MODEL;//手机型号 + String sysVersion = Build.VERSION.RELEASE;//系统版本 + PhoneInfo info = new PhoneInfo(); + info.setTotal(1); + List list = new ArrayList<>(); + PhoneInfo.UserInfo userInfo = new PhoneInfo.UserInfo(); + userInfo.setImeinum(imei); + userInfo.setSysversion(sysVersion); + userInfo.setPhonemodel(model); + userInfo.setPhonenum(""); + userInfo.setUsername(UiUtlis.getText(etUse)); + userInfo.setPassword(UiUtlis.getText(etPwd)); + list.add(userInfo); + info.setRows(list); + String json = GsonUtils.GsonString(info); + Log.i("app", json); + return json; + } + + public String getNfcInfo(String nfcId) { + Map map = new HashMap(); + map.put("Action", "UserLogin_NFC"); + map.put("NFC", nfcId); + return GsonUtils.GsonString(map); + } + + private boolean isLogin() { + if (TextUtils.isEmpty(etUse.getText().toString()) && TextUtils.isEmpty(etPwd.getText().toString())) { + showToast("用户名和密码不能为空"); + return false; + } else if (TextUtils.isEmpty(etUse.getText().toString())) { + showToast("用户名不能为空"); + return false; + } else if (TextUtils.isEmpty(etPwd.getText().toString())) { + showToast("密码不能为空"); + return false; + } else { + return true; + } + } + + + private String getVersionName() { + PackageManager pm = getPackageManager(); + try { + PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0); + return packageInfo.versionName; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + private void checkUpdateApk() { + + HttpUtils.getApi().getCheckUpdataApk().enqueue(new BaseCallBackNoProgress(context) { + @Override + public void onSuccess(Call call, retrofit2.Response response) { + ApkUpdateBean appUploadInfo = response.body(); + if (appUploadInfo != null) { + if (appUploadInfo.getTotal().equals("1")) { + String appURL = appUploadInfo.getRows().get(0).getApkurl(); + String appversionname = appUploadInfo.getRows().get(0).getVersionname(); + String versioncode = appUploadInfo.getRows().get(0).getVersioncode(); + String appdesc = appUploadInfo.getRows().get(0).getAppdesc(); + if (!appversionname.equals(getVersionName())) { + DownloadAndInstall(appURL, appversionname, appdesc, versioncode); + } + } + } + } + + @Override + public void onError(Call call, Throwable t) { + } + }); + } + + private void DownloadAndInstall(String downloadURL, String versionName, String description, String versionCode) { + new DownloadManager.Builder(this) + .apkUrl(downloadURL) + .apkName("中粤能源点巡检.apk") + .smallIcon(R.mipmap.logo1) + .showNewerToast(true) + .apkVersionCode(Integer.parseInt(versionCode)) + .apkVersionName(versionName) + .apkDescription(description) + .enableLog(true) + .jumpInstallPage(true) + .dialogButtonTextColor(Color.WHITE) + .dialogButtonColor(Color.parseColor("#FF8247")) + .dialogProgressBarColor(Color.parseColor("#FF8247")) + .showNotification(true) + .showBgdToast(true) + .forcedUpgrade(true) + .onDownloadListener(new OnDownloadListener() { + @Override + public void start() { + + } + + @Override + public void downloading(int i, int i1) { + + } + + @Override + public void done(@NonNull File file) { + + } + + @Override + public void cancel() { + + } + + @Override + public void error(@NonNull Throwable throwable) { + + } + }).onButtonClickListener(new OnButtonClickListener() { + @Override + public void onButtonClick(int i) { + + } + }).build().download(); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK + && event.getAction() == KeyEvent.ACTION_DOWN) { + if ((System.currentTimeMillis() - exitTime) > 2000) { + showToast("再按一次退出程序"); + exitTime = System.currentTimeMillis(); + } else { + NohttpUtils.getInstance().cancelAll(); + ControllerActivity.getAppManager().finishAllActivity(); + finish(); + System.exit(0); + } + return true; + } + return super.onKeyDown(keyCode, event); + } + + private void nfcOnlineLogin(String nfcId) { + Log.i("app", Contans.IP + Contans.LOGINNFC); + String json = getNfcInfo(nfcId); + Log.i("app", nfcId); + Log.i("app", json); + Request request = NoHttp.createStringRequest(Contans.IP + Contans.LOGINNFC, RequestMethod.POST); +// SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context); +// if(socketFactory!=null){ +// request.setSSLSocketFactory(socketFactory); +// request.setHostnameVerifier(new HostnameVerifier() { +// @Override +// public boolean verify(String s, SSLSession sslSession) { +// return true; +// } +// }); +// } + request.setDefineRequestBodyForJson(json); + NohttpUtils.getInstance().add(LoginActivity.this, 0, request, callbackNfc, true, true, "登录中..."); + } + + private HttpListener callbackNfc = new HttpListener() { + @Override + public void onSucceed(int what, Response response) throws ParseException { + String json = response.get(); + Log.i("app", json); + UserInfo userInfo = GsonUtils.GsonToBean(json, UserInfo.class); + if (userInfo != null) { + UserInfo.User user = userInfo.getRows().get(0); + String status = user.getStatus(); + String username = user.getUsernames(); + switch (status) { + case "0": + showToast("NFC登录失败,无此用户"); + break; + case "1": + SPUtils.put(context, "save", savePwUser.isChecked()); + SPUtils.remove(context, Contans.USERPWD); + SPUtils.put(context, Contans.USERID, user.getUsername()); + SPUtils.put(context, Contans.USERNAME, username); + SPUtils.put(context, Contans.BZBH, user.getBzbh() == null ? "" : user.getBzbh()); + SPUtils.put(context, Contans.BZMC, user.getBzmc() == null ? "" : user.getBzmc()); + SPUtils.put(context, Contans.PERMISSIONSRESULT, user.getPermissionsResult() == null ? "" : user.getPermissionsResult()); + SPUtils.put(LoginActivity.this, Contans.ZY, user.getZY() == null ? "" : user.getZY()); + //格式化日期的对象(转化成习惯的时间格式) + SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日"); + //静态方法getInstance()使用默认时区和语言环境获得一个日历。 + Calendar calendar = Calendar.getInstance(); + //输出当前系统时间; + //System.out.println("当前系统时间: "+sdFormat.format(calendar.getTime())); + //add()增加日期,以天为单位(Calendar封装了很多静态的操作时间的单位) + //增加10天,负数则为减少天数 + calendar.add(Calendar.DATE, 10); + //输出增加10天后的时间; + //System.out.println("增加10天后的时间: "+sdFormat.format(calendar.getTime())); + //输出时间为2020年的第100天 + Date date = sdFormat.parse(sdFormat.format(calendar.getTime())); + Calendar calendarOne = Calendar.getInstance(); + calendarOne.setTime(date); + SPUtils.put(LoginActivity.this, Contans.LASTLOGINDATE, sdFormat.format(calendarOne.getTime())); + //System.out.println("加10天后的日期: "+sdFormat.format(calendarOne.getTime())); + //System.out.println("登录已失效: "+String.valueOf(Calendar.getInstance().after(calendarOne))); + + Intent intent = new Intent(context, MainActivity.class); + startActivity(intent); + finish(); + break; + case "2": + showToast("登录异常..."); + break; + case "3": + showToast("未激活或未授权..."); + break; + case "4": + showToast("禁止登陆..."); + break; + } + } else { + showToast(UiUtlis.getString(context, R.string.data_error)); + } + } + + @Override + public void onFailed(int what, Response response) { + } + }; + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + public void handleNfc(String result) { + super.handleNfc(result); + //nfcOnlineLogin(result); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/MainActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/MainActivity.java new file mode 100644 index 0000000..594d154 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/MainActivity.java @@ -0,0 +1,499 @@ +package com.bjzc.zjdxj.activity; + +import android.Manifest; +import android.annotation.SuppressLint; +import android.content.ComponentName; +import android.content.Intent; +import android.content.ServiceConnection; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Build; +import android.os.IBinder; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.GridView; +import android.widget.TextView; +import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import com.azhon.appupdate.listener.OnButtonClickListener; +import com.azhon.appupdate.listener.OnDownloadListener; +import com.azhon.appupdate.manager.DownloadManager; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.activity.regular.RegularActivity; +import com.bjzc.zjdxj.activity.sbxj.XscbglActivity; +import com.bjzc.zjdxj.adapter.GridViewAdapter; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.base.BaseCallBackNoProgress; +import com.bjzc.zjdxj.bean.ApkUpdateBean; +import com.bjzc.zjdxj.bean.GridViewBean; +import com.bjzc.zjdxj.bleUtil.BluetoothLeService; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.service.MQTTPushService; +import com.bjzc.zjdxj.utils.AppManager; +import com.bjzc.zjdxj.utils.FlashUtil; +import com.bjzc.zjdxj.utils.HttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.utils.StatusBarUtil; +import com.bjzc.zjdxj.weight.AuditDialog; +import com.bjzc.zjdxj.weight.toastviewbymyself; +import com.google.gson.Gson; +import java.io.File; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import retrofit2.Call; + +public class MainActivity extends BaseActivity3 { + Button btnLogout; + TextView tvLoginUser; + 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, R.mipmap.icon10, 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, R.drawable.radius_d1, R.drawable.radius_d1}; + //private String[] str = {"运行巡检", "读取NFC", "测温", "测振"}; + private List str = new ArrayList<>(); + private List imageId = new ArrayList<>(); + private List colors = new ArrayList<>(); + private com.azhon.appupdate.manager.DownloadManager manager; + private FlashUtil flashUtil=null; + private static final int CAMERA_REQUEST_CODE = 3;//请求码 + + //private int[] imageId = {R.mipmap.icon6, R.mipmap.icon11, R.mipmap.icon_dxj, R.mipmap.icon13}; + //private int[] colors = {R.drawable.radius_e3, R.drawable.radius_a4, R.drawable.radius_a1, R.drawable.radius_b1}; + private long exitTime = 0; + private BluetoothLeService mBluetoothLeService; + public static final int REQUEST_CHECK_TEMPERATURE = 1; + public static final int REQUEST_CHECK_VIBRATION = 2; + + + @Override + public int getLayoutId() { + return R.layout.activity_main; + } + + //@RequiresApi(api = Build.VERSION_CODES.Q) + @Override + public void initView() { + btnLogout = findViewById(R.id.btn_logout); + tvLoginUser = findViewById(R.id.tv_login_user); + gv = findViewById(R.id.gv); + + //initMqtt(); + flashUtil=new FlashUtil(); + toolbar.setBackgroundColor(Color.parseColor("#00000000")); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//设置透明状态栏 + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//设置透明导航栏 + StatusBarUtil.transparencyBar(MainActivity.this);//设置透明状态栏 + btnLogout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + AuditDialog auditDialog = new AuditDialog(context, "确定要退出登录吗?", new AuditDialog.AuditDialogListener() { + @Override + public void confirm() { + SPUtils.clear(MainActivity.this); + SPUtils.remove(MainActivity.this,Contans.LASTLOGINDATE); + SPUtils.remove(MainActivity.this,Contans.USERID); + Intent intent = new Intent(MainActivity.this, LoginActivity.class); + startActivity(intent); + finish(); + } + + @Override + public void cancel() { + + } + }); + auditDialog.show(); + } + }); + //sendBroadcast(new Intent("android.intent.action.STATUSBAR_DISABLE")); + } + + @Override + public void onWindowFocusChanged(boolean hasFocus) { + // TODO Auto-generated method stub + super.onWindowFocusChanged(hasFocus); + try { + @SuppressLint("WrongConstant") Object service = getSystemService("statusbar"); + Class statusbarManager = Class.forName("android.app.StatusBarManager"); + Method test = statusbarManager.getMethod("collapse"); + test.invoke(service); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @Override + public void initData() { + String nfc = (String) SPUtils.get(context, Contans.NFCBM, ""); + Log.i("app","nfc:---------"); + Log.i("app",String.valueOf(nfc.equals(""))); + + checkUpdateApk(); + List permissionsResult=this.getPermissionsResult(); + Log.i("app","---------"); + Log.i("app",new Gson().toJson(permissionsResult)); + boolean isApp_YXXJ = false; + boolean isApp_RLXJ = false; + for (String permissions : permissionsResult) { + if(permissions.equals("App_YXXJ")){ + str.add("运行巡检"); + imageId.add(R.mipmap.icon6); + colors.add(R.drawable.radius_e3); + isApp_YXXJ = true; + } + if(permissions.equals("App_RLXJ")){ + str.add("燃料巡检"); + imageId.add(R.mipmap.icon10); + colors.add(R.drawable.radius_b2); + isApp_RLXJ = true; + } + if(permissions.equals("App_BAXJ")){ + str.add("保安巡检"); + imageId.add(R.mipmap.icon8); + colors.add(R.drawable.radius_e2); + } + } + + str.add("读取NFC"); + imageId.add(R.mipmap.icon3); + colors.add(R.drawable.radius_a4); + + +// str.add("手电筒"); +// imageId.add(R.mipmap.icon11); +// colors.add(R.drawable.radius_c7); + + //private int[] imageId = {R.mipmap.icon6, R.mipmap.icon11, R.mipmap.icon_dxj, R.mipmap.icon13}; + + +// imageId.add(R.mipmap.icon6); +// imageId.add(R.mipmap.icon10); + + + + //private int[] colors = {R.drawable.radius_e3, R.drawable.radius_a4, R.drawable.radius_a1, R.drawable.radius_b1}; + + +// colors.add(R.drawable.radius_c7); +// colors.add(R.drawable.radius_c6); + + + + + setAdapter(); + Intent gattServiceIntent = new Intent(this, BluetoothLeService.class); + bindService(gattServiceIntent, mServiceConnection, BIND_AUTO_CREATE); + String username = (String) SPUtils.get(MainActivity.this, Contans.USERNAME, String.valueOf("")); + if (username != null) { + tvLoginUser.setText("登录用户:" + username); + } + } + + private void checkPermission() { + /** + * 检测 设备是否支持闪光灯 + */ + if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) { + showToast("设备没有闪光灯,无法开启手电筒"); + return; + } + + if (Build.VERSION.SDK_INT 0&&grantResults[0]==PackageManager.PERMISSION_GRANTED) { + flashUtil.toggle(MainActivity.this); + }else { + //权限拒绝 + Toast.makeText(this, "权限拒绝,无法打开闪光灯,请手动设置开启APP访问摄像头权限", Toast.LENGTH_SHORT).show(); + } + } + } + + private void setAdapter() { + //item.addAll(PermissionsResult()); + beanList.addAll(getGridViewData(false)); + gv.setSelector(new ColorDrawable(Color.TRANSPARENT)); + adapter = new GridViewAdapter(this, beanList, new ArrayList(), true); + gv.setAdapter(adapter); + gv.setOnItemClickListener((parent, view, position, id) -> { + GridViewAdapter.ViewHolder holder = (GridViewAdapter.ViewHolder)view.getTag(); + String iconText = (String) holder.tv.getText(); + if(iconText!=null){ + //Toast.makeText(context,iconText,Toast.LENGTH_SHORT).show(); +// str.add("运行巡检"); +// str.add("燃料巡检"); +// str.add("保安巡检"); +// str.add("读取NFC"); +// str.add("测温"); +// str.add("测振"); + if(iconText.equals("运行巡检")){ + Intent intentTemp=new Intent(MainActivity.this, XscbglActivity.class); + intentTemp.putExtra("type","YX"); + startActivity(intentTemp); + }else if(iconText.equals("燃料巡检")){ + Intent intentTemp=new Intent(MainActivity.this, XscbglActivity.class); + intentTemp.putExtra("type","RL"); + startActivity(intentTemp); + }else if(iconText.equals("运行定期")){ + Intent intentTemp=new Intent(MainActivity.this, RegularActivity.class); + intentTemp.putExtra("type","YX"); + startActivity(intentTemp); + }else if(iconText.equals("燃料定期")){ + Intent intentTemp=new Intent(MainActivity.this, RegularActivity.class); + intentTemp.putExtra("type","RL"); + startActivity(intentTemp); + }else if(iconText.equals("读取NFC")){ + startActivity(NfcinfoActivity.class); + }else if(iconText.equals("测温")){ + Intent intentTemp=new Intent(MainActivity.this, CustomDialogActivity.class); + intentTemp.putExtra("type","7"); + startActivity(intentTemp); + }else if(iconText.equals("测振")){ + Intent intentVibration=new Intent(MainActivity.this, CustomDialogActivity.class); + intentVibration.putExtra("type","11"); + startActivity(intentVibration); + }else if(iconText.equals("保安巡检")){ + Intent intentTemp=new Intent(MainActivity.this, XscbglActivity.class); + intentTemp.putExtra("type","BA"); + startActivity(intentTemp); + }else if(iconText.equals("手电筒")){ + checkPermission(); + }else if(iconText.equals("Q4工单")){ + + } + } + }); + } + + private List getPermissionsResult() { + List item = new ArrayList<>(); + String result = (String) SPUtils.get(context, Contans.PERMISSIONSRESULT, String.valueOf("")); + if(!result.equals("")){ + return stringToList(result); + } + return item; + } + + private List stringToList(String strs) { + String[] str = strs.split(";"); + return Arrays.asList(str); + } + + private List getGridViewData(boolean isTask) { + + List datas = new ArrayList<>(); + for (int i = 0; i < str.size(); i++) { + GridViewBean bean = new GridViewBean(); + bean.setTitle(str.get(i)); + bean.setBackgroup(colors.get(i)); + bean.setImageid(imageId.get(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 + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + String temperatureValue = data.getStringExtra("value"); + if (temperatureValue != null) { + //先判断是哪个页面返回过来的 + switch (requestCode) { + case REQUEST_CHECK_TEMPERATURE: + //测温 + //成功了 + Toast.makeText(MainActivity.this, temperatureValue, Toast.LENGTH_SHORT).show(); + break; + case REQUEST_CHECK_VIBRATION: + //测振 + //成功了 + Toast.makeText(MainActivity.this, temperatureValue, Toast.LENGTH_SHORT).show(); + break; + } + } + } + } + + @Override + public void onDestroy() { + mBluetoothLeService.disconnect(); + mBluetoothLeService.close(); + unbindService(mServiceConnection); + if(flashUtil!=null){ + flashUtil.finishFlashUtils(); + } + Intent intent = new Intent(this, BluetoothLeService.class); + stopService(intent); + //停止MQTT推送服务 + Intent intentMqtt = new Intent(MainActivity.this, MQTTPushService.class); + stopService(intentMqtt); + super.onDestroy(); + } + + private void checkUpdateApk() { + HttpUtils.getApi().getCheckUpdataApk().enqueue(new BaseCallBackNoProgress(context) { + @Override + public void onSuccess(Call call, retrofit2.Response response) { + ApkUpdateBean appUploadInfo = response.body(); + if (appUploadInfo != null) { + if (appUploadInfo.getTotal().equals("1")) { + String appURL = appUploadInfo.getRows().get(0).getApkurl(); + String appversionname = appUploadInfo.getRows().get(0).getVersionname(); + String versioncode = appUploadInfo.getRows().get(0).getVersioncode(); + String appdesc = appUploadInfo.getRows().get(0).getAppdesc(); + if (!appversionname.equals(getVersionName())) { + DownloadAndInstall(appURL, appversionname, appdesc, versioncode); + } + } + } + } + + @Override + public void onError(Call call, Throwable t) { + } + }); + } + + private void DownloadAndInstall(String downloadURL, String versionName, String description, String versionCode) { + new DownloadManager.Builder(this) + .apkUrl(downloadURL) + .apkName("中粤能源点巡检.apk") + .smallIcon(R.mipmap.logo1) + .showNewerToast(true) + .apkVersionCode(Integer.parseInt(versionCode)) + .apkVersionName(versionName) + .apkDescription(description) + .enableLog(true) + .jumpInstallPage(true) + .dialogButtonTextColor(Color.WHITE) + .dialogButtonColor(Color.parseColor("#FF8247")) + .dialogProgressBarColor(Color.parseColor("#FF8247")) + .showNotification(true) + .showBgdToast(true) + .forcedUpgrade(true) + .onDownloadListener(new OnDownloadListener() { + @Override + public void start() { + + } + + @Override + public void downloading(int i, int i1) { + + } + + @Override + public void done(@NonNull File file) { + + } + + @Override + public void cancel() { + + } + + @Override + public void error(@NonNull Throwable throwable) { + + } + }).onButtonClickListener(new OnButtonClickListener() { + @Override + public void onButtonClick(int i) { + + } + }).build().download(); + } + + private String getVersionName() { + PackageManager pm = getPackageManager(); + try { + PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0); + return packageInfo.versionName; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + + public void initMqtt() { + //开启MQTT推送服务 + Intent intent = new Intent(MainActivity.this, MQTTPushService.class); + startService(intent); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/MainFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/MainFragment.java new file mode 100755 index 0000000..fbd09a1 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/MainFragment.java @@ -0,0 +1,176 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.activity.sbxdj.MainSbxdjglActivity; +import com.bjzc.zjdxj.adapter.GridViewAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.BasicDataBean; +import com.bjzc.zjdxj.bean.GridViewBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.service.PushService; +import com.bjzc.zjdxj.utils.AutoToolbar; +import com.bjzc.zjdxj.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; + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = super.onCreateView(inflater, container, savedInstanceState); + return rootView; + } + + /** + * @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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/MineFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/MineFragment.java new file mode 100755 index 0000000..15a8d25 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/MineFragment.java @@ -0,0 +1,74 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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 View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = super.onCreateView(inflater, container, savedInstanceState); + return rootView; + } + + 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("请安装微信"); + } + }); + + } + +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/NfcinfoActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/NfcinfoActivity.java new file mode 100644 index 0000000..c817621 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/NfcinfoActivity.java @@ -0,0 +1,95 @@ +package com.bjzc.zjdxj.activity; + +import android.os.Bundle; +import android.view.View; +import android.widget.TextView; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.rinsun.mtdriver.MTnativeInterface; + +public class NfcinfoActivity extends BaseActivity3 { + + + TextView tvNfc; + MTnativeInterface mt = MTnativeInterface.getInstance();//获取传感器调用接口 + + + @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) { + + } + }); + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + initNFC(); + //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” + mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { + @Override + public void onShowMessage(byte[] recBuff, int CMDtype, int tag) { + /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ + System.out.println("-------------"); + System.out.println(new String(recBuff) + "/" + CMDtype + "/" + tag); + if (CMDtype == MTnativeInterface.CMD_RFID_R) { + runOnUiThread(new Runnable() { + @Override + public void run() { + if (recBuff != null) { + //RFID数据 + String recv = new String(recBuff); + if(tvNfc!=null){ + tvNfc.setText(recv); + } + } + } + }); + } + } + }); + } + + @Override + public void initData() { + readRFID(); + } + + public void readRFID() { + /*========读卡示例,参数说明见“说明文档.txt”============================================================*/ + mt.RFIDopen(MTnativeInterface.CARD_14443);//开启电源。(不可与振动同时打开,它们共用硬件资源) + mt.RFIDread(-1, ""); + } + + @Override + public void handleNfc(String result) { + super.handleNfc(result); + runOnUiThread(new Runnable() { + @Override + public void run() { + if(tvNfc!=null){ + tvNfc.setText(result); + } + } + }); + } + + @Override + protected void onDestroy() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onDestroy(); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/QxgdActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/QxgdActivity.java new file mode 100644 index 0000000..3a946d1 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/QxgdActivity.java @@ -0,0 +1,326 @@ +package com.bjzc.zjdxj.activity; + +import android.text.TextUtils; +import android.view.View; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.base.BaseCallBack; +import com.bjzc.zjdxj.bean.JzBean; +import com.bjzc.zjdxj.bean.QXGDResultBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.DateTimePickDialog; +import com.bjzc.zjdxj.weight.InputLayout; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/TabMainActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/TabMainActivity.java new file mode 100755 index 0000000..9437549 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/TabMainActivity.java @@ -0,0 +1,155 @@ +package com.bjzc.zjdxj.activity; + +import android.graphics.Color; +import android.os.Bundle; +import android.widget.RadioButton; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.utils.AutoToolbar; +import com.bjzc.zjdxj.utils.CanBanScrollViewPager; +import com.bjzc.zjdxj.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() { + + 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(); + switch (i) { + case R.id.rb_home: + title.setText("运行"); + vp.setCurrentItem(0, false); + rbHome.setTextColor(Color.parseColor("#0099ff")); + break; + case R.id.rb_contact: + title.setText("通讯录"); + vp.setCurrentItem(1, false); + rbContact.setTextColor(Color.parseColor("#0099ff")); + break; + case R.id.rb_mine: + title.setText("我的"); + vp.setCurrentItem(2, false); + rbMine.setTextColor(Color.parseColor("#0099ff")); + break; + } + }); + } + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/UserChangeActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/UserChangeActivity.java new file mode 100644 index 0000000..0f2f5b5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/UserChangeActivity.java @@ -0,0 +1,143 @@ +package com.bjzc.zjdxj.activity; + + +import android.annotation.SuppressLint; +import android.os.Build; +import android.os.Bundle; +import android.provider.Settings; +import android.telephony.TelephonyManager; +import android.view.View; +import android.widget.TextView; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.PhoneInfo; +import com.bjzc.zjdxj.bean.UserInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.utils.UiUtlis; +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 UserChangeActivity extends BaseActivity3 { + + TextView tvNfc; + + @Override + public int getLayoutId() { + return R.layout.activity_user_change; + } + + @Override + public void initView() { + initToolbar("用户切换", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + tvNfc = findViewById(R.id.tv_nfc); + initNFC(); + } + + @Override + public void initData() { + + } + + + @Override + public void handleNfc(String result) { + super.handleNfc(result); + tvNfc.setText(result); + } + + private void NfcOnlineLogin() { + String json = getPhoneInfo(); + Request request = NoHttp.createStringRequest(Contans.IP + Contans.LOGIN, RequestMethod.POST); + request.setDefineRequestBodyForJson(json); + NohttpUtils.getInstance().add(UserChangeActivity.this, 0, request, callback, true, true, "登录中..."); + } + @SuppressLint("MissingPermission") + public String getPhoneInfo() { + String imei; + TelephonyManager manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); + if (Build.VERSION.SDK_INT < 29) { + imei = manager.getDeviceId();//IMEI + } else { + imei = Settings.System.getString(getContentResolver(), Settings.System.ANDROID_ID); + } + String model = Build.MODEL;//手机型号 + String sysVersion = Build.VERSION.RELEASE;//系统版本 + String phonenum = manager.getLine1Number();//手机号码 + if (phonenum == null) { + phonenum = ""; + } + PhoneInfo info = new PhoneInfo(); + info.setTotal(1); + List list = new ArrayList<>(); + PhoneInfo.UserInfo userInfo = new PhoneInfo.UserInfo(); + userInfo.setImeinum(imei); + userInfo.setSysversion(sysVersion); + userInfo.setPhonemodel(model); + if (phonenum.equals("")) { + } else { + userInfo.setPhonenum(phonenum.substring(3)); + } + userInfo.setUsername("用户名"); + userInfo.setPassword("密码s"); + list.add(userInfo); + info.setRows(list); + String json = GsonUtils.GsonString(info); + return json; + } + private HttpListener callback = new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + String json = response.get(); + UserInfo userInfo = GsonUtils.GsonToBean(json, UserInfo.class); + if (userInfo != null) { + UserInfo.User user = userInfo.getRows().get(0); + String status = user.getStatus(); + String username = user.getUsernames(); + switch (status) { + case "0": + showToast("用户名或密码错误"); + break; + case "1": +// SPUtils.put(context, "save", savePwUser.isChecked()); +// SPUtils.put(context, Contans.USERID, etUse.getText().toString()); +// SPUtils.put(context, Contans.USERPWD, etPwd.getText().toString()); +// SPUtils.put(context, Contans.USERNAME, username); +// SPUtils.put(context, Contans.BZBH, user.getBzbh() == null ? "" : user.getBzbh()); +// SPUtils.put(context, Contans.BZMC, user.getBzmc() == null ? "" : user.getBzmc()); +// SPUtils.put(context, Contans.PERMISSIONSRESULT, user.getPermissionsResult() == null ? "" : user.getPermissionsResult()); +// Intent intent = new Intent(context, MainActivity.class); +// startActivity(intent); +// finish(); + break; + case "2": + showToast("登录异常..."); + break; + case "3": + showToast("未激活或未授权..."); + break; + case "4": + showToast("禁止登陆..."); + break; + } + } else { + showToast(UiUtlis.getString(context, R.string.data_error)); + } + } + + @Override + public void onFailed(int what, Response response) { + } + }; +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/ComfirmSblistActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/ComfirmSblistActivity.java new file mode 100644 index 0000000..ae04bb9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/ComfirmSblistActivity.java @@ -0,0 +1,264 @@ +package com.bjzc.zjdxj.activity.qfgd; + +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.QfSblbinfoAdapter; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.QXRequestBean; +import com.bjzc.zjdxj.bean.QfsblistBean; +import com.bjzc.zjdxj.bean.QfsblistRequestBean; +import com.bjzc.zjdxj.bean.QxdBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.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.greenrobot.eventbus.EventBus; +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/4/17. + */ + +public class ComfirmSblistActivity extends BaseActivity3 { + + List datas; + RecyclerView rlv; + private QfSblbinfoAdapter qfSblbinfoAdapter; + private QfsblistBean.DataBean dataBean; + + + @Override + public int getLayoutId() { + return R.layout.activity_qfsblist; + } + + @Override + public void initView() { + initToolbar("设备列表", "确定", new View.OnClickListener() { + @Override + public void onClick(View v) { + for (QfsblistBean.DataBean dataBean : qfSblbinfoAdapter.getDatas()) { + if (dataBean.isSelected()) { + String SBID = dataBean.getSBID(); + requestDatas2(SBID); + } + + } + } + }); + rlv = findViewById(R.id.rlv); + } + + @Override + public void initData() { + datas = new ArrayList<>(); + requestDatas(); + } + + + private void requestDatas() { + + Log.i("app",Contans.IP + Contans.QFGD); + final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.QFDDVICELIST, RequestMethod.POST); + requset.setDefineRequestBodyForJson(createJson()); + NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + try { + String resutlString = response.get(); + Log.i("app",resutlString); +// QfsblistBean qfsblistBean = GsonUtils.GsonToBean(resutlString, QfsblistBean.class); +// datas.clear(); +// datas.addAll(qfsblistBean.getData()); +// setAdapter(); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private String createJson() { + QfsblistRequestBean info = new QfsblistRequestBean(); + info.setAction("Q4SBGLMAIN_GET"); + //info.setYHID((String) SPUtils.get(context, Contans.USERNAME, "")); + //info.setFSBID(""); + String json = GsonUtils.GsonString(info); + return json; + } + + private void requestDatas2(String SBID) { + + final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.QFGD, RequestMethod.POST); + + requset.setDefineRequestBodyForJson(createJson2(SBID)); + + NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + try { + QxdBean qxdBean = GsonUtils.GsonToBean(response.get(), QxdBean.class); + + if (qxdBean.getData().size() == 0) { + + for (QfsblistBean.DataBean dataBean : qfSblbinfoAdapter.getDatas()) { + + if (dataBean.isSelected()) { + + Intent resultIntent = new Intent(); + + Bundle bundle = new Bundle(); + + bundle.putString("SBID", dataBean.getSBID()); + + bundle.putString("SBMC", dataBean.getSBMC()); + + resultIntent.putExtras(bundle); + + setResult(RESULT_OK, resultIntent); + + finish(); + + } + + } + + } else { + + if (qxdBean.getState() == 1) { + + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle("提示"); + builder.setTitle("此设备有提单,是否去查看"); + builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + for (QfsblistBean.DataBean dataBean : qfSblbinfoAdapter.getDatas()) { + + if (dataBean.isSelected()) { + + Intent resultIntent = new Intent(); + + Bundle bundle = new Bundle(); + + bundle.putString("SBID", dataBean.getSBID()); + + bundle.putString("SBMC", dataBean.getSBMC()); + + resultIntent.putExtras(bundle); + + setResult(RESULT_OK, resultIntent); + + finish(); + + } + + } + + } + }); + + builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + for (QfsblistBean.DataBean dataBean : qfSblbinfoAdapter.getDatas()) { + + if (dataBean.isSelected()) { + +// Intent intent = new Intent(ComfirmSblistActivity.this, QfpmqxgdListActivity.class); +// intent.putExtra("SBBH", dataBean.getSBID()); +// startActivity(intent); + } + } + + + + + + } + }); + builder.show(); + + } + } + + + } catch (Exception e) { + e.printStackTrace(); + } + } + + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private String createJson2(String SBID) { + QXRequestBean info = new QXRequestBean(); + info.setAction("Q4GD_QXGD_GET"); + info.setYHID(""); + info.setGZDH(""); + info.setZRBM(""); + info.setGZYXJ(""); + info.setSBBH(SBID); + info.setGZZT(""); + info.setPL_WK_DO(""); + info.setPL_WK_TE(""); + String json = GsonUtils.GsonString(info); + return json; + } + + private void setAdapter() { + + qfSblbinfoAdapter = new QfSblbinfoAdapter(context, datas); + + rlv.setLayoutManager(new LinearLayoutManager(context)); + + rlv.setAdapter(qfSblbinfoAdapter); + + qfSblbinfoAdapter.setOnChildItemClickListener(new QfSblbinfoAdapter.OnChildItemClickListener() { + @Override + public void onClick(QfsblistBean.DataBean dataBean) { + +// Intent intent = new Intent(ComfirmSblistActivity.this, OtherSblistActivity.class); +// intent.putExtra("FSBID", dataBean.getSBID()); +// intent.putExtra("SBMC", dataBean.getSBMC()); +// startActivity(intent); +// finish(); + + } + }); + + } + + @Override + protected void onDestroy() { + super.onDestroy(); + EventBus.getDefault().unregister(this); + } + + +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/DeviceTreeActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/DeviceTreeActivity.java new file mode 100644 index 0000000..f4e1462 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/DeviceTreeActivity.java @@ -0,0 +1,189 @@ +package com.bjzc.zjdxj.activity.qfgd; + +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.activity.qfgd.tree.TreePoint; +import com.bjzc.zjdxj.adapter.DeviceTreeAdapterBase; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.DeviceTreeBean; +import com.bjzc.zjdxj.bean.QfsblistRequestBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.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; + + + +/** + * Created by ruihong on 2018/4/17. + */ + +public class DeviceTreeActivity extends BaseActivity3 { + + ListView rlv; + List pointList; + private DeviceTreeAdapterBase deviceTreeAdapter; + + + @Override + public int getLayoutId() { + return R.layout.activity_device_tree; + } + + @Override + public void initView() { + initToolbar("设备列表", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + rlv = findViewById(R.id.rlv); + } + + @Override + public void initData() { + pointList = new ArrayList<>(); + requestDeviceTreeRoot("0"); + } + + + private void requestDeviceTreeRoot(String parentId) { + + Log.i("app", Contans.IP + Contans.QFDDVICESUBLISTTREE); + final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.QFDDVICELIST, RequestMethod.POST); + requset.setDefineRequestBodyForJson(createJson(parentId)); + NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + try { + String resutlString = response.get(); + Log.i("app", resutlString); + DeviceTreeBean deviceTreeBean = GsonUtils.GsonToBean(resutlString, DeviceTreeBean.class); + Log.i("app", String.valueOf(deviceTreeBean.getData().size())); + Log.i("app", String.valueOf(deviceTreeBean.getData().get(0).getISLEAF().equals("1"))); + if (deviceTreeBean.getState() == 1) { + if (deviceTreeBean.getData().size() > 0) { + pointList.clear(); + pointList.addAll(deviceTreeBean.getData()); + setAdapter(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private void requestDeviceTree(TreePoint treePoint) { + + Log.i("app", Contans.IP + Contans.QFDDVICESUBLISTTREE); + final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.QFDDVICELIST, RequestMethod.POST); + requset.setDefineRequestBodyForJson(createJson(treePoint.getID())); + NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + try { + String resutlString = response.get(); + Log.i("app", resutlString); + DeviceTreeBean deviceTreeBean = GsonUtils.GsonToBean(resutlString, DeviceTreeBean.class); + Log.i("app", String.valueOf(deviceTreeBean.getData().size())); + Log.i("app", String.valueOf(deviceTreeBean.getData().get(0).getISLEAF().equals("1"))); + if (deviceTreeBean.getState() == 1) { + if (deviceTreeBean.getData().size() > 0) { + pointList.addAll(deviceTreeBean.getData()); + + if ("1".equals(treePoint.getISLEAF())) { + //点击叶子节点 + //Toast.makeText(mcontext, getSubmitResult(treePoint), Toast.LENGTH_SHORT).show(); + } else { + //如果点击的是父类 + + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private String createJson(String parentId) { + QfsblistRequestBean info = new QfsblistRequestBean(); + info.setAction("Q4SBGLCHILD_GET_TREE"); + info.setPARENTID(parentId); + String json = GsonUtils.GsonString(info); + Log.i("app", json); + return json; + } + + private void setAdapter() { + + deviceTreeAdapter = new DeviceTreeAdapterBase(context, pointList); + rlv.setAdapter(deviceTreeAdapter); + rlv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + DeviceTreeBean.DataBean dataBean = pointList.get(position); + if(dataBean.getISLEAF().equals("1")){ + Intent resultIntent = new Intent(); + Bundle bundle = new Bundle(); + bundle.putParcelable("dataBean", dataBean); + resultIntent.putExtras(bundle); + setResult(RESULT_OK, resultIntent); + finish(); + }else{ + + } + } + }); + + +// deviceTreeAdapter.setOnChildItemClickListener(new DeviceTreeAdapter.OnChildItemClickListener() { +// @Override +// public void onClick(DeviceTreeBean.DataBean dataBean) { +// +// if(dataBean.getISLEAF().equals("1")){ +// Intent resultIntent = new Intent(); +// Bundle bundle = new Bundle(); +// bundle.putParcelable("dataBean", dataBean); +// resultIntent.putExtras(bundle); +// setResult(RESULT_OK, resultIntent); +// finish(); +// }else{ +// +// } +// +//// Intent intent = new Intent(ComfirmSblistActivity.this, OtherSblistActivity.class); +//// intent.putExtra("FSBID", dataBean.getSBID()); +//// intent.putExtra("SBMC", dataBean.getSBMC()); +//// startActivity(intent); +//// finish(); +// +// } +// }); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/ZRbzBmListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/ZRbzBmListActivity.java new file mode 100644 index 0000000..e5979fc --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/ZRbzBmListActivity.java @@ -0,0 +1,130 @@ +package com.bjzc.zjdxj.activity.qfgd; + + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.QfBmlbinfoAdapter; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.QfbmlistBean; +import com.bjzc.zjdxj.bean.QfsblistRequestBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.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; + +/** + * Created by ruihong on 2018/4/18. + */ + +public class ZRbzBmListActivity extends BaseActivity3 { + + RecyclerView rlv; + List datas; + QfBmlbinfoAdapter qfBmlbinfoAdapter; + + @Override + public int getLayoutId() { + return R.layout.activity_qfbmlist; + } + + @Override + public void initView() { + + } + + @Override + public void initData() { + initToolbar("部门列表", "确定", new View.OnClickListener() { + @Override + public void onClick(View v) { + for (QfbmlistBean.DataBean dataBean : qfBmlbinfoAdapter.getDatas()) { + + if (dataBean.isSelected()) { + + Intent resultIntent = new Intent(); + + Bundle bundle = new Bundle(); + + bundle.putString("BMID", dataBean.getBMID()); + + bundle.putString("BMMC", dataBean.getBMMC()); + + resultIntent.putExtras(bundle); + + setResult(RESULT_OK, resultIntent); + + finish(); + + } + } + } + }); + + datas = new ArrayList<>(); + requestDatas(); + } + + private void requestDatas() { + + final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.QFGD, RequestMethod.POST); + requset.setDefineRequestBodyForJson(createJson()); + NohttpUtils.getInstance().add(this, 0, requset, new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + try { + QfbmlistBean qfbmlistBean = GsonUtils.GsonToBean(response.get(), QfbmlistBean.class); + + datas.clear(); + datas.addAll(qfbmlistBean.getData()); + setAdapter(); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + + private void setAdapter() { + + qfBmlbinfoAdapter = new QfBmlbinfoAdapter(context, datas); + + rlv.setLayoutManager(new LinearLayoutManager(context)); + + rlv.setAdapter(qfBmlbinfoAdapter); + + qfBmlbinfoAdapter.setOnChildItemClickListener(new QfBmlbinfoAdapter.OnChildItemClickListener() { + @Override + public void onClick(QfbmlistBean.DataBean dataBean) { +// showToast(dataBean.getBMID()); + } + }); + + } + + + private String createJson() { + QfsblistRequestBean info = new QfsblistRequestBean(); + info.setAction("Q4GD_ZRBZ_GET"); +// info.setYHID((String) SPUtils.get(context, Contans.USERNAME, "")); +// info.setSJBM(""); + String json = GsonUtils.GsonString(info); + return json; + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/DensityUtil.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/DensityUtil.java new file mode 100644 index 0000000..0fc4678 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/DensityUtil.java @@ -0,0 +1,62 @@ +package com.bjzc.zjdxj.activity.qfgd.tree; + +import android.content.Context; + +/** + * Created by xulc on 2018/8/7. + */ + +public class DensityUtil { + + public static int dip2px(Context context, float dpValue) { + float scale = context.getResources().getDisplayMetrics().density; + return (int) (dpValue * scale + 0.5f); + } + + public static int px2dip(Context context, float pxValue) { + float scale = context.getResources().getDisplayMetrics().density; + return (int) (pxValue / scale + 0.5f); + } + + public static float dip2pxf(Context context, int dpValue) { + float scale = context.getResources().getDisplayMetrics().density; + return dpValue * scale + 0.5f; + } + + public static float dip2pxf(Context context, float dpValue) { + float scale = context.getResources().getDisplayMetrics().density; + return dpValue * scale + 0.5f; + } + + /** + * 将px值转换为sp值,保证文字大小不变 + * + * @param context + * @param pxValue + * (DisplayMetrics类中属性scaledDensity) + * @return + */ + public static int px2sp(Context context, float pxValue) { + float fontScale = context.getResources().getDisplayMetrics().scaledDensity; + return (int) (pxValue / fontScale + 0.5f); + } + + /** + * 将sp值转换为px值,保证文字大小不变 + * + * @param context + * @param spValue + * (DisplayMetrics类中属性scaledDensity) + * @return + */ + public static int sp2px(Context context, float spValue) { + float fontScale = context.getResources().getDisplayMetrics().scaledDensity; + return (int) (spValue * fontScale + 0.5f); + } + + public static float sp2pxf(Context context, float spValue) { + float fontScale = context.getResources().getDisplayMetrics().scaledDensity; + return spValue * fontScale + 0.5f; + } +} + diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreeAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreeAdapter.java new file mode 100644 index 0000000..a00305e --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreeAdapter.java @@ -0,0 +1,292 @@ +package com.bjzc.zjdxj.activity.qfgd.tree; + +import android.app.Activity; +import android.content.Context; +import android.text.Html; +import android.text.Spanned; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.IntDef; + +import com.bjzc.zjdxj.R; + +import java.util.HashMap; +import java.util.List; + + +/** + * Created by xulc on 2018/7/27. + */ + +public class TreeAdapter extends BaseAdapter { + private Context mcontext; + private Activity mActivity; + private List pointList; + private String keyword = ""; + private HashMap pointMap = new HashMap<>(); + + private int operateMode = ModeClick; + //两种操作模式 点击 或者 选择 + private static final int ModeClick = 1; + private static final int ModeSelect = 2; + + @IntDef({ModeClick,ModeSelect}) + public @interface Mode{ + + } + + //设置操作模式 + public void setOperateMode(@Mode int operateMode){ + this.operateMode = operateMode; + } + + public TreeAdapter(final Context mcontext, List pointList, HashMap pointMap) { + this.mcontext = mcontext; + this.mActivity = (Activity) mcontext; + this.pointList = pointList; + this.pointMap = pointMap; + } + + /** + * 搜索的时候,先关闭所有的条目,然后,按照条件,找到含有关键字的数据 + * 如果是叶子节点, + */ + public void setKeyword(String keyword) { + this.keyword = keyword; + for (TreePoint treePoint : pointList) { + treePoint.setExpand(false); + } + if (!"".equals(keyword)) { + for (TreePoint tempTreePoint : pointList) { + if (tempTreePoint.getNNAME().contains(keyword)) { + if ("0".equals(tempTreePoint.getISLEAF())) { //非叶子节点 + tempTreePoint.setExpand(true); + } + //展开从最顶层到该点的所有节点 + openExpand(tempTreePoint); + } + } + } + this.notifyDataSetChanged(); + } + + /** + * 从TreePoint开始一直展开到顶部 + * @param treePoint + */ + private void openExpand(TreePoint treePoint) { + if ("0".equals(treePoint.getPARENTID())) { + treePoint.setExpand(true); + } else { + pointMap.get(treePoint.getPARENTID()).setExpand(true); + openExpand(pointMap.get(treePoint.getPARENTID())); + } + } + + + //第一要准确计算数量 + @Override + public int getCount() { + int count = 0; + for (TreePoint tempPoint : pointList) { + if ("0".equals(tempPoint.getPARENTID())) { + count++; + } else { + if (getItemIsExpand(tempPoint.getPARENTID())) { + count++; + } + } + } + return count; + } + + //判断当前Id的tempPoint是否展开了 + private boolean getItemIsExpand(String ID) { + for (TreePoint tempPoint : pointList) { + if (ID.equals(tempPoint.getID())) { + return tempPoint.isExpand(); + } + } + return false; + } + + @Override + public Object getItem(int position) { + return pointList.get(convertPostion(position)); + } + + private int convertPostion(int position) { + int count = 0; + for (int i = 0; i < pointList.size(); i++) { + TreePoint treePoint = pointList.get(i); + if ("0".equals(treePoint.getPARENTID())) { + count++; + } else { + if (getItemIsExpand(treePoint.getPARENTID())) { + count++; + } + } + if (position == (count - 1)) { + return i; + } + } + return 0; + } + + @Override + public long getItemId(int position) { + return position; + } + + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder; + if (convertView == null) { + convertView = LayoutInflater.from(mcontext).inflate(R.layout.adapter_treeview, null); + holder = new ViewHolder(); + holder.text = (TextView) convertView.findViewById(R.id.text); + holder.icon = (ImageView) convertView.findViewById(R.id.icon); + holder.ib_select = (ImageButton) convertView.findViewById(R.id.ib_select); + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + final TreePoint tempPoint = (TreePoint) getItem(position); + int level = TreeUtils.getLevel(tempPoint,pointMap); + holder.icon.setPadding(25 * level, holder.icon.getPaddingTop(), 0, holder.icon.getPaddingBottom()); + if ("0".equals(tempPoint.getISLEAF())) { //如果为父节点 + if (!tempPoint.isExpand()) { //不展开显示加号 + holder.icon.setVisibility(View.VISIBLE); + holder.icon.setImageResource(R.drawable.outline_list_collapse); + } else { //展开显示减号 + holder.icon.setVisibility(View.VISIBLE); + holder.icon.setImageResource(R.drawable.outline_list_expand); + } + } else { //如果叶子节点,不占位显示 + holder.icon.setVisibility(View.INVISIBLE); + } + if(operateMode == ModeSelect){ + holder.ib_select.setVisibility(View.VISIBLE); + holder.ib_select.setSelected(tempPoint.isSelected()); + holder.ib_select.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onModeSelect(tempPoint); + } + }); + }else{ + holder.ib_select.setVisibility(View.GONE); + } + //如果存在搜索关键字 + if (keyword != null && !"".equals(keyword) && tempPoint.getNNAME().contains(keyword)) { + int index = tempPoint.getNNAME().indexOf(keyword); + int len = keyword.length(); + Spanned temp = Html.fromHtml(tempPoint.getNNAME().substring(0, index) + + "" + + tempPoint.getNNAME().substring(index, index + len) + "" + + tempPoint.getNNAME().substring(index + len, tempPoint.getNNAME().length())); + + holder.text.setText(temp); + } else { + holder.text.setText(tempPoint.getNNAME()); + } + holder.text.setCompoundDrawablePadding(DensityUtil.dip2px(mcontext, 10)); + return convertView; + } + + + + public void onItemClick(int position) { + TreePoint treePoint = (TreePoint) getItem(position); + if ("1".equals(treePoint.getISLEAF())) { //点击叶子节点 + //处理回填 + //Toast.makeText(mcontext, getSubmitResult(treePoint), Toast.LENGTH_SHORT).show(); + } else { //如果点击的是父类 + if (treePoint.isExpand()) { + for (TreePoint tempPoint : pointList) { + if (tempPoint.getPARENTID().equals(treePoint.getID())) { + if ("0".equals(treePoint.getISLEAF())) { + tempPoint.setExpand(false); + } + } + } + treePoint.setExpand(false); + } else { + treePoint.setExpand(true); + } + } + this.notifyDataSetChanged(); + } + + + //选择操作 + private void onModeSelect(TreePoint treePoint){ + if ("1".equals(treePoint.getISLEAF())) { //选择叶子节点 + //处理回填 + treePoint.setSelected(!treePoint.isSelected()); + } else { //选择父节点 + int position = pointList.indexOf(treePoint); + boolean isSelect = treePoint.isSelected(); + treePoint.setSelected(!isSelect); + if(position == -1){ + return ; + } + if(position == pointList.size()-1){ + return; + } + position++; + for(;position < pointList.size();position++){ + TreePoint tempPoint = pointList.get(position); + if(tempPoint.getPARENTID().equals(treePoint.getPARENTID())){ //如果找到和自己同级的数据就返回 + break; + } + tempPoint.setSelected(!isSelect); + } + } + this.notifyDataSetChanged(); + } + + //选中所有的point +// private void selectPoint(TreePoint treePoint) { +// if(){ +// +// } +// } + + + + + private String getSubmitResult(TreePoint treePoint) { + StringBuilder sb = new StringBuilder(); + addResult(treePoint, sb); + String result = sb.toString(); + if (result.endsWith("-")) { + result = result.substring(0, result.length() - 1); + } + return result; + } + + private void addResult(TreePoint treePoint, StringBuilder sb) { + if (treePoint != null && sb != null) { + sb.insert(0, treePoint.getNNAME() + "-"); + if (!"0".equals(treePoint.getPARENTID())) { + addResult(pointMap.get(treePoint.getPARENTID()), sb); + } + } + } + + + class ViewHolder { + TextView text; + ImageView icon; + ImageButton ib_select; + } + +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreePoint.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreePoint.java new file mode 100644 index 0000000..79c2dcb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreePoint.java @@ -0,0 +1,80 @@ +package com.bjzc.zjdxj.activity.qfgd.tree; + +/** + * Created by xulc on 2018/7/27. + */ + +public class TreePoint { + private String ID; // 7241, //账号id + private String NNAME; // "用户原因", //原因名称 + private String PARENTID; // 0, //父id 0表示父节点 + private String ISLEAF; //0, //是否是叶子节点 1为叶子节点 + private int DISPLAY_ORDER; // 1 //同一个级别的显示顺序 + private boolean isExpand = false; //是否展开了 + private boolean isSelected = false; //是否选中了 + + + public TreePoint(String ID, String NNAME, String PARENTID, String ISLEAF, int DISPLAY_ORDER) { + this.ID = ID; + this.NNAME = NNAME; + this.PARENTID = PARENTID; + this.ISLEAF = ISLEAF; + this.DISPLAY_ORDER = DISPLAY_ORDER; + } + + public String getID() { + return ID; + } + + public void setID(String ID) { + this.ID = ID; + } + + public String getNNAME() { + return NNAME; + } + + public void setNAME(String NAME) { + this.NNAME = NNAME; + } + + public String getPARENTID() { + return PARENTID; + } + + public void setPARENTID(String PARENTID) { + this.PARENTID = PARENTID; + } + + public String getISLEAF() { + return ISLEAF; + } + + public void setISLEAF(String ISLEAF) { + this.ISLEAF = ISLEAF; + } + + public int getDISPLAY_ORDER() { + return DISPLAY_ORDER; + } + + public void setDISPLAY_ORDER(int DISPLAY_ORDER) { + this.DISPLAY_ORDER = DISPLAY_ORDER; + } + + public boolean isExpand() { + return isExpand; + } + + public void setExpand(boolean expand) { + isExpand = expand; + } + + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreePointBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreePointBean.java new file mode 100644 index 0000000..1e8d117 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreePointBean.java @@ -0,0 +1,33 @@ +package com.bjzc.zjdxj.activity.qfgd.tree; + +import java.util.List; + +public class TreePointBean { + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreeUtils.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreeUtils.java new file mode 100644 index 0000000..a71ec3e --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/qfgd/tree/TreeUtils.java @@ -0,0 +1,30 @@ +package com.bjzc.zjdxj.activity.qfgd.tree; + +import android.util.Log; + +import java.util.HashMap; + +/** + * Created by xulc on 2018/7/27. + */ + +public class TreeUtils { + //第一级别为0 + public static int getLevel(TreePoint treePoint, HashMap map){ + if("0".equals(treePoint.getPARENTID())){ + return 0; + }else{ + return 1+getLevel(getTreePoint(treePoint.getPARENTID(),map),map); + } + } + + + + public static TreePoint getTreePoint(String ID, HashMap map){ + if(map.containsKey(ID)){ + return map.get(ID); + } + Log.e("xlc","ID:" + ID); + return null; + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/CheckTemperatureDqgzActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/CheckTemperatureDqgzActivity.java new file mode 100644 index 0000000..5a6f450 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/CheckTemperatureDqgzActivity.java @@ -0,0 +1,318 @@ +package com.bjzc.zjdxj.activity.regular; + + +import android.annotation.SuppressLint; +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; + +import com.bjzc.zjdxj.DBModel.Dqgz; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.AuditDialog; +import com.bjzc.zjdxj.weight.EditDialog; +import com.rinsun.mtdriver.MTnativeInterface; +import com.bjzc.zjdxj.base.BaseActivity3; + +import org.litepal.crud.DataSupport; + +import java.text.SimpleDateFormat; +import java.util.Date; + + +public class CheckTemperatureDqgzActivity extends BaseActivity3 implements View.OnClickListener { + + EditText etRealValue; + EditText noticeValue; + Button btnSubmit; + TextView checkTip; + TextView standerTip; + + + private String temperatureValue; + //public static final int RESULT_SUCCESS = 1; + //private String checkType; + //是否可编辑 + private boolean isEdit = false; + private String username; + + //频谱用到的变量///////////////////////////// + private double edit16LA; + private double edit16LV; + private double edit16LD; + private double edit16HA; + private double edit16HV; + private double edit16HD; + + private double[] ppsour; + private int ppfreq; // <1280,5120,12800> + private int pplen; // 1024, 4096, 8192 + /////////////////////////////////////////////// + + MTnativeInterface mt= MTnativeInterface.getInstance();//获取传感器调用接口 + Intent intentTemplate; + //页面传过来的数据 + Dqgz dqgz; + + @Override + public int getLayoutId() { + return R.layout.activity_check_temperature; + } + + @Override + public void initView() { + etRealValue = findViewById(R.id.et_realValue); + noticeValue = findViewById(R.id.et_noticeValue); + btnSubmit = findViewById(R.id.btn_submit); + checkTip = findViewById(R.id.tv_checkTip); + standerTip = findViewById(R.id.tv_standerTip); + + etRealValue.setEnabled(true); + username = (String) SPUtils.get(context, Contans.USERID, ""); + Bundle bundle = CheckTemperatureDqgzActivity.this.getIntent().getExtras(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + if(isEdit){ + initToolbar("测温", "开始测量", this); + }else{ + initToolbar("测温", "", this); + btnSubmit.setVisibility(View.GONE); + } + } + + noticeValue.setKeyListener(null); + //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” + mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { + @Override + public void onShowMessage(byte[] recBuff,int CMDtype, int tag) { + /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ + System.out.println("-------------"); + System.out.println(new String(recBuff)+"/"+CMDtype+"/"+tag); + + //收到普通测量值 + updateUI(new String(recBuff));//可直接显示数据 + + //收到频谱采集部分 + //recBuff 原始数据数组,CMDtype 返回数据类型,tag 数据长度 + System.out.println((recBuff.length)+"/"+CMDtype+"/"+tag); + } + }); + btnSubmit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + temperatureValue = etRealValue.getText().toString(); + if(temperatureValue.equals("")){ + showToast("实际值不能为空"); + }else{ + AuditDialog auditDialog = new AuditDialog(context, "确定要保存数据吗?", new AuditDialog.AuditDialogListener() { + @Override + public void confirm() { + if (isEdit) { + if(!etRealValue.getText().toString().trim().equals("")){ + String dateNow = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + ContentValues values = new ContentValues(); + values.put("isWorkChecked", true); + values.put("SCNR", temperatureValue); + values.put("DATE", dateNow); + DataSupport.updateAll(Dqgz.class, values, "rwid = ? and username = ? ",dqgz.getRWID(),username); + dqgz.setWorkChecked(true); + dqgz.setDATE(dateNow); + dqgz.setSCNR(temperatureValue); + dqgz.setSCBZ(""); + Intent intent = new Intent(Contans.ACTION_YULTWO); + Bundle bundle = new Bundle(); + bundle.putParcelable("bean", dqgz); + intent.putExtras(bundle); + //发送广播 + sendBroadcast(intent); + } + } + + Intent intent = new Intent(); + intent.putExtra("value", temperatureValue); + //intent.putExtra("checkType", checkType); + setResult(RESULT_OK, intent); + finish(); + } + + @Override + public void cancel() { + + } + }); + auditDialog.show(); + } + } + }); + noticeValue.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View view) { + //Toast.makeText(context, "onLongClick", Toast.LENGTH_SHORT).show(); + EditDialog editDialog = new EditDialog(context); + editDialog.setMessage(noticeValue.getText().toString().trim()); + editDialog.setYesOnclickListener("确定", new EditDialog.onYesOnclickListener() { + @Override + public void onYesClick(String phone) { + if (!TextUtils.isEmpty(phone)) { + noticeValue.setText(phone); + } + //让软键盘隐藏 + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm.isActive()) { + imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 + } + editDialog.dismiss(); + } + }); + editDialog.setNoOnclickListener("取消", new EditDialog.onNoOnclickListener() { + @Override + public void onNoClick() { + //让软键盘隐藏 + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm.isActive()) { + imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 + } + editDialog.dismiss(); + } + }); + editDialog.show(); + return false; + } + }); + } + + @SuppressLint("SetTextI18n") + @Override + public void initData() { + intentTemplate = getIntent(); + dqgz = intentTemplate.getParcelableExtra("bean"); + if (dqgz != null) { + if(dqgz.getZX_MC()!=null){ + standerTip.setText(dqgz.getZX_MC()); + } + if(dqgz.getZX_NR()!=null){ + checkTip.setText(dqgz.getZX_NR()); + } + if(dqgz.getSCNR()!=null){ + etRealValue.setText(dqgz.getSCNR()); + } + } + } + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void onPause() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onPause(); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + if(isEdit){ + demo();//测量 + } + break; + } + } + + public void demo(){ + /*========读卡示例,参数说明见“说明文档.txt”============================================================*/ + //mt.RFIDopen(MTnativeInterface.CARD_14443);//开启电源。(不可与振动同时打开,它们共用硬件资源) + //mt.RFIDread(-1,""); + + + /*======转速示例============================================================================================*/ + //mt.RPMopen();//开启电源。 + + /*=====测温示例,参数说明见“说明文档.txt”=================================================================*/ + mt.IRTopen(MTnativeInterface.TEMP_25);//开启电源。 + mt.IRTread(95); + + /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ +// mt.VIBopen();//开启电源。 +// //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) +// mt.VIBread(MTnativeInterface.CMD_VIBD_R,0); + + //频谱采集测量。 + // mt.VIBset(MTnativeInterface.CMD_ALL_W,"RK");//频谱采集前,必须读取一次"频谱参数",频谱计算过程要用到 +// Button but = (Button) findViewById(R.id.button1); +// but.setText("频谱采集"); +// but.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// ppfreq=1280;//可选频率 1280 5120 12800 +// pplen=1024;//对应返回数据长度1024, 4096, 8192 +// ppsour = new double[pplen]; +// //开始频谱采集,参数CMDtype采样类型有三个可选CMD_VIBA_P加速度、CMD_VIBD_P位移、CMD_VIBV_P速度。参数level采样频率有三个可选 1280 5120 12800 +// //mt.VIBread(MTnativeInterface.CMD_VIBA_P,ppfreq); +// //执行下面代码可停止频谱采集 +// //mt.VIBread(0,0); +// } +// }); +// Button btnSecond = (Button) findViewById(R.id.button2); +// btnSecond.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// +// } +// }); + } + + private double getRK(int type){ + double res=0.0; + switch(type) { + case MTnativeInterface.CMD_VIBA_P: + res = edit16LA; + case MTnativeInterface.CMD_VIBV_P: + res=edit16LV; + case MTnativeInterface.CMD_VIBD_P: + res=edit16LD; + } + return res; + } + + public void updateUI(final String info) { + runOnUiThread(new Runnable() { + @Override + public void run() { + if(info!=null){ + if(etRealValue!=null){ + //temperatureValue = info; + etRealValue.setText(info); + } + } + } + }); + } + + @Override + protected void onDestroy() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onDestroy(); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/CheckVibrationDqgzActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/CheckVibrationDqgzActivity.java new file mode 100644 index 0000000..941bbfd --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/CheckVibrationDqgzActivity.java @@ -0,0 +1,329 @@ +package com.bjzc.zjdxj.activity.regular; + + +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.RadioGroup; +import android.widget.TextView; +import com.bjzc.zjdxj.DBModel.Dqgz; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.AuditDialog; +import com.bjzc.zjdxj.weight.EditDialog; +import com.rinsun.mtdriver.MTnativeInterface; +import org.litepal.crud.DataSupport; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class CheckVibrationDqgzActivity extends BaseActivity3 implements View.OnClickListener { + + TextView etRealTitle; + EditText etRealValue; + EditText noticeValue; + Button btnSubmit; + TextView checkTip; + TextView standerTip; + RadioGroup rgLevel; + RadioGroup rgType; + + + + private String vibrationValue; + public static final int RESULT_SUCCESS = 1; + //private String checkType; + int checkVibrationType = MTnativeInterface.CMD_VIBD_R; + int level = 0; + // 振动位移单位 mm + //振动速度单位 mm/s + //振动加速度单位 mm/(s^2) + //String measure = "mm"; + //是否可编辑 + private boolean isEdit = false; + //页面传过来的数据 + Dqgz dqgz; + + //频谱用到的变量///////////////////////////// + private double edit16LA; + private double edit16LV; + private double edit16LD; + private double edit16HA; + private double edit16HV; + private double edit16HD; + + private double[] ppsour; + private int ppfreq; // <1280,5120,12800> + private int pplen; // 1024, 4096, 8192 + /////////////////////////////////////////////// + + MTnativeInterface mt= MTnativeInterface.getInstance();//获取传感器调用接口 + Intent intentTemplate; + private String username; + + + @Override + public int getLayoutId() { + return R.layout.activity_check_vibration; + } + + @Override + public void initView() { + etRealTitle = findViewById(R.id.tv_realTitle); + etRealValue = findViewById(R.id.et_realValue); + noticeValue = findViewById(R.id.et_noticeValue); + btnSubmit = findViewById(R.id.btn_submit); + checkTip = findViewById(R.id.tv_checkTip); + standerTip = findViewById(R.id.tv_standerTip); + rgLevel = findViewById(R.id.rgLevel); + rgType = findViewById(R.id.rgType); + + etRealValue.setEnabled(true); + username = (String) SPUtils.get(context, Contans.USERID, ""); + Bundle bundle = CheckVibrationDqgzActivity.this.getIntent().getExtras(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + if(isEdit){ + initToolbar("测振", "开始测量", this); + }else{ + initToolbar("测振", "", this); + btnSubmit.setVisibility(View.GONE); + } + } + + noticeValue.setKeyListener(null); + + //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” + mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { + @Override + public void onShowMessage(byte[] recBuff,int CMDtype, int tag) { + /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ + System.out.println("-------------"); + System.out.println(new String(recBuff)+"/"+CMDtype+"/"+tag); + + if(CMDtype==MTnativeInterface.CMD_VIBA_R){ + if(recBuff!=null){ + String recv = new String(recBuff); + String cut = " "; + String[] newStr = recv.split(cut); // 分割成数组 + updateUI(newStr[0]);//可直接显示数据 + } + }else{ + //收到普通测量值 + updateUI(new String(recBuff));//可直接显示数据 + } + + //收到频谱采集部分 + //recBuff 原始数据数组,CMDtype 返回数据类型,tag 数据长度 + System.out.println((recBuff.length)+"/"+CMDtype+"/"+tag); + } + }); + btnSubmit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + vibrationValue = etRealValue.getText().toString().trim(); + if(vibrationValue.equals("")){ + showToast("实际值不能为空"); + }else{ + AuditDialog auditDialog = new AuditDialog(context, "确定要保存数据吗?", new AuditDialog.AuditDialogListener() { + @Override + public void confirm() { + if (isEdit) { + if(!etRealValue.getText().toString().trim().equals("")){ + String dateNow = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + ContentValues values = new ContentValues(); + values.put("isWorkChecked", true); + values.put("SCNR", vibrationValue); + values.put("DATE", dateNow); + DataSupport.updateAll(Dqgz.class, values, "rwid = ? and username = ? ",dqgz.getRWID(),username); + dqgz.setWorkChecked(true); + dqgz.setDATE(dateNow); + dqgz.setSCNR(vibrationValue); + dqgz.setSCBZ(""); + Intent intent = new Intent(Contans.ACTION_YULTWO); + Bundle bundle = new Bundle(); + bundle.putParcelable("bean", dqgz); + intent.putExtras(bundle); + //发送广播 + sendBroadcast(intent); + } + } + Intent intent = new Intent(); + intent.putExtra("value", vibrationValue); + setResult(RESULT_OK, intent); + finish(); + } + + @Override + public void cancel() { + + } + }); + auditDialog.show(); + } + } + }); + rgLevel.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup radioGroup, int i) { + switch (i){ + case R.id.rb1: + level = 0; + demo();//测量 + break; + case R.id.rb2: + level = 1; + demo();//测量 + break; + } + } + }); + rgType.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup radioGroup, int i) { + switch (i){ + case R.id.rb3: + checkVibrationType = MTnativeInterface.CMD_VIBD_R; + etRealTitle.setText("实际值(mm):"); + demo();//测量 + break; + case R.id.rb4: + checkVibrationType = MTnativeInterface.CMD_VIBV_R; + etRealTitle.setText("实际值(mm/s):"); + demo();//测量 + break; + case R.id.rb5: + checkVibrationType = MTnativeInterface.CMD_VIBA_R; + etRealTitle.setText("实际值(mm/(s^2)):"); + demo();//测量 + break; + } + } + }); + noticeValue.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View view) { + //Toast.makeText(context, "onLongClick", Toast.LENGTH_SHORT).show(); + EditDialog editDialog = new EditDialog(context); + editDialog.setMessage(noticeValue.getText().toString().trim()); + editDialog.setYesOnclickListener("确定", new EditDialog.onYesOnclickListener() { + @Override + public void onYesClick(String phone) { + if (!TextUtils.isEmpty(phone)) { + noticeValue.setText(phone); + } + //让软键盘隐藏 + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm.isActive()) { + imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 + } + editDialog.dismiss(); + } + }); + editDialog.setNoOnclickListener("取消", new EditDialog.onNoOnclickListener() { + @Override + public void onNoClick() { + //让软键盘隐藏 + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm.isActive()) { + imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 + } + editDialog.dismiss(); + } + }); + editDialog.show(); + return false; + } + }); + } + + @Override + public void initData() { + intentTemplate = getIntent(); + dqgz = intentTemplate.getParcelableExtra("bean"); + if (dqgz != null) { + if(dqgz.getZX_MC()!=null){ + standerTip.setText(dqgz.getZX_MC()); + } + if(dqgz.getZX_NR()!=null){ + checkTip.setText(dqgz.getZX_NR()); + } + if(dqgz.getSCNR()!=null){ + etRealValue.setText(dqgz.getSCNR()); + } + } + } + + @Override + protected void onResume() { + //demo();//测量 + super.onResume(); + } + + @Override + protected void onPause() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onPause(); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + if(isEdit){ + //测量 + demo(); + } + break; + } + } + + public void demo(){ + /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ + mt.VIBopen();//开启电源。 + //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) + //读振动加速度(加速度回传了2个值,取第一个就可以) + //CMD_VIBA_R 振动加速度(加速度回传了2个值,取第一个就可以) + //CMD_VIBD_R 振动位移 + //CMD_VIBA_R 振动速度 + mt.VIBread(checkVibrationType,level); + } + + public void updateUI(final String info) { + runOnUiThread(new Runnable() { + @Override + public void run() { + if(info!=null){ + if(etRealValue!=null){ + etRealValue.setText(info); + } + } + } + }); + } + + @Override + protected void onDestroy() { + //使用完一定记得关闭电源 + mt.RFIDclose(); + mt.IRTclose(); + mt.VIBclose(); + mt.RPMclose(); + super.onDestroy(); + } + +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzActivity.java new file mode 100644 index 0000000..12d36c2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzActivity.java @@ -0,0 +1,284 @@ +package com.bjzc.zjdxj.activity.regular; + + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.graphics.Color; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import com.bjzc.zjdxj.DBModel.Dqgz; +import com.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.SetxjSbModel; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.AllCheckDialog; +import com.google.gson.Gson; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; + + +//mport static com.bjzc.yfdxj.activity.sbxdj.SbxdjcjsbActivity.Req; + + +public class DqgzActivity extends BaseActivity3 implements View.OnClickListener { + + ListView lv; + TextView tvNodata; + + private boolean isEdit = true; + private int item; + private String qybh; + //private ArrayList xsjjhxzDataBeanArrayList = new ArrayList<>();//工作列表 + private ArrayList xsjjhDataBeanArrayList = new ArrayList<>(); + //private List infos = new ArrayList<>(); + private View headView; + private CommonAdapter adapter; + //private int itemposition; + private String LX, LXResult; + private ArrayList setxjSbModelArrayList; + //测温 + public static final int REQUEST_CHECK_TEMPERATURE = 1; + //测振 + public static final int REQUEST_CHECK_VIBRATION = 2; + //观察和录入 + public static final int REQUEST_CHECK_SEE_INPUT = 3; + private String type = null; + private String username; + + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Contans.ACTION_YULTWO.equals(action)) { //更新设备点检页面返回时编辑的item内容 + Bundle bundle =intent.getExtras(); + if (bundle != null) { + Dqgz dqgzTemp = bundle.getParcelable("bean"); + if (xsjjhDataBeanArrayList.size() > 0&&dqgzTemp!=null) { + String rwid = dqgzTemp.getRWID(); + for (int i = 0; i < xsjjhDataBeanArrayList.size(); i++) { + Dqgz xsjjhDataBean = xsjjhDataBeanArrayList.get(i); + if (xsjjhDataBean.getRWID().equals(rwid)) { + xsjjhDataBean.setWorkChecked(dqgzTemp.isWorkChecked()); + xsjjhDataBean.setSCNR(dqgzTemp.getSCNR()); + xsjjhDataBean.setSCBZ(dqgzTemp.getSCBZ()); + xsjjhDataBean.setDATE(dqgzTemp.getDATE()); + } + } + } + } + } + } + }; + + @Override + public int getLayoutId() { + return R.layout.activity_yul; + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + headView = View.inflate(context, R.layout.dqzg_check_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + lv.setEmptyView(tvNodata); + } + + @Override + public void initData() { + username = (String) SPUtils.get(context, Contans.USERID, ""); + initToolbar("定期工作记录", "", this); + + Bundle bundle = getIntent().getExtras(); + type = bundle.getString("type"); + + List xsjjhDataBeen = DataSupport.where("download = ? and mkbs = ? and username = ?", "1",type,username).find(Dqgz.class); + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(xsjjhDataBeen); + + setListAdapter(); + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_YULTWO); + registerReceiver(myReceiver, filter); + } + + private void setListAdapter() { + adapter = new CommonAdapter(context, R.layout.dqzg_check_item, xsjjhDataBeanArrayList) { + @Override + protected void convert(ViewHolder viewHolder, Dqgz item, int position) { + viewHolder.setText(R.id.tv_d, item.getZX_MC()); + if (item.isWorkChecked()) { + viewHolder.setText(R.id.tv_zt, "已检"); + viewHolder.setTextColor(R.id.tv_zt, Color.parseColor("#00CD00"));//已经检查完成绿色 + }else{ + viewHolder.setText(R.id.tv_zt, "未检"); + viewHolder.setTextColor(R.id.tv_zt, Color.parseColor("#FF0000"));//未检查完成红色 + } + } + }; + + + //adapter = new TimerTaskAdapter(context, xsjjhDataBeanArrayList); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((parent, view, position, id) -> { + Log.i("app", String.valueOf(position)); + Gson gson = new Gson(); + Dqgz xSJJHDataBean = xsjjhDataBeanArrayList.get(position - 1); + Log.i("app", gson.toJson(xSJJHDataBean)); + + if (xSJJHDataBean.getZX_LRFS().equals("1")) { + Intent intent = new Intent(DqgzActivity.this, DqgzCheckActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelable("bean", xSJJHDataBean); + bundle.putBoolean("edit", isEdit); + intent.putExtras(bundle); + startActivityForResult(intent, REQUEST_CHECK_SEE_INPUT); + }else { + if (xSJJHDataBean.getZX_LRFS().equals("0") && xSJJHDataBean.getZX_CBLX().equals("W")) { + Intent intentTemplate = new Intent(DqgzActivity.this, CheckTemperatureDqgzActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelable("bean", xSJJHDataBean); + bundle.putString("checkTip", "日检破碎机,驱动部电机驱动端温度"); + bundle.putString("standerTip", "≤40℃"); + bundle.putString("checkType", "234233"); + bundle.putBoolean("edit", isEdit); + intentTemplate.putExtras(bundle); + startActivityForResult(intentTemplate, REQUEST_CHECK_TEMPERATURE); + } else if (xSJJHDataBean.getZX_LRFS().equals("0") && xSJJHDataBean.getZX_CBLX().equals("Z")) { + Intent intentTemplate = new Intent(DqgzActivity.this, CheckVibrationDqgzActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelable("bean", xSJJHDataBean); + bundle.putString("checkTip", "日检破碎机,驱动部电机振动"); + bundle.putString("standerTip", "≤11.2mm/s"); + bundle.putString("checkType", "234235"); + bundle.putBoolean("edit", isEdit); + intentTemplate.putExtras(bundle); + startActivityForResult(intentTemplate, REQUEST_CHECK_VIBRATION); + } else { + Intent intent = new Intent(DqgzActivity.this, DqgzCheckActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelable("bean", xSJJHDataBean); + bundle.putBoolean("edit", isEdit); + intent.putExtras(bundle); + startActivityForResult(intent, REQUEST_CHECK_SEE_INPUT); + } + } + }); + } + + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) return; + if (data != null) { +// if (Req == requestCode) { +// 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(); +// } else { +// String temperatureValue = data.getStringExtra("value"); +// if (temperatureValue != null) { +// //先判断是哪个页面返回过来的 +// switch (requestCode) { +// case REQUEST_CHECK_TEMPERATURE: +// //测温 +// //成功了 +// Toast.makeText(DqgzActivity.this, temperatureValue, Toast.LENGTH_SHORT).show(); +// break; +// case REQUEST_CHECK_VIBRATION: +// //测振 +// //成功了 +// Toast.makeText(DqgzActivity.this, temperatureValue, Toast.LENGTH_SHORT).show(); +// break; +// } +// } +// } + } + } + + @Override + protected void onResume() { + super.onResume(); + adapter.notifyDataSetChanged(); + } + + + @Override + protected void onRestart() { + super.onRestart(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + unregisterReceiver(myReceiver); + } + + @Override + public void onClick(View view) { + switch (view.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + break; + } + } + + public void rightBtnClickAllCheck() { + AllCheckDialog allCheckDialog = new AllCheckDialog(DqgzActivity.this, "一键正常将会把所有选择类的选项状态改为已检,是否继续当前操作?", new AllCheckDialog.AuditDialogListener() { + @Override + public void confirm() { + allCheckNow(); + } + + @Override + public void cancel() { + + } + }); + allCheckDialog.show(); + } + + private void allCheckNow() { + ArrayList xsjjhDataBeanArrayListTran = new ArrayList<>(); + if (xsjjhDataBeanArrayList.size() > 0) { + for (int i = 0; i < xsjjhDataBeanArrayList.size(); i++) { + Dqgz xSJJHDataBeanTemp = xsjjhDataBeanArrayList.get(i); + if (xSJJHDataBeanTemp.getZX_LRFS().equals("1")) { + xSJJHDataBeanTemp.setWorkChecked(true); + xSJJHDataBeanTemp.setSCNR("正常"); + } + } + } + adapter.notifyDataSetChanged(); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzCheckActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzCheckActivity.java new file mode 100644 index 0000000..b153071 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzCheckActivity.java @@ -0,0 +1,373 @@ +package com.bjzc.zjdxj.activity.regular; + + +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.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.bjzc.zjdxj.DBModel.Dqgz; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bleUtil.BluetoothLeService; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.AuditDialog; +import com.bjzc.zjdxj.weight.ListDialog; + +import org.litepal.crud.DataSupport; + +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + + + +/** + * Created by ruihong on 2017/11/30. + */ + +public class DqgzCheckActivity extends BaseActivity3 implements View.OnClickListener { + + public static int Req = 101; + + TextView tvBjmc; + TextView tvSbmc; + EditText etJg; + Button xjetButton; + LinearLayout ycmsLl; + EditText etYcFxnr; + Button btnNext; + TextView tvZt; + + //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 String username; + + //新数据 + private Dqgz dqgz; + private String MRNR; + //private ArrayList setSbModelList; + + + @Override + public int getLayoutId() { + return R.layout.activity_dqgz_check; + } + + @Override + public void initView() { + tvBjmc = findViewById(R.id.tv_bjmc); + tvSbmc = findViewById(R.id.tv_sbmc); + etJg = findViewById(R.id.et_jg); + xjetButton = findViewById(R.id.xjet_button); + ycmsLl = findViewById(R.id.ycms_ll); + etYcFxnr = findViewById(R.id.et_yc_fxnr); + btnNext = findViewById(R.id.btn_next); + tvZt = findViewById(R.id.tv_zt); + + username = (String) SPUtils.get(context, Contans.USERID, ""); + ycmsLl.setVisibility(View.GONE); + + initToolbar("设备巡检详情", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + AuditDialog auditDialog = new AuditDialog(context, "确定要保存数据吗?", new AuditDialog.AuditDialogListener() { + @Override + public void confirm() { + next(); + } + + @Override + public void cancel() { + + } + }); + auditDialog.show(); + } + }); + + registerReceiver(mGattUpdateReceiver, makeGattUpdateIntentFilter()); + Bundle bundle = DqgzCheckActivity.this.getIntent().getExtras(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + dqgz = bundle.getParcelable("bean"); + } + if(dqgz!=null) { + if (dqgz.getZX_LRNR() != null) { + MRNR = dqgz.getZX_LRNR(); + if(MRNR!=null){ + 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(); + }); + } + } + } + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + +// Intent intent2 = new Intent(DqgzCheckActivity.this, SbxjcjsbActivity.class); +// intent2.putParcelableArrayListExtra("setSbModelList", setSbModelList); +// setResult(RESULT_OK, intent2); + finish(); + + break; + case R.id.tv_right://这里 + + break; + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + } + + public void initData() { + + if(dqgz!=null){ + if(dqgz.getZX_MC()!=null){ + tvSbmc.setText(dqgz.getZX_MC()); + } + if(dqgz.getZX_NR()!=null){ + tvBjmc.setText(dqgz.getZX_NR()); + } + if(dqgz.getSCBZ()!=null){ + etYcFxnr.setText(dqgz.getSCBZ()); + } + if(dqgz.isWorkChecked()){ + tvZt.setText("已检"); + } + if(dqgz.getZX_LRFS().equals("1")){ + etJg.setVisibility(View.GONE); + //ycmsLl.setVisibility(View.GONE); + xjetButton.setVisibility(View.VISIBLE); + etYcFxnr.setText(""); + if (dqgz.getSCNR() == null) { + xjetButton.setText("正常"); + etJg.setText("正常"); + ycmsLl.setVisibility(View.GONE); + } else { + switch (dqgz.getSCNR()) { + 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("异常"); + if(dqgz.getSCBZ()!=null){ + etYcFxnr.setText(dqgz.getSCBZ()); + } + break; + case "": + xjetButton.setText("正常"); + etJg.setText("正常"); + ycmsLl.setVisibility(View.GONE); + break; + default: + xjetButton.setText(dqgz.getSCNR()); + etJg.setText(dqgz.getSCNR()); + ycmsLl.setVisibility(View.GONE); + break; + } + } + } + if(dqgz.getZX_LRFS().equals("0")){ + etJg.setVisibility(View.VISIBLE); + //ycmsLl.setVisibility(View.GONE); + xjetButton.setVisibility(View.GONE); + etYcFxnr.setText(""); + if (dqgz.getSCNR() == null) { + etJg.setText(""); + } else { + switch (dqgz.getSCNR()) { + case "已运行": + etJg.setText(""); + break; + case "大小修": + etJg.setText("大小修"); + break; + case "已停用": + etJg.setText("已停用"); + break; + case "": + etJg.setText(""); + break; + default: + etJg.setText(dqgz.getSCNR()); + break; + } + } + } + } + + +// 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) { +// +// 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(etJg.getText().toString().trim().equals("")){ + showToast("没有采集结果"); + }else{ + ContentValues values = new ContentValues(); + values.put("isWorkChecked", true); + values.put("SCNR", etJg.getText().toString().trim()); + values.put("SCBZ", etYcFxnr.getText().toString().trim()); + String dateNow = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + values.put("DATE",dateNow); + int i = DataSupport.updateAll(Dqgz.class, values, "rwid = ? and username = ? ", dqgz.getRWID(),username); + if (i != 0) { + dqgz.setWorkChecked(true); + dqgz.setDATE(dateNow); + dqgz.setSCNR(etJg.getText().toString().trim()); + dqgz.setSCBZ(etYcFxnr.getText().toString().trim()); + showToast("保存成功"); + updatecheck(true); + updateItem(dqgz); + finish(); + } + } + } + + private void updateItem(Dqgz dqgzTemp) { + Intent intent = new Intent(Contans.ACTION_YULTWO); + Bundle bundle = new Bundle(); + bundle.putParcelable("bean", dqgzTemp); + intent.putExtras(bundle); + //发送广播 + 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(); + } + + public void updatecheck(Boolean value) { + if (value) { + tvZt.setText("已检"); + } else { + tvZt.setText("未检"); + } + } + + private List stringToList(String strs) { + String[] str = strs.split(";"); + return Arrays.asList(str); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzDownFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzDownFragment.java new file mode 100644 index 0000000..5722c69 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzDownFragment.java @@ -0,0 +1,330 @@ +package com.bjzc.zjdxj.activity.regular; + + +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.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.bjzc.zjdxj.DBModel.Dqgz; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.DqgzDownloadAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.XsRequestInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.WaitDialog; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.rest.RequestQueue; + +import org.litepal.crud.DataSupport; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +import androidx.appcompat.app.AlertDialog; + +import static org.litepal.crud.DataSupport.where; + +/** + * Created by huang on 2021/12/09 + * 定期工作-任务下载 + */ + +public class DqgzDownFragment extends BaseFragment { + + ListView lv; + TextView tvNodata; + FrameLayout FL; + Button btnXz; + Button btnDelete; + LinearLayout LL; + + + private WaitDialog dialog; + private DqgzUpAndDownActivity mActivity; + private View headView; + private View head; + private DqgzDownloadAdapter 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; + private String type = null; + private String professionId = null; + private String username; + + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Contans.ACTION_REFRESHPLANDOWNLOAD.equals(action)) { + //刷新页面 + initData(); + } + if(Contans.ACTION_PROFESSIONCHANGE.equals(action)){ + professionId=intent.getStringExtra("professionId"); + Log.i("app",professionId); + Log.i("app","initData"); + //刷新页面 + initData(); + } + } + }; + + public DqgzDownFragment() { + + } + public DqgzDownFragment(String type) { + this.type=type; + } + + public static DqgzDownFragment newInstance(String type) { + DqgzDownFragment fragment = new DqgzDownFragment(type); + 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); + + + username = (String) SPUtils.get(context, Contans.USERID, ""); + lv.setEmptyView(tvNodata); + mActivity = (DqgzUpAndDownActivity) getActivity(); + headView = View.inflate(context, R.layout.xzxsjh_item, null); + head = headView.findViewById(R.id.head); + head.setVisibility(View.VISIBLE); + + 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).getRWID()); + zxids.add(xjjhs.get(i).getRWID()); + } + } + if (dialog != null && dialog.isShowing()) { + dialog.dismiss(); + } + + tvNodata.setText("暂无数据"); + List xjjhListall = new ArrayList<>(); + if(professionId!=null){ + xjjhListall = where("download = ? and mkbs = ? and zx_zy = ? and username = ?", "0",type,professionId,username).find(Dqgz.class); + }else{ + xjjhListall = where("download = ? and mkbs = ? and username = ?", "0",type,username).find(Dqgz.class); + } + + xjjhs.clear(); + xjjhs.addAll(xjjhListall); + if (adapter != null) { + cb.setChecked(false); + adapter.notifyDataSetChanged(); + } + showToast("下载成功"); + + Intent intent = new Intent(Contans.ACTION_REFRESHPLANUPLOAD); + //发送广播,刷新任务上传页面 + requireActivity().sendBroadcast(intent); + } 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(Dqgz.class, "rwid = ? and username = ?", xjjhs.get(i).getRWID(),username); + } + } + xjjhs.removeAll(delete); + adapter.notifyDataSetChanged(); + } + }); + builder.show(); + + } else { + showToast("没有可删除计划"); + } + } + }); + + + 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(); + } + } + }); + lv.addHeaderView(headView, null, false); + TextView tv_taskName=headView.findViewById(R.id.tv_gwmc); + tv_taskName.setText("任务名称"); + TextView tv_isCheck=headView.findViewById(R.id.tv_gwds); + tv_isCheck.setText("状态"); + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_REFRESHPLANDOWNLOAD); + filter.addAction(Contans.ACTION_PROFESSIONCHANGE); + DqgzDownFragment.this.requireActivity().registerReceiver(myReceiver, filter); + } + + public void initData() { + + queue = NoHttp.newRequestQueue(1); + dialog = new WaitDialog(getActivity(), "加载中..."); + dialog.setCancelable(false); + cb.setChecked(false); + xjjhs = new ArrayList<>(); + //如果数据库中有数据 + if (DataSupport.count("Dqgz") != 0) { + List xjjhListall = new ArrayList<>(); + if(professionId!=null){ + xjjhListall = where("download = ? and mkbs = ? and zx_zy = ? and username = ?", "0",type,professionId,username).find(Dqgz.class); + }else{ + xjjhListall = where("download = ? and mkbs = ? and username = ?", "0",type,username).find(Dqgz.class); + } + + xjjhs.clear(); + xjjhs.addAll(xjjhListall); + Log.i("app","-------"); + Log.i("app",String.valueOf(xjjhs.size())); + setListData(); + } else { + tvNodata.setText("暂无数据"); + LL.setVisibility(View.GONE); + } + } + + //运行,燃料计划下载 + private void downData(String rwid) { + //++requestCount; + ContentValues values = new ContentValues(); + values.put("download", 1); + DataSupport.updateAll(Dqgz.class, values, "rwid = ?", rwid); + } + + private String createZyJson(String zxid, String jhmc) { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("YX_XJGL_RWXZ_GET"); + info.setZxid(zxid); + //info.setJhmc(jhmc); + String json = GsonUtils.GsonString(info); + Log.i("app",json); + return json; + } + + private void setListData() { + + adapter = new DqgzDownloadAdapter(context, xjjhs, new DqgzDownloadAdapter.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.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(); + }); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = super.onCreateView(inflater, container, savedInstanceState); + return rootView; + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + DqgzDownFragment.this.requireActivity().unregisterReceiver(myReceiver); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzUpAndDownActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzUpAndDownActivity.java new file mode 100644 index 0000000..c2ceecc --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzUpAndDownActivity.java @@ -0,0 +1,128 @@ +package com.bjzc.zjdxj.activity.regular; + + +import android.content.Intent; +import android.util.Log; +import android.view.View; +import com.bjzc.zjdxj.DBModel.Profession; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.OAToolbar; +import com.bjzc.zjdxj.weight.ListDialog; +import com.google.android.material.tabs.TabLayout; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.activity.sbxdj.FragmentAdapter; +import com.bjzc.zjdxj.adapter.MyFragmentAdapter; +import java.util.ArrayList; +import java.util.List; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; +import org.litepal.crud.DataSupport; + +/** + * Created by huang on 2021/12/09 + * 定期工作-任务管理 + */ +public class DqgzUpAndDownActivity extends BaseActivity3 implements View.OnClickListener { + + + private DrawerLayout mDrawerLayout; + private ViewPager mViewPager; + private TabLayout mTabLayout; + private List fragments = new ArrayList<>(); + private List list; + private MyFragmentAdapter adapter; + + private DqgzDownFragment xzxsjhfragment; + private DqgzUpFragment scxsjhfragmet; + private String type = null; + private List listPro = new ArrayList<>(); + private List professionList = new ArrayList<>(); + + + @Override + public int getLayoutId() { + return R.layout.activity_mainxj; + } + + @Override + public void initView() { +// listPro.add("运行专业"); +// listPro.add("燃料专业"); + + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + if(type.equals("YX")){ + ListDialog listDialog = new ListDialog(context, listPro, new ListDialog.ListDialogListener() { + @Override + public void selectText(String text, int position) { + if(professionList!=null&&professionList.size()>0){ + Profession profession = professionList.get(position); + Log.i("app",profession.getZyid()); + //刷新计划下载界面 + Intent intent = new Intent(Contans.ACTION_PROFESSIONCHANGE); + intent.putExtra("professionId",profession.getZyid()); + //专业选择改变发送广播,刷新任务下载页面 + sendBroadcast(intent); + } + } + }); + listDialog.setTvTitle("请选择专业"); + listDialog.show();; + } + break; + } + } + + + public void initData() { + Intent intent = getIntent(); + type = intent.getStringExtra("type"); + if(type!=null&&type.equals("YX")){ + initToolbar("定期任务数据管理", "选择专业", this); + professionList = DataSupport.findAll(Profession.class); + if(professionList!=null&&professionList.size()>0){ + for(Profession profession : professionList){ + listPro.add(profession.getZymc()); + } + } + + }else{ + initToolbar("定期任务数据管理", "", this); + } + + mViewPager = findViewById(R.id.viewpager); + xzxsjhfragment = DqgzDownFragment.newInstance(type); + scxsjhfragmet = DqgzUpFragment.newInstance(type); + 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 DqgzDownFragment(type)); + fragments.add(new DqgzUpFragment(type)); + FragmentAdapter mFragmentAdapteradapter = new FragmentAdapter(getSupportFragmentManager(), fragments, titles); + mViewPager.setAdapter(mFragmentAdapteradapter); + mTabLayout.setupWithViewPager(mViewPager); + mTabLayout.setTabsFromPagerAdapter(mFragmentAdapteradapter); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzUpFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzUpFragment.java new file mode 100644 index 0000000..928a108 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/DqgzUpFragment.java @@ -0,0 +1,428 @@ +package com.bjzc.zjdxj.activity.regular; + + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +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.bjzc.zjdxj.DBModel.Dqgz; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.DqgzDownloadAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.DqgzUpLoadBean; +import com.bjzc.zjdxj.bean.StatusInfo2; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.HttpResponseListener; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.utils.UiUtlis; +import com.bjzc.zjdxj.weight.MeasureDialog; +import com.bjzc.zjdxj.weight.WaitDialog; +import com.bjzc.zjdxj.weight.toastviewbymyself; +import com.google.gson.Gson; +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 java.util.Objects; +import static org.litepal.crud.DataSupport.where; + +/** + * Created by huang on 2021/12/09 + * 定期工作-任务上传 + */ +public class DqgzUpFragment extends BaseFragment { + + ListView lv; + Button btn_sc; + Button btn_del; + TextView tvNodata; + + + private DqgzUpAndDownActivity mActivity; + private View headView; + private View head; + private CheckBox xj_cb; + private DqgzDownloadAdapter adapter; + private WaitDialog dialog; + private RequestQueue queue; + private int noCheck = 0; + private int selectCount = 0; + private List dbxjjh = new ArrayList<>(); + //private List xsjjhxzDataBeanList = new ArrayList<>(); + //private String rwid = ""; +// private List xsjhxzdatalist = new ArrayList<>(); +// private Map> xsJjhDataBeanMap = new HashMap<>(); +// private Map> xsJjhBaDataBeanMap = new HashMap<>(); + private String type = null; + private String username; + + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Contans.ACTION_REFRESHPLANUPLOAD.equals(action)) { + //刷新页面 + initData(); + } + } + }; + + public DqgzUpFragment() { + + } + + public DqgzUpFragment(String type) { + this.type=type; + } + + public static DqgzUpFragment newInstance(String type) { + DqgzUpFragment fragment = new DqgzUpFragment(type); + 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); + + + username = (String) SPUtils.get(context, Contans.USERID, ""); + lv.setEmptyView(tvNodata); + + 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();//删除勾选中的数据 + } + }); + + + dialog = new WaitDialog(context, "上传中..."); + dialog.setCancelable(false); + mActivity = (DqgzUpAndDownActivity) getActivity(); + headView = View.inflate(context, R.layout.scxscb_item, null); + head = headView.findViewById(R.id.head); + xj_cb = headView.findViewById(R.id.xj_cb); + lv.addHeaderView(headView, null, false); + TextView tv_taskName=headView.findViewById(R.id.tv_gwmc); + tv_taskName.setText("任务名称"); + TextView tv_isCheck=headView.findViewById(R.id.tv_yjzj); + tv_isCheck.setText("状态"); + xj_cb.setOnClickListener(view -> { + + if (xj_cb.isChecked()) { + for (int i = 0; i < dbxjjh.size(); i++) { + dbxjjh.get(i).setChecked(true); + adapter.notifyDataSetChanged(); + } + } else { + for (int i = 0; i < dbxjjh.size(); i++) { + dbxjjh.get(i).setChecked(false); + adapter.notifyDataSetChanged(); + } + } + }); + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_REFRESHPLANUPLOAD); + DqgzUpFragment.this.requireActivity().registerReceiver(myReceiver, filter); + } + + + @Override + public int getContentViewId() { + return R.layout.fragment_xssc; + } + + public void initData() { + xj_cb.setChecked(false); + queue = NoHttp.newRequestQueue(1); + getDataInSQL();//获取运行,燃料数据 + setListData();//显示数据 + } + + + /** + * 获取数据库的数据 + */ + public void getDataInSQL() { + + dbxjjh.clear(); + dbxjjh.addAll(where("download = ? and mkbs = ? and username = ?", "1",type,username).find(Dqgz.class)); + + Log.i("app",String.valueOf(dbxjjh.size())); + + int count = 0; + for (int i = 0; i < dbxjjh.size(); i++) { + Dqgz dataBean = dbxjjh.get(i); + Log.i("app", dataBean.getRWID()); + Gson gson = new Gson(); + Log.i("app", gson.toJson(dataBean)); + if (!dataBean.getRWID().equals("")) { + if(dataBean.isWorkChecked()){ + count++; + } + } + } + if (count != 0) { + toastviewbymyself.makeText(getActivity(), "有巡检数据未上传,请检查!!!", Toast.LENGTH_LONG).show(); + } + } + + private void setListData() { + + adapter = new DqgzDownloadAdapter(context, dbxjjh,view -> { + CheckBox checkBox = (CheckBox) view; + int index = (int) checkBox.getTag(); + dbxjjh.get(index).setChecked(checkBox.isChecked()); + int count = 0; + for (int a = 0; a < dbxjjh.size(); a++) { + if (dbxjjh.get(a).isChecked()) { + count++; + } + } + xj_cb.setChecked(count == dbxjjh.size()); + adapter.notifyDataSetChanged(); + }); + lv.setAdapter(adapter); + + + lv.setOnItemClickListener((adapterView, view, i, l) -> { + + Log.i("app",String.valueOf(i)); + + dbxjjh.get(i - 1).setChecked(!dbxjjh.get(i - 1).isChecked()); + int count = 0; + for (int a = 0; a < dbxjjh.size(); a++) { + if (dbxjjh.get(a).isChecked()) { + count++; + } + } + xj_cb.setChecked(count == dbxjjh.size()); + adapter.notifyDataSetChanged(); + }); + } + + private void uploadData() { + noCheck = 0;//没有检查的数量 + selectCount = 0; + boolean isSelectUpLoad = false; + DqgzUpLoadBean scxjjhbean = new DqgzUpLoadBean(); + scxjjhbean.setAction("DQGZ_RWSC_SET"); + scxjjhbean.setSCR(username); + List datalist = new ArrayList<>(); + for (int i = 0; i < dbxjjh.size(); i++) { + Dqgz dataBean = dbxjjh.get(i); + if (dataBean.isChecked()) { + isSelectUpLoad = true; + selectCount++; + DqgzUpLoadBean.data datas = new DqgzUpLoadBean.data(); + datas.setRWID(dataBean.getRWID()); + datas.setSCNR(dataBean.getSCNR()); + if(dataBean.getSCNR()==null){ + datas.setSCNR(""); + } + datas.setSCBZ(dataBean.getSCBZ()); + if(dataBean.getSCBZ()==null){ + datas.setSCBZ(""); + } + if(dataBean.isWorkChecked()){ + datas.setDATE(dataBean.getDATE()); + }else{ + datas.setDATE(""); + } + datalist.add(datas); + if(!dataBean.isWorkChecked()){ + noCheck++; + } + } + } + scxjjhbean.setData(datalist); + Gson gson = new Gson(); + Log.i("app",gson.toJson(scxjjhbean)); + if (noCheck > 0) { //如果未检查的数量大于0 则提示有未检查的项目 + if(selectCount==noCheck){ + MeasureDialog measureDialog = new MeasureDialog(context, "至少有一条任务已检才能上传!", new MeasureDialog.AuditDialogListener() { + @Override + public void confirm() { + + } + + @Override + public void cancel() { + + } + }); + measureDialog.show(); + }else{ + MeasureDialog measureDialog = new MeasureDialog(context, "还有项目未检查,是否还要上传?", new MeasureDialog.AuditDialogListener() { + @Override + public void confirm() { + final String json = GsonUtils.GsonString(scxjjhbean); + sCData(json); + } + + @Override + public void cancel() { + + } + }); + measureDialog.show(); + } + } else { + final String json = GsonUtils.GsonString(scxjjhbean); + sCData(json); + } + if (!isSelectUpLoad) { + showToast("请选择要上传的计划"); + } + } + + private void sCData(String json) { + Log.i("app",Contans.IP + Contans.DQGZ_UPLOAD_TASK); + Request request = NoHttp.createStringRequest(Contans.IP + Contans.DQGZ_UPLOAD_TASK, 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) { + + + Gson gson = new Gson(); + Log.i("app", gson.toJson(response.get())); + StatusInfo2 info = GsonUtils.GsonToBean(response.get(), StatusInfo2.class); + + + try { + if (what == 1) { + if (info.getState() == 1) { //成功 + + showToast("上传数据成功"); + + List dbxjjhTemp = new ArrayList<>(); + //这里处理那个删除item,更新UI + for (int i = 0; i < dbxjjh.size(); i++) { + + if (dbxjjh.get(i).isChecked()) { + + DataSupport.deleteAll(Dqgz.class, "rwid = ? and username = ?", dbxjjh.get(i).getRWID(),username); + + //dbxjjh.remove(dbxjjh.get(i)); + }else{ + dbxjjhTemp.add(dbxjjh.get(i)); + } + + } + dbxjjh.clear(); + dbxjjh.addAll(dbxjjhTemp); + + adapter.notifyDataSetChanged(); + + //刷新计划下载界面 + Intent intent = new Intent(Contans.ACTION_REFRESHDOWNLOADPLAN); + //发送广播,刷新任务下载页面 + DqgzUpFragment.this.requireActivity().sendBroadcast(intent); + + } 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() { + int count = 0; + for (int a = 0; a < dbxjjh.size(); a++) { + if (dbxjjh.get(a).isChecked()) { + count++; + } + } + if(count==0){ + showToast("请选择要删除的计划"); + return; + } + MeasureDialog measureDialog = new MeasureDialog(context, "你确定要删除?", new MeasureDialog.AuditDialogListener() { + @Override + public void confirm() { + for (int i = 0; i < dbxjjh.size(); i++) { + Log.i("app",String.valueOf(i)); + Log.i("app",String.valueOf(dbxjjh.get(i).isChecked())); + if (dbxjjh.get(i).isChecked()) { + DataSupport.deleteAll(Dqgz.class, "rwid = ? and username = ?", dbxjjh.get(i).getRWID(),username); + } + } + + xj_cb.setChecked(false); + //刷新界面 + getDataInSQL(); + //刷新计划下载界面 + Intent intent = new Intent(Contans.ACTION_REFRESHDOWNLOADPLAN); + //发送广播,刷新任务下载页面 + DqgzUpFragment.this.requireActivity().sendBroadcast(intent); + + if (adapter != null) { + adapter.notifyDataSetChanged(); + } + } + + @Override + public void cancel() { + + } + }); + measureDialog.show(); + + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + DqgzUpFragment.this.requireActivity().unregisterReceiver(myReceiver); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/RegularActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/RegularActivity.java new file mode 100644 index 0000000..23e6fb0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/regular/RegularActivity.java @@ -0,0 +1,264 @@ +package com.bjzc.zjdxj.activity.regular; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Build; +import android.util.Log; +import android.view.WindowManager; +import android.widget.GridView; +import com.bjzc.zjdxj.DBModel.Dqgz; +import com.bjzc.zjdxj.DBModel.DqgzList; +import com.bjzc.zjdxj.DBModel.ProfessionList; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.GridViewAdapter; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.bean.DqgzRequestInfo; +import com.bjzc.zjdxj.bean.GridViewBean; +import com.bjzc.zjdxj.bean.XsRequestInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.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.bjzc.zjdxj.utils.GsonUtils.GsonToBean; +import com.bjzc.zjdxj.DBModel.Profession; + +/** + * 巡视抄表管理 + */ +public class RegularActivity 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 String[] str = {"定期任务", "定期工作"}; + private int[] imageId = {R.mipmap.icon_xs1, R.mipmap.icon6}; + private int[] colors = {R.drawable.radius_b1, R.drawable.radius_a4}; + private GridViewAdapter adapter; + private String type = null; + private String username; + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Contans.ACTION_REFRESHDOWNLOADPLAN.equals(action)) { + //刷新页面 + requestDatas(); + } + } + }; + + @Override + public int getContentViewID() { + return R.layout.activity_xscbgl; + } + + @Override + protected void initView() { + gv = findViewById(R.id.gv); + + Intent intentType = getIntent(); + type = intentType.getStringExtra("type"); + username = (String) SPUtils.get(context, Contans.USERID, ""); + if(type.equals("YX")){ + setTitle("运行定期"); + setTitle("运行定期"); + }else if(type.equals("RL")){ + setTitle("燃料定期"); + setTitle("燃料定期"); + } + + if (Build.VERSION.SDK_INT >= 21) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); + } + StatusBarUtil.transparencyBar(RegularActivity.this); + mToolbar.setBackgroundColor(Color.parseColor("#00000000")); + 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 = null; + switch (i) { + case 0: + intent = new Intent(RegularActivity.this, DqgzUpAndDownActivity.class); + intent.putExtra("type",type); + break; + case 1: + intent = new Intent(RegularActivity.this, DqgzActivity.class); + intent.putExtra("type",type); + break; + } + if (intent != null) { + startActivity(intent); + } + }); + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_REFRESHDOWNLOADPLAN); + registerReceiver(myReceiver, filter); + + requestDatas(); + if(type.equals("YX")){ + getProfessionData(); + } + } + + 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() { //获取定期任务列表数据 + + Log.i("app",Contans.IP + Contans.DQGZ); + Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.DQGZ, RequestMethod.POST);; + requestxs.setDefineRequestBodyForJson(createJson()); + + NohttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + + Log.i("app",response.get()); + DqgzList list = GsonToBean(response.get(), DqgzList.class); + Log.i("app",list.getMsg()); + Log.i("app",list.getState()); + Log.i("app",String.valueOf(list.getData().size())); + + if (list != null) { + + if (list.getState().equals("1")) { + + List dqgzs = list.getData();//服务器数据 + + DataSupport.deleteAll(Dqgz.class, "download = 0 and username = ?",username); + + for (Dqgz dqgz : dqgzs) { + + List dbDqgz = DataSupport.where("rwid = ? and download = ? and username = ?", dqgz.getRWID(), "1",username).find(Dqgz.class); + + if (dbDqgz.size() == 0) { + dqgz.setUsername(username); + dqgz.save(); + } + } + //刷新计划下载界面 + Intent intent = new Intent(Contans.ACTION_REFRESHPLANDOWNLOAD); + //发送广播,刷新任务下载页面 + sendBroadcast(intent); + } else { + DataSupport.deleteAll(Dqgz.class, "download = 0 and username = ?",username); + } + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + //获取运行专业数据 + private void getProfessionData() { + + Log.i("app",Contans.IP + Contans.XSCB); + final Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + + requestxs.setDefineRequestBodyForJson(createJsonZY()); + + NohttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + + Log.i("app",response.get()); + ProfessionList list = GsonToBean(response.get(), ProfessionList.class); + Log.i("app",list.getMsg()); + Log.i("app",list.getState()); + Log.i("app",String.valueOf(list.getData().size())); + + if (list != null) { + //获取数据成功 + if (list.getState().equals("1")) { + //服务器数据 + List professions = list.getData(); + DataSupport.deleteAll(Profession.class); + for (Profession profession : professions) { + profession.save(); + } + } + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private String createJsonBA() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("BA_XJGL_RWLB_GET"); + String json = GsonUtils.GsonString(info); + Log.i("app",json); + return json; + } + private String createJson() { + DqgzRequestInfo info = new DqgzRequestInfo(); + info.setAction("DQGZ_RWLB_GET"); + info.setRWZT(0); + String bz = (String) SPUtils.get(context, Contans.BZBH, ""); +// if(bz!=null&&(!bz.equals(""))){ +// info.setBZ(bz); +// } + if(type!=null&&type.equals("YX")){ + info.setMK("YX"); + } + if(type!=null&&type.equals("RL")){ + info.setMK("RL"); + } + String json = GsonUtils.GsonString(info); + Log.i("app",json); + return json; + } + + private String createJsonZY() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("YX_XJGL_ZY_GET"); + String jsonZY = GsonUtils.GsonString(info); + return jsonZY; + } + + @Override + protected void onDestroy() { + super.onDestroy(); + unregisterReceiver(myReceiver); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/BzFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/BzFragment.java new file mode 100755 index 0000000..ecc13ad --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/BzFragment.java @@ -0,0 +1,67 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.os.Bundle; +import android.widget.EditText; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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() { + super.initData(); + } + + + + /** + * 更新数据 + */ + public void updata(String bz) { + et_bz.setText(bz); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/CJFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/CJFragment.java new file mode 100755 index 0000000..4f94ec7 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/CJFragment.java @@ -0,0 +1,224 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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) -> { + if (i == R.id.rbzc) { + et_jg.setText("正常"); + ycmsLl.setVisibility(View.GONE); + } else if (i == R.id.rbbzc) { + et_jg.setText("异常"); + ycmsLl.setVisibility(View.VISIBLE); + } + }); + } + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/ChangeYulActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/ChangeYulActivity.java new file mode 100755 index 0000000..14a1fea --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/ChangeYulActivity.java @@ -0,0 +1,179 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.DBModel.XDJJHXZDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.DlbAdapter; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.bean.DlbInfo; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/DjMainActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/DjMainActivity.java new file mode 100755 index 0000000..e6b4f79 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/DjMainActivity.java @@ -0,0 +1,67 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import com.google.android.material.tabs.TabLayout; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.MyFragmentAdapter; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/DjdscFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/DjdscFragment.java new file mode 100755 index 0000000..0651b8f --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/DjdscFragment.java @@ -0,0 +1,304 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Djjh; +import com.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.DBModel.XDJJHXZDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.ScjhAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.ScdjjhBean; +import com.bjzc.zjdxj.bean.StatusInfo2; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.HttpResponseListener; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.utils.UiUtlis; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/DjgwListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/DjgwListActivity.java new file mode 100755 index 0000000..cb99f17 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/DjgwListActivity.java @@ -0,0 +1,137 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import com.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.DBModel.XDJJHXZDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.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 implements View.OnClickListener { + + 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 void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + + break; + } + } + + @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("岗位列表", "", this); + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/FXFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/FXFragment.java new file mode 100755 index 0000000..106df68 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/FXFragment.java @@ -0,0 +1,58 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.QYAQFXDATABean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.GwfxListAdapter; +import java.util.ArrayList; +import static com.bjzc.zjdxj.MyApplication.context; + + +public class FXFragment extends Fragment { + + + ListView lv; + private ArrayList qyddataBeanArrayList; + GwfxListAdapter gwfxlistadapter; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_fx, container, false); + return view; + } + + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + qyddataBeanArrayList = new ArrayList<>(); + requestDatas(); + } + + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/FfFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/FfFragment.java new file mode 100755 index 0000000..9f13177 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/FfFragment.java @@ -0,0 +1,68 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.os.Bundle; +import android.widget.EditText; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/FragmentAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/FragmentAdapter.java new file mode 100755 index 0000000..bd82c39 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/FragmentAdapter.java @@ -0,0 +1,33 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/MainSbxdjglActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/MainSbxdjglActivity.java new file mode 100755 index 0000000..ca1086c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/MainSbxdjglActivity.java @@ -0,0 +1,152 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Djjh; +import com.bjzc.zjdxj.DBModel.DjjhList; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.activity.yhpc.YhpcDataListActivity; +import com.bjzc.zjdxj.adapter.GridViewAdapter; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.bean.GridViewBean; +import com.bjzc.zjdxj.bean.XscbRequestBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/OldqxgdFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/OldqxgdFragment.java new file mode 100755 index 0000000..dd02d1f --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/OldqxgdFragment.java @@ -0,0 +1,29 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/QxgdFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/QxgdFragment.java new file mode 100755 index 0000000..de0800e --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/QxgdFragment.java @@ -0,0 +1,29 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SbSelectActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SbSelectActivity.java new file mode 100755 index 0000000..5e5c2e2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SbSelectActivity.java @@ -0,0 +1,128 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.DlbAdapter; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.bean.DlbInfo; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SbxdjcjsbActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SbxdjcjsbActivity.java new file mode 100755 index 0000000..8c09ac1 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SbxdjcjsbActivity.java @@ -0,0 +1,285 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.MyFragmentAdapter; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.SetSbModel; +import com.bjzc.zjdxj.bleUtil.BluetoothLeService; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.weight.AutoRadioGroup; +import com.bjzc.zjdxj.weight.NoscrollViewPager; +import com.bjzc.zjdxj.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) -> { + 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 (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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SdjSbListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SdjSbListActivity.java new file mode 100755 index 0000000..e82af1c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SdjSbListActivity.java @@ -0,0 +1,201 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; + +import com.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.SetSbModel; +import com.bjzc.zjdxj.bean.sbInfo; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SdjgzActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SdjgzActivity.java new file mode 100755 index 0000000..3d2ed19 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SdjgzActivity.java @@ -0,0 +1,161 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.DBModel.XDJJHXZDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SdlbActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SdlbActivity.java new file mode 100755 index 0000000..fca0739 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SdlbActivity.java @@ -0,0 +1,168 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.DjjhRwQy; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.MyFragmentAdapter; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.weight.AutoRadioGroup; +import com.bjzc.zjdxj.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) { + + 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 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SxcdjActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SxcdjActivity.java new file mode 100755 index 0000000..e3b6cfb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/SxcdjActivity.java @@ -0,0 +1,88 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.graphics.Color; +import androidx.fragment.app.Fragment; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.MyFragmentAdapter; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.weight.AutoRadioGroup; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/TipsActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/TipsActivity.java new file mode 100755 index 0000000..ed6d315 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/TipsActivity.java @@ -0,0 +1,121 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import com.google.android.material.tabs.TabLayout; +import com.bjzc.zjdxj.DBModel.QYAQFXDATABean; +import com.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/WjFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/WjFragment.java new file mode 100755 index 0000000..ceb70cb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/WjFragment.java @@ -0,0 +1,171 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.DjjhRwQy; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.DlbAdapter; +import com.bjzc.zjdxj.adapter.ZkdAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.DlbInfo; +import com.bjzc.zjdxj.bean.ZkdInfo; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/XzjhFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/XzjhFragment.java new file mode 100755 index 0000000..3b6b35f --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/XzjhFragment.java @@ -0,0 +1,258 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Djjh; +import com.bjzc.zjdxj.DBModel.XDJJHXZBean; +import com.bjzc.zjdxj.DBModel.XDJJHXZDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.XzjhAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.XscbRequestBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.HttpResponseListener; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.utils.UiUtlis; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/YjwscFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/YjwscFragment.java new file mode 100755 index 0000000..548e877 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/YjwscFragment.java @@ -0,0 +1,135 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; + +import com.bjzc.zjdxj.DBModel.DjjhRwQy; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.DlbAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.DlbInfo; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/YscFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/YscFragment.java new file mode 100755 index 0000000..eac709d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/YscFragment.java @@ -0,0 +1,124 @@ +package com.bjzc.zjdxj.activity.sbxdj; + +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; +import com.bjzc.zjdxj.DBModel.DjjhRwQy; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.DlbAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.DlbInfo; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/YulActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/YulActivity.java new file mode 100755 index 0000000..0683828 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/YulActivity.java @@ -0,0 +1,216 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.DBModel.XDJJHXZDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.DlbAdapter; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.bean.DlbInfo; +import com.bjzc.zjdxj.bean.SetSbModel; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/Yul_SBActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/Yul_SBActivity.java new file mode 100755 index 0000000..a75bcb2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxdj/Yul_SBActivity.java @@ -0,0 +1,273 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.QYDDATABean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.DlbAdapter; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.bean.DlbInfo; +import com.bjzc.zjdxj.bean.sbInfo; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/CheckedListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/CheckedListActivity.java new file mode 100644 index 0000000..7531aba --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/CheckedListActivity.java @@ -0,0 +1,140 @@ +package com.bjzc.zjdxj.activity.sbxj; + + +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import com.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.DBModel.XSJJHXZDataBean; +import com.bjzc.zjdxj.DBModel.Xjjh; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CheckScxsAdapter; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import static org.litepal.crud.DataSupport.where; + +public class CheckedListActivity extends BaseActivity3 implements View.OnClickListener{ + + ListView lv; + TextView tvNodata; + + private View headView; + private CheckScxsAdapter adapter; + private List dbxjjh = new ArrayList<>(); + private Map> xsJjhDataBeanMap = new HashMap<>(); + private Map> xsJjhBaDataBeanMap = new HashMap<>(); + private String type = null; + private String username; + + @Override + public int getLayoutId() { + return R.layout.activity_checked_list; + } + + @Override + public void initView() { + initToolbar("已检", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + username = (String) SPUtils.get(context, Contans.USERID, ""); + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + Intent intent = getIntent(); + type = intent.getStringExtra("type"); + lv.setEmptyView(tvNodata); + headView = View.inflate(context, R.layout.no_checkbox_scxscb_item, null); + lv.addHeaderView(headView, null, false); + } + + @Override + public void initData() { + if (type != null && type.equals("BA")) { + getDataInSQLBA();//获取保安数据 + } else { + getDataInSQL();//获取运行,燃料数据 + } + setListData();//显示数据 + } + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + break; + } + } + /** + * 获取数据库的数据 + */ + public void getDataInSQLBA() { + dbxjjh.clear(); + dbxjjh.addAll(where("download = ? and mk = ? and username = ?", "1", type, username).find(Xjjh.class)); + xsJjhBaDataBeanMap.clear(); + for (int i = 0; i < dbxjjh.size(); i++) { + Xjjh dataBean = dbxjjh.get(i); + if (!dataBean.getZxid().equals("")) { + List qydDataBeen = DataSupport.where("zxid = ? and username = ?", dataBean.getZxid(), username).find(XSJJHXZDataBean.class); + int count = 0; + for (int j = 0; j < qydDataBeen.size(); j++) { + if (qydDataBeen.get(j).isBAChecked()) { + count++; + } + } + dataBean.setCountPercent(String.valueOf(count)); + xsJjhBaDataBeanMap.put(dataBean.getZxid(), qydDataBeen); + } + } + } + /** + * 获取数据库的数据 + */ + public void getDataInSQL() { + dbxjjh.clear(); + dbxjjh.addAll(where("download = ? and mk = ? and username = ?", "1", type, username).find(Xjjh.class)); + xsJjhDataBeanMap.clear(); + for (int i = 0; i < dbxjjh.size(); i++) { + Xjjh dataBean = dbxjjh.get(i); + List qydDataBeen = DataSupport.where("zxid = ? and username = ?", dataBean.getZxid(), username).find(XSJJHDataBean.class); + Log.i("app", String.valueOf(qydDataBeen.size())); + int count = 0; + for (int j = 0; j < qydDataBeen.size(); j++) { + if (qydDataBeen.get(j).isChecked()) { + count++; + } + } + dataBean.setCountPercent(String.valueOf(count)); + xsJjhDataBeanMap.put(dataBean.getZxid(), qydDataBeen); + } + } + /** + * 列表适配数据 + */ + private void setListData() { + adapter = new CheckScxsAdapter(context, dbxjjh); + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, i, l) -> { + Xjjh item = dbxjjh.get(i-1); + Bundle bundle = new Bundle(); + Intent intent = new Intent(this, CheckedStatusListActivity.class); + intent.putExtra("type", type); + intent.putExtra("checkType", "checked"); + intent.putExtra("zxid", item.getZxid()); + intent.putExtras(bundle); + startActivity(intent); + }); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/CheckedStatusListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/CheckedStatusListActivity.java new file mode 100644 index 0000000..caa9294 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/CheckedStatusListActivity.java @@ -0,0 +1,208 @@ +package com.bjzc.zjdxj.activity.sbxj; + + +import android.content.Intent; +import android.graphics.Color; +import android.os.Build; +import android.util.Log; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import androidx.annotation.RequiresApi; +import com.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.DBModel.XSJJHXZDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.List; +import static org.litepal.crud.DataSupport.where; + + +public class CheckedStatusListActivity extends BaseActivity3 implements View.OnClickListener { + + ListView lv; + TextView tvNodata; + private View headView; + private TextView tv_djrw; + private CommonAdapter adapter; + private List xsjjhxzDataBeanList = new ArrayList<>(); + private List checkedList = new ArrayList<>(); + private List noCheckeList = new ArrayList<>(); + private List checkedListBA = new ArrayList<>(); + private List noCheckeListBA = new ArrayList<>(); + private List qybh = new ArrayList<>(); + private ArrayList xsjjhDataBeanArrayList = new ArrayList<>();//点检记录列表 + private String type = null; + private String checkType = null; + private String zxid = null; + private String username; + + @Override + public int getLayoutId() { + return R.layout.activity_checked_status_list; + } + + @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); + Intent intent = getIntent(); + type = intent.getStringExtra("type"); + checkType = intent.getStringExtra("checkType"); + zxid = intent.getStringExtra("zxid"); + username = (String) SPUtils.get(context, Contans.USERID, ""); + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.checked_status_xsgz_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + tv_djrw = headView.findViewById(R.id.tv_djrw); + if(checkType!=null&&checkType.equals("checked")){ + initToolbar("已检", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + }else{ + initToolbar("未检", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + } + } + + public void initData() { + getDataInSqlite(); + setListData(); + } + + //加载数据库中已经下载的计划 + private void getDataInSqlite() { + xsjjhxzDataBeanList.clear(); + checkedListBA.clear(); + noCheckeListBA.clear(); + checkedList.clear(); + noCheckeList.clear(); + List planTemp = where("mk = ? and username = ? and zxid = ?", type, username,zxid).find(XSJJHXZDataBean.class); + List planTemp1 = this.removeDuplicate(planTemp); + xsjjhxzDataBeanList.addAll(planTemp1); + Log.i("app",String.valueOf(xsjjhxzDataBeanList.size())); + for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) { + XSJJHXZDataBean item = xsjjhxzDataBeanList.get(i); + if (type != null && type.equals("BA")) { + if(item.isBAChecked()){ + checkedListBA.add(item); + }else{ + noCheckeListBA.add(item); + } + }else{ + int checkedCount = 0; + List xsjjhdatabean = DataSupport.where("qybh = ? and mk = ? and username = ?", item.getQybh(), type, username).find(XSJJHDataBean.class); + for (int j = 0; j< xsjjhdatabean.size(); j++) { + if (xsjjhdatabean.get(j).isChecked()) { + checkedCount++; + } + } + int a = checkedCount; + int b = xsjjhdatabean.size(); + if (a == b) { + checkedList.add(item); + } else { + noCheckeList.add(item); + } + } + } + if (type != null && type.equals("BA")) { + if(checkType!=null&&checkType.equals("checked")){ + xsjjhxzDataBeanList.clear(); + xsjjhxzDataBeanList.addAll(checkedListBA); + }else{ + xsjjhxzDataBeanList.clear(); + xsjjhxzDataBeanList.addAll(noCheckeListBA); + } + }else{ + if(checkType!=null&&checkType.equals("checked")){ + xsjjhxzDataBeanList.clear(); + xsjjhxzDataBeanList.addAll(checkedList); + }else{ + xsjjhxzDataBeanList.clear(); + xsjjhxzDataBeanList.addAll(noCheckeList); + } + } + } + + public List removeDuplicate(List list) { + for (int i = 0; i < list.size() - 1; i++) { + for (int j = list.size() - 1; j > i; j--) { + if (list.get(j).getQybh().equals(list.get(i).getQybh())) { + list.remove(j); + } + } + } + return list; + } + + private void setListData() { + + if (adapter == null) { + adapter = new CommonAdapter(context, R.layout.checked_status_xsgz_item, xsjjhxzDataBeanList) { + @Override + protected void convert(ViewHolder viewHolder, XSJJHXZDataBean item, int position) { + if (type != null && type.equals("BA")) { + viewHolder.setText(R.id.tv_xh, String.valueOf(position + 1)); + viewHolder.setText(R.id.tv_qymc, item.getQymc()); + if (item.isBAChecked()) { + viewHolder.setText(R.id.tv_djrw, "已检"); + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#00CD00"));//已经检查完成绿色 + } else { + viewHolder.setText(R.id.tv_djrw, "未检"); + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#FF0000"));//未检查完成红色 + } + } else { + int checkedCount = 0; + List xsjjhdatabean = DataSupport.where("qybh = ? and mk = ? and username = ?", item.getQybh(), type, username).find(XSJJHDataBean.class); + for (int i = 0; i < xsjjhdatabean.size(); i++) { + if (xsjjhdatabean.get(i).isChecked()) { + checkedCount++; + } + } + viewHolder.setText(R.id.tv_xh, String.valueOf(position + 1)); + 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.setText(R.id.tv_djrw, "已检"); + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#00CD00"));//已经检查完成绿色 + } else { + viewHolder.setText(R.id.tv_djrw, "未检"); + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#FF0000"));//未检查完成红色 + } + } + } + }; + + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + } else { + adapter.notifyDataSetChanged(); + } + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/NFCInfoActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/NFCInfoActivity.java new file mode 100755 index 0000000..e67620f --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/NFCInfoActivity.java @@ -0,0 +1,31 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.widget.TextView; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/NoCheckedListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/NoCheckedListActivity.java new file mode 100644 index 0000000..792c739 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/NoCheckedListActivity.java @@ -0,0 +1,142 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import com.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.DBModel.XSJJHXZDataBean; +import com.bjzc.zjdxj.DBModel.Xjjh; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CheckScxsAdapter; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import org.litepal.crud.DataSupport; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import static org.litepal.crud.DataSupport.where; + +public class NoCheckedListActivity extends BaseActivity3 implements View.OnClickListener{ + + ListView lv; + TextView tvNodata; + private View headView; + private TextView noChecked; + private CheckScxsAdapter adapter; + private List dbxjjh = new ArrayList<>(); + private List deleteZxids = new ArrayList<>(); + private Map> xsJjhDataBeanMap = new HashMap<>(); + private Map> xsJjhBaDataBeanMap = new HashMap<>(); + private String type = null; + private String username; + + @Override + public int getLayoutId() { + return R.layout.activity_checked_list; + } + + @Override + public void initView() { + initToolbar("未检", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + username = (String) SPUtils.get(context, Contans.USERID, ""); + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + Intent intent = getIntent(); + type = intent.getStringExtra("type"); + lv.setEmptyView(tvNodata); + headView = View.inflate(context, R.layout.no_checkbox_scxscb_item, null); + noChecked = headView.findViewById(R.id.tv_yjzj); + noChecked.setText("未检/总计"); + lv.addHeaderView(headView, null, false); + } + + @Override + public void initData() { + if (type != null && type.equals("BA")) { + getDataInSQLBA();//获取保安数据 + } else { + getDataInSQL();//获取运行,燃料数据 + } + setListData();//显示数据 + } + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + break; + } + } + /** + * 获取数据库的数据 + */ + public void getDataInSQLBA() { + dbxjjh.clear(); + dbxjjh.addAll(where("download = ? and mk = ? and username = ?", "1", type, username).find(Xjjh.class)); + xsJjhBaDataBeanMap.clear(); + for (int i = 0; i < dbxjjh.size(); i++) { + Xjjh dataBean = dbxjjh.get(i); + if (!dataBean.getZxid().equals("")) { + List qydDataBeen = DataSupport.where("zxid = ? and username = ?", dataBean.getZxid(), username).find(XSJJHXZDataBean.class); + int count = 0; + for (int j = 0; j < qydDataBeen.size(); j++) { + if (!qydDataBeen.get(j).isBAChecked()) { + count++; + } + } + dataBean.setCountPercent(String.valueOf(count)); + xsJjhBaDataBeanMap.put(dataBean.getZxid(), qydDataBeen); + } + } + } + /** + * 获取数据库的数据 + */ + public void getDataInSQL() { + dbxjjh.clear(); + dbxjjh.addAll(where("download = ? and mk = ? and username = ?", "1", type, username).find(Xjjh.class)); + xsJjhDataBeanMap.clear(); + for (int i = 0; i < dbxjjh.size(); i++) { + Xjjh dataBean = dbxjjh.get(i); + List qydDataBeen = DataSupport.where("zxid = ? and username = ?", dataBean.getZxid(), username).find(XSJJHDataBean.class); + Log.i("app", String.valueOf(qydDataBeen.size())); + int count = 0; + for (int j = 0; j < qydDataBeen.size(); j++) { + if (!qydDataBeen.get(j).isChecked()) { + count++; + } + } + dataBean.setCountPercent(String.valueOf(count)); + xsJjhDataBeanMap.put(dataBean.getZxid(), qydDataBeen); + } + } + /** + * 列表适配数据 + */ + private void setListData() { + adapter = new CheckScxsAdapter(context, dbxjjh); + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, i, l) -> { + Xjjh item = dbxjjh.get(i-1); + Bundle bundle = new Bundle(); + Intent intent = new Intent(this, CheckedStatusListActivity.class); + intent.putExtra("type", type); + intent.putExtra("checkType", "noChecked"); + intent.putExtra("zxid", item.getZxid()); + intent.putExtras(bundle); + startActivity(intent); + }); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/SbxjcjsbActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/SbxjcjsbActivity.java new file mode 100755 index 0000000..810ca5d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/SbxjcjsbActivity.java @@ -0,0 +1,337 @@ +package com.bjzc.zjdxj.activity.sbxj; + +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.Build; +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import com.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.MyFragmentAdapter; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.SetxjSbModel; +import com.bjzc.zjdxj.bleUtil.BluetoothLeService; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.AutoRadioGroup; +import com.bjzc.zjdxj.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.fragment.app.Fragment; + + +/** + * Created by ruihong on 2017/11/30. + */ + +public class SbxjcjsbActivity extends BaseActivity3 implements View.OnClickListener { + + 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 String username; + private String smfs; + private String type = null; + + //新数据 + private ArrayList xsjjhDataBeanArrayList; + private ArrayList setSbModelList; + + + @Override + public int getLayoutId() { + return R.layout.activity_sbxjcjsb; + } + + @Override + public void initView() { + username = (String) SPUtils.get(context, Contans.USERID, ""); + 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 + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + + Intent intent2 = new Intent(SbxjcjsbActivity.this, SbxjcjsbActivity.class); + intent2.putParcelableArrayListExtra("setSbModelList", setSbModelList); + setResult(RESULT_OK, intent2); + finish(); + + break; + case R.id.tv_right://这里 + + break; + } + } + + @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("设备巡检详情", "", this); + registerReceiver(mGattUpdateReceiver, makeGattUpdateIntentFilter()); + Bundle bundle = SbxjcjsbActivity.this.getIntent().getExtras(); + if (bundle != null) { + isEdit = bundle.getBoolean("edit"); + smfs = bundle.getString("smfs"); + 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"); + type = bundle.getString("type"); + 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) { + + 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 (xsjjhDataBeanArrayList.size() != 0) { + if (!btnLast.isEnabled()) { + btnLast.setEnabled(true); + } + if (isEdit) { + + if (!xjcjFragment.getCJJG().equals("")) { + ContentValues values = new ContentValues(); + values.put("smfs", smfs); + values.put("checked", true); + values.put("CJJG", xjcjFragment.getCJJG()); + if(xjcjFragment.getYc_Fxnr()!=null){ + 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 mk = ? and username = ? ", xsjjhDataBeanArrayList.get(item - 1).getScid(),type,username); + 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,xsjjhDataBeanArrayList.get(item - 1).getScid()); + } + } 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,String scid) { + Intent intent = new Intent(Contans.ACTION_YULONE); + //intent.putExtra(Contans.KEY_POSITION, position); + intent.putExtra(Contans.KEY_NAME, name); + intent.putExtra(Contans.SCID, scid); + //发送广播 + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/ScxsjhFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/ScxsjhFragment.java new file mode 100755 index 0000000..9d606e8 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/ScxsjhFragment.java @@ -0,0 +1,568 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +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.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.DBModel.XSJJHXZDataBean; +import com.bjzc.zjdxj.DBModel.Xjjh; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.ScxsAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.ScxjjhBean; +import com.bjzc.zjdxj.bean.StatusInfo2; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.utils.UiUtlis; +import com.bjzc.zjdxj.weight.MeasureDialog; +import com.bjzc.zjdxj.weight.WaitDialog; +import com.bjzc.zjdxj.weight.toastviewbymyself; +import com.google.gson.Gson; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.OnResponseListener; +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 java.util.Objects; +import static org.litepal.crud.DataSupport.where; + +/** + * 设备巡点检管理-点检点上传 + */ +public class ScxsjhFragment extends BaseFragment { + + ListView lv; + Button btn_sc; + Button btn_del; + TextView tvNodata; + + 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 int checked = 0; + private int uploadIndex = 0; + private List dbxjjh = new ArrayList<>(); + private List deleteZxids = new ArrayList<>(); + private Map> xsJjhDataBeanMap = new HashMap<>(); + private Map> xsJjhBaDataBeanMap = new HashMap<>(); + private String type = null; + private String username; + + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Contans.ACTION_REFRESHPLANUPLOAD.equals(action)) { + //刷新页面 + initData(); + } + } + }; + + public ScxsjhFragment() { + + } + + public ScxsjhFragment(String type) { + this.type = type; + } + + public static ScxsjhFragment newInstance(String type) { + ScxsjhFragment fragment = new ScxsjhFragment(type); + 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); + + queue = NoHttp.newRequestQueue(1); + username = (String) SPUtils.get(context, Contans.USERID, ""); + 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); + lv.addHeaderView(headView, null, false); + xj_cb.setOnClickListener(view -> { + + if (xj_cb.isChecked()) { + for (int i = 0; i < dbxjjh.size(); i++) { + dbxjjh.get(i).setChecked(true); + adapter.notifyDataSetChanged(); + } + } else { + for (int i = 0; i < dbxjjh.size(); i++) { + dbxjjh.get(i).setChecked(false); + adapter.notifyDataSetChanged(); + } + } + }); + btn_sc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (type != null && type.equals("BA")) { + //上传勾选中的保安数据 + uploadDataCheckBA(); + } else { + //上传勾选中的运行和燃料数据 + uploadDataCheck(); + } + } + }); + btn_del.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //删除勾选中的数据 + deleteData(); + } + }); + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_REFRESHPLANUPLOAD); + ScxsjhFragment.this.requireActivity().registerReceiver(myReceiver, filter); + } + + + @Override + public int getContentViewId() { + return R.layout.fragment_xssc; + } + + public void initData() { + xj_cb.setChecked(false); + if (type != null && type.equals("BA")) { + getDataInSQLBA();//获取保安数据 + } else { + getDataInSQL();//获取运行,燃料数据 + } + setListData();//显示数据 + } + + + /** + * 获取数据库的数据 + */ + public void getDataInSQL() { + dbxjjh.clear(); + dbxjjh.addAll(where("download = ? and mk = ? and username = ?", "1", type, username).find(Xjjh.class)); + //Log.i("app", String.valueOf(dbxjjh.size())); + xsJjhDataBeanMap.clear(); + for (int i = 0; i < dbxjjh.size(); i++) { + Xjjh dataBean = dbxjjh.get(i); + //Log.i("app", dataBean.getZxid()); + //Gson gson = new Gson(); + //Log.i("app", gson.toJson(dataBean)); + List qydDataBeen = DataSupport.where("zxid = ? and username = ?", dataBean.getZxid(), username).find(XSJJHDataBean.class); + //zxid = dataBean.getZxid(); + //Log.i("app", String.valueOf(qydDataBeen.size())); + int count = 0; + for (int j = 0; j < qydDataBeen.size(); j++) { + if (qydDataBeen.get(j).isChecked()) { + count++; + } + } + dataBean.setCountPercent(String.valueOf(count)); + xsJjhDataBeanMap.put(dataBean.getZxid(), qydDataBeen); + if (count != 0) { + toastviewbymyself.makeText(getActivity(), "有巡检数据未上传,请检查!!!", Toast.LENGTH_LONG).show(); + } + } + } + + private void setListData() { + adapter = new ScxsAdapter(context, dbxjjh, view -> { + CheckBox checkBox = (CheckBox) view; + int index = (int) checkBox.getTag(); + dbxjjh.get(index).setChecked(checkBox.isChecked()); + int count = 0; + for (int a = 0; a < dbxjjh.size(); a++) { + if (dbxjjh.get(a).isChecked()) { + count++; + } + } + xj_cb.setChecked(count == dbxjjh.size()); + adapter.notifyDataSetChanged(); + }); + lv.setAdapter(adapter); + lv.setOnItemClickListener((adapterView, view, i, l) -> { + dbxjjh.get(i - 1).setChecked(!dbxjjh.get(i - 1).isChecked()); + int count = 0; + for (int a = 0; a < dbxjjh.size(); a++) { + if (dbxjjh.get(a).isChecked()) { + count++; + } + } + xj_cb.setChecked(count == dbxjjh.size()); + adapter.notifyDataSetChanged(); + }); + } + + /** + * 获取数据库的数据 + */ + public void getDataInSQLBA() { + dbxjjh.clear(); + dbxjjh.addAll(where("download = ? and mk = ? and username = ?", "1", type, username).find(Xjjh.class)); + //Log.i("app", String.valueOf(dbxjjh.size())); + xsJjhBaDataBeanMap.clear(); + for (int i = 0; i < dbxjjh.size(); i++) { + Xjjh dataBean = dbxjjh.get(i); + //Log.i("app", dataBean.getZxid()); + //Gson gson = new Gson(); + //Log.i("app", gson.toJson(dataBean)); + if (!dataBean.getZxid().equals("")) { + List qydDataBeen = DataSupport.where("zxid = ? and username = ?", dataBean.getZxid(), username).find(XSJJHXZDataBean.class); + //Log.i("app", String.valueOf(qydDataBeen.size())); + int count = 0; + for (int j = 0; j < qydDataBeen.size(); j++) { + if (qydDataBeen.get(j).isBAChecked()) { + count++; + } + } + dataBean.setCountPercent(String.valueOf(count)); + xsJjhBaDataBeanMap.put(dataBean.getZxid(), qydDataBeen); + if (count != 0) { + toastviewbymyself.makeText(getActivity(), "有巡检数据未上传,请检查!!!", Toast.LENGTH_LONG).show(); + } + } + } + } + + private void uploadDataCheck() { + boolean isSelectUpLoad = false; + for (int i = 0; i < dbxjjh.size(); i++) { + if (dbxjjh.get(i).isChecked()) { + isSelectUpLoad = true; + } + } + if(!isSelectUpLoad){ + showToast("请选择要上传的计划"); + }else{ + MeasureDialog measureDialog = new MeasureDialog(context, "确定要上传选中的计划吗?", new MeasureDialog.AuditDialogListener() { + @Override + public void confirm() { + uploadData(); + } + + @Override + public void cancel() { + + } + }); + measureDialog.show(); + } + } + + private void uploadData() { + int noCheck = 0;//没有检查的数量 + for (int i = 0; i < dbxjjh.size(); i++) { + String zxid = dbxjjh.get(i).getZxid(); + ScxjjhBean scxjjhbean = new ScxjjhBean(); + scxjjhbean.setAction("YX_XJGL_RWSC_SET"); + scxjjhbean.setQZWC(0); + if (dbxjjh.get(i).isChecked()) { + List xsjjhdatabeanList = xsJjhDataBeanMap.get(dbxjjh.get(i).getZxid()); + scxjjhbean.setZxid(dbxjjh.get(i).getZxid()); + List datalist = new ArrayList<>(); + for (int j = 0; j < xsjjhdatabeanList.size(); j++) { + ScxjjhBean.data datas = new ScxjjhBean.data(); + datas.setScid(xsjjhdatabeanList.get(j).getScid()); + if (xsjjhdatabeanList.get(j).getDbh() != null) { + datas.setDbh(xsjjhdatabeanList.get(j).getDbh()); + } else { + datas.setDbh(""); + } + if (xsjjhdatabeanList.get(j).getCJJG() == null) { + datas.setCbsz(""); + noCheck++; + } 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).getSmfs() != null) { + datas.setSmfx(xsjjhdatabeanList.get(j).getSmfs()); + } else { + datas.setSmfx(""); + } + if (xsjjhdatabeanList.get(j).getFxnr() != null) { + datas.setFxnr(xsjjhdatabeanList.get(j).getFxnr()); + } else { + datas.setFxnr(""); + } + datas.setZcmc((String) SPUtils.get(context, Contans.BZBH, "")); + datas.setCbr((String) SPUtils.get(context, Contans.USERID, "")); + datalist.add(datas); + } + scxjjhbean.setData(datalist); + if (noCheck > 0) { //如果未检查的数量大于0 则提示有未检查的项目 + scxjjhbean.setQZWC(0); + final String json = GsonUtils.GsonString(scxjjhbean); + sCData(json,zxid); + } else { + final String json = GsonUtils.GsonString(scxjjhbean); + sCData(json,zxid); + } + } + } + } + + private void sCData(String json,String zxid) { + Request request = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + //Log.i("app", json); + request.setDefineRequestBodyForJson(json); + queue.add(1, request, new OnResponseListener(){ + + @Override + public void onStart(int what) { + dialog.show(); + } + + @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("上传数据成功"); + DataSupport.deleteAll(XSJJHXZDataBean.class, "zxid = ? and username = ?", zxid, username); + DataSupport.deleteAll(XSJJHDataBean.class, "zxid = ? and username = ?", zxid, username); + DataSupport.deleteAll(Xjjh.class, "zxid = ? and username = ?", zxid, username); + //刷新页面 + initData(); + //刷新计划下载界面 + Intent intent = new Intent(Contans.ACTION_REFRESHDOWNLOADPLAN); + //发送广播,刷新任务下载页面 + requireActivity().sendBroadcast(intent); + } else { + showToast("上传数据失败"); + } + } + } catch (Exception e) { + showToast(UiUtlis.getString(context, R.string.data_error)); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + + @Override + public void onFinish(int what) { + dialog.dismiss(); + } + }); + } + + private void uploadDataCheckBA() { + boolean isSelectUpLoad = false; + for (int i = 0; i < dbxjjh.size(); i++) { + if (dbxjjh.get(i).isChecked()) { + isSelectUpLoad = true; + } + } + if(!isSelectUpLoad){ + showToast("请选择要上传的计划"); + }else{ + MeasureDialog measureDialog = new MeasureDialog(context, "确定要上传选中的计划吗?", new MeasureDialog.AuditDialogListener() { + @Override + public void confirm() { + uploadDataBA(); + } + + @Override + public void cancel() { + + } + }); + measureDialog.show(); + } + } + + private void uploadDataBA() { + int noCheck = 0;//没有检查的数量 + for (int i = 0; i < dbxjjh.size(); i++) { + if (dbxjjh.get(i).isChecked()) { + String zxid = dbxjjh.get(i).getZxid(); + ScxjjhBean scxjjhbean = new ScxjjhBean(); + scxjjhbean.setAction("BA_XJGL_RWSC_SET"); + scxjjhbean.setQZWC(0); + List xsjjhdatabeanList = xsJjhBaDataBeanMap.get(dbxjjh.get(i).getZxid()); + //Log.i("app", String.valueOf(noCheck)); + //Log.i("app", GsonUtils.GsonString(xsjjhdatabeanList)); + scxjjhbean.setZxid(dbxjjh.get(i).getZxid()); + List datalist = new ArrayList<>(); + for (int j = 0; j < xsjjhdatabeanList.size(); j++) { + //Log.i("app",(String) SPUtils.get(context, Contans.USERID, "")); + if (!xsjjhdatabeanList.get(j).isBAChecked()) { + noCheck++; + } + ScxjjhBean.data datas = new ScxjjhBean.data(); + datas.setScid(xsjjhdatabeanList.get(j).getScid()); + datas.setDbh(xsjjhdatabeanList.get(j).getQybh()); + if (xsjjhdatabeanList.get(j).isBAChecked()) { + datas.setCbsz("已检"); + } else { + datas.setCbsz(""); + } + if (xsjjhdatabeanList.get(j).getDATE() == null) { + datas.setDjsj(""); + } else { + datas.setDjsj(xsjjhdatabeanList.get(j).getDATE()); + } + datas.setZcmc((String) SPUtils.get(context, Contans.BZBH, "")); + datas.setCbr((String) SPUtils.get(context, Contans.USERID, "")); + if (xsjjhdatabeanList.get(j).getFxnr() == null) { + datas.setFxnr(""); + } else { + datas.setFxnr(xsjjhdatabeanList.get(j).getFxnr()); + } + if (xsjjhdatabeanList.get(j).getSmfs() != null) { + datas.setSmfx(xsjjhdatabeanList.get(j).getSmfs()); + } else { + datas.setSmfx(""); + } + if (xsjjhdatabeanList.get(j).getDjsj() == null) { + datas.setDjsj(""); + } else { + datas.setDjsj(xsjjhdatabeanList.get(j).getDjsj()); + } + datalist.add(datas); + } + scxjjhbean.setData(datalist); + if (noCheck > 0) { + //如果未检查的数量大于0 则提示有未检查的项目 + scxjjhbean.setQZWC(0); + final String json = GsonUtils.GsonString(scxjjhbean); + sCDataBA(json,zxid); + } else { + final String json = GsonUtils.GsonString(scxjjhbean); + sCDataBA(json,zxid); + } + } + } + } + + private void sCDataBA(String json,String zxid) { +// Log.i("app", Contans.IP + Contans.XSCB_PLAN_BA_UPLOAD); +// Log.i("app", json); + Request request = NoHttp.createStringRequest(Contans.IP + Contans.XSCB_PLAN_BA_UPLOAD, RequestMethod.POST); + request.setDefineRequestBodyForJson(json); + queue.add(2, request, new OnResponseListener(){ + @Override + public void onStart(int what) { + dialog.show(); + } + + @Override + public void onSucceed(int what, Response response) { + Gson gson = new Gson(); + //Log.i("app", gson.toJson(response.get())); + StatusInfo2 info = GsonUtils.GsonToBean(response.get(), StatusInfo2.class); + try { + if (what == 2) { + if (info.getState() == 1) { //成功 + showToast("上传数据成功"); + DataSupport.deleteAll(XSJJHXZDataBean.class, "zxid = ? and username = ?", zxid, username); + DataSupport.deleteAll(XSJJHDataBean.class, "zxid = ? and username = ?", zxid, username); + DataSupport.deleteAll(Xjjh.class, "zxid = ? and username = ?", zxid, username); + //刷新页面 + initData(); + //刷新计划下载界面 + Intent intent = new Intent(Contans.ACTION_REFRESHDOWNLOADPLAN); + //发送广播,刷新任务下载页面 + requireActivity().sendBroadcast(intent); + } else { + showToast("上传数据失败"); + } + } + } catch (Exception e) { + showToast(UiUtlis.getString(context, R.string.data_error)); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + + @Override + public void onFinish(int what) { + dialog.dismiss(); + } + }); + } + + private void deleteData() { + int count = 0; + for (int a = 0; a < dbxjjh.size(); a++) { + if (dbxjjh.get(a).isChecked()) { + count++; + } + } + if (count == 0) { + showToast("请选择要删除的计划"); + return; + } + MeasureDialog measureDialog = new MeasureDialog(context, "你确定要删除?", new MeasureDialog.AuditDialogListener() { + @Override + public void confirm() { + for (int i = 0; i < dbxjjh.size(); i++) { + if (dbxjjh.get(i).isChecked()) { + DataSupport.deleteAll(XSJJHXZDataBean.class, "zxid = ? and username = ?", dbxjjh.get(i).getZxid(), username); + DataSupport.deleteAll(XSJJHDataBean.class, "zxid = ? and username = ?", dbxjjh.get(i).getZxid(), username); + DataSupport.deleteAll(Xjjh.class, "zxid = ? and username = ?", dbxjjh.get(i).getZxid(), username); + } + } + + //刷新页面 + initData(); + //刷新计划下载界面 + Intent intent = new Intent(Contans.ACTION_REFRESHDOWNLOADPLAN); + //发送广播,刷新任务下载页面 + ScxsjhFragment.this.requireActivity().sendBroadcast(intent); + } + + @Override + public void cancel() { + + } + }); + measureDialog.show(); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + ScxsjhFragment.this.requireActivity().unregisterReceiver(myReceiver); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/SxSbListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/SxSbListActivity.java new file mode 100755 index 0000000..07c0c37 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/SxSbListActivity.java @@ -0,0 +1,197 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.DBModel.XSJJHXZDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/SxgzActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/SxgzActivity.java new file mode 100755 index 0000000..a934513 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/SxgzActivity.java @@ -0,0 +1,697 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.Manifest; +import android.content.ContentValues; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.graphics.Color; +import android.os.Build; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import com.bjzc.zjdxj.DBModel.UploadLocation; +import com.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.DBModel.XSJJHXZDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.base.MipcaActivityCapture; +import com.bjzc.zjdxj.bean.PointCheckedPersion; +import com.bjzc.zjdxj.bean.XsRequestInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NoProgresshttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.BaCheckDialog; +import com.bjzc.zjdxj.weight.toastviewbymyself; +import com.rinsun.mtdriver.MTnativeInterface; +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import static com.bjzc.zjdxj.utils.GsonUtils.GsonToBean; +import static org.litepal.crud.DataSupport.where; + + +public class SxgzActivity extends BaseActivity3 { + + ListView lv; + TextView tvNodata; + TextView total_point; + TextView total_no_check; + TextView total_checked; + LinearLayout ll_nocheck; + LinearLayout ll_check; + + private View headView; + private TextView tv_djrw; + private static final int CAMERA_REQUEST_CODE = 3;//请求码 + private CommonAdapter adapter; + private List xsjjhxzDataBeanList = new ArrayList<>(); + private List checkedList = new ArrayList<>(); + private List noCheckeList = new ArrayList<>(); + private List checkedListBA = new ArrayList<>(); + private List noCheckeListBA = new ArrayList<>(); + private List qybh = new ArrayList<>(); + private ArrayList xsjjhDataBeanArrayList = new ArrayList<>();//点检记录列表 + String nfcValue = null; + String lastNfcbm = null; + private String type = null; + private String username; + BaCheckDialog auditDialog = null; + + @Override + public int getLayoutId() { + return R.layout.activity_xsgz; + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (CAMERA_REQUEST_CODE==requestCode){ + if (grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION_GRANTED) { + //扫码 + goScan(); + }else { + //权限拒绝 + Toast.makeText(this, "你拒绝了权限申请,无法打开相机扫码哟!", Toast.LENGTH_SHORT).show(); + } + } + } + + private void goScan() { + Intent intent = new Intent(SxgzActivity.this, MipcaActivityCapture.class); + startActivityForResult(intent, 1); + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + total_point = findViewById(R.id.total_point); + total_no_check = findViewById(R.id.total_no_check); + total_checked = findViewById(R.id.total_checked); + ll_nocheck = findViewById(R.id.ll_nocheck); + ll_check = findViewById(R.id.ll_check); + + Intent intent = getIntent(); + type = intent.getStringExtra("type"); + username = (String) SPUtils.get(context, Contans.USERID, ""); + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.xsgz_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + tv_djrw = headView.findViewById(R.id.tv_djrw); + if (type != null && type.equals("BA")) { + tv_djrw.setText("已检/未检"); + } + auditDialog = new BaCheckDialog(context, "", new BaCheckDialog.AuditDialogListener() { + @Override + public void confirm(String notice) { + + } + }); + //NFC初始化 + initNFC(); + +// lv.setOnScrollChangeListener(new View.OnScrollChangeListener() { +// @Override +// public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { +// nfcValue = null; +// } +// }); + ll_check.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Bundle bundle = new Bundle(); + Intent intent = new Intent(SxgzActivity.this, CheckedListActivity.class); +// bundle.putParcelableArrayList("xsjjhDataBeanArrayList", xsjjhDataBeanArrayList); +// bundle.putBoolean("edit", false); +// bundle.putInt(Contans.KEY_ITEM, 0); +// bundle.putString("LX", "Click"); +// bundle.putString("LXResult", "LXResult"); +// bundle.putString("qybh", xsjjhxzDataBeanList.get(postion - 1).getQybh()); + intent.putExtra("type", type); + intent.putExtras(bundle); + startActivity(intent); + } + }); + ll_nocheck.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Bundle bundle = new Bundle(); + Intent intent = new Intent(SxgzActivity.this, NoCheckedListActivity.class); +// bundle.putParcelableArrayList("xsjjhDataBeanArrayList", xsjjhDataBeanArrayList); +// bundle.putBoolean("edit", false); +// bundle.putInt(Contans.KEY_ITEM, 0); +// bundle.putString("LX", "Click"); +// bundle.putString("LXResult", "LXResult"); +// bundle.putString("qybh", xsjjhxzDataBeanList.get(postion - 1).getQybh()); + intent.putExtra("type", type); + intent.putExtras(bundle); + startActivity(intent); + } + }); + initToolbar("巡检工作(请使用NFC)", "扫码", new View.OnClickListener() { + @Override + public void onClick(View v) { + //动态权限申请 + if (ContextCompat.checkSelfPermission(SxgzActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { + ActivityCompat.requestPermissions(SxgzActivity.this, new String[]{Manifest.permission.CAMERA}, CAMERA_REQUEST_CODE); + } else { + //扫码 + goScan(); + } + } + }); + } + + public void initData() { + getDataInSqlite(); + setListData(); + } + + @Override + public void handleNfc(String result) { + super.handleNfc(result); + handleNfcCheck(result); + //handleNfcCheck("04B46E8AF36780"); + } + + //加载数据库中已经下载的计划 + private void getDataInSqlite() { + xsjjhxzDataBeanList.clear(); + checkedListBA.clear(); + noCheckeListBA.clear(); + checkedList.clear(); + noCheckeList.clear(); + List planTemp = where("mk = ? and username = ?", type, username).find(XSJJHXZDataBean.class); + //DataSupport.findAll(XSJJHXZDataBean.class); + List planTemp1 = this.removeDuplicate(planTemp); + xsjjhxzDataBeanList.addAll(planTemp1); + Log.i("app", String.valueOf(xsjjhxzDataBeanList.size())); + for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) { + XSJJHXZDataBean item = xsjjhxzDataBeanList.get(i); + if (type != null && type.equals("BA")) { + if(item.isBAChecked()){ + checkedListBA.add(item); + }else{ + noCheckeListBA.add(item); + } + }else{ + int checkedCount = 0; + List xsjjhdatabean = DataSupport.where("qybh = ? and mk = ? and username = ?", item.getQybh(), type, username).find(XSJJHDataBean.class); + for (int j = 0; j< xsjjhdatabean.size(); j++) { + if (xsjjhdatabean.get(j).isChecked()) { + checkedCount++; + } + } + int a = checkedCount; + int b = xsjjhdatabean.size(); + if (a == b) { + checkedList.add(item); + } else { + noCheckeList.add(item); + } + } + } + total_point.setText(String.valueOf(xsjjhxzDataBeanList.size())); + if (type != null && type.equals("BA")) { + total_no_check.setText(String.valueOf(noCheckeListBA.size())); + total_checked.setText(String.valueOf(checkedListBA.size())); + }else{ + total_no_check.setText(String.valueOf(noCheckeList.size())); + total_checked.setText(String.valueOf(checkedList.size())); + } + } + + public List removeDuplicate(List list) { + for (int i = 0; i < list.size() - 1; i++) { + for (int j = list.size() - 1; j > i; j--) { + if (list.get(j).getQybh().equals(list.get(i).getQybh())) { + list.remove(j); + } + } + } + return list; + } + + 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) { + if (type != null && type.equals("BA")) { + viewHolder.setText(R.id.tv_xh, String.valueOf(position + 1)); + viewHolder.setText(R.id.tv_qymc, item.getQymc()); + if (item.isBAChecked()) { + viewHolder.setText(R.id.tv_djrw, "已检"); + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#00CD00"));//已经检查完成绿色 + } else { + viewHolder.setText(R.id.tv_djrw, "未检"); + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#FF0000"));//未检查完成红色 + } + } else { + int checkedCount = 0; + List xsjjhdatabean = DataSupport.where("qybh = ? and mk = ? and username = ?", item.getQybh(), type, username).find(XSJJHDataBean.class); + for (int i = 0; i < xsjjhdatabean.size(); i++) { + if (xsjjhdatabean.get(i).isChecked()) { + checkedCount++; + } + } + viewHolder.setText(R.id.tv_xh, String.valueOf(position + 1)); + 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) -> { + if (type != null && type.equals("BA")) { + //showToast("请使用NFC进行巡检"); + //showToast(String.valueOf(postion)); + //保安巡检 + XSJJHXZDataBean itemQY = xsjjhxzDataBeanList.get(postion - 1); + if (itemQY != null) { + String content = null; + String notice = null; + content = itemQY.getXjnr(); + notice = itemQY.getFxnr(); + if (content == null) { + content = ""; + } + if(notice==null){ + notice=""; + } + + BaCheckDialog auditDialog = new BaCheckDialog(context, content, new BaCheckDialog.AuditDialogListener() { + @Override + public void confirm(String notice) { + + } + }); + //auditDialog.hideNotice(); + auditDialog.setTvTitle("巡检内容"); + auditDialog.setNotice(notice); + auditDialog.hideNotice(notice); + auditDialog.setCancelable(true); + auditDialog.hideBottomClick(); + auditDialog.show(); + } + + + } else { + showToast("请使用NFC进行巡检"); + nfcValue = "click"; + xsjjhDataBeanArrayList.clear(); + //List xsjjhdatabean = DataSupport.where("qybh = ?",xsjjhxzDataBeanList.get(postion - 1).getQybh()).find( XSJJHDataBean.class); + xsjjhDataBeanArrayList.addAll(where("qybh = ? and mk = ? and username = ?", xsjjhxzDataBeanList.get(postion - 1).getQybh(), type, username).find(XSJJHDataBean.class)); + Log.i("app", String.valueOf(xsjjhDataBeanArrayList.size())); + Log.i("app", String.valueOf(postion)); + 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.putString("qybh", xsjjhxzDataBeanList.get(postion - 1).getQybh()); + intent.putExtra("type", type); + bundle.putInt("from", 0); + intent.putExtras(bundle); + startActivity(intent); + } + } + }); + } else { + adapter.notifyDataSetChanged(); + } + } + + + //处理NFC的数据 + public void handleNfcCheck(String result) { + if (type != null && type.equals("BA")) { + //保安巡检 + List planNFC = where("nfcbm = ? and mk = ? and username = ?", result, type, username).find(XSJJHXZDataBean.class); + if (planNFC != null && planNFC.size() > 0) { + XSJJHXZDataBean itemQY = planNFC.get(0); + String content = null; + String notice = null; + content = itemQY.getXjnr(); + notice = itemQY.getFxnr(); + if (content == null) { + content = ""; + } + if(notice==null){ + notice=""; + } + ContentValues values = new ContentValues(); + values.put("isBAChecked", true); + values.put("smfs", "N"); +// if(notice!=null){ +// values.put("fxnr", notice); +// } + values.put("djsj", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + values.put("DATE", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + DataSupport.updateAll(XSJJHXZDataBean.class, values, "nfcbm = ? and mk = ? and username = ?", result, type, username); + initData(); + //toastviewbymyself.makeText(SxgzActivity.this, "有数据", Toast.LENGTH_SHORT).show(); + auditDialog.setTvMsg(content); + auditDialog.setNotice(notice); + auditDialog.setTvTitle("巡检内容"); + auditDialog.setCancelable(true); + auditDialog.show(); + } else { + nfcValue = null; + //getLastUploadUser(result); + toastviewbymyself.makeText(SxgzActivity.this, "无数据请联系管理员", Toast.LENGTH_SHORT).show(); + } + } else { + //运行,燃料巡检 + List xsjjhDataBeen = DataSupport.where("nfcbm = ? and mk = ? and username = ?", result, type, username).find(XSJJHDataBean.class); + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(xsjjhDataBeen); + if (xsjjhDataBeen.size() == 0) { + nfcValue = null; + //getLastUploadUser(result); + 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); + intent.putExtra("type", type); + intent.putExtra("smfs", "N"); + bundle3.putInt("from", 0); + intent.putExtras(bundle3); +// ContentValues values = new ContentValues(); +// values.put("second", "YES"); + startActivity(intent); + } + } + //上传当前位置 +// if(lastNfcbm==null){ +// Log.i("app","==null"); +// this.lastNfcbm=result; +// String now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); +// List uploadLocations = where("nfcbm = ? and username = ?", result, username).find(UploadLocation.class); +// List currentLocations = new ArrayList<>(); +// if(uploadLocations.size()>0){ +//// Log.i("app","----------------"); +//// Log.i("app",String.valueOf(uploadLocations.size())); +// currentLocations.clear(); +// DataSupport.deleteAll(UploadLocation.class, "nfcbm = ? and username = ?",result,username); +// UploadLocation uploadLocatio = new UploadLocation(); +// uploadLocatio.setDjsj(now); +// uploadLocatio.setNfcbm(result); +// uploadLocatio.setUsername(username); +// currentLocations.add(uploadLocatio); +// DataSupport.saveAll(currentLocations); +// }else{ +// currentLocations.clear(); +// UploadLocation uploadLocatio = new UploadLocation(); +// uploadLocatio.setDjsj(now); +// uploadLocatio.setNfcbm(result); +// uploadLocatio.setUsername(username); +// currentLocations.add(uploadLocatio); +// DataSupport.saveAll(currentLocations); +// } +// //上传数据 +// for(UploadLocation item : currentLocations){ +// uploadLocationByNFC(item); +// } +// }else{ +// Log.i("app","!=null"); +// if(!lastNfcbm.equals(result)){ +// Log.i("app","lastNfcbm.equals(result)"); +// String now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); +// List uploadLocations = where("nfcbm = ? and username = ?", result, username).find(UploadLocation.class); +// List currentLocations = new ArrayList<>(); +// if(uploadLocations.size()>0){ +//// Log.i("app","----------------"); +//// Log.i("app",String.valueOf(uploadLocations.size())); +// currentLocations.clear(); +// DataSupport.deleteAll(UploadLocation.class, "nfcbm = ? and username = ?",result,username); +// UploadLocation uploadLocatio = new UploadLocation(); +// uploadLocatio.setDjsj(now); +// uploadLocatio.setNfcbm(result); +// uploadLocatio.setUsername(username); +// currentLocations.add(uploadLocatio); +// DataSupport.saveAll(currentLocations); +// }else{ +// currentLocations.clear(); +// UploadLocation uploadLocatio = new UploadLocation(); +// uploadLocatio.setDjsj(now); +// uploadLocatio.setNfcbm(result); +// uploadLocatio.setUsername(username); +// currentLocations.add(uploadLocatio); +// DataSupport.saveAll(currentLocations); +// } +// //上传数据 +// for(UploadLocation item : currentLocations){ +// uploadLocationByNFC(item); +// } +// } +// } + + //保安巡检 +// List uploadLocations = where("nfcbm = ? and username = ?", result, username).find(UploadLocation.class); +// Log.i("app","----------------"); +// Log.i("app",String.valueOf(uploadLocations.size())); + } + + + + //处理二维码的数据 + public void handleTwoCodeCheck(String result) { + if (type != null && type.equals("BA")) { + //保安巡检 + List planNFC = where("txm = ? and txm_zt = 1 and mk = ? and username = ?", result, type, username).find(XSJJHXZDataBean.class); + if (planNFC != null && planNFC.size() > 0) { + XSJJHXZDataBean itemQY = planNFC.get(0); + String content = null; + String notice = null; + content = itemQY.getXjnr(); + notice = itemQY.getFxnr(); + if (content == null) { + content = ""; + } + if(notice==null){ + notice=""; + } + ContentValues values = new ContentValues(); + values.put("isBAChecked", true); + values.put("smfs", "E"); +// if(notice!=null){ +// values.put("fxnr", notice); +// } + values.put("DATE", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + values.put("djsj", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + DataSupport.updateAll(XSJJHXZDataBean.class, values, "txm = ? and txm_zt = 1 and mk = ? and username = ?", result, type, username); + initData(); + + BaCheckDialog auditDialog = new BaCheckDialog(context, content, new BaCheckDialog.AuditDialogListener() { + @Override + public void confirm(String notice) { + + } + }); + auditDialog.setNotice(notice); + auditDialog.setTvTitle("巡检内容"); + auditDialog.setCancelable(true); + auditDialog.show(); + } else { + nfcValue = null; + toastviewbymyself.makeText(SxgzActivity.this, "无数据请联系管理员", Toast.LENGTH_SHORT).show(); + } + } else { + List scranTwoCodeList = where("txm = ? and txm_zt = 1 and mk = ? and username = ?", result, type, username).find(XSJJHXZDataBean.class); + if(scranTwoCodeList!=null&&scranTwoCodeList.size()<=0){ + showToast("无数据请联系管理员"); + return; + } + //运行,燃料巡检 + List xsjjhDataBeen = DataSupport.where("qybh = ? and mk = ? and username = ?", result, type, username).find(XSJJHDataBean.class); + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(xsjjhDataBeen); + if (xsjjhDataBeen.size() == 0) { + nfcValue = null; + 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", "EWM"); + bundle3.putString("LXResult", result); + intent.putExtra("type", type); + intent.putExtra("smfs", "E"); + bundle3.putInt("from", 0); + intent.putExtras(bundle3); +// ContentValues values = new ContentValues(); +// values.put("second", "YES"); + startActivity(intent); + } + } + } + + private void uploadLocationByNFC(UploadLocation uploadLocatio) { + Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XJ_UPLOAD_LOCATION_CHECKED, RequestMethod.POST); + requestxs.setDefineRequestBodyForJson(createJsonByUploadLocation(uploadLocatio)); + NoProgresshttpUtils.getInstance().add(this, 1, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + +// Log.i("app","----------------"); +// Log.i("app",response.get()); + PointCheckedPersion bean = GsonToBean(response.get(), PointCheckedPersion.class); + if(bean.getState()==1){ + DataSupport.deleteAll(UploadLocation.class, "nfcbm = ? and username = ?",uploadLocatio.getNfcbm(),uploadLocatio.getUsername()); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private String createJsonByUploadLocation(UploadLocation uploadLocatio) { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("XJ_LOCATION_CHECKED"); + info.setNfcbm(uploadLocatio.getNfcbm()); + info.setDjsj(uploadLocatio.getDjsj()); + info.setUsername(uploadLocatio.getUsername()); + String json = GsonUtils.GsonString(info); + //Log.i("app",json); + return json; + } + + private void getLastUploadUser(String nfcbm) { + + Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.LAST_UPLOAD_POINT_CHECKED, RequestMethod.POST); + requestxs.setDefineRequestBodyForJson(createJsonByLastUploadUser(nfcbm)); + NoProgresshttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + +// Log.i("app","----------------"); +// Log.i("app",response.get()); + PointCheckedPersion bean = GsonToBean(response.get(), PointCheckedPersion.class); + if(bean.getState()==1){ + if(bean.getData().size()>0){ + String msg = ""; + PointCheckedPersion.DataBean item = bean.getData().get(0); + if(item.getScr()!=null){ + msg = "当前点已被别人巡检过,最后巡检人是:"+item.getScr(); + toastviewbymyself.makeText(SxgzActivity.this, msg, Toast.LENGTH_SHORT).show(); + }else{ + if(item.getDjsj()!=null){ + msg = "当前点已被别人巡检过,最后巡检时间是:"+item.getDjsj(); + toastviewbymyself.makeText(SxgzActivity.this, msg, Toast.LENGTH_SHORT).show(); + } + } + }else{ + toastviewbymyself.makeText(SxgzActivity.this, "无数据请联系管理员", Toast.LENGTH_SHORT).show(); + } + }else{ + toastviewbymyself.makeText(SxgzActivity.this, "无数据请联系管理员", Toast.LENGTH_SHORT).show(); + } + + //DataSupport.deleteAll(Xjjh.class, "download = 0 and username = ?",username); + } + + @Override + public void onFailed(int what, Response response) { + toastviewbymyself.makeText(SxgzActivity.this, "无数据请联系管理员", Toast.LENGTH_SHORT).show(); + } + }); + } + + private String createJsonByLastUploadUser(String nfcbm) { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("XJ_LAST_UPLOAD_POINT_CHECKED"); + info.setNfcbm(nfcbm); + info.setType(type); + String json = GsonUtils.GsonString(info); + //Log.i("app",json); + return json; + } + + @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"); + if(ewm!=null){ + //Log.i("app",ewm); + handleTwoCodeCheck(ewm); + } + } + break; + default: + break; + } + } + + @Override + protected void onRestart() { + super.onRestart(); + getDataInSqlite(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onResume() { + super.onResume(); + nfcValue = null; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XJCJFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XJCJFragment.java new file mode 100755 index 0000000..d21ce22 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XJCJFragment.java @@ -0,0 +1,234 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.weight.ListDialog; +import java.util.Arrays; +import java.util.List; +import static com.bjzc.zjdxj.R.id.et_jg; +import static com.bjzc.zjdxj.R.id.tv_zt; + + +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); + if(!isEdit){ + etYcFxnr.setEnabled(false); + } + 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("未检"); + } + } + public 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")) { + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + } + + private List stringToList(String strs) { + String[] str = strs.split(";"); + return Arrays.asList(str); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XJStatisticsActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XJStatisticsActivity.java new file mode 100644 index 0000000..9555fd4 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XJStatisticsActivity.java @@ -0,0 +1,307 @@ +package com.bjzc.zjdxj.activity.sbxj; + + +import android.content.Intent; +import android.util.Log; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import com.bjzc.zjdxj.DBModel.Profession; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.MyUploadCheckedBean; +import com.bjzc.zjdxj.bean.StatisticsBean; +import com.bjzc.zjdxj.bean.XsRequestInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NoProgresshttpUtils; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.weight.ListDialog; +import com.google.gson.Gson; +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.Arrays; +import java.util.List; +import static com.bjzc.zjdxj.utils.GsonUtils.GsonToBean; + + +public class XJStatisticsActivity extends BaseActivity3 { + + ListView lv; + TextView tvNodata; + TextView tv_zc; + TextView checked_count; + TextView tv_total; + TextView tv_hasCheck; + TextView tv_ljds; + TextView tv_hasCheck_rate; + LinearLayout tv_my_upload; + + + private View headView; + private TextView tv_djrw; + private CommonAdapter adapter; + private List dataBeans = new ArrayList<>(); + private List listPro = new ArrayList<>(); + private List professionList = new ArrayList<>(); + ListDialog listDialog; + + //private ArrayList xsjjhDataBeanArrayList = new ArrayList<>();//点检记录列表 + private String type = null; + private String username; + private String professionId = null; + + @Override + public int getLayoutId() { + return R.layout.activity_my_checked; + } + + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + tv_zc = findViewById(R.id.tv_zc); + checked_count = findViewById(R.id.checked_count); + tv_total = findViewById(R.id.tv_total); + tv_hasCheck = findViewById(R.id.tv_hasCheck); + tv_ljds = findViewById(R.id.tv_ljds); + tv_hasCheck_rate = findViewById(R.id.tv_hasCheck_rate); + tv_my_upload = findViewById(R.id.tv_my_upload); + + Intent intent = getIntent(); + type = intent.getStringExtra("type"); + username = (String) SPUtils.get(context, Contans.USERID, ""); + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.checked_status_xsgz_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + lv.addHeaderView(headView, null, false); + tv_djrw = headView.findViewById(R.id.tv_djrw); + if(type!=null&&type.equals("YX")){ + String zyid = (String) SPUtils.get(context, Contans.ZY, ""); + if(zyid!=null&&(!zyid.equals(""))){ + List zyids = this.stringToList(zyid); + Log.i("app","---------"); + Log.i("app",new Gson().toJson(zyids)); + Log.i("app",zyids.get(0)); + if(zyids.size()>0){ + this.professionId=zyids.get(0); + } + } + + initToolbar("巡检统计", "选择专业", new View.OnClickListener() { + @Override + public void onClick(View v) { + if(type.equals("YX")){ + listDialog.show();; + } + } + }); + + + professionList = DataSupport.findAll(Profession.class); + if(professionList!=null&&professionList.size()>0){ + for(Profession profession : professionList){ + listPro.add(profession.getZymc()); + } + } + if(listPro!=null&&listPro.size()>0){ + listDialog = new ListDialog(context, listPro, new ListDialog.ListDialogListener() { + @Override + public void selectText(String text, int position) { + if(professionList!=null&&professionList.size()>0){ + Profession profession = professionList.get(position); + Log.i("app",profession.getZyid()); + getStatisticsData(profession.getZyid()); + } + } + }); + listDialog.setTvTitle("请选择专业"); + } + }else{ + initToolbar("巡检统计", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + } + + tv_my_upload.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(XJStatisticsActivity.this, XJStatisticsMyUploadActivity.class); + intent.putExtra("type",type); + startActivity(intent); + } + }); + } + + public void initData() { + getMyUploadData(); + getStatisticsData(null); + //setListData(); + } + + private List stringToList(String strs) { + String[] str = strs.split(","); + return Arrays.asList(str); + } + + //获取本人上传的巡检数据 + private void getMyUploadData() { + //Log.i("app",Contans.IP + Contans.GET_MY_UPLOAD_CHECKED); + Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.GET_MY_UPLOAD_CHECKED, RequestMethod.POST); + requestxs.setDefineRequestBodyForJson(createJson()); + + NoProgresshttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + +// Log.i("app","----------------"); +// Log.i("app",response.get()); + MyUploadCheckedBean bean = GsonToBean(response.get(), MyUploadCheckedBean.class); + if(bean!=null&&bean.getState()==1){ + List data = bean.getData(); +// Log.i("app",bean.getMsg()); +// Log.i("app",String.valueOf(bean.getState())); +// Log.i("app",String.valueOf(bean.getData().size())); +// Log.i("app",new Gson().toJson(bean.getData())); + XJStatisticsActivity.this.runOnUiThread(new Runnable() { + @Override + public void run() { + if(type.equals("BA")){ + tv_zc.setText("保安"); + } + if(data!=null&&data.size()>0){ + checked_count.setText(String.valueOf(data.size())); + String zc = data.get(0).getZc(); + if(type.equals("BA")){ + //tv_zc.setText("保安"); + }else{ + if(zc!=null){ + tv_zc.setText(zc+"值"); + } + } + } + } + }); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + //获取本人上传的巡检数据 + private void getStatisticsData(String zyid) { + if(type!=null&&type.equals("YX")){ + if(zyid!=null){ + this.professionId=zyid; + } + } + + Log.i("app",Contans.IP + Contans.GET_STATISTICS_DATA); + Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.GET_STATISTICS_DATA, RequestMethod.POST); + requestxs.setDefineRequestBodyForJson(createJsonStatistics()); + requestxs.setReadTimeout(30000); + + NohttpUtils.getInstance().add(this, 1, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + + Log.i("app","----------------"); + Log.i("app",response.get()); + + StatisticsBean bean = GsonToBean(response.get(), StatisticsBean.class); + if(bean!=null&&bean.getState()==1){ + Log.i("app",String.valueOf(bean.getData().size())); + Log.i("app",new Gson().toJson(bean.getData())); + List data = bean.getData(); + XJStatisticsActivity.this.runOnUiThread(new Runnable() { + @Override + public void run() { + if(data!=null&&data.size()>0){ + + int countZds = 0; + int countYjds = 0; + int countLjds = 0; + for (StatisticsBean.DataBean item: data) { + String zds = item.getZds(); + String yjds = item.getYjds(); + String ljds = item.getLjds(); + countZds = countZds + Integer.parseInt(zds); + countYjds = countYjds + Integer.parseInt(yjds); + countLjds = countLjds + Integer.parseInt(ljds); + } + tv_total.setText(String.valueOf(countZds)); + tv_hasCheck.setText(String.valueOf(countYjds)); + tv_ljds.setText(String.valueOf(countLjds)); + java.text.DecimalFormat df=new java.text.DecimalFormat("##.#%");//传入格式模板 + String rate=df.format((float)(countYjds)/(float)countZds); + tv_hasCheck_rate.setText(rate); + + setListData(data); + } + } + }); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private void setListData(List data) { + adapter = new CommonAdapter(context, R.layout.checked_status_xsgz_item, data) { + + @Override + protected void convert(ViewHolder viewHolder, StatisticsBean.DataBean item, int position) { + viewHolder.setText(R.id.tv_xh, item.getZds()); + viewHolder.setText(R.id.tv_qymc, item.getQymc()); + viewHolder.setText(R.id.tv_djrw, item.getYjds()); + //viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#00CD00"));//已经检查完成绿色 + } + }; + lv.setAdapter(adapter); + } + + private String createJson() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("YX_XJGL_MY_UPLOAD"); + info.setUsername(username); + info.setType(type); + String json = GsonUtils.GsonString(info); + Log.i("app",json); + return json; + } + private String createJsonStatistics() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("XJ_STATISTICS_CHECKED"); + if(type!=null&&type.equals("YX")){ + info.setZy(this.professionId); + }else{ + info.setZy(type); + } + String json = GsonUtils.GsonString(info); + Log.i("app",json); + return json; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XJStatisticsMyUploadActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XJStatisticsMyUploadActivity.java new file mode 100644 index 0000000..8eac4c0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XJStatisticsMyUploadActivity.java @@ -0,0 +1,158 @@ +package com.bjzc.zjdxj.activity.sbxj; + + +import android.content.Intent; +import android.graphics.Color; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.MyUploadCheckedBean; +import com.bjzc.zjdxj.bean.XsRequestInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NoProgresshttpUtils; +import com.bjzc.zjdxj.utils.OAToolbar; +import com.bjzc.zjdxj.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; +import static com.bjzc.zjdxj.utils.GsonUtils.GsonToBean; + + +public class XJStatisticsMyUploadActivity extends BaseActivity3 { + + ListView lv; + TextView tvNodata; + TextView tv_zc; + TextView checked_count; + + private View headView; + private TextView tv_djrw; + private CommonAdapter adapter; + private List dataBeans = new ArrayList<>(); + + //private ArrayList xsjjhDataBeanArrayList = new ArrayList<>();//点检记录列表 + private String type = null; + private String username; + + @Override + public int getLayoutId() { + return R.layout.activity_myupload_checked; + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + tv_zc = findViewById(R.id.tv_zc); + checked_count = findViewById(R.id.checked_count); + + Intent intent = getIntent(); + type = intent.getStringExtra("type"); + username = (String) SPUtils.get(context, Contans.USERID, ""); + lv.setEmptyView(tvNodata); + headView = View.inflate(this, R.layout.my_upload_checked_status_xsgz_item, null); + headView.findViewById(R.id.head).setVisibility(View.VISIBLE); + tv_djrw = headView.findViewById(R.id.tv_djrw); + initToolbar("我的上传", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + } + + public void initData() { + requestDatas(); + //setListData(); + } + + //获取本人上传的巡检数据 + private void requestDatas() { + //Log.i("app",Contans.IP + Contans.GET_MY_UPLOAD_CHECKED); + Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.GET_MY_UPLOAD_CHECKED, RequestMethod.POST); + requestxs.setDefineRequestBodyForJson(createJson()); + + NoProgresshttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + +// Log.i("app","----------------"); +// Log.i("app",response.get()); + MyUploadCheckedBean bean = GsonToBean(response.get(), MyUploadCheckedBean.class); + if(bean!=null&&bean.getState()==1){ + List data = bean.getData(); +// Log.i("app",bean.getMsg()); +// Log.i("app",String.valueOf(bean.getState())); +// Log.i("app",String.valueOf(bean.getData().size())); +// Log.i("app",new Gson().toJson(bean.getData())); + XJStatisticsMyUploadActivity.this.runOnUiThread(new Runnable() { + @Override + public void run() { + if(data!=null&&data.size()>0){ + checked_count.setText(String.valueOf(data.size())); + String zc = data.get(0).getZc(); + if(type.equals("BA")){ + tv_zc.setText("保安"); + }else{ + if(zc!=null){ + tv_zc.setText(zc+"值"); + } + } + setListData(data); + } + } + }); + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private void setListData(List data) { + adapter = new CommonAdapter(context, R.layout.my_checked_xsgz_item, data) { + + @Override + protected void convert(ViewHolder viewHolder, MyUploadCheckedBean.DataBean item, int position) { + viewHolder.setText(R.id.tv_xh, String.valueOf(position + 1)); + viewHolder.setText(R.id.tv_qymc, item.getJhmc()+"_"+item.getQymc()); + viewHolder.setText(R.id.tv_djrw, "已检"); + viewHolder.setTextColor(R.id.tv_djrw, Color.parseColor("#00CD00"));//已经检查完成绿色 + } + }; + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + } + + private String createJson() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("YX_XJGL_MY_UPLOAD"); + info.setUsername(username); + info.setType(type); + //info.setUsername("326819"); + // +// info.setZc((String) SPUtils.get(context, Contans.BZBH, "")); +// if(type!=null&&type.equals("YX")){ +// info.setMk("YX"); +// } +// if(type!=null&&type.equals("RL")){ +// info.setMk("RL"); +// } + String json = GsonUtils.GsonString(info); + //Log.i("app",json); + return json; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XjMainActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XjMainActivity.java new file mode 100755 index 0000000..b2c0412 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XjMainActivity.java @@ -0,0 +1,110 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.content.Intent; +import android.util.Log; +import android.view.View; +import com.bjzc.zjdxj.DBModel.Profession; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.weight.ListDialog; +import com.google.android.material.tabs.TabLayout; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.activity.sbxdj.FragmentAdapter; +import java.util.ArrayList; +import java.util.List; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; +import org.litepal.crud.DataSupport; + +/** + * 设备巡点检管理--现场巡检 + */ +public class XjMainActivity extends BaseActivity3 implements View.OnClickListener { + + + + private DrawerLayout mDrawerLayout; + private ViewPager mViewPager; + private TabLayout mTabLayout; + private List fragments = new ArrayList<>(); + private String type = null; + private List listPro = new ArrayList<>(); + private List professionList = new ArrayList<>(); + + + @Override + public int getLayoutId() { + return R.layout.activity_mainxj; + } + + @Override + public void initView() { +// listPro.add("运行专业"); +// listPro.add("燃料专业"); + + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_left: + finish(); + break; + case R.id.tv_right: + if(type.equals("YX")){ + ListDialog listDialog = new ListDialog(context, listPro, new ListDialog.ListDialogListener() { + @Override + public void selectText(String text, int position) { + if(professionList!=null&&professionList.size()>0){ + Profession profession = professionList.get(position); + Log.i("app",profession.getZyid()); + //刷新计划下载界面 + Intent intent = new Intent(Contans.ACTION_PROFESSIONCHANGE); + intent.putExtra("professionId",profession.getZyid()); + //专业选择改变发送广播,刷新任务下载页面 + sendBroadcast(intent); + } + } + }); + listDialog.setTvTitle("请选择专业"); + listDialog.show();; + } + break; + } + } + + public void initData() { + Intent intent = getIntent(); + type = intent.getStringExtra("type"); + if(type!=null&&type.equals("YX")){ + initToolbar("巡检数据管理", "选择专业", this); + professionList = DataSupport.findAll(Profession.class); + if(professionList!=null&&professionList.size()>0){ + for(Profession profession : professionList){ + listPro.add(profession.getZymc()); + } + } + + }else{ + initToolbar("巡检数据管理", "", this); + } + mViewPager = findViewById(R.id.viewpager); + 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(type)); + fragments.add(new ScxsjhFragment(type)); + FragmentAdapter mFragmentAdapter = new FragmentAdapter(getSupportFragmentManager(), fragments, titles); + mViewPager.setAdapter(mFragmentAdapter); + mTabLayout.setupWithViewPager(mViewPager); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XjSbListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XjSbListActivity.java new file mode 100755 index 0000000..d7d2788 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XjSbListActivity.java @@ -0,0 +1,257 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import com.bjzc.zjdxj.adapter.ViewHolder; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.SetxjSbModel; +import com.bjzc.zjdxj.bean.sbInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.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 { + + 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 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("当前设备", "巡检内容", new View.OnClickListener() { + @Override + public void onClick(View v) { + 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(); + } + } + }, new View.OnClickListener() { + @Override + public void onClick(View v) { + 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(); + } + }); + } else if (from == 1) { + initToolbar("当前设备", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + } + + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XjYulActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XjYulActivity.java new file mode 100755 index 0000000..92cc48a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XjYulActivity.java @@ -0,0 +1,402 @@ +package com.bjzc.zjdxj.activity.sbxj; + +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.util.Log; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; +import com.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.activity.CheckTemperatureActivity; +import com.bjzc.zjdxj.activity.CheckVibrationActivity; +import com.bjzc.zjdxj.adapter.DlbAdapter; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.bean.DlbInfo; +import com.bjzc.zjdxj.bean.SetxjSbModel; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.SPUtils; +import com.google.gson.Gson; +import org.litepal.crud.DataSupport; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Timer; +import java.util.TimerTask; +import static com.bjzc.zjdxj.activity.sbxdj.SbxdjcjsbActivity.Req; +import static org.litepal.crud.DataSupport.where; + +public class XjYulActivity extends BaseActivity3 { + + ListView lv; + TextView tvNodata; + + private boolean isEdit = false; + private int item; + private String qybh; + //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; + //测温 + public static final int REQUEST_CHECK_TEMPERATURE = 1; + //测振 + public static final int REQUEST_CHECK_VIBRATION = 2; + private String type = null; + private String username; + private String smfs; + private Timer timer; + + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Contans.ACTION_YULONE.equals(action)) { //更新设备点检页面返回时编辑的item内容 + String name = intent.getStringExtra(Contans.KEY_NAME); + String scid = intent.getStringExtra(Contans.SCID); + if (infos.size() > 0) { + for (int i = 0; i < infos.size(); i++) { + DlbInfo dlbInfo = infos.get(i); + if (dlbInfo.getScid().equals(scid)) { + dlbInfo.setCjjg(name); + dlbInfo.setStatu(true); + } + } + } + if (xsjjhDataBeanArrayList.size() > 0) { + for (int i = 0; i < xsjjhDataBeanArrayList.size(); i++) { + XSJJHDataBean xsjjhDataBean = xsjjhDataBeanArrayList.get(i); + if (xsjjhDataBean.getScid().equals(scid)) { + xsjjhDataBean.setChecked(true); + xsjjhDataBean.setCJJG(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 getLayoutId() { + return R.layout.activity_yul; + } + + @Override + public void initView() { + lv = findViewById(R.id.lv); + tvNodata = findViewById(R.id.tv_nodata); + lv.setEmptyView(tvNodata); + 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); + smfs = bundle.getString("smfs"); + //itemposition = bundle.getInt("itemposition"); + type = bundle.getString("type"); + LX = bundle.getString("LX"); + LXResult = bundle.getString("LXResult"); + qybh = bundle.getString("qybh"); + username = (String) SPUtils.get(context, Contans.USERID, ""); + searchdata(); + setListAdapter(); + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_YULONE); + registerReceiver(myReceiver, filter); + if (isEdit) { + initToolbar("浏览巡检记录", "记录缺陷", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + allCheckNow(); + } else { + initToolbar("浏览巡检记录", "", new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + } + } + + private void searchdata() { + switch (LX) { + case "Click": +// xsjjhxzDataBeanArrayList.clear(); +// xsjjhxzDataBeanArrayList.addAll(DataSupport.findAll(XSJJHXZDataBean.class)); //获取本地所有的工作列表数据 + Log.i("app", String.valueOf(qybh == null)); + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(where("qybh = ? and mk = ? and username = ?", qybh, type, username).find(XSJJHDataBean.class)); //获取当前点击的工作栏对应的点检记录列表 + break; + case "NFC": { + List xsjjhDataBeen = DataSupport.where("nfcbm = ? and mk = ? and username = ?", LXResult, type, username).find(XSJJHDataBean.class); + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(xsjjhDataBeen); + break; + } + case "EWM": { + List xsjjhDataBeen = DataSupport.where("qybh = ? and mk = ? and username = ?", LXResult, type, username).find(XSJJHDataBean.class); + xsjjhDataBeanArrayList.clear(); + xsjjhDataBeanArrayList.addAll(xsjjhDataBeen); + break; + } + } + } + + private void setListAdapter() { + for (XSJJHDataBean rw : xsjjhDataBeanArrayList) { + DlbInfo info = new DlbInfo(); + info.setScid(rw.getScid()); + info.setSbid(rw.getSbid()); + info.setCjjg(rw.getCJJG()); + info.setDian(rw.getJhmc() + "--" + rw.getSb() + "--" + rw.getBJMC()); + info.setStatu(rw.isChecked()); + infos.add(info); + } + Gson gson1 = new Gson(); + Log.i("app", gson1.toJson(infos)); + Log.i("app", gson1.toJson(xsjjhDataBeanArrayList)); + adapter = new DlbAdapter(context, infos); + lv.addHeaderView(headView, null, false); + lv.setAdapter(adapter); + lv.setOnItemClickListener((parent, view, position, id) -> { + Log.i("app", String.valueOf(position)); + Gson gson = new Gson(); + XSJJHDataBean xSJJHDataBean = xsjjhDataBeanArrayList.get(position - 1); + Log.i("app", String.valueOf(xSJJHDataBean.getLRFS())); + Log.i("app", String.valueOf(xSJJHDataBean.getCBLX())); + Log.i("app", gson.toJson(xSJJHDataBean)); + ArrayList xsjjhDataBeanArrayListTran = new ArrayList<>(); + + for (int i = 0; i < xsjjhDataBeanArrayList.size(); i++) { + XSJJHDataBean xSJJHDataBeanTemp = xsjjhDataBeanArrayList.get(i); + if (xSJJHDataBeanTemp.getLRFS().equals("1")) { + xsjjhDataBeanArrayListTran.add(xSJJHDataBeanTemp); + } else { + if (xSJJHDataBeanTemp.getCBLX().equals("")) { + xsjjhDataBeanArrayListTran.add(xSJJHDataBeanTemp); + } + } + } + int positionTemp = 0; + for (int i = 0; i < xsjjhDataBeanArrayListTran.size(); i++) { + XSJJHDataBean xSJJHDataBeanTemp = xsjjhDataBeanArrayListTran.get(i); + if (xSJJHDataBean.getScid().equals(xSJJHDataBeanTemp.getScid())) { + positionTemp = i; + } + } + + Log.i("app", String.valueOf(xsjjhDataBeanArrayListTran.size())); + if (xSJJHDataBean.getLRFS().equals("1")) { + Intent intent = new Intent(XjYulActivity.this, SbxjcjsbActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList("xsjjhDataBeanArrayList", xsjjhDataBeanArrayListTran); + bundle.putBoolean("edit", isEdit); + bundle.putString("smfs", smfs); + bundle.putString("type", type); + bundle.putInt(Contans.KEY_ITEM, positionTemp); + //bundle.putInt("itemposition", itemposition); + bundle.putString("LX", LX); + bundle.putString("LXResult", LXResult); + intent.putExtras(bundle); + startActivityForResult(intent, Req); + } else { + if (xSJJHDataBean.getLRFS().equals("0") && xSJJHDataBean.getCBLX().equals("W")) { + Intent intentTemplate = new Intent(XjYulActivity.this, CheckTemperatureActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelable("xSJJHDataBean", xSJJHDataBean); + bundle.putString("checkTip", "日检破碎机,驱动部电机驱动端温度"); + bundle.putString("standerTip", "≤40℃"); + bundle.putString("checkType", "234233"); + bundle.putBoolean("edit", isEdit); + bundle.putString("smfs", smfs); + intentTemplate.putExtras(bundle); + startActivityForResult(intentTemplate, REQUEST_CHECK_TEMPERATURE); + } else if (xSJJHDataBean.getLRFS().equals("0") && xSJJHDataBean.getCBLX().equals("Z")) { + Intent intentTemplate = new Intent(XjYulActivity.this, CheckVibrationActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelable("xSJJHDataBean", xSJJHDataBean); + bundle.putString("checkTip", "日检破碎机,驱动部电机振动"); + bundle.putString("standerTip", "≤11.2mm/s"); + bundle.putString("checkType", "234235"); + bundle.putBoolean("edit", isEdit); + bundle.putString("smfs", smfs); + intentTemplate.putExtras(bundle); + startActivityForResult(intentTemplate, REQUEST_CHECK_VIBRATION); + } else { + Intent intent = new Intent(XjYulActivity.this, SbxjcjsbActivity.class); + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList("xsjjhDataBeanArrayList", xsjjhDataBeanArrayListTran); + bundle.putBoolean("edit", isEdit); + bundle.putString("smfs", smfs); + bundle.putString("type", type); + bundle.putInt(Contans.KEY_ITEM, positionTemp); + //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) { + if (Req == requestCode) { + 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(); + } else { + String temperatureValue = data.getStringExtra("value"); + if (temperatureValue != null) { + //先判断是哪个页面返回过来的 + switch (requestCode) { + case REQUEST_CHECK_TEMPERATURE: + //测温 + //成功了 + Toast.makeText(XjYulActivity.this, temperatureValue, Toast.LENGTH_SHORT).show(); + break; + case REQUEST_CHECK_VIBRATION: + //测振 + //成功了 + Toast.makeText(XjYulActivity.this, temperatureValue, Toast.LENGTH_SHORT).show(); + break; + } + } + } + } + } + + @Override + protected void onResume() { + super.onResume(); + searchdata(); + adapter.notifyDataSetChanged(); + timer = new Timer(); + timer.schedule(new TimerTask() { + @Override + public void run() { + XjYulActivity.this.runOnUiThread(new Runnable() { + @Override + public void run() { + finish(); + } + }); + } + }, 10 * 1000, 10 * 1000); + } + + @Override + protected void onPause() { + super.onPause(); + timer.cancel(); + } + + + @Override + protected void onRestart() { + super.onRestart(); + adapter.notifyDataSetChanged(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + unregisterReceiver(myReceiver); + } + + public void rightBtnClickAllCheck() { +// AllCheckDialog allCheckDialog = new AllCheckDialog(XjYulActivity.this, "一键正常将会把所有选择类的选项状态改为已检,是否继续当前操作?", new AllCheckDialog.AuditDialogListener() { +// @Override +// public void confirm() { +// allCheckNow(); +// } +// +// @Override +// public void cancel() { +// +// } +// }); +// allCheckDialog.show(); + } + + private void allCheckNow() { + + ArrayList xsjjhDataBeanArrayListTran = new ArrayList<>(); + if (xsjjhDataBeanArrayList.size() > 0) { + for (int i = 0; i < xsjjhDataBeanArrayList.size(); i++) { + XSJJHDataBean xSJJHDataBeanTemp = xsjjhDataBeanArrayList.get(i); + if (xSJJHDataBeanTemp.getLRFS().equals("1")) { + xSJJHDataBeanTemp.setChecked(true); + xSJJHDataBeanTemp.setCJJG("正常"); + xsjjhDataBeanArrayListTran.add(xSJJHDataBeanTemp); + } + } + } + if (infos.size() > 0 && xsjjhDataBeanArrayListTran.size() > 0) { + for (int i = 0; i < infos.size(); i++) { + DlbInfo dlbInfo = infos.get(i); + for (int j = 0; j < xsjjhDataBeanArrayListTran.size(); j++) { + XSJJHDataBean xSJJHDataBeanTemp = xsjjhDataBeanArrayListTran.get(j); + if (dlbInfo.getScid().equals(xSJJHDataBeanTemp.getScid())) { + dlbInfo.setCjjg("正常"); + dlbInfo.setStatu(true); + ContentValues values = new ContentValues(); + values.put("checked", true); + values.put("smfs", smfs); + values.put("CJJG", dlbInfo.getCjjg()); + values.put("DATE", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + DataSupport.updateAll(XSJJHDataBean.class, values, "scid = ? and mk = ? and username = ? ", dlbInfo.getScid(), type, username); + } + } + } + } + adapter.notifyDataSetChanged(); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XsBackLogActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XsBackLogActivity.java new file mode 100755 index 0000000..73f06e5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XsBackLogActivity.java @@ -0,0 +1,168 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.util.Log; +import android.widget.ListView; + +import com.bjzc.zjdxj.DBModel.Xjjh; +import com.bjzc.zjdxj.DBModel.XjjhList; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XsHistoryActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XsHistoryActivity.java new file mode 100755 index 0000000..5087dd0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XsHistoryActivity.java @@ -0,0 +1,146 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.content.Intent; +import android.view.View; +import android.widget.ExpandableListView; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.XsHistoryExpandableListAdapter; +import com.bjzc.zjdxj.bean.XsHistoryListBean; +import com.bjzc.zjdxj.bean.XsJhListBean; +import com.bjzc.zjdxj.bean.XsRequestInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbglActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbglActivity.java new file mode 100755 index 0000000..1edffcf --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbglActivity.java @@ -0,0 +1,306 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Build; +import android.util.Log; +import android.view.WindowManager; +import android.widget.GridView; + +import com.bjzc.zjdxj.DBModel.Profession; +import com.bjzc.zjdxj.DBModel.ProfessionList; +import com.bjzc.zjdxj.DBModel.Xjjh; +import com.bjzc.zjdxj.DBModel.XjjhList; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.GridViewAdapter; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.bean.GridViewBean; +import com.bjzc.zjdxj.bean.XsRequestInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NoProgresshttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.utils.StatusBarUtil; +import com.google.gson.Gson; +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.bjzc.zjdxj.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 String[] str = {"巡检任务", "巡检工作", "巡检统计"}; +// private int[] imageId = {R.mipmap.icon_xs1, R.mipmap.icon6,R.mipmap.icon13}; +// private int[] colors = {R.drawable.radius_b1, R.drawable.radius_a4,R.drawable.radius_b1}; + private List str = new ArrayList<>(); + private List imageId = new ArrayList<>(); + private List colors = new ArrayList<>(); + private GridViewAdapter adapter; + private String type = null; + private String username; + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Contans.ACTION_REFRESHDOWNLOADPLAN.equals(action)) { + //刷新页面 + requestDatas(); + } + } + }; + + @Override + public int getContentViewID() { + return R.layout.activity_xscbgl; + } + + @Override + protected void initView() { + gv = findViewById(R.id.gv); + Intent intentType = getIntent(); + type = intentType.getStringExtra("type"); + username = (String) SPUtils.get(context, Contans.USERID, ""); + + str.add("巡检任务"); + imageId.add(R.mipmap.icon_xs1); + colors.add(R.drawable.radius_b1); + + str.add("巡检工作"); + imageId.add(R.mipmap.icon6); + colors.add(R.drawable.radius_a4); + +// str.add("巡检统计"); +// imageId.add(R.mipmap.icon13); +// colors.add(R.drawable.radius_b1); + + if(type.equals("YX")){ + setTitle("运行巡检"); + str.add("缺陷工单"); + imageId.add(R.mipmap.icon9); + colors.add(R.drawable.radius_a2); + }else if(type.equals("RL")){ + setTitle("燃料巡检"); + str.add("缺陷工单"); + imageId.add(R.mipmap.icon9); + colors.add(R.drawable.radius_a2); + }else if(type.equals("BA")){ + setTitle("保安巡检"); + } + + if (Build.VERSION.SDK_INT >= 21) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); + } + StatusBarUtil.transparencyBar(XscbglActivity.this); + mToolbar.setBackgroundColor(Color.parseColor("#00000000")); + 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 = null; + switch (i) { + case 0: + intent = new Intent(XscbglActivity.this, XjMainActivity.class); + intent.putExtra("type",type); + break; + case 1: + intent = new Intent(XscbglActivity.this, SxgzActivity.class); + intent.putExtra("type",type); + break; + case 2: + intent = new Intent(XscbglActivity.this, XJStatisticsActivity.class);//XJStatisticsMyUploadActivity //XJStatisticsActivity + intent.putExtra("type",type); + break; + } + if (intent != null) { + startActivity(intent); + } + }); + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_REFRESHDOWNLOADPLAN); + registerReceiver(myReceiver, filter); + + requestDatas(); + if(type.equals("YX")){ + getProfessionData(); + } + } + + private List getGridViewData() { + + List datas = new ArrayList<>(); + for (int i = 0; i < str.size(); i++) { + GridViewBean bean = new GridViewBean(); + bean.setTitle(str.get(i)); + bean.setBackgroup(colors.get(i)); + bean.setImageid(imageId.get(i)); + bean.setShow(false); + datas.add(bean); + } + return datas; + } + + private void requestDatas() { //下载巡检数据 + + Request requestxs; + if(type.equals("BA")){Log.i("app",Contans.IP + Contans.BAXJ); + requestxs = NoHttp.createStringRequest(Contans.IP + Contans.BAXJ, RequestMethod.POST); + }else{ + Log.i("app",Contans.IP + Contans.XSCB); + requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + } + + if(type.equals("BA")){ + requestxs.setDefineRequestBodyForJson(createJsonBA()); + }else{ + requestxs.setDefineRequestBodyForJson(createJson()); + } + + NoProgresshttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + + Log.i("app","----------------"); + Log.i("app",response.get()); + XjjhList list = GsonToBean(response.get(), XjjhList.class); + Log.i("app",list.getMsg()); + Log.i("app",list.getState()); + Log.i("app",String.valueOf(list.getData().size())); + Log.i("app",String .valueOf("mt")); + Log.i("app","app"); + + + if (list != null) { + for(int i=0;i xjjhs = list.getData();//服务器数据 + + DataSupport.deleteAll(Xjjh.class, "download = 0 and username = ?",username); + + for (Xjjh xjjh : xjjhs) { + + List dbxjjh = DataSupport.where("zxid = ? and download = ? and username = ?", xjjh.getZxid(), "1",username).find(Xjjh.class); + + if (dbxjjh.size() == 0) { + xjjh.setUsername(username); + xjjh.save(); + } + } + //刷新计划下载界面 + Intent intent = new Intent(Contans.ACTION_REFRESHPLANDOWNLOAD); + //发送广播,刷新任务下载页面 + sendBroadcast(intent); + } else { + DataSupport.deleteAll(Xjjh.class, "download = 0 and username = ?",username); + } + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + //获取运行专业数据 + private void getProfessionData() { + + Log.i("app",Contans.IP + Contans.XSCB); + final Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); + + requestxs.setDefineRequestBodyForJson(createJsonZY()); + + NoProgresshttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + + Log.i("app",response.get()); + ProfessionList list = GsonToBean(response.get(), ProfessionList.class); + Log.i("app",list.getMsg()); + Log.i("app",list.getState()); + Log.i("app",String.valueOf(list.getData().size())); + + if (list != null) { + //获取数据成功 + if (list.getState().equals("1")) { + //服务器数据 + List professions = list.getData(); + DataSupport.deleteAll(Profession.class); + for (Profession profession : professions) { + profession.save(); + } + } + } + } + + @Override + public void onFailed(int what, Response response) { + + } + }); + } + + private String createJsonBA() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("BA_XJGL_RWLB_GET"); + String json = GsonUtils.GsonString(info); + Log.i("app",json); + return json; + } + private String createJson() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("YX_XJGL_RWLB_GET"); +// info.setZymc(Contans.YXCB_ZY_ID); +// info.setZc((String) SPUtils.get(context, Contans.BZBH, "")); + if(type!=null&&type.equals("YX")){ + info.setMk("YX"); + } + if(type!=null&&type.equals("RL")){ + info.setMk("RL"); + } + String json = GsonUtils.GsonString(info); + Log.i("app",json); + return json; + } + + private String createJsonZY() { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("YX_XJGL_ZY_GET"); + String jsonZY = GsonUtils.GsonString(info); + Log.i("app",jsonZY); + return jsonZY; + } + + @Override + protected void onDestroy() { + super.onDestroy(); + unregisterReceiver(myReceiver); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbqyActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbqyActivity.java new file mode 100755 index 0000000..f81b20a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbqyActivity.java @@ -0,0 +1,264 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.XsjhqyAdapter; +import com.bjzc.zjdxj.base.MipcaActivityCapture; +import com.bjzc.zjdxj.bean.XsJhListBean; +import com.bjzc.zjdxj.bean.XsRequestInfo; +import com.bjzc.zjdxj.bean.XsjhQyBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbqyWorkActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbqyWorkActivity.java new file mode 100755 index 0000000..6332534 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbqyWorkActivity.java @@ -0,0 +1,227 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.XsjhqyWorkCbAdapter; +import com.bjzc.zjdxj.adapter.XsjhqyWorkDjAdapter; +import com.bjzc.zjdxj.bean.XsResultBaseBean; +import com.bjzc.zjdxj.bean.XsSaveDataInfo; +import com.bjzc.zjdxj.bean.XsjhQyBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbqyWorkXsActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbqyWorkXsActivity.java new file mode 100755 index 0000000..2b4f7b1 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XscbqyWorkXsActivity.java @@ -0,0 +1,204 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.XsjhqyWorkXsAdapter; +import com.bjzc.zjdxj.bean.XsResultBaseBean; +import com.bjzc.zjdxj.bean.XsSaveDataInfo; +import com.bjzc.zjdxj.bean.XsjhQyBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XzxsjhFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XzxsjhFragment.java new file mode 100755 index 0000000..8e7de07 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/XzxsjhFragment.java @@ -0,0 +1,566 @@ +package com.bjzc.zjdxj.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.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.bjzc.zjdxj.DBModel.XSJJHDataBean; +import com.bjzc.zjdxj.DBModel.XSJJHXZBean; +import com.bjzc.zjdxj.DBModel.XSJJHXZDataBean; +import com.bjzc.zjdxj.DBModel.Xjjh; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.XzxsjhAdapter; +import com.bjzc.zjdxj.base.BaseFragment; +import com.bjzc.zjdxj.bean.XsRequestInfo; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.HttpResponseListener; +import com.bjzc.zjdxj.utils.SPUtils; +import com.bjzc.zjdxj.utils.UiUtlis; +import com.bjzc.zjdxj.weight.WaitDialog; +import com.google.gson.Gson; +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.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.Objects; +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; + private String type = null; + private String professionId = null; + private String username; + private List zyids; + private boolean firstInit = true; + + private BroadcastReceiver myReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Contans.ACTION_REFRESHPLANDOWNLOAD.equals(action)) { + //刷新页面 + initData(); + } + if (Contans.ACTION_PROFESSIONCHANGE.equals(action)) { + professionId = intent.getStringExtra("professionId"); + Log.i("app", professionId); + Log.i("app", "initData"); + firstInit = false; + //刷新页面 + initData(); + } + } + }; + + public XzxsjhFragment() { + + } + + public XzxsjhFragment(String type) { + this.type = type; + } + + public static XzxsjhFragment newInstance(String type) { + XzxsjhFragment fragment = new XzxsjhFragment(type); + 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(); + } + if (type != null && type.equals("BA")) { + //保安计划下载 + downDataBA(xjjhs.get(i).getZxid()); + } else { + //运行,燃料计划下载 + 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 = ? and username = ?", xjjhs.get(i).getZxid(), username); + } + } + xjjhs.removeAll(delete); + adapter.notifyDataSetChanged(); + } + }); + builder.show(); + + } else { + showToast("没有可删除计划"); + } + } + }); + + lv.addHeaderView(headView, null, false); + username = (String) SPUtils.get(context, Contans.USERID, ""); + String zyid = (String) SPUtils.get(context, Contans.ZY, ""); + if (zyid != null && (!zyid.equals(""))) { + zyids = this.stringToList(zyid); + Log.i("app", "---------"); + Log.i("app", new Gson().toJson(zyids)); + if (zyids.size() > 0) { + if (type != null && type.equals("BA")) { + } else { + this.professionId = zyids.get(0); + } + } + } + IntentFilter filter = new IntentFilter(); + filter.addAction(Contans.ACTION_REFRESHPLANDOWNLOAD); + filter.addAction(Contans.ACTION_PROFESSIONCHANGE); + XzxsjhFragment.this.requireActivity().registerReceiver(myReceiver, filter); + } + + public void initData() { + queue = NoHttp.newRequestQueue(1); + dialog = new WaitDialog(getActivity(), "加载中..."); + dialog.setCancelable(false); + cb.setChecked(false); + xjjhs = new ArrayList<>(); + //如果数据库中有数据 + if (DataSupport.count("Xjjh") != 0) { + List xjjhListall = new ArrayList<>(); + if (professionId != null) { + if (type != null && type.equals("YX")) { + if (zyids != null && zyids.size() == 1) { + xjjhListall = where("download = ? and mk = ? and zyid = ? and username = ?", "0", type, professionId, username).find(Xjjh.class); + } else { + if (firstInit) { + //页面第一次进来初始化 + if (zyids != null && zyids.size() > 1) { + StringBuffer sb = new StringBuffer(); + for (Iterator iterator = zyids.iterator(); iterator.hasNext(); ) { + String string = (String) iterator.next(); + String oneCase = "'" + string + "'"; + sb.append(oneCase); + if (iterator.hasNext()) { + sb.append(","); + } + } + String inConditions = sb.toString(); + //Log.i("app",inConditions); + xjjhListall = where(String.format("zyid in (%s) and download = ? and mk =? and username = ?", inConditions), "0", type, username).find(Xjjh.class); + } else { + xjjhListall = where("download = ? and mk = ? and username = ?", "0", type, username).find(Xjjh.class); + } + } else { + //切换专业 + xjjhListall = where("download = ? and mk = ? and zyid = ? and username = ?", "0", type, professionId, username).find(Xjjh.class); + } + } + } else { + xjjhListall = where("download = ? and mk = ? and username = ?", "0", type, username).find(Xjjh.class); + } + } else { + xjjhListall = where("download = ? and mk = ? and username = ?", "0", type, username).find(Xjjh.class); + } + + xjjhs.clear(); + xjjhs.addAll(xjjhListall); + setListData(); + } else { + tvNodata.setText("暂无数据"); + LL.setVisibility(View.GONE); + } + } + + private List stringToList(String strs) { + String[] str = strs.split(","); + return Arrays.asList(str); + } + + //运行,燃料计划下载 + private void downData(String zxid, String jhmc) { + selectCount++; + Log.i("app", Contans.IP + Contans.XSCB_PLAN_DOWNLOAD); + Request request = NoHttp.createStringRequest(Contans.IP + Contans.XSCB_PLAN_DOWNLOAD, RequestMethod.POST); + request.setDefineRequestBodyForJson(createZyJson(zxid, jhmc)); + queue.add(1, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, "")); + } + + //保安计划下载 + private void downDataBA(String zxid) { + selectCount++; + Log.i("app", Contans.IP + Contans.XSCB_PLAN_BA_DOWNLOAD); + Request request = NoHttp.createStringRequest(Contans.IP + Contans.XSCB_PLAN_BA_DOWNLOAD, RequestMethod.POST); + request.setDefineRequestBodyForJson(createZyJsonBA(zxid)); + queue.add(2, request, new HttpResponseListener<>(getActivity(), request, callbackBA, 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()); + Log.i("app", response.get()); + Gson gson = new Gson(); + xsjjhxzBean = GsonUtils.GsonToBean(response.get(), XSJJHXZBean.class); + Log.i("app", String.valueOf(xsjjhxzBean.getData().size())); + if (xsjjhxzBean != null && xsjjhxzBean.getState() == 1) { + List xsjjhxzDataBeanList = xsjjhxzBean.getData(); + ContentValues values = new ContentValues(); + values.put("download", 1); + if (xsjjhxzDataBeanList != null && xsjjhxzDataBeanList.size() > 0) { + for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) { + XSJJHXZDataBean xsjjhxzDataBean = xsjjhxzDataBeanList.get(i); + Log.i("app", gson.toJson(xsjjhxzDataBean)); + } + DataSupport.updateAll(Xjjh.class, values, "zxid = ? and mk = ? and username = ?", xsjjhxzDataBeanList.get(0).getZxid(), type, username); + List xjjhTemp = where("mk = ? and zxid = ? and username = ?", type, xsjjhxzDataBeanList.get(0).getZxid(), username).find(Xjjh.class); + String jhmc = ""; + if (xjjhTemp != null && xjjhTemp.size() > 0) { + jhmc = xjjhTemp.get(0).getJhmc(); + } + for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) { + xsjjhxzDataBeanList.get(i).setSN(i + 1); + xsjjhxzDataBeanList.get(i).setUsername(username); + xsjjhxzDataBeanList.get(i).setJhmc(jhmc); + Log.i("app", "--------"); + Log.i("app", gson.toJson(xsjjhxzDataBeanList.get(i))); + + List getData = xsjjhxzDataBeanList.get(i).getData(); + for (int j = 0; j < getData.size(); j++) { + XSJJHDataBean bean = getData.get(j); + bean.setUsername(username); + bean.setJhmc(jhmc); + } + DataSupport.saveAll(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(); + List xjjhListall = new ArrayList<>(); + if (professionId != null) { + if (type != null && type.equals("YX")) { + if (zyids != null && zyids.size() == 1) { + xjjhListall = where("download = ? and mk = ? and zyid = ? and username = ?", "0", type, professionId, username).find(Xjjh.class); + } else { + if (firstInit) { + //页面第一次进来初始化 + if (zyids != null && zyids.size() > 1) { + StringBuffer sb = new StringBuffer(); + for (Iterator iterator = zyids.iterator(); iterator.hasNext(); ) { + String string = (String) iterator.next(); + String oneCase = "'" + string + "'"; + sb.append(oneCase); + if (iterator.hasNext()) { + sb.append(","); + } + } + String inConditions = sb.toString(); + //Log.i("app",inConditions); + xjjhListall = where(String.format("zyid in (%s) and download = ? and mk =? and username = ?", inConditions), "0", type, username).find(Xjjh.class); + } else { + xjjhListall = where("download = ? and mk = ? and username = ?", "0", type, username).find(Xjjh.class); + } + } else { + //切换专业 + xjjhListall = where("download = ? and mk = ? and zyid = ? and username = ?", "0", type, professionId, username).find(Xjjh.class); + } + } + } else { + xjjhListall = where("download = ? and mk = ? and username = ?", "0", type, username).find(Xjjh.class); + } + } else { + xjjhListall = where("download = ? and mk = ? and username = ?", "0", type, username).find(Xjjh.class); + } + xjjhs.addAll(xjjhListall); +// if(professionId!=null){ +// xjjhs.addAll(where("download = ? and mk = ? and zyid = ? and username = ?", "0",type,professionId,username).find(Xjjh.class)); +// }else{ +// xjjhs.addAll(where("download = ? and mk = ? and username = ?", "0",type,username).find(Xjjh.class)); +// } + if (adapter != null) { + cb.setChecked(false); + adapter.notifyDataSetChanged(); + } + showToast("下载成功"); + Intent intent = new Intent(Contans.ACTION_REFRESHPLANUPLOAD); + //发送广播,刷新任务上传页面 + XzxsjhFragment.this.requireActivity().sendBroadcast(intent); + 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 HttpListener callbackBA = new HttpListener() { + @Override + public void onSucceed(int what, Response response) { + try { + if (what == 2) { + ++requestCount; + //Log.e("dataLog", response.get()); + Log.i("app", response.get()); + xsjjhxzBean = GsonUtils.GsonToBean(response.get(), XSJJHXZBean.class); + Log.i("app", String.valueOf(xsjjhxzBean != null)); + if (xsjjhxzBean != null && xsjjhxzBean.getState() == 1) { + List xsjjhxzDataBeanList = xsjjhxzBean.getData(); + ContentValues values = new ContentValues(); + values.put("download", 1); + Log.i("app", "--------"); + if (xsjjhxzDataBeanList != null && xsjjhxzDataBeanList.size() > 0) { + Log.i("app", String.valueOf(xsjjhxzDataBeanList.size())); + DataSupport.updateAll(Xjjh.class, values, "zxid = ? and mk = ? and username = ?", xsjjhxzDataBeanList.get(0).getZxid(), type, username); + } + int dataCount = DataSupport.count(XSJJHXZDataBean.class); + int index;//序号 + index = dataCount; + for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) { + xsjjhxzDataBeanList.get(i).setSN(++index); + xsjjhxzDataBeanList.get(i).setUsername(username); + //List getData = xsjjhxzDataBeanList.get(i).getData(); +// for (int j=0;j xjjhListall = new ArrayList<>(); + xjjhs.addAll(where("download = ? and mk = ? and username = ?", "0", type, username).find(Xjjh.class)); + if (adapter != null) { + cb.setChecked(false); + adapter.notifyDataSetChanged(); + } + showToast("下载成功"); + Intent intent = new Intent(Contans.ACTION_REFRESHPLANUPLOAD); + //发送广播,刷新任务上传页面 + XzxsjhFragment.this.requireActivity().sendBroadcast(intent); + 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("YX_XJGL_RWXZ_GET"); + info.setZxid(zxid); + String json = GsonUtils.GsonString(info); + Log.i("app", json); + return json; + } + + private String createZyJsonBA(String zxid) { + XsRequestInfo info = new XsRequestInfo(); + info.setAction("BA_XJGL_RWXZ_GET"); + info.setZxid(zxid); + String json = GsonUtils.GsonString(info); + Log.i("app", json); + 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.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(); + }); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + XzxsjhFragment.this.requireActivity().unregisterReceiver(myReceiver); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/YxrlinfoActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/YxrlinfoActivity.java new file mode 100644 index 0000000..2bc9222 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/sbxj/YxrlinfoActivity.java @@ -0,0 +1,133 @@ +package com.bjzc.zjdxj.activity.sbxj; + +import android.os.Bundle; +import androidx.recyclerview.widget.DefaultItemAnimator; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.RlinfoAdapter; +import com.bjzc.zjdxj.base.BaseActivity; +import com.bjzc.zjdxj.bean.RlinfoBean; +import com.bjzc.zjdxj.bean.RlresultBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/yhpc/YhpcDataListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/yhpc/YhpcDataListActivity.java new file mode 100644 index 0000000..7b69797 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/yhpc/YhpcDataListActivity.java @@ -0,0 +1,326 @@ +package com.bjzc.zjdxj.activity.yhpc; + +import android.app.AlertDialog; +import android.os.Bundle; +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.bjzc.zjdxj.DBModel.DataBaseYhpc; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.YhpcListAdapter; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.bjzc.zjdxj.base.BaseCallBack; +import com.bjzc.zjdxj.bean.ResultBean3; +import com.bjzc.zjdxj.bean.YhpcResultBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.Api; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.RetrofitHttpUtils; +import com.bjzc.zjdxj.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); + } + }); + + 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); + + SCR = (String) SPUtils.get(context, Contans.USERID, ""); + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/yhpc/YhzgDataListActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/yhpc/YhzgDataListActivity.java new file mode 100644 index 0000000..934ed27 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/activity/yhpc/YhzgDataListActivity.java @@ -0,0 +1,37 @@ +package com.bjzc.zjdxj.activity.yhpc; + +import android.view.View; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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() { + + + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/AqjclbAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/AqjclbAdapter.java new file mode 100755 index 0000000..46f74e6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/AqjclbAdapter.java @@ -0,0 +1,42 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/AqjcrwlbListAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/AqjcrwlbListAdapter.java new file mode 100755 index 0000000..96793e8 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/AqjcrwlbListAdapter.java @@ -0,0 +1,36 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/BpbjinfoAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/BpbjinfoAdapter.java new file mode 100755 index 0000000..0a1be32 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/BpbjinfoAdapter.java @@ -0,0 +1,42 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/CheckScxsAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/CheckScxsAdapter.java new file mode 100644 index 0000000..fc31e01 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/CheckScxsAdapter.java @@ -0,0 +1,76 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Xjjh; +import com.bjzc.zjdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + + +/** + * 下载计划适配器 + */ +public class CheckScxsAdapter extends BaseAdapter { + + private Context context; + //private List list; + private List dbxjjh; + + public CheckScxsAdapter(Context context, List dbxjjh) { + this.context = context; + this.dbxjjh=dbxjjh; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return dbxjjh.size(); + } + + @Override + public Object getItem(int i) { + return dbxjjh.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.no_checkbox_scxscb_item, viewGroup, false); + 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.tv_gwmc.setText(dbxjjh.get(i).getJhmc()); + holder.tv_yjzj.setText(dbxjjh.get(i).getCountPercent()+"/"+dbxjjh.get(i).getJhds()); + return view; + } + + static class ViewHolder { + TextView tv_gwmc; + TextView tv_yjzj; + + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/CommonAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/CommonAdapter.java new file mode 100755 index 0000000..0bdae28 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/CommonAdapter.java @@ -0,0 +1,38 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ContactAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ContactAdapter.java new file mode 100755 index 0000000..56863b0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ContactAdapter.java @@ -0,0 +1,113 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.bean.ContactListBean; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/CxzjrwAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/CxzjrwAdapter.java new file mode 100755 index 0000000..c3410e9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/CxzjrwAdapter.java @@ -0,0 +1,30 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DeviceTreeAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DeviceTreeAdapter.java new file mode 100644 index 0000000..ba3c5c0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DeviceTreeAdapter.java @@ -0,0 +1,122 @@ +package com.bjzc.zjdxj.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.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.bean.DeviceTreeBean; + +import java.util.List; + + +/** + * Created by huangwenfei on 2022/4/7. + */ + +public class DeviceTreeAdapter extends RecyclerView.Adapter{ + + private LayoutInflater mLayoutInflater; + private List datas; + private Context mContext; + + private int mSelectedPos = 0; //实现单选,保存当前选中的position + + private OnChildItemClickListener onChildItemClickListener; + + + public DeviceTreeAdapter(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_device_tree, null); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") int position) { + + holder.cb.setChecked(datas.get(position).isSelected()); + if(datas.get(position).getISLEAF().equals("1")){ + holder.iv_subDevice.setVisibility(View.GONE); + holder.cb.setVisibility(View.GONE); + }else{ + holder.iv_subDevice.setVisibility(View.VISIBLE); + holder.cb.setVisibility(View.GONE); + } + + 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).getID()+"]" + "-" +"[" +datas.get(position).getNNAME()+"]"); + 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(DeviceTreeBean.DataBean dataBean); + } + + class ViewHolder extends RecyclerView.ViewHolder { + + CheckBox cb; + TextView tv_smmc; + ImageView iv_subDevice; + LinearLayout itemViewDevice; + + public ViewHolder(View itemView) { + super(itemView); + cb = itemView.findViewById(R.id.cb); + tv_smmc = itemView.findViewById(R.id.tv_smmc); + iv_subDevice = itemView.findViewById(R.id.subDevice); + itemViewDevice = itemView.findViewById(R.id.itemViewDevice); + } + } + +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DeviceTreeAdapterBase.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DeviceTreeAdapterBase.java new file mode 100644 index 0000000..d4a7432 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DeviceTreeAdapterBase.java @@ -0,0 +1,47 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; +import android.view.View; +import android.widget.CheckBox; +import android.widget.ImageView; +import android.widget.TextView; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.bean.DeviceTreeBean; + +import java.util.List; + + +/** + * Created by ruihong on 2017/12/28. + */ + + +public class DeviceTreeAdapterBase extends CommonAdapter{ + + private List datas; + + + public DeviceTreeAdapterBase(Context context, List datas) { + super(context, R.layout.item_device_tree, datas); + this.datas = datas; + + } + + @Override + protected void convert(ViewHolder viewHolder, DeviceTreeBean.DataBean item, int position) { + CheckBox cb = viewHolder.getView(R.id.cb); + TextView tv_smmc = viewHolder.getView(R.id.tv_smmc); + ImageView iv_subDevice = viewHolder.getView(R.id.subDevice); + + cb.setChecked(item.isSelected()); + if(item.getISLEAF().equals("1")){ + iv_subDevice.setVisibility(View.GONE); + cb.setVisibility(View.GONE); + }else{ + iv_subDevice.setVisibility(View.VISIBLE); + cb.setVisibility(View.GONE); + } + tv_smmc.setText("["+datas.get(position).getID()+"]" + "-" +"[" +datas.get(position).getNNAME()+"]"); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DlbAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DlbAdapter.java new file mode 100755 index 0000000..818b05a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DlbAdapter.java @@ -0,0 +1,107 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DqgzDownloadAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DqgzDownloadAdapter.java new file mode 100644 index 0000000..9501d88 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/DqgzDownloadAdapter.java @@ -0,0 +1,93 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Dqgz; +import com.bjzc.zjdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + + +/** + * 下载计划适配器 + */ +public class DqgzDownloadAdapter extends BaseAdapter { + + private Context context; + private List list; + private CallBack mCallBack; + + public DqgzDownloadAdapter(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).getZX_MC()); + if(list.get(i).isWorkChecked()){ + holder.tv_gwds.setText("已检"); + }else{ + holder.tv_gwds.setText("未检"); + } + + 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; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/GridViewAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/GridViewAdapter.java new file mode 100755 index 0000000..b2658e7 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/GridViewAdapter.java @@ -0,0 +1,109 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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; + } + + public static class ViewHolder { + public 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/GwfxListAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/GwfxListAdapter.java new file mode 100755 index 0000000..ef26060 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/GwfxListAdapter.java @@ -0,0 +1,45 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; +import android.graphics.Color; +import android.widget.TextView; + +import com.bjzc.zjdxj.DBModel.QYAQFXDATABean; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/GzbAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/GzbAdapter.java new file mode 100755 index 0000000..47eb1ed --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/GzbAdapter.java @@ -0,0 +1,108 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ItemViewDelegate.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ItemViewDelegate.java new file mode 100755 index 0000000..51c7204 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ItemViewDelegate.java @@ -0,0 +1,18 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ItemViewDelegateManager.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ItemViewDelegateManager.java new file mode 100755 index 0000000..bbff286 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ItemViewDelegateManager.java @@ -0,0 +1,130 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/MultiItemTypeAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/MultiItemTypeAdapter.java new file mode 100755 index 0000000..e63a05b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/MultiItemTypeAdapter.java @@ -0,0 +1,102 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/MyFragmentAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/MyFragmentAdapter.java new file mode 100755 index 0000000..1ccece2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/MyFragmentAdapter.java @@ -0,0 +1,37 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/Q4UploadGridAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/Q4UploadGridAdapter.java new file mode 100644 index 0000000..5396491 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/Q4UploadGridAdapter.java @@ -0,0 +1,108 @@ +package com.bjzc.zjdxj.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 com.bjzc.zjdxj.R; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.request.RequestOptions; + +import java.util.ArrayList; + +public class Q4UploadGridAdapter extends BaseAdapter { + private ArrayList listUrls; + private LayoutInflater inflater; + Context context; + private OnItemDelClickListener onItemDelClickListener; + + public interface OnItemDelClickListener { + void onClick(int position); + } + + public Q4UploadGridAdapter(ArrayList listUrls, Context context, OnItemDelClickListener onItemDelClickListener) { + this.listUrls = listUrls; + this.context=context; + this.onItemDelClickListener=onItemDelClickListener; + if (listUrls.size() == 7) { + listUrls.remove(listUrls.size() - 1); + } + //这个意思就是 如果最后返回的列表有7哥 就把最后一个移除了 + inflater = LayoutInflater.from(context); + } + + public int getCount() { + return listUrls.size(); + } + + @Override + public String getItem(int position) { + return listUrls.get(position); + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder = null; + if (convertView == null) { + holder = new ViewHolder(); + convertView = inflater.inflate(R.layout.sblcsave_item, parent, false); + holder.image = (ImageView) convertView.findViewById(R.id.imageView); + holder.ll_del = (LinearLayout) convertView.findViewById(R.id.ll_del); + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + final String path = listUrls.get(position); + //这里是如果取到path的值是paizhao 就显示加好 如果不是 就是返回的那个图片 + if (path.equals("paizhao")) { + holder.image.setImageResource(R.mipmap.find_add_img); + holder.ll_del.setVisibility(View.GONE); + } else { + holder.ll_del.setVisibility(View.VISIBLE); + RequestOptions options = new RequestOptions() + .centerCrop() + .placeholder(R.color.color_f6) + .diskCacheStrategy(DiskCacheStrategy.ALL); + Glide.with(context) + .load(path) + .apply(options) + .into(holder.image); + +// +// Glide.with(TjqxdActivity.this) +// .load(path) +// .placeholder(R.mipmap.default_error) +// .error(R.mipmap.default_error) +// .centerCrop() +// .into(holder.image); + } + + holder.ll_del.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(onItemDelClickListener!=null){ + onItemDelClickListener.onClick(position); + } + } + }); + + return convertView; + } + + class ViewHolder { + ImageView image; + LinearLayout ll_del; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfBmlbinfoAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfBmlbinfoAdapter.java new file mode 100755 index 0000000..c104134 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfBmlbinfoAdapter.java @@ -0,0 +1,106 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfPmListAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfPmListAdapter.java new file mode 100755 index 0000000..ce6068d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfPmListAdapter.java @@ -0,0 +1,41 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfSblbinfoAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfSblbinfoAdapter.java new file mode 100755 index 0000000..081c1a5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfSblbinfoAdapter.java @@ -0,0 +1,107 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfdjAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfdjAdapter.java new file mode 100755 index 0000000..a265e2e --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfdjAdapter.java @@ -0,0 +1,107 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QffzrAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QffzrAdapter.java new file mode 100755 index 0000000..4996665 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QffzrAdapter.java @@ -0,0 +1,106 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfgdztinfoAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfgdztinfoAdapter.java new file mode 100755 index 0000000..19b2d61 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QfgdztinfoAdapter.java @@ -0,0 +1,107 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QxdAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QxdAdapter.java new file mode 100755 index 0000000..e349585 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/QxdAdapter.java @@ -0,0 +1,52 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/RlinfoAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/RlinfoAdapter.java new file mode 100644 index 0000000..6f84cef --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/RlinfoAdapter.java @@ -0,0 +1,32 @@ +package com.bjzc.zjdxj.adapter; + +import androidx.annotation.NonNull; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ScjhAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ScjhAdapter.java new file mode 100755 index 0000000..a68ccef --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ScjhAdapter.java @@ -0,0 +1,90 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.XDJJHXZDataBean; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ScxsAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ScxsAdapter.java new file mode 100755 index 0000000..ef1ed46 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ScxsAdapter.java @@ -0,0 +1,94 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Xjjh; +import com.bjzc.zjdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + + +/** + * 下载计划适配器 + */ +public class ScxsAdapter extends BaseAdapter { + + private Context context; + //private List list; + private List dbxjjh; + private CallBack mCallBack; + + public ScxsAdapter(Context context, List dbxjjh, CallBack mCallBack) { + this.context = context; + //this.list = list; + this.mCallBack = mCallBack; + this.dbxjjh=dbxjjh; + } + + public interface CallBack { + void Click(View view); + } + + @Override + public int getCount() { + return dbxjjh.size(); + } + + @Override + public Object getItem(int i) { + return dbxjjh.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(dbxjjh.get(i).isChecked()); + holder.tv_gwmc.setText(dbxjjh.get(i).getJhmc()); + holder.tv_yjzj.setText(dbxjjh.get(i).getCountPercent()+"/"+dbxjjh.get(i).getJhds()); + + + + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/TimerTaskAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/TimerTaskAdapter.java new file mode 100644 index 0000000..64aa6d2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/TimerTaskAdapter.java @@ -0,0 +1,77 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Dqgz; +import com.bjzc.zjdxj.R; +import com.zhy.autolayout.utils.AutoUtils; + +import java.util.List; + +/** + * 点列表适配器 + */ +public class TimerTaskAdapter extends BaseAdapter { + + private Context context; + private List list; + + public TimerTaskAdapter(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.dqzg_check_item, viewGroup, false); + holder.tv_d = view.findViewById(R.id.tv_d); + 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).getZX_MC()); + + if (list.get(i).isWorkChecked()) { + 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_d; + TextView tv_zt; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ViewHolder.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ViewHolder.java new file mode 100755 index 0000000..52d7e84 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ViewHolder.java @@ -0,0 +1,291 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/WjDetailsListAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/WjDetailsListAdapter.java new file mode 100755 index 0000000..94d5ab5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/WjDetailsListAdapter.java @@ -0,0 +1,118 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.WjbjxitemList; +import com.bjzc.zjdxj.DBModel.WjbzjdList; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/WjbxjAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/WjbxjAdapter.java new file mode 100755 index 0000000..85ea0c9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/WjbxjAdapter.java @@ -0,0 +1,87 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.WjbrwinfoList; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsHistoryExpandableListAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsHistoryExpandableListAdapter.java new file mode 100755 index 0000000..ade1254 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsHistoryExpandableListAdapter.java @@ -0,0 +1,173 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhListAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhListAdapter.java new file mode 100755 index 0000000..7504469 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhListAdapter.java @@ -0,0 +1,28 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyAdapter.java new file mode 100755 index 0000000..e750f30 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyAdapter.java @@ -0,0 +1,45 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; +import android.graphics.Color; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyWorkCbAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyWorkCbAdapter.java new file mode 100755 index 0000000..646c221 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyWorkCbAdapter.java @@ -0,0 +1,141 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.bean.XsjhQyBean; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyWorkDjAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyWorkDjAdapter.java new file mode 100755 index 0000000..ab90491 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyWorkDjAdapter.java @@ -0,0 +1,141 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.bean.XsjhQyBean; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyWorkXsAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyWorkXsAdapter.java new file mode 100755 index 0000000..07b8cf0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XsjhqyWorkXsAdapter.java @@ -0,0 +1,155 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.bean.XsjhQyBean; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XzjhAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XzjhAdapter.java new file mode 100755 index 0000000..401d3f6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XzjhAdapter.java @@ -0,0 +1,99 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Djjh; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XzxsjhAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XzxsjhAdapter.java new file mode 100755 index 0000000..4304ae8 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/XzxsjhAdapter.java @@ -0,0 +1,87 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Xjjh; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/YhpcListAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/YhpcListAdapter.java new file mode 100644 index 0000000..ff02b53 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/YhpcListAdapter.java @@ -0,0 +1,82 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.DataBaseYhpc; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZgrwSaveAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZgrwSaveAdapter.java new file mode 100755 index 0000000..edcea23 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZgrwSaveAdapter.java @@ -0,0 +1,85 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Uploadzgjg; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjbAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjbAdapter.java new file mode 100755 index 0000000..1df5a2f --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjbAdapter.java @@ -0,0 +1,28 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjdscAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjdscAdapter.java new file mode 100755 index 0000000..7843e9c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjdscAdapter.java @@ -0,0 +1,93 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Zjrwdata; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjrwAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjrwAdapter.java new file mode 100755 index 0000000..5dc3aed --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjrwAdapter.java @@ -0,0 +1,55 @@ +package com.bjzc.zjdxj.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjrwxjAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjrwxjAdapter.java new file mode 100755 index 0000000..8d270a5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZjrwxjAdapter.java @@ -0,0 +1,110 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Xjzjrw; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZkdAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZkdAdapter.java new file mode 100755 index 0000000..7523146 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/ZkdAdapter.java @@ -0,0 +1,86 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/aqjcsaveAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/aqjcsaveAdapter.java new file mode 100755 index 0000000..98e94cc --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/aqjcsaveAdapter.java @@ -0,0 +1,88 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Uploadaqjcsave; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/othersbAdapter.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/othersbAdapter.java new file mode 100755 index 0000000..224a040 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/adapter/othersbAdapter.java @@ -0,0 +1,88 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Othersbsave; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseActivity.java new file mode 100755 index 0000000..b8c47e6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseActivity.java @@ -0,0 +1,200 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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(); + } + @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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseActivity3.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseActivity3.java new file mode 100755 index 0000000..0c0a0c5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseActivity3.java @@ -0,0 +1,238 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.utils.AppManager; +import com.bjzc.zjdxj.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 { + + protected OAToolbar toolbar; + 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(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(getLayoutId()); + toolbar = findViewById(R.id.toolbar); + AppManager.getAppManager().addActivity(this); + context = this; + initView(); + initData(); + } + 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); + } + //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 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, String rightText, View.OnClickListener listenerLeftBtnClick, View.OnClickListener listener) { + toolbar.setTvTitleText(title); + toolbar.setTvRightText(rightText); + toolbar.setTvRightOnClickListener(listener); + setLeftOnClickListener(listenerLeftBtnClick); + } + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseCallBack.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseCallBack.java new file mode 100755 index 0000000..77e40ac --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseCallBack.java @@ -0,0 +1,46 @@ +package com.bjzc.zjdxj.base; + +import android.content.Context; +import android.widget.Toast; + +import com.bjzc.zjdxj.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) { + if(dialog!=null){ + dialog.dismiss(); + } + Toast.makeText(context, "网络连接失败" , 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseCallBackNoProgress.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseCallBackNoProgress.java new file mode 100644 index 0000000..2ed8932 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseCallBackNoProgress.java @@ -0,0 +1,35 @@ +package com.bjzc.zjdxj.base; + + +import android.content.Context; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +/** + * Created by ruihong on 2022/03/03. + */ + +public abstract class BaseCallBackNoProgress implements Callback { + + private Context context; + + public BaseCallBackNoProgress(Context context) { + this.context = context; + } + + @Override + public void onResponse(Call call, Response response) { + onSuccess(call, response); + } + + @Override + public void onFailure(Call call, Throwable t) { + //Toast.makeText(context, "网络连接失败" , Toast.LENGTH_SHORT).show(); + onError(call, t); + } + + public abstract void onSuccess(Call call, Response response); + + public abstract void onError(Call call, Throwable t); +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseFragment.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseFragment.java new file mode 100755 index 0000000..109c183 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/BaseFragment.java @@ -0,0 +1,61 @@ +package com.bjzc.zjdxj.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.NonNull; +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); + return view; + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + initView(); + initData(); + } + + protected abstract void initView(); + + public void initData() { + } + + public void showToast(String text) { + if (text != null && !text.trim().equals("")) { + Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT).show(); + } + } + + +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/MipcaActivityCapture.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/MipcaActivityCapture.java new file mode 100755 index 0000000..63bc7ee --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/base/MipcaActivityCapture.java @@ -0,0 +1,268 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.zxing.camera.CameraManager; +import com.bjzc.zjdxj.zxing.decoding.CaptureActivityHandler; +import com.bjzc.zjdxj.zxing.decoding.InactivityTimer; +import com.bjzc.zjdxj.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() { + flashlightButton = findViewById(R.id.flashlightButton); + CameraManager.init(getApplication()); + viewfinderView = findViewById(R.id.viewfinder_view); + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ApkUpdateBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ApkUpdateBean.java new file mode 100755 index 0000000..42ab22c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ApkUpdateBean.java @@ -0,0 +1,74 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/AqjclbBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/AqjclbBean.java new file mode 100755 index 0000000..a6fa8cb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/AqjclbBean.java @@ -0,0 +1,222 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/AqjcrwListBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/AqjcrwListBean.java new file mode 100755 index 0000000..a4edabc --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/AqjcrwListBean.java @@ -0,0 +1,358 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/BasicDataBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/BasicDataBean.java new file mode 100755 index 0000000..a8444ab --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/BasicDataBean.java @@ -0,0 +1,71 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/BmBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/BmBean.java new file mode 100755 index 0000000..1c964cb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/BmBean.java @@ -0,0 +1,64 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/BmidBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/BmidBean.java new file mode 100755 index 0000000..98c8a7c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/BmidBean.java @@ -0,0 +1,61 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ContactListBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ContactListBean.java new file mode 100755 index 0000000..ed98e9c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ContactListBean.java @@ -0,0 +1,128 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DeviceTreeBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DeviceTreeBean.java new file mode 100644 index 0000000..76e51bb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DeviceTreeBean.java @@ -0,0 +1,188 @@ +package com.bjzc.zjdxj.bean; + + + +import android.os.Parcel; +import android.os.Parcelable; +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ruihong on 2018/4/17. + * 设备列表 + */ + +public class DeviceTreeBean 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; + } + + public static class DataBean implements Parcelable{ + /** + * 设备数据 + */ + private String ID; // 7241, //账号id + private String NNAME; // "用户原因", //原因名称 + private String PARENTID; // 0, //父id 0表示父节点 + private String ISLEAF; //0, //是否是叶子节点 1为叶子节点 + private int DISPLAY_ORDER; // 1 //同一个级别的显示顺序 + private boolean isExpand = false; //是否展开了 + private boolean isSelected = false; //是否选中了 + + public String getID() { + return ID; + } + + public void setID(String ID) { + this.ID = ID; + } + + public String getNNAME() { + return NNAME; + } + + public void setNNAME(String NNAME) { + this.NNAME = NNAME; + } + + public String getPARENTID() { + return PARENTID; + } + + public void setPARENTID(String PARENTID) { + this.PARENTID = PARENTID; + } + + public String getISLEAF() { + return ISLEAF; + } + + public void setISLEAF(String ISLEAF) { + this.ISLEAF = ISLEAF; + } + + public int getDISPLAY_ORDER() { + return DISPLAY_ORDER; + } + + public void setDISPLAY_ORDER(int DISPLAY_ORDER) { + this.DISPLAY_ORDER = DISPLAY_ORDER; + } + + public boolean isExpand() { + return isExpand; + } + + public void setExpand(boolean expand) { + isExpand = expand; + } + + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(this.ID); + dest.writeString(this.NNAME); + dest.writeString(this.PARENTID); + dest.writeString(this.ISLEAF); + dest.writeInt(this.DISPLAY_ORDER); + dest.writeByte((byte)(this.isExpand ?1:0)); + dest.writeByte((byte)(this.isSelected ?1:0)); + } + + public DataBean() { + } + + protected DataBean(Parcel in) { + this.ID = in.readString(); + this.NNAME = in.readString(); + this.PARENTID = in.readString(); + this.ISLEAF = in.readString(); + this.DISPLAY_ORDER = in.readInt(); + this.isExpand = in.readByte()!=0; + this.isSelected = in.readByte()!=0; + } + + 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 DeviceTreeBean() { + } + + protected DeviceTreeBean(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 DeviceTreeBean createFromParcel(Parcel source) { + return new DeviceTreeBean(source); + } + + @Override + public DeviceTreeBean[] newArray(int size) { + return new DeviceTreeBean[size]; + } + }; +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DjAjhGzInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DjAjhGzInfo.java new file mode 100755 index 0000000..8518fd3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DjAjhGzInfo.java @@ -0,0 +1,37 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DlbInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DlbInfo.java new file mode 100755 index 0000000..aa0fea6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DlbInfo.java @@ -0,0 +1,76 @@ +package com.bjzc.zjdxj.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 + + + + private String scid; + + + 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 getScid() { + return scid; + } + + public void setScid(String scid) { + this.scid = scid; + } + + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DqgzRequestInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DqgzRequestInfo.java new file mode 100644 index 0000000..593defa --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DqgzRequestInfo.java @@ -0,0 +1,86 @@ +package com.bjzc.zjdxj.bean; + +/** + * Created by Rehome-rjb1 on 2021/12/09. + * 定期工作请求数据 + */ +public class DqgzRequestInfo { + /** + * action : DQGZ_RWLB_GET + * zc : 值次(班组编号) + * jhid : 计划ID + */ + private String action; + private String BZ; + private String ZY; + private String JZ; + private String QY; + private String RWLX; + private String MK; + //RWZT=0 是查所有未执行的 传空或其他条件是查询历史记录的 + private Integer RWZT; + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getBZ() { + return BZ; + } + + public void setBZ(String BZ) { + this.BZ = BZ; + } + + public String getZY() { + return ZY; + } + + public void setZY(String ZY) { + this.ZY = ZY; + } + + public String getJZ() { + return JZ; + } + + public void setJZ(String JZ) { + this.JZ = JZ; + } + + public String getQY() { + return QY; + } + + public void setQY(String QY) { + this.QY = QY; + } + + public String getRWLX() { + return RWLX; + } + + public void setRWLX(String RWLX) { + this.RWLX = RWLX; + } + + public String getMK() { + return MK; + } + + public void setMK(String MK) { + this.MK = MK; + } + + public Integer getRWZT() { + return RWZT; + } + + public void setRWZT(Integer RWZT) { + this.RWZT = RWZT; + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DqgzUpLoadBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DqgzUpLoadBean.java new file mode 100644 index 0000000..b4955f2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DqgzUpLoadBean.java @@ -0,0 +1,71 @@ +package com.bjzc.zjdxj.bean; + +import java.util.List; + +public class DqgzUpLoadBean { + private String action; + private String SCR; + private List data; + public static class data { + private String RWID; + private String SCNR; + private String SCBZ; + private String DATE; + + public String getRWID() { + return RWID; + } + + public void setRWID(String RWID) { + this.RWID = RWID; + } + + public String getSCNR() { + return SCNR; + } + + public void setSCNR(String SCNR) { + this.SCNR = SCNR; + } + + public String getSCBZ() { + return SCBZ; + } + + public void setSCBZ(String SCBZ) { + this.SCBZ = SCBZ; + } + + public String getDATE() { + return DATE; + } + + public void setDATE(String DATE) { + this.DATE = DATE; + } + } + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getSCR() { + return SCR; + } + + public void setSCR(String SCR) { + this.SCR = SCR; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DxxSbListBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DxxSbListBean.java new file mode 100755 index 0000000..35deb20 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DxxSbListBean.java @@ -0,0 +1,97 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DxxSbUploadBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DxxSbUploadBean.java new file mode 100755 index 0000000..d4908f9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DxxSbUploadBean.java @@ -0,0 +1,356 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DxxZjrwBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DxxZjrwBean.java new file mode 100755 index 0000000..c42a08e --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/DxxZjrwBean.java @@ -0,0 +1,161 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/GridViewBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/GridViewBean.java new file mode 100755 index 0000000..bc364d2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/GridViewBean.java @@ -0,0 +1,46 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/GzbBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/GzbBean.java new file mode 100755 index 0000000..d4396da --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/GzbBean.java @@ -0,0 +1,76 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Gzqk.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Gzqk.java new file mode 100755 index 0000000..9c673d9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Gzqk.java @@ -0,0 +1,130 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/GzqkInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/GzqkInfo.java new file mode 100755 index 0000000..b928fd7 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/GzqkInfo.java @@ -0,0 +1,36 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/JzBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/JzBean.java new file mode 100644 index 0000000..ca28d36 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/JzBean.java @@ -0,0 +1,39 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/MessageEvent.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/MessageEvent.java new file mode 100755 index 0000000..61bb698 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/MessageEvent.java @@ -0,0 +1,33 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/MyUploadCheckedBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/MyUploadCheckedBean.java new file mode 100644 index 0000000..6aacc84 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/MyUploadCheckedBean.java @@ -0,0 +1,140 @@ +package com.bjzc.zjdxj.bean; + +import java.util.List; + +/** + * Created by huangwenfei on 2022/2/26 09:58:02 + */ + +public class MyUploadCheckedBean { + 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 zxid; + + private String scid; + + private String qybh; + + private String qymc; + + private String nfcbm; + + private String jhmc; + + private String sb; + + private String djsj; + + private String scsj; + + private String zc; + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getScid() { + return scid; + } + + public void setScid(String scid) { + this.scid = scid; + } + + 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 getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } + + public String getSb() { + return sb; + } + + public void setSb(String sb) { + this.sb = sb; + } + + public String getDjsj() { + return djsj; + } + + public void setDjsj(String djsj) { + this.djsj = djsj; + } + + public String getScsj() { + return scsj; + } + + public void setScsj(String scsj) { + this.scsj = scsj; + } + + public String getZc() { + return zc; + } + + public void setZc(String zc) { + this.zc = zc; + } + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PMChangeRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PMChangeRequestBean.java new file mode 100755 index 0000000..35948f7 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PMChangeRequestBean.java @@ -0,0 +1,90 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PMRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PMRequestBean.java new file mode 100755 index 0000000..0e102ea --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PMRequestBean.java @@ -0,0 +1,109 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PhoneInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PhoneInfo.java new file mode 100755 index 0000000..3758282 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PhoneInfo.java @@ -0,0 +1,99 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PminfoBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PminfoBean.java new file mode 100755 index 0000000..4434687 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PminfoBean.java @@ -0,0 +1,333 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PminfoBean2.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PminfoBean2.java new file mode 100755 index 0000000..0b39d88 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PminfoBean2.java @@ -0,0 +1,336 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PminfoNewBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PminfoNewBean.java new file mode 100755 index 0000000..cf22ede --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PminfoNewBean.java @@ -0,0 +1,157 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PointCheckedPersion.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PointCheckedPersion.java new file mode 100644 index 0000000..2467f0d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PointCheckedPersion.java @@ -0,0 +1,154 @@ +package com.bjzc.zjdxj.bean; + + +import java.util.List; + +/** + * Created by ruihong on 2022/03/03 + */ + + +public class PointCheckedPersion { + + + 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 zxid; + + private String scid; + + private String qybh; + + private String qymc; + + private String nfcbm; + + private String jhmc; + + private String sb; + + private String djsj; + + private String scsj; + + private String zc; + + private String scr; + + public String getZxid() { + return zxid; + } + + public void setZxid(String zxid) { + this.zxid = zxid; + } + + public String getScid() { + return scid; + } + + public void setScid(String scid) { + this.scid = scid; + } + + 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 getJhmc() { + return jhmc; + } + + public void setJhmc(String jhmc) { + this.jhmc = jhmc; + } + + public String getSb() { + return sb; + } + + public void setSb(String sb) { + this.sb = sb; + } + + public String getDjsj() { + return djsj; + } + + public void setDjsj(String djsj) { + this.djsj = djsj; + } + + public String getScsj() { + return scsj; + } + + public void setScsj(String scsj) { + this.scsj = scsj; + } + + public String getZc() { + return zc; + } + + public void setZc(String zc) { + this.zc = zc; + } + + public String getScr() { + return scr; + } + + public void setScr(String scr) { + this.scr = scr; + } + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PushInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PushInfo.java new file mode 100755 index 0000000..2e74ef8 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/PushInfo.java @@ -0,0 +1,70 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QXGDResultBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QXGDResultBean.java new file mode 100644 index 0000000..80d0862 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QXGDResultBean.java @@ -0,0 +1,28 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QXRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QXRequestBean.java new file mode 100755 index 0000000..be6d874 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QXRequestBean.java @@ -0,0 +1,145 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfFzrBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfFzrBean.java new file mode 100755 index 0000000..a740bfb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfFzrBean.java @@ -0,0 +1,88 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfbmlistBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfbmlistBean.java new file mode 100755 index 0000000..8e8f0c0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfbmlistBean.java @@ -0,0 +1,85 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfdjBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfdjBean.java new file mode 100755 index 0000000..085de6b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfdjBean.java @@ -0,0 +1,75 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfgdztlistBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfgdztlistBean.java new file mode 100755 index 0000000..51acdf4 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfgdztlistBean.java @@ -0,0 +1,79 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Qfkccxbean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Qfkccxbean.java new file mode 100755 index 0000000..0085c4d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Qfkccxbean.java @@ -0,0 +1,195 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfsblistBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfsblistBean.java new file mode 100755 index 0000000..d314078 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfsblistBean.java @@ -0,0 +1,90 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfsblistRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfsblistRequestBean.java new file mode 100755 index 0000000..9dcbd14 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QfsblistRequestBean.java @@ -0,0 +1,90 @@ +package com.bjzc.zjdxj.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; + private String PARENTID; + + 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; + } + + public String getPARENTID() { + return PARENTID; + } + + public void setPARENTID(String PARENTID) { + this.PARENTID = PARENTID; + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QxTjgdRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QxTjgdRequestBean.java new file mode 100755 index 0000000..32f54ea --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QxTjgdRequestBean.java @@ -0,0 +1,153 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QxdBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QxdBean.java new file mode 100755 index 0000000..a1577ba --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/QxdBean.java @@ -0,0 +1,141 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ResultBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ResultBean.java new file mode 100755 index 0000000..3f8effe --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ResultBean.java @@ -0,0 +1,38 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ResultBean2.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ResultBean2.java new file mode 100755 index 0000000..8abd1ec --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ResultBean2.java @@ -0,0 +1,55 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ResultBean3.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ResultBean3.java new file mode 100755 index 0000000..dedb84c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ResultBean3.java @@ -0,0 +1,46 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/RlinfoBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/RlinfoBean.java new file mode 100644 index 0000000..a2633a0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/RlinfoBean.java @@ -0,0 +1,207 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/RlresultBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/RlresultBean.java new file mode 100644 index 0000000..51dd6d1 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/RlresultBean.java @@ -0,0 +1,40 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ScDjjhInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ScDjjhInfo.java new file mode 100755 index 0000000..45f0eb6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ScDjjhInfo.java @@ -0,0 +1,118 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ScdjjhBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ScdjjhBean.java new file mode 100755 index 0000000..cb4fb3e --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ScdjjhBean.java @@ -0,0 +1,147 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ScxjjhBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ScxjjhBean.java new file mode 100755 index 0000000..ef3d1b8 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ScxjjhBean.java @@ -0,0 +1,141 @@ +package com.bjzc.zjdxj.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 int QZWC; + private List data; + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + + public int getQZWC() { + return QZWC; + } + + public void setQZWC(int QZWC) { + this.QZWC = QZWC; + } + + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/SczjdBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/SczjdBean.java new file mode 100755 index 0000000..d5bb4f3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/SczjdBean.java @@ -0,0 +1,209 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/SetSbModel.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/SetSbModel.java new file mode 100755 index 0000000..55247f8 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/SetSbModel.java @@ -0,0 +1,72 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/SetxjSbModel.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/SetxjSbModel.java new file mode 100755 index 0000000..99270b2 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/SetxjSbModel.java @@ -0,0 +1,72 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Sisbean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Sisbean.java new file mode 100755 index 0000000..7f05dac --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Sisbean.java @@ -0,0 +1,71 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/StatisticsBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/StatisticsBean.java new file mode 100644 index 0000000..cdd2db5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/StatisticsBean.java @@ -0,0 +1,97 @@ +package com.bjzc.zjdxj.bean; + +import java.util.List; + +/** + * Created by huangwenfei on 2022/3/2 + * 统计Bean + */ + + +public class StatisticsBean { + 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 qymc; + private String zds; + private String yjds; + private String wjds; + private String ljds; + private String mjds; + + public String getQymc() { + return qymc; + } + + public void setQymc(String qymc) { + this.qymc = qymc; + } + + 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 getLjds() { + return ljds; + } + + public void setLjds(String ljds) { + this.ljds = ljds; + } + + public String getMjds() { + return mjds; + } + + public void setMjds(String mjds) { + this.mjds = mjds; + } + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/StatusInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/StatusInfo.java new file mode 100755 index 0000000..e689913 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/StatusInfo.java @@ -0,0 +1,52 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/StatusInfo2.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/StatusInfo2.java new file mode 100755 index 0000000..73cbc6a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/StatusInfo2.java @@ -0,0 +1,57 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Statusinfozj.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Statusinfozj.java new file mode 100755 index 0000000..c5d7172 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/Statusinfozj.java @@ -0,0 +1,61 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/TJRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/TJRequestBean.java new file mode 100755 index 0000000..7a3a5f0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/TJRequestBean.java @@ -0,0 +1,63 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/UploadPhotosBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/UploadPhotosBean.java new file mode 100755 index 0000000..4c365b6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/UploadPhotosBean.java @@ -0,0 +1,45 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/UploadPhotosBean2.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/UploadPhotosBean2.java new file mode 100755 index 0000000..419deb5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/UploadPhotosBean2.java @@ -0,0 +1,55 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/UserInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/UserInfo.java new file mode 100755 index 0000000..6df0804 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/UserInfo.java @@ -0,0 +1,96 @@ +package com.bjzc.zjdxj.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 username; + private String usernames; + private String bzbh; + private String bzmc; + private String PermissionsResult; + private String ZY; + + 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; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getZY() { + return ZY; + } + + public void setZY(String ZY) { + this.ZY = ZY; + } + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XJRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XJRequestBean.java new file mode 100755 index 0000000..bef63c8 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XJRequestBean.java @@ -0,0 +1,38 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XjSbModel.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XjSbModel.java new file mode 100755 index 0000000..d9f4f40 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XjSbModel.java @@ -0,0 +1,72 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XjzhtjBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XjzhtjBean.java new file mode 100755 index 0000000..cfb32c9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XjzhtjBean.java @@ -0,0 +1,106 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsHistoryListBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsHistoryListBean.java new file mode 100755 index 0000000..7c2f245 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsHistoryListBean.java @@ -0,0 +1,225 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsJhListBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsJhListBean.java new file mode 100755 index 0000000..0a85105 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsJhListBean.java @@ -0,0 +1,239 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsRequestInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsRequestInfo.java new file mode 100755 index 0000000..5580596 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsRequestInfo.java @@ -0,0 +1,260 @@ +package com.bjzc.zjdxj.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; + private String mk; + private String zyid; + private String username; + private String starttime; + private String endtime; + private String type; + private String nfcbm; + private String djsj; + + 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; + } + + public String getMk() { + return mk; + } + + public void setMk(String mk) { + this.mk = mk; + } + + public String getZyid() { + return zyid; + } + + public void setZyid(String zyid) { + this.zyid = zyid; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getStarttime() { + return starttime; + } + + public void setStarttime(String starttime) { + this.starttime = starttime; + } + + public String getEndtime() { + return endtime; + } + + public void setEndtime(String endtime) { + this.endtime = endtime; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getNfcbm() { + return nfcbm; + } + + public void setNfcbm(String nfcbm) { + this.nfcbm = nfcbm; + } + + public String getDjsj() { + return djsj; + } + + public void setDjsj(String djsj) { + this.djsj = djsj; + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsRequestInfo2.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsRequestInfo2.java new file mode 100755 index 0000000..83b3477 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsRequestInfo2.java @@ -0,0 +1,257 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsResultBaseBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsResultBaseBean.java new file mode 100755 index 0000000..b9f6fd6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsResultBaseBean.java @@ -0,0 +1,38 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsSaveDataInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsSaveDataInfo.java new file mode 100755 index 0000000..2f2392f --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsSaveDataInfo.java @@ -0,0 +1,145 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XscbRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XscbRequestBean.java new file mode 100755 index 0000000..1fac9c3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XscbRequestBean.java @@ -0,0 +1,44 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsjhQyBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsjhQyBean.java new file mode 100755 index 0000000..9752146 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/XsjhQyBean.java @@ -0,0 +1,441 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/YhpcResultBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/YhpcResultBean.java new file mode 100644 index 0000000..53ffcbb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/YhpcResultBean.java @@ -0,0 +1,38 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZJinfoBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZJinfoBean.java new file mode 100755 index 0000000..66394cc --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZJinfoBean.java @@ -0,0 +1,124 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZYDataBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZYDataBean.java new file mode 100755 index 0000000..d1a2984 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZYDataBean.java @@ -0,0 +1,71 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZjbBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZjbBean.java new file mode 100755 index 0000000..6e3592d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZjbBean.java @@ -0,0 +1,90 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZjrwBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZjrwBean.java new file mode 100755 index 0000000..0c086ba --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZjrwBean.java @@ -0,0 +1,191 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZjrwdetailBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZjrwdetailBean.java new file mode 100755 index 0000000..48f2cab --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZjrwdetailBean.java @@ -0,0 +1,217 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZkdInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZkdInfo.java new file mode 100755 index 0000000..9dba746 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/ZkdInfo.java @@ -0,0 +1,101 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/djuploadrzRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/djuploadrzRequestBean.java new file mode 100755 index 0000000..0c2a92d --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/djuploadrzRequestBean.java @@ -0,0 +1,108 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/qfbpbjRequestBean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/qfbpbjRequestBean.java new file mode 100755 index 0000000..68bd874 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/qfbpbjRequestBean.java @@ -0,0 +1,55 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/sbInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/sbInfo.java new file mode 100755 index 0000000..e9d5373 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/sbInfo.java @@ -0,0 +1,76 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/xjsbInfo.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/xjsbInfo.java new file mode 100755 index 0000000..cdfe473 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/xjsbInfo.java @@ -0,0 +1,35 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/zdybean.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/zdybean.java new file mode 100755 index 0000000..da5121a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bean/zdybean.java @@ -0,0 +1,162 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bleUtil/BlueTestInfoActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bleUtil/BlueTestInfoActivity.java new file mode 100644 index 0000000..86309fc --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bleUtil/BlueTestInfoActivity.java @@ -0,0 +1,407 @@ +package com.bjzc.zjdxj.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.Bundle; +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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.BaseActivity3; +import com.google.gson.Gson; + +import java.util.ArrayList; + +import androidx.annotation.NonNull; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + + +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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bleUtil/BluetoothLeService.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bleUtil/BluetoothLeService.java new file mode 100644 index 0000000..7cc983b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/bleUtil/BluetoothLeService.java @@ -0,0 +1,275 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/contans/Contans.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/contans/Contans.java new file mode 100755 index 0000000..f23822a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/contans/Contans.java @@ -0,0 +1,118 @@ +package com.bjzc.zjdxj.contans; + +public class Contans { + + + public static String LOGIN = "AppLogin.ashx"; + public static String LOGINNFC = "AppLogin/userLogin.ashx"; + //内网正式环境 + //public static String IP = "http://10.20.1.100:8110/"; + public static String IP = "https://www.zjtsp.com/"; + public static String MAXIMOIP = "http://10.46.0.152: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 APPUPLOAD = "ApkUpdate/GetData.aspx";//app自动更新 + public final static String XSCB = "XSCB/YX_XJGL.ashx";//巡检管理/巡检任务列表 + public final static String XSCB_PLAN_DOWNLOAD = "XSCB/YX_XJGL.ashx";///巡检管理/巡检任务/巡检数据管理/计划下载 + public final static String BAXJ = "JK_BA_XJGL.ashx";//保安巡检任务列表 + public final static String XSCB_PLAN_BA_DOWNLOAD = "JK_BA_XJGL.ashx";///保安巡检计划下载 + public final static String XSCB_PLAN_BA_UPLOAD = "JK_BA_XJGL.ashx";///保安巡检计划上传 + public final static String DQGZ = "DQGZ/YF_DQGZ.ashx";//定期工作列表 + public final static String DQGZ_UPLOAD_TASK = "DQGZ/YF_DQGZ.ashx";//定期工作上传 + public final static String GET_MY_UPLOAD_CHECKED = "XSCB/MY_UPLOAD.ashx";//获取本人上传的巡检数据 + public final static String GET_STATISTICS_DATA = "XSCB/STATISTICS_CHECKED.ashx";//获取本人上传的巡检数据 + public final static String LAST_UPLOAD_POINT_CHECKED = "XSCB/LAST_UPLOAD_POINT_CHECKED.ashx";//获取当前值当前点最后的已巡检人 + public final static String XJ_UPLOAD_LOCATION_CHECKED = "XSCB/CURRENT_CHECK_LOCALTION.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 NFCBM = "NFCBM"; + public final static String BZBH = "bzbh"; + public final static String BZMC = "bzmc"; + public final static String USERNAME = "USERNAME"; + public final static String SCID = "scid"; + public final static String RWID = "rwid"; + public final static String ZY = "ZY"; + public final static String LASTLOGINDATE = "LASTLOGINDATE"; + /********************广播字段(唯一性)********************************/ + public static final String ACTION_YULONE = "actionYulOne"; + public static final String ACTION_YULTWO = "actionYulTwo"; + public static final String ACTION_REFRESHPLANDOWNLOAD = "refreshPlanDownload"; + public static final String ACTION_REFRESHPLANUPLOAD = "refreshPlanUpload"; + public static final String ACTION_REFRESHDOWNLOADPLAN = "refreshDownloadPlan"; + public static final String ACTION_PROFESSIONCHANGE = "professionChange"; + + public final static String QFGD = "Q4GD/Q4GD_CKGL.ashx"; + public final static String QFDDVICELIST = "Q4WorkOrder/Q4SBGL.ashx"; + public final static String QFDDVICESUBLISTTREE = "Q4WorkOrder/Q4SBGL.ashx"; + +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/service/MQTTPushService.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/service/MQTTPushService.java new file mode 100644 index 0000000..520cafd --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/service/MQTTPushService.java @@ -0,0 +1,63 @@ +package com.bjzc.zjdxj.service; + + +import android.app.Service; +import android.content.Intent; +import android.os.Binder; +import android.os.IBinder; +import android.os.Looper; + +import androidx.annotation.Nullable; +import com.bjzc.zjdxj.utils.MqttSSLPublishServer; +import org.eclipse.paho.android.service.MqttAndroidClient; +import org.eclipse.paho.client.mqttv3.MqttConnectOptions; + +public class MQTTPushService extends Service { + private int one; + private SimpleBinder mBinder; + public MqttAndroidClient mClient; + private MqttConnectOptions options; + public static String clientId = "android"; + + @Override + public void onCreate() { + super.onCreate(); + mBinder = new SimpleBinder(); + MqttSSLPublishServer mqttPublishServer = new MqttSSLPublishServer(this); + mqttPublishServer.start(); + } + + @Nullable + @Override + public IBinder onBind(Intent intent) { + if (mBinder != null) { + return mBinder; + } + return null; + } + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + return super.onStartCommand(intent, flags, startId); + } + + @Override + public void onDestroy() { + super.onDestroy(); + } + + class SimpleBinder extends Binder { + + public void doTask() { + new Thread(new Runnable() { + @Override + public void run() { + // 任务逻辑 + } + }).start(); + } + } + + public boolean isMainThread() { + return Looper.getMainLooper().getThread() == Thread.currentThread(); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/service/PushService.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/service/PushService.java new file mode 100755 index 0000000..827e0f4 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/service/PushService.java @@ -0,0 +1,169 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.DBModel.Djjh; +import com.bjzc.zjdxj.DBModel.DjjhList; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.activity.sbxdj.DjMainActivity; +import com.bjzc.zjdxj.bean.XscbRequestBean; +import com.bjzc.zjdxj.contans.Contans; +import com.bjzc.zjdxj.utils.GsonUtils; +import com.bjzc.zjdxj.utils.HttpListener; +import com.bjzc.zjdxj.utils.NohttpUtils; +import com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/Api.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/Api.java new file mode 100755 index 0000000..5ebe12a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/Api.java @@ -0,0 +1,213 @@ +package com.bjzc.zjdxj.utils; + +import com.bjzc.zjdxj.bean.ApkUpdateBean; +import com.bjzc.zjdxj.bean.BmidBean; +import com.bjzc.zjdxj.bean.ContactListBean; +import com.bjzc.zjdxj.bean.JzBean; +import com.bjzc.zjdxj.bean.QXGDResultBean; +import com.bjzc.zjdxj.bean.ResultBean3; +import com.bjzc.zjdxj.bean.UploadPhotosBean; +import com.bjzc.zjdxj.bean.UploadPhotosBean2; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/AppManager.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/AppManager.java new file mode 100755 index 0000000..7249ee9 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/AppManager.java @@ -0,0 +1,107 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/AutoToolbar.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/AutoToolbar.java new file mode 100755 index 0000000..4c1c5f1 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/AutoToolbar.java @@ -0,0 +1,144 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/CanBanScrollViewPager.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/CanBanScrollViewPager.java new file mode 100755 index 0000000..ef5905e --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/CanBanScrollViewPager.java @@ -0,0 +1,60 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/ContactDatas.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/ContactDatas.java new file mode 100755 index 0000000..639105a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/ContactDatas.java @@ -0,0 +1,41 @@ +package com.bjzc.zjdxj.utils; + + +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/ControllerActivity.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/ControllerActivity.java new file mode 100755 index 0000000..c1290af --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/ControllerActivity.java @@ -0,0 +1,112 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/FlashUtil.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/FlashUtil.java new file mode 100644 index 0000000..9e2e58c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/FlashUtil.java @@ -0,0 +1,51 @@ +package com.bjzc.zjdxj.utils; + +import android.content.Context; +import android.hardware.Camera; +import android.hardware.camera2.CameraManager; +import android.os.Build; + +public class FlashUtil { + private boolean isFlashOn = false; + private Camera camera; + private CameraManager camManager; + public void toggle(Context context) { + try { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + this.camManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE); + String cameraId = this.camManager.getCameraIdList()[0]; + this.camManager.setTorchMode(cameraId, !this.isFlashOn); + this.isFlashOn = !isFlashOn; + } else { + camera = Camera.open(); + Camera.Parameters parameters = camera.getParameters(); + if (isFlashOn) { + parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); + } else { + parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); + } + isFlashOn = !isFlashOn; + } + } catch (Exception e) { + e.printStackTrace(); + } + } + //页面销毁的时候调用此方法 + public void finishFlashUtils() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + try { + String cameraId = camManager.getCameraIdList()[0]; + camManager.setTorchMode(cameraId, false); + this.isFlashOn = false; + }catch (Exception e) { + e.printStackTrace(); + } + }else{ + if (camera != null) { + camera.stopPreview(); + camera.release(); + } + camera = null; + } + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/GsonUtils.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/GsonUtils.java new file mode 100755 index 0000000..e183c19 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/GsonUtils.java @@ -0,0 +1,130 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpListener.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpListener.java new file mode 100755 index 0000000..19b460a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpListener.java @@ -0,0 +1,27 @@ +package com.bjzc.zjdxj.utils; + +import com.yolanda.nohttp.rest.Response; + +import java.text.ParseException; + +/** + * NoHttp请求回调的接口 + */ +public interface HttpListener { + + /** + * 请求成功 + * + * @param what 请求队列的标志 + * @param response 请求结果 + */ + void onSucceed(int what, Response response) throws ParseException; + + /** + * 请求失败 + * + * @param what 请求队列的标志 + * @param response 请求结果 + */ + void onFailed(int what, Response response); +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpResponseListener.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpResponseListener.java new file mode 100755 index 0000000..992d277 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpResponseListener.java @@ -0,0 +1,140 @@ +package com.bjzc.zjdxj.utils; + +import android.app.Activity; +import android.content.DialogInterface; +import android.widget.Toast; + +import com.bjzc.zjdxj.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; + +import java.text.ParseException; + +/** + * 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) { + try { + callback.onSucceed(what, response); + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + + /** + * 失败回调 + * + * @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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpResponseListenerNoProgress.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpResponseListenerNoProgress.java new file mode 100644 index 0000000..6658b22 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpResponseListenerNoProgress.java @@ -0,0 +1,109 @@ +package com.bjzc.zjdxj.utils; + + + +import android.app.Activity; +import android.widget.Toast; + +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; +import java.text.ParseException; + +/** + * NoHttp的封装 + */ +public class HttpResponseListenerNoProgress implements OnResponseListener { + + private Activity mActivity; + + /** + * 当前请求 + */ + private Request mRequest; + + /** + * 请求回调 + */ + private HttpListener callback; + + + + /** + * @param mActivity 用来实例化dialog + * @param mRequest 请求 + * @param callback 请求回调 + */ + public HttpResponseListenerNoProgress(Activity mActivity, final Request mRequest, HttpListener callback) { + this.mActivity = mActivity; + this.mRequest = mRequest; + this.callback = callback; + } + + /** + * 请求开始 + * + * @param what + */ + @Override + public void onStart(int what) { + + } + + /** + * 成功回调 + * + * @param what + * @param response + */ + @Override + public void onSucceed(int what, Response response) { + if (callback != null) { + try { + callback.onSucceed(what, response); + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + + /** + * 失败回调 + * + * @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(); + } + } + if (callback != null) + callback.onFailed(what, response); + } + + /** + * 请求结束 + * + * @param what + */ + @Override + public void onFinish(int what) { + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpUtils.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpUtils.java new file mode 100755 index 0000000..2d8a344 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/HttpUtils.java @@ -0,0 +1,115 @@ +package com.bjzc.zjdxj.utils; + +import android.content.Context; +import android.util.Log; + +import com.bjzc.zjdxj.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(30, TimeUnit.SECONDS); + httpClientBuilder.readTimeout(30, 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/MqttSSLPublishServer.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/MqttSSLPublishServer.java new file mode 100644 index 0000000..f8141ac --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/MqttSSLPublishServer.java @@ -0,0 +1,173 @@ +package com.bjzc.zjdxj.utils; + + +/** + * @author huangwenfei + * @version v1.0.0.0 + * Created DateTime 2021-03-08 14:52 + * @description: mqtt 高可靠,断线重连 消息发布服务 + */ + +import android.content.Context; + +import com.bjzc.zjdxj.contans.Contans; +import com.google.gson.Gson; +import org.eclipse.paho.client.mqttv3.*; +import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Timer; +import java.util.TimerTask; +import java.util.UUID; + +public class MqttSSLPublishServer { + /** + * 代理服务器ip地址 + */ + private final String HOST = "tcp://39.101.173.20:1883"; + /** + * 发送主题 + */ + private final String topicPush = "app_push_yf"; + /** + * 订阅主题 + */ + private final String topicReceive = "app_send"; + /** + * 客户端唯一标识,相同的会被逼下线 + */ + private String clientid = "v1_server_ssl_android"; + private MqttClient client; + private MqttConnectOptions options; + /** + * MQTT服务端连接账号 + */ + private final String userName = "admin"; + /** + * MQTT服务端连接密码 + */ + private final String passWord = "public"; + /** + * 消息发布质量 + * 0:最多一次,即:<=1 + * 1:至少一次,即:>=1 + * 2:一次,即:=1 + */ + private int qos = 2; + // 推送消息 + private MqttMessage message; + //定时器 + private Timer timer; + private Context context; + + public MqttSSLPublishServer(Context context) { + this.context=context; + // host为主机名,clientid即连接MQTT的客户端ID,一般以唯一标识符表示,MemoryPersistence设置clientid的保存形式,默认为以内存保存 + try { + clientid=(String) SPUtils.get(context,"clientid",String.valueOf("")); + + if(clientid!=null&&clientid.equals("")){ + clientid=UUID.randomUUID().toString(); + SPUtils.put(context,"clientid",clientid); + } + + client = new MqttClient(HOST, clientid, new MemoryPersistence()); + // MQTT的连接设置 + options = new MqttConnectOptions(); + // 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,这里设置为true表示每次连接到服务器都以新的身份连接 + options.setCleanSession(true); + // 设置连接的用户名 + options.setUserName(userName); + // 设置连接的密码 + options.setPassword(passWord.toCharArray()); + // 设置超时时间 单位为秒 + options.setConnectionTimeout(10); + // 设置会话心跳时间 单位为秒 服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制 + options.setKeepAliveInterval(20); + // 发布目的消息对象 + message = new MqttMessage(); + // 设置回调 + client.setCallback(new MqttCallbackExtended() { + + @Override + public void connectComplete(boolean reconnect, String serverURI) { + //连接成功后调用 + try { + client.subscribe(topicReceive,qos);//具体订阅代码 + } catch (MqttException e) { + e.printStackTrace(); + } + } + + public void connectionLost(Throwable cause) { + stop();//关闭 + } + + public void messageArrived(String topic, MqttMessage message) throws Exception { +// String messageDe = RSAAndroid.decryptByPublicKeyForSpiltStr(new String(message.getPayload()), RSAAndroid.publicRsaKey); +// System.out.println("message content:"+messageDe); +// System.out.println("***** get message end *****"); + } + + public void deliveryComplete(IMqttDeliveryToken token) { + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void start() { + try { + timer = new Timer(); + timer.schedule(new TimerTask() { + public void run() { + message.setQos(qos); + message.setRetained(true); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String username = (String) SPUtils.get(context, Contans.USERID,String.valueOf("")); + String password = (String) SPUtils.get(context,Contans.USERPWD,String.valueOf("")); + String nfc = (String) SPUtils.get(context,Contans.NFCBM,String.valueOf("")); + + HashMap mapPush = new HashMap<>(); + mapPush.put("username",username); + mapPush.put("password",password); + mapPush.put("date",sd.format(new Date())); + mapPush.put("nfc",nfc); + Gson gson = new Gson(); + + try { + //判断拦截状态,这里注意一下,如果没有这个判断,是非常坑的 + if (!client.isConnected()) { + // 重新连接 + client.connect(options); + } + if (client.isConnected()) {//连接成功,跳出连接 + // 发布消息 + String messageEn = RSAAndroid.encryptByPublicKeyForSpiltStr(gson.toJson(mapPush),RSAAndroid.publicRsaKey); + message.setPayload(messageEn.getBytes()); + client.publish(topicPush, message); + } + } catch (Exception e1) { + e1.printStackTrace(); + } + } + }, 10000, 120000); + // 设定指定的时间time,此处为10000毫秒 + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void stop() { + try { + // 断开连接 + client.reconnect(); + // 关闭客户端 + //client.close(); + } catch (MqttException e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NetworkAvailableUtils.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NetworkAvailableUtils.java new file mode 100755 index 0000000..6eb6c16 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NetworkAvailableUtils.java @@ -0,0 +1,102 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NetworkUtil.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NetworkUtil.java new file mode 100644 index 0000000..7c18a30 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NetworkUtil.java @@ -0,0 +1,52 @@ +package com.bjzc.zjdxj.utils; + + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; + +/** + * Create By HuangWenFei + * 创建日期:2023-05-19 16:09 + * 描述: + */ + +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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NoProgresshttpUtils.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NoProgresshttpUtils.java new file mode 100644 index 0000000..608977c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NoProgresshttpUtils.java @@ -0,0 +1,116 @@ +package com.bjzc.zjdxj.utils; + + + +import android.app.Activity; +import android.content.Context; + +import com.bjzc.zjdxj.R; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.download.DownloadQueue; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.RequestQueue; + +import java.security.KeyStore; +import java.security.SecureRandom; +import java.security.cert.CertificateFactory; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManagerFactory; + +/** + * Nohttp工具类 + */ +public class NoProgresshttpUtils { + + private static NoProgresshttpUtils sUtils; + private RequestQueue mQueue; + + /** + * 下载队列. + */ + private static DownloadQueue downloadQueue; + + private NoProgresshttpUtils() { + mQueue = NoHttp.newRequestQueue(8); + } + + /** + * DCL单例模式 双层锁 + * + * @return + */ + public static NoProgresshttpUtils getInstance() { + if (sUtils == null) { + synchronized (NohttpUtils.class) { + if (sUtils == null) { + sUtils = new NoProgresshttpUtils(); + } + } + } + return sUtils; + } + + /** + * 下载队列. + */ + public static DownloadQueue getDownloadInstance() { + if (downloadQueue == null) + downloadQueue = NoHttp.newDownloadQueue(1); + return downloadQueue; + } + + + public void add(Activity mActivity, int what, Request request, HttpListener callback) { + mQueue.add(what, request, new HttpResponseListenerNoProgress(mActivity, request, callback)); + } + + /** + * 取消这个sign这个标记的所有请求 + * + * @param sign + */ + public void cancelBySign(Object sign) { + mQueue.cancelBySign(sign); + } + + /** + * 取消队列中所有请求 + */ + public void cancelAll() { + mQueue.cancelAll(); + } + + /** + * 退出App停止所有请求 + */ + public void stopAll() { + mQueue.stop(); + } + + public static SSLSocketFactory getSSLSocketFactory(Context context){ + try { + CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); + KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); + keyStore.load(null); + String certificateAlias = Integer.toString(0); + keyStore.setCertificateEntry(certificateAlias, certificateFactory. + generateCertificate(context.getResources().openRawResource(R.raw.ca1))); + SSLContext sslContext = SSLContext.getInstance("TLS"); + final TrustManagerFactory trustManagerFactory = + TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + trustManagerFactory.init(keyStore); + sslContext.init + ( + null, + trustManagerFactory.getTrustManagers(), + new SecureRandom() + ); + return sslContext.getSocketFactory(); + } catch (Exception ex) { + ex.printStackTrace(); + } + return null; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NohttpUtils.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NohttpUtils.java new file mode 100755 index 0000000..8925bee --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/NohttpUtils.java @@ -0,0 +1,130 @@ +package com.bjzc.zjdxj.utils; + +import android.app.Activity; +import android.content.Context; + +import com.bjzc.zjdxj.R; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.download.DownloadQueue; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.RequestQueue; + +import java.security.KeyStore; +import java.security.SecureRandom; +import java.security.cert.CertificateFactory; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManagerFactory; + +/** + * 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(); + } + + public static SSLSocketFactory getSSLSocketFactory(Context context){ + try { + CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); + KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); + keyStore.load(null); + String certificateAlias = Integer.toString(0); + keyStore.setCertificateEntry(certificateAlias, certificateFactory. + generateCertificate(context.getResources().openRawResource(R.raw.ca1))); + SSLContext sslContext = SSLContext.getInstance("TLS"); + final TrustManagerFactory trustManagerFactory = + TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + trustManagerFactory.init(keyStore); + sslContext.init + ( + null, + trustManagerFactory.getTrustManagers(), + new SecureRandom() + ); + return sslContext.getSocketFactory(); + } catch (Exception ex) { + ex.printStackTrace(); + } + return null; + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/OAToolbar.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/OAToolbar.java new file mode 100755 index 0000000..e8e1159 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/OAToolbar.java @@ -0,0 +1,134 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/RSAAndroid.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/RSAAndroid.java new file mode 100644 index 0000000..2fd8b00 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/RSAAndroid.java @@ -0,0 +1,387 @@ +package com.bjzc.zjdxj.utils; + + +/** + * @ Author : huangwenfei + * @ Date : Created in 2022/3/8 14:44 下午 + * @ Version : $1.0.0.0 + * @ Description: + */ + + +import android.util.Base64; +import java.nio.charset.StandardCharsets; +import java.security.*; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.ArrayList; +import java.util.List; +import javax.crypto.Cipher; + +public class RSAAndroid { + private static String TAG = "RSAAndroid"; + public static final String RSA = "RSA";// 非对称加密密钥算法 + /**加密方式,android的*/ + // public static final String ECB_PKCS1_PADDING = "RSA/None/NoPadding"; + /**加密方式,标准jdk的*/ + //public static final String ECB_PKCS1_PADDING = "RSA/None/PKCS1Padding"; + public static final String ECB_PKCS1_PADDING = "RSA/ECB/PKCS1Padding"; + public static final int DEFAULT_KEY_SIZE = 2048;//秘钥默认长度 + public static final byte[] DEFAULT_SPLIT = "#PART#".getBytes(); // 当要加密的内容超过bufferSize,则采用partSplit进行分块加密 + public static final int DEFAULT_BUFFERSIZE = (DEFAULT_KEY_SIZE / 8) - 11;// 当前秘钥支持加密的最大字节数 + public static String publicRsaKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmMLyJw1CAl25lnDgEeYZvOps+1pSi93Q39djEniGNo5uUKVEkqDIayTli2zreX10HqT2jTtDN9APtwuEhWazP/VgOXoWsztbtZtSwJGM6Eg0R9zDCbKyQt5Qhg3jkTrXrvrGn7j/ZP56VNWELv/i5dsRCTccr1MeIyxjOC2pojCOsrTN4HZzgBj+GEUKPRLcKOiPfOsoP7HgkAua82vTOIgWpqIp+1PIfcjjCqzOsSv5PQnGP75+flIXtz75OKo/9hX9zl5JHNcH3SC6nS8Czii9E292XIsBtKdQijvNMn+YcmKFo6mZOUXHdO506NoKkxRny5fbKiPf/oqTA7Zx5QIDAQAB"; + + public static byte[] decryptBASE64(String key) throws Exception { + return Base64.decode(key, Base64.DEFAULT); + } + + public static String encryptBASE64(byte[] key) throws Exception { + return Base64.encodeToString(key, Base64.DEFAULT); + } + + /** + * 随机生成RSA密钥对 + * + * @param keyLength 密钥长度,范围:512~2048 + * 一般1024 + * @return + */ + public static KeyPair generateRSAKeyPair(int keyLength) { + try { + KeyPairGenerator kpg = KeyPairGenerator.getInstance(RSA); + kpg.initialize(keyLength); + return kpg.genKeyPair(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + return null; + } + } + + /** + * 用公钥对字符串进行加密 + * + * @param data 原文 + */ + public static byte[] encryptByPublicKey(byte[] data, byte[] publicKey) throws Exception { + // 得到公钥 + byte[] decoded = Base64.decode(publicKey, Base64.DEFAULT); + RSAPublicKey keyPublic = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded)); + // 加密数据 + Cipher cp = Cipher.getInstance(ECB_PKCS1_PADDING); + cp.init(Cipher.ENCRYPT_MODE, keyPublic); + return cp.doFinal(data); + } + + /** + * 私钥加密 + * + * @param data 待加密数据 + * @param privateKey 密钥 + * @return byte[] 加密数据 + */ + public static byte[] encryptByPrivateKey(byte[] data, byte[] privateKey) throws Exception { + // 得到私钥 + byte[] decoded = Base64.decode(privateKey, Base64.DEFAULT); + RSAPrivateKey keyPrivate = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded)); + // 数据加密 + Cipher cipher = Cipher.getInstance(ECB_PKCS1_PADDING); + cipher.init(Cipher.ENCRYPT_MODE, keyPrivate); + return cipher.doFinal(data); + } + + /** + * 公钥解密 + * + * @param data 待解密数据 + * @param publicKey 密钥 + * @return byte[] 解密数据 + */ + public static byte[] decryptByPublicKey(byte[] data, byte[] publicKey) throws Exception { + // 得到公钥 + byte[] decoded = Base64.decode(publicKey, Base64.DEFAULT); + RSAPublicKey keyPublic = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded)); + // 数据解密 + Cipher cipher = Cipher.getInstance(ECB_PKCS1_PADDING); + cipher.init(Cipher.DECRYPT_MODE, keyPublic); + return cipher.doFinal(data); + } + + /** + * 使用私钥进行解密 + */ + public static byte[] decryptByPrivateKey(byte[] encrypted, byte[] privateKey) throws Exception { + // 得到私钥 + byte[] decoded = Base64.decode(privateKey, Base64.DEFAULT); + RSAPrivateKey keyPrivate = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded)); + + // 解密数据 + Cipher cp = Cipher.getInstance(ECB_PKCS1_PADDING); + cp.init(Cipher.DECRYPT_MODE, keyPrivate); + byte[] arr = cp.doFinal(encrypted); + return arr; + } + + /** + * 用公钥对字符串进行分段加密 + */ + public static byte[] encryptByPublicKeyForSpilt(byte[] data, byte[] publicKey) throws Exception { + int dataLen = data.length; + if (dataLen <= DEFAULT_BUFFERSIZE) { + return encryptByPublicKey(data, publicKey); + } + List allBytes = new ArrayList(2048); + int bufIndex = 0; + int subDataLoop = 0; + byte[] buf = new byte[DEFAULT_BUFFERSIZE]; + for (int i = 0; i < dataLen; i++) { + buf[bufIndex] = data[i]; + if (++bufIndex == DEFAULT_BUFFERSIZE || i == dataLen - 1) { + subDataLoop++; + if (subDataLoop != 1) { + for (byte b : DEFAULT_SPLIT) { + allBytes.add(b); + } + } + byte[] encryptBytes = encryptByPublicKey(buf, publicKey); + for (byte b : encryptBytes) { + allBytes.add(b); + } + bufIndex = 0; + if (i == dataLen - 1) { + buf = null; + } else { + buf = new byte[Math.min(DEFAULT_BUFFERSIZE, dataLen - i - 1)]; + } + } + } + byte[] bytes = new byte[allBytes.size()]; + { + int i = 0; + for (Byte b : allBytes) { + bytes[i++] = b.byteValue(); + } + } + return bytes; + } + + + + /** + * 使用私钥分段加密 + * + * @param data 要加密的原始数据 + * @param privateKey 秘钥 + */ + public static byte[] encryptByPrivateKeyForSpilt(byte[] data, byte[] privateKey) throws Exception { + int dataLen = data.length; + if (dataLen <= DEFAULT_BUFFERSIZE) { + return encryptByPrivateKey(data, privateKey); + } + List allBytes = new ArrayList(2048); + int bufIndex = 0; + int subDataLoop = 0; + byte[] buf = new byte[DEFAULT_BUFFERSIZE]; + for (int i = 0; i < dataLen; i++) { + buf[bufIndex] = data[i]; + if (++bufIndex == DEFAULT_BUFFERSIZE || i == dataLen - 1) { + subDataLoop++; + if (subDataLoop != 1) { + for (byte b : DEFAULT_SPLIT) { + allBytes.add(b); + } + } + byte[] encryptBytes = encryptByPrivateKey(buf, privateKey); + for (byte b : encryptBytes) { + allBytes.add(b); + } + bufIndex = 0; + if (i == dataLen - 1) { + buf = null; + } else { + buf = new byte[Math.min(DEFAULT_BUFFERSIZE, dataLen - i - 1)]; + } + } + } + byte[] bytes = new byte[allBytes.size()]; + { + int i = 0; + for (Byte b : allBytes) { + bytes[i++] = b.byteValue(); + } + } + return bytes; + } + + /** + * 公钥分段解密 + * + * @param encrypted 待解密数据 + * @param publicKey 密钥 + */ + public static byte[] decryptByPublicKeyForSpilt(byte[] encrypted, byte[] publicKey) throws Exception { + int splitLen = DEFAULT_SPLIT.length; + if (splitLen <= 0) { + return decryptByPublicKey(encrypted, publicKey); + } + int dataLen = encrypted.length; + List allBytes = new ArrayList(1024); + int latestStartIndex = 0; + for (int i = 0; i < dataLen; i++) { + byte bt = encrypted[i]; + boolean isMatchSplit = false; + if (i == dataLen - 1) { + // 到data的最后了 + byte[] part = new byte[dataLen - latestStartIndex]; + System.arraycopy(encrypted, latestStartIndex, part, 0, part.length); + byte[] decryptPart = decryptByPublicKey(part, publicKey); + for (byte b : decryptPart) { + allBytes.add(b); + } + latestStartIndex = i + splitLen; + i = latestStartIndex - 1; + } else if (bt == DEFAULT_SPLIT[0]) { + // 这个是以split[0]开头 + if (splitLen > 1) { + if (i + splitLen < dataLen) { + // 没有超出data的范围 + for (int j = 1; j < splitLen; j++) { + if (DEFAULT_SPLIT[j] != encrypted[i + j]) { + break; + } + if (j == splitLen - 1) { + // 验证到split的最后一位,都没有break,则表明已经确认是split段 + isMatchSplit = true; + } + } + } + } else { + // split只有一位,则已经匹配了 + isMatchSplit = true; + } + } + if (isMatchSplit) { + byte[] part = new byte[i - latestStartIndex]; + System.arraycopy(encrypted, latestStartIndex, part, 0, part.length); + byte[] decryptPart = decryptByPublicKey(part, publicKey); + for (byte b : decryptPart) { + allBytes.add(b); + } + latestStartIndex = i + splitLen; + i = latestStartIndex - 1; + } + } + byte[] bytes = new byte[allBytes.size()]; + { + int i = 0; + for (Byte b : allBytes) { + bytes[i++] = b.byteValue(); + } + } + return bytes; + } + + /** + * 使用私钥分段解密 + */ + public static byte[] decryptByPrivateKeyForSpilt(byte[] encrypted, byte[] privateKey) throws Exception { + int splitLen = DEFAULT_SPLIT.length; + if (splitLen <= 0) { + return decryptByPrivateKey(encrypted, privateKey); + } + int dataLen = encrypted.length; + List allBytes = new ArrayList(1024); + int latestStartIndex = 0; + for (int i = 0; i < dataLen; i++) { + byte bt = encrypted[i]; + boolean isMatchSplit = false; + if (i == dataLen - 1) { + // 到data的最后了 + byte[] part = new byte[dataLen - latestStartIndex]; + System.arraycopy(encrypted, latestStartIndex, part, 0, part.length); + byte[] decryptPart = decryptByPrivateKey(part, privateKey); + for (byte b : decryptPart) { + allBytes.add(b); + } + latestStartIndex = i + splitLen; + i = latestStartIndex - 1; + } else if (bt == DEFAULT_SPLIT[0]) { + // 这个是以split[0]开头 + if (splitLen > 1) { + if (i + splitLen < dataLen) { + // 没有超出data的范围 + for (int j = 1; j < splitLen; j++) { + if (DEFAULT_SPLIT[j] != encrypted[i + j]) { + break; + } + if (j == splitLen - 1) { + // 验证到split的最后一位,都没有break,则表明已经确认是split段 + isMatchSplit = true; + } + } + } + } else { + // split只有一位,则已经匹配了 + isMatchSplit = true; + } + } + if (isMatchSplit) { + byte[] part = new byte[i - latestStartIndex]; + System.arraycopy(encrypted, latestStartIndex, part, 0, part.length); + byte[] decryptPart = decryptByPrivateKey(part, privateKey); + for (byte b : decryptPart) { + allBytes.add(b); + } + latestStartIndex = i + splitLen; + i = latestStartIndex - 1; + } + } + byte[] bytes = new byte[allBytes.size()]; + { + int i = 0; + for (Byte b : allBytes) { + bytes[i++] = b.byteValue(); + } + } + return bytes; + } + + /** + * 用公钥对字符串进行分段加密 + */ + public static String encryptByPublicKeyForSpiltStr(String data, String publicKey) throws Exception { + byte[] encryptBytes = encryptByPublicKeyForSpilt(data.getBytes(StandardCharsets.UTF_8), publicKey.getBytes()); + return encryptBASE64(encryptBytes); + } + + /** + * 使用私钥分段加密 + * + * @param data 要加密的原始数据 + * @param privateKey 秘钥 + */ + public static String encryptByPrivateKeyForSpiltStr(String data, String privateKey) throws Exception { + byte[] encryptBytes = encryptByPrivateKeyForSpilt(data.getBytes(StandardCharsets.UTF_8), privateKey.getBytes()); + return encryptBASE64(encryptBytes); + } + + /** + * 公钥分段解密 + * + * @param encrypted 待解密数据 + * @param publicKey 密钥 + */ + public static String decryptByPublicKeyForSpiltStr(String encrypted, String publicKey) throws Exception { + byte[] decryptBytes = decryptByPublicKeyForSpilt(decryptBASE64(encrypted), publicKey.getBytes()); + return new String(decryptBytes,StandardCharsets.UTF_8); + } + + /** + * 使用私钥分段解密 + */ + public static String decryptByPrivateKeyForSpiltStr(String encrypted, String privateKey) throws Exception { + byte[] decryptBytes = decryptByPrivateKeyForSpilt(decryptBASE64(encrypted), privateKey.getBytes()); + return new String(decryptBytes,StandardCharsets.UTF_8); + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/RetrofitHttpUtils.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/RetrofitHttpUtils.java new file mode 100755 index 0000000..c2931ff --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/RetrofitHttpUtils.java @@ -0,0 +1,112 @@ +package com.bjzc.zjdxj.utils; + +import android.content.Context; +import android.util.Log; + +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/SPUtils.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/SPUtils.java new file mode 100755 index 0000000..c5eeb7b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/SPUtils.java @@ -0,0 +1,169 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/StatusBarUtil.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/StatusBarUtil.java new file mode 100755 index 0000000..44cf072 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/StatusBarUtil.java @@ -0,0 +1,832 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/UiUtlis.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/UiUtlis.java new file mode 100755 index 0000000..fea8870 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/utils/UiUtlis.java @@ -0,0 +1,110 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AllCheckDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AllCheckDialog.java new file mode 100644 index 0000000..4ff4406 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AllCheckDialog.java @@ -0,0 +1,104 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; + + +/** + * Created by Rehome-rjb1 on 2017/5/31. + * 是否审核的对话框 + */ + +public class AllCheckDialog extends Dialog { + + TextView tvTitle; + + TextView tvMsg; + + TextView dialogCancel; + + TextView dialogCommit; + + LinearLayout layDialogCancel; + + private AuditDialogListener listener; + + public AllCheckDialog(@NonNull Context context, String msg, AuditDialogListener listener) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + setContentView(R.layout.layout_allcheck_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(){ + tvTitle = findViewById(R.id.tv_title); + 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 void setTvTitle(String title) { + if (!TextUtils.isEmpty(title)) { + tvTitle.setText(title); + } + } + + //获取屏幕宽度 + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AuditDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AuditDialog.java new file mode 100755 index 0000000..c497b7c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AuditDialog.java @@ -0,0 +1,94 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AutoGridView.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AutoGridView.java new file mode 100755 index 0000000..550a158 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AutoGridView.java @@ -0,0 +1,37 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AutoListView.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AutoListView.java new file mode 100755 index 0000000..4dd9c21 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AutoListView.java @@ -0,0 +1,36 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AutoRadioGroup.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AutoRadioGroup.java new file mode 100755 index 0000000..02f6c7b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/AutoRadioGroup.java @@ -0,0 +1,80 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/BaCheckDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/BaCheckDialog.java new file mode 100644 index 0000000..2fc4e4c --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/BaCheckDialog.java @@ -0,0 +1,113 @@ +package com.bjzc.zjdxj.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.EditText; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.bjzc.zjdxj.R; + +/** + * Created by Rehome-rjb1 on 2017/5/31. + * 是否审核的对话框 + */ + +public class BaCheckDialog extends Dialog { + + TextView tvTitle; + TextView tvMsg; + TextView dialogCommit; + LinearLayout layDialogCancel; + LinearLayout lv_bottomClick; + EditText et_notice; + + private AuditDialogListener listener; + + public BaCheckDialog(@NonNull Context context, String msg, AuditDialogListener listener) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + setContentView(R.layout.layout_ba_check_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() { + tvTitle = findViewById(R.id.tv_title); + tvMsg = findViewById(R.id.tv_msg); + lv_bottomClick = findViewById(R.id.bottomClick); + dialogCommit = findViewById(R.id.dialog_commit); + layDialogCancel = findViewById(R.id.lay_dialog_cancel); + et_notice = findViewById(R.id.et_notice); + + dialogCommit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + if (listener != null) { + listener.confirm(et_notice.getText().toString().trim()); + } + } + }); + } + + public void setTvMsg(String msg) { + if (!TextUtils.isEmpty(msg)) { + tvMsg.setText(msg); + } + } + + public void setTvTitle(String title) { + if (!TextUtils.isEmpty(title)) { + tvTitle.setText(title); + } + } + + public void setNotice(String notice) { + if (!TextUtils.isEmpty(notice)) { + et_notice.setText(notice); + } + } + + public void hideBottomClick() { + lv_bottomClick.setVisibility(View.GONE); + } + public void hideNotice(String notice) { + if (!TextUtils.isEmpty(notice)) { + et_notice.setText(notice); + et_notice.setEnabled(false); + }else{ + et_notice.setEnabled(false); + et_notice.setVisibility(View.GONE); + } + } + + //获取屏幕宽度 + 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(String notice); + } +} + diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/ClearEditText.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/ClearEditText.java new file mode 100755 index 0000000..3a599bb --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/ClearEditText.java @@ -0,0 +1,126 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/DateTimePickDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/DateTimePickDialog.java new file mode 100755 index 0000000..18f540b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/DateTimePickDialog.java @@ -0,0 +1,198 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; + +import java.text.SimpleDateFormat; +import java.util.Calendar; + +/** + * 时间日期选择器 + * Created by Rehome-rjb1 on 2017/4/10. + */ + +public class DateTimePickDialog extends Dialog implements View.OnClickListener, 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(this); + tv_dialog_commit.setOnClickListener(this); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.dialog_cancel: + dismiss(); + break; + case R.id.dialog_commit: + commitClickListener.confirm(outPutDateTime, outPutDateTime1,outPutDateTime2,outPutDateTime3); + dismiss(); + break; + } + } + + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/EditDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/EditDialog.java new file mode 100644 index 0000000..0680500 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/EditDialog.java @@ -0,0 +1,172 @@ +package com.bjzc.zjdxj.weight; + +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.view.View; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; + +import com.bjzc.zjdxj.R; + + +/** + * Created by Administrator on 2018/1/31. + */ + +public class EditDialog extends Dialog { + private Button yes, no;//确定按钮 + private TextView titleTv;//消息标题文本 + private EditText et_phone;//输入电话 + private String titleStr;//从外界设置的title文本 + private String messageStr;//从外界设置的消息文本 + //确定文本和取消文本的显示内容 + private String yesStr, noStr; + + private onNoOnclickListener noOnclickListener;//取消按钮被点击了的监听器 + private onYesOnclickListener yesOnclickListener;//确定按钮被点击了的监听器 + + /** + * 设置取消按钮的显示内容和监听 + * + * @param str + * @param onNoOnclickListener + */ + public void setNoOnclickListener(String str, onNoOnclickListener onNoOnclickListener) { + if (str != null) { + noStr = str; + } + this.noOnclickListener = onNoOnclickListener; + } + + /** + * 设置确定按钮的显示内容和监听 + * + * @param str + * @param onYesOnclickListener + */ + public void setYesOnclickListener(String str, onYesOnclickListener onYesOnclickListener) { + if (str != null) { + yesStr = str; + } + this.yesOnclickListener = onYesOnclickListener; + } + + public EditDialog(Context context) { + super(context, R.style.Dialog_Msg); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.dialog_edit); + //按空白处不能取消动画 + setCanceledOnTouchOutside(false); + + //初始化界面控件 + initView(); + //初始化界面数据 + initData(); + //初始化界面控件的事件 + initEvent(); + + } + + /** + * 初始化界面的确定和取消监听器 + */ + private void initEvent() { + //设置确定按钮被点击后,向外界提供监听 + yes.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //dismiss(); + if (yesOnclickListener != null) { + yesOnclickListener.onYesClick(et_phone.getText().toString()); + } + } + }); + + no.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //dismiss(); + if (noOnclickListener != null) { + noOnclickListener.onNoClick(); + } + } + }); + } + + /** + * 初始化界面控件的显示数据 + */ + private void initData() { + //如果用户自定了title和message + if (titleStr != null) { + titleTv.setText(titleStr); + } + if (messageStr != null) { + et_phone.setText(messageStr); + } + //如果设置按钮的文字 + if (yesStr != null) { + yes.setText(yesStr); + } + } + + /** + * 初始化界面控件 + */ + private void initView() { + yes = (Button) findViewById(R.id.yes); + no = (Button) findViewById(R.id.no); + titleTv = (TextView) findViewById(R.id.title); + et_phone = (EditText) findViewById(R.id.et_phone); + } + + /** + * 从外界Activity为Dialog设置标题 + * + * @param title + */ + public void setTitle(String title) { + titleStr = title; + } + + /** + * 从外界Activity为Dialog设置dialog的message + * + * @param message + */ + public void setMessage(String message) { + messageStr = message; + } + + /** + * 设置确定按钮和取消被点击的接口 + */ + public interface onYesOnclickListener { + public void onYesClick(String phone); + } + + public interface onNoOnclickListener { + public void onNoClick(); + } + + @Override + public void show() { + super.show(); + /** + * 设置宽度全屏,要设置在show的后面 + */ + WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); + layoutParams.width= ViewGroup.LayoutParams.MATCH_PARENT; + layoutParams.height= ViewGroup.LayoutParams.MATCH_PARENT; + getWindow().getDecorView().setPadding(0, 0, 0, 0); + getWindow().setAttributes(layoutParams); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/GlideEngine.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/GlideEngine.java new file mode 100644 index 0000000..c01303a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/GlideEngine.java @@ -0,0 +1,227 @@ +package com.bjzc.zjdxj.weight; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.PointF; +import android.graphics.drawable.Drawable; +import android.view.View; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.core.graphics.drawable.RoundedBitmapDrawable; +import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; + +import com.bjzc.zjdxj.R; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; +import com.bumptech.glide.request.target.BitmapImageViewTarget; +import com.bumptech.glide.request.target.ImageViewTarget; +import com.luck.picture.lib.engine.ImageEngine; +import com.luck.picture.lib.listener.OnImageCompleteCallback; +import com.luck.picture.lib.tools.MediaUtils; +import com.luck.picture.lib.widget.longimage.ImageSource; +import com.luck.picture.lib.widget.longimage.ImageViewState; +import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; + +public class GlideEngine implements ImageEngine { + + /** + * 加载图片 + * + * @param context + * @param url + * @param imageView + */ + @Override + public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .load(url) + .into(imageView); + } + + /** + * 加载网络图片适配长图方案 + * # 注意:此方法只有加载网络图片才会回调 + * + * @param context + * @param url + * @param imageView + * @param longImageView + * @param callback 网络图片加载回调监听 {link after version 2.5.1 Please use the #OnImageCompleteCallback#} + */ + @Override + public void loadImage(@NonNull Context context, @NonNull String url, + @NonNull ImageView imageView, + SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { + Glide.with(context) + .asBitmap() + .load(url) + .into(new ImageViewTarget(imageView) { + @Override + public void onLoadStarted( Drawable placeholder) { + super.onLoadStarted(placeholder); + if (callback != null) { + callback.onShowLoading(); + } + } + + @Override + public void onLoadFailed( Drawable errorDrawable) { + super.onLoadFailed(errorDrawable); + if (callback != null) { + callback.onHideLoading(); + } + } + + @Override + protected void setResource( Bitmap resource) { + if (callback != null) { + callback.onHideLoading(); + } + if (resource != null) { + boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(), + resource.getHeight()); + longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE); + imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE); + if (eqLongImage) { + // 加载长图 + longImageView.setQuickScaleEnabled(true); + longImageView.setZoomEnabled(true); + longImageView.setPanEnabled(true); + longImageView.setDoubleTapZoomDuration(100); + longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP); + longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER); + longImageView.setImage(ImageSource.bitmap(resource), + new ImageViewState(0, new PointF(0, 0), 0)); + } else { + // 普通图片 + imageView.setImageBitmap(resource); + } + } + } + }); + } + + /** + * 加载网络图片适配长图方案 + * # 注意:此方法只有加载网络图片才会回调 + * + * @param context + * @param url + * @param imageView + * @param longImageView + * @ 已废弃 + */ + @Override + public void loadImage(@NonNull Context context, @NonNull String url, + @NonNull ImageView imageView, + SubsamplingScaleImageView longImageView) { + Glide.with(context) + .asBitmap() + .load(url) + .into(new ImageViewTarget(imageView) { + @Override + protected void setResource( Bitmap resource) { + if (resource != null) { + boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(), + resource.getHeight()); + longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE); + imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE); + if (eqLongImage) { + // 加载长图 + longImageView.setQuickScaleEnabled(true); + longImageView.setZoomEnabled(true); + longImageView.setPanEnabled(true); + longImageView.setDoubleTapZoomDuration(100); + longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP); + longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER); + longImageView.setImage(ImageSource.bitmap(resource), + new ImageViewState(0, new PointF(0, 0), 0)); + } else { + // 普通图片 + imageView.setImageBitmap(resource); + } + } + } + }); + } + + /** + * 加载相册目录 + * + * @param context 上下文 + * @param url 图片路径 + * @param imageView 承载图片ImageView + */ + @Override + public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .centerCrop() + .sizeMultiplier(0.5f) + .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .into(new BitmapImageViewTarget(imageView) { + @Override + protected void setResource(Bitmap resource) { + RoundedBitmapDrawable circularBitmapDrawable = + RoundedBitmapDrawableFactory. + create(context.getResources(), resource); + circularBitmapDrawable.setCornerRadius(8); + imageView.setImageDrawable(circularBitmapDrawable); + } + }); + } + + + /** + * 加载gif + * + * @param context 上下文 + * @param url 图片路径 + * @param imageView 承载图片ImageView + */ + @Override + public void loadAsGifImage(@NonNull Context context, @NonNull String url, + @NonNull ImageView imageView) { + Glide.with(context) + .asGif() + .load(url) + .into(imageView); + } + + /** + * 加载图片列表图片 + * + * @param context 上下文 + * @param url 图片路径 + * @param imageView 承载图片ImageView + */ + @Override + public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .load(url) + .override(200, 200) + .centerCrop() + .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .into(imageView); + } + + + private GlideEngine() { + } + + private static GlideEngine instance; + + public static GlideEngine createGlideEngine() { + if (null == instance) { + synchronized (GlideEngine.class) { + if (null == instance) { + instance = new GlideEngine(); + } + } + } + return instance; + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/InputLayout.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/InputLayout.java new file mode 100755 index 0000000..f532734 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/InputLayout.java @@ -0,0 +1,241 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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 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; + } + } + }); + + } + + 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); + } + + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/ListDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/ListDialog.java new file mode 100755 index 0000000..e593076 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/ListDialog.java @@ -0,0 +1,146 @@ +package com.bjzc.zjdxj.weight; + +import android.app.Dialog; +import android.content.Context; +import androidx.annotation.NonNull; +import android.util.Log; +import android.view.Display; +import android.view.Gravity; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.AbsListView; +import android.widget.ArrayAdapter; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import com.bjzc.zjdxj.R; +import com.bjzc.zjdxj.adapter.CommonAdapter; +import java.util.List; + + +/** + * Created by Rehome-rjb1 on 2017/5/18. + * 列表模式的dialog + */ + +public class ListDialog extends Dialog { + + ListView lv; + + TextView tvTitle; + + LinearLayout llTitle; + + TextView dialogCancel; + + TextView dialogCommit; + + LinearLayout layDialogCancel; + + 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); + setCancelable(false); + + 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); + 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(); + } + }); + dialogCommit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + if (listener != null) { + int position = lv.getCheckedItemPosition(); + Log.i("app",String.valueOf(position)); + listener.selectText(datas.get(position), position); + } + } + }); + } + + 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); +// } +// }; + + ArrayAdapter adapter = new ArrayAdapter<>(getContext(),android.R.layout.simple_list_item_single_choice,datas); + + lv.setAdapter(adapter); + // 必选设置为单选 + lv.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE); + if(datas!=null&&datas.size()>0){ + lv.setItemChecked(0,true); + } + +// 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/LoadDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/LoadDialog.java new file mode 100755 index 0000000..e4e565b --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/LoadDialog.java @@ -0,0 +1,128 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/MeasureDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/MeasureDialog.java new file mode 100644 index 0000000..68b2375 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/MeasureDialog.java @@ -0,0 +1,105 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; + +/** + * Created by Rehome-rjb1 on 2017/5/31. + * 是否审核的对话框 + */ + +public class MeasureDialog extends Dialog { + + TextView tvTitle; + + TextView tvMsg; + + TextView dialogCancel; + + TextView dialogCommit; + + LinearLayout layDialogCancel; + + private AuditDialogListener listener; + + public MeasureDialog(@NonNull Context context, String msg, AuditDialogListener listener) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + setContentView(R.layout.layout_measure_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() { + tvTitle = findViewById(R.id.tv_title); + 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 void setTvTitle(String title) { + if (!TextUtils.isEmpty(title)) { + tvTitle.setText(title); + } + } + + //获取屏幕宽度 + 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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/MeasureDialogThree.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/MeasureDialogThree.java new file mode 100644 index 0000000..96fa9b7 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/MeasureDialogThree.java @@ -0,0 +1,114 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.R; + +/** + * Created by Rehome-rjb1 on 2017/5/31. + * 是否审核的对话框 + */ + +public class MeasureDialogThree extends Dialog { + + TextView tvTitle; + + TextView tvMsg; + + TextView dialogCancel; + + TextView dialogCommit; + + TextView dialogCommitInorter; + + LinearLayout layDialogCancel; + + private AuditDialogListener listener; + + public MeasureDialogThree(@NonNull Context context, String msg, AuditDialogListener listener) { + super(context); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setBackgroundDrawableResource(android.R.color.transparent); + setContentView(R.layout.layout_measure_dialog_three); + findView(); + Window window = getWindow(); + WindowManager.LayoutParams lp = window.getAttributes(); + lp.width = (getScreenWidth(context)) * 3 / 4; + window.setGravity(Gravity.CENTER); + this.listener = listener; + setCancelable(false); + setTvMsg(msg); + } + + private void findView(){ + tvTitle = findViewById(R.id.tv_title); + tvMsg = findViewById(R.id.tv_msg); + dialogCancel = findViewById(R.id.dialog_cancel); + dialogCommit = findViewById(R.id.dialog_commit); + dialogCommitInorter = findViewById(R.id.dialog_commit_inorter); + 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(); + } + } + }); + dialogCommitInorter.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + if (listener != null) { + listener.confirmInornate(); + } + } + }); + } + + public void setTvMsg(String msg) { + if (!TextUtils.isEmpty(msg)) { + tvMsg.setText(msg); + } + } + + public void setTvTitle(String title) { + if (!TextUtils.isEmpty(title)) { + tvTitle.setText(title); + } + } + + //获取屏幕宽度 + 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 confirmInornate(); + void cancel(); + } +} diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/NoscrollViewPager.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/NoscrollViewPager.java new file mode 100755 index 0000000..452e2c1 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/NoscrollViewPager.java @@ -0,0 +1,41 @@ +package com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/NumAddSubView.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/NumAddSubView.java new file mode 100755 index 0000000..9494142 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/NumAddSubView.java @@ -0,0 +1,118 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/SettingIpDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/SettingIpDialog.java new file mode 100755 index 0000000..951c8c0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/SettingIpDialog.java @@ -0,0 +1,92 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/TopicRecycleViewDivider.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/TopicRecycleViewDivider.java new file mode 100644 index 0000000..7185973 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/TopicRecycleViewDivider.java @@ -0,0 +1,291 @@ +package com.bjzc.zjdxj.weight; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.view.View; + +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +/** + * author: duke + * version: 2.0 + * dateTime: 2020-03-11 19:30 + * description: + */ +public class TopicRecycleViewDivider extends RecyclerView.ItemDecoration { + + // 绘制分割线的画笔 + private Paint paint; + // 如果是画笔绘制,记录分割线宽度或高度 px + private int paintWidthPX = 5; + + // 如果需要绘制给定的 drawable + private Drawable drawableDivider; + + // 用画笔绘制颜色,还是绘制特定的drawable + private DrawType drawType; + + // 注意:列表的方向,非分割线的方向 + // LinearLayoutManager.HORIZONTAL 或 LinearLayoutManager.VERTICAL + private int orientation = LinearLayoutManager.VERTICAL; + + // 是否需要忽略第一个 item 后面的分割线,有些需求需要 + private boolean isSkipFirstItemBelowLine = false; + // 是否需要忽略最后一个 item 后面的分割线,大多数需求都需要 + private boolean isSkipLaseItemBelowLine = true; + + /** + * 忽略 第一个 item 下方或右侧的分割线。个别需要需要 + * + * @param skipFirstItemBelowLine 是否忽略 + * @return this + */ + public TopicRecycleViewDivider skipFirstItemBelowLine(boolean skipFirstItemBelowLine) { + isSkipFirstItemBelowLine = skipFirstItemBelowLine; + return this; + } + + /** + * 忽略 最后一个 item 下方或右侧的分割线。一般都需要 + * + * @param skipLaseItemBelowLine 是否忽略 + * @return this + */ + public TopicRecycleViewDivider skipLaseItemBelowLine(boolean skipLaseItemBelowLine) { + isSkipLaseItemBelowLine = skipLaseItemBelowLine; + return this; + } + + /** + * 设置列表方向,非分割线的 + * + * @param listOrientation 列表方向,
+ * LinearLayoutManager.HORIZONTAL or LinearLayoutManager.VERTICAL
+ * @return this + */ + public TopicRecycleViewDivider setListOrientation(int listOrientation) { + if (orientation != LinearLayoutManager.VERTICAL && orientation != LinearLayoutManager.HORIZONTAL) { + throw new IllegalArgumentException("Parameter of orientation is error. Please see LinearLayoutManager ..."); + } + orientation = listOrientation; + return this; + } + + /** + * 构造函数 + * + * @param context context + * @param drawableId 分割线图片 + */ + public TopicRecycleViewDivider(Context context, int drawableId) { + drawType = DrawType.USE_DRAWABLE; + drawableDivider = ContextCompat.getDrawable(context, drawableId); + } + + /** + * 自定义分割线 + * + * @param dividerHeightPX 分割线高度 px + * @param dividerColorInt 分割线颜色 + */ + public TopicRecycleViewDivider(int dividerHeightPX, int dividerColorInt) { + drawType = DrawType.USE_PAINT; + paintWidthPX = dividerHeightPX; + // 绘制纯颜色 (之一:可以绘制纯颜色) + paint = new Paint(Paint.ANTI_ALIAS_FLAG); + paint.setColor(dividerColorInt); + paint.setStyle(Paint.Style.FILL); + } + + + /** + * 看图说话:get Item Offsets,获得item的偏移量。此方法用来控制item的偏移 + * + * @param outRect outRect 表示在 item 的 上、下、左、右 四周撑开的距离,默认值为 0 + * @param view 当前的 holder view + * @param parent recyclerView + * @param state state + */ + @Override + public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { + super.getItemOffsets(outRect, view, parent, state); + + int index = parent.getChildAdapterPosition(view); + // 忽略第一个 item 的分割线 + if (isSkipFirstItemBelowLine && index == 0) { + return; + } + int totalSize = state.getItemCount(); + // 忽略最后一个 item 的分割线 + if (isSkipLaseItemBelowLine && index == totalSize - 1) { + return; + } + + /** + * 列表的方向为横向,画分割线就是纵向的,需要确定的是 child 的右边偏移值 + * 留出空间画分割线 + */ + if (orientation == LinearLayoutManager.HORIZONTAL) { + int x = 0; + switch (drawType) { + case USE_PAINT: + x = paintWidthPX; + break; + case USE_DRAWABLE: + x = drawableDivider.getIntrinsicWidth(); + break; + } + outRect.set(0, 0, x, 0); + } + + /** + * 列表的方向为纵向,画分割线就是横向的,需要确定的是 child 的下边偏移值 + * 留出空间画分割线 + */ + else if (this.orientation == LinearLayoutManager.VERTICAL) { + int x = 0; + switch (drawType) { + case USE_PAINT: + x = paintWidthPX; + break; + case USE_DRAWABLE: + x = drawableDivider.getIntrinsicHeight(); + break; + } + outRect.set(0, 0, 0, x); + } + } + + /** + * 绘制分割线 + * + * @param c canvas + * @param parent paint + * @param state state + */ + @Override + public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { + super.onDraw(c, parent, state); + if (orientation == LinearLayoutManager.VERTICAL) { + // 列表是纵向的,需要绘制横向的分割线 + drawHorizontalLine(c, parent); + } else { + // 列表是横向的,需要绘制纵向的分割线 + drawVerticalLine(c, parent); + } + } + + /** + * 绘制横向 item 分割线。左、上、右都是可计算的,下需要获取给定的高度值 + * + * @param canvas canvas + * @param parent paint + */ + private void drawHorizontalLine(Canvas canvas, RecyclerView parent) { + // 左边:到父容器的 left 内间距位置值 + final int left = parent.getPaddingLeft(); + // 右边:到父容器的 right 内间距位置值 + final int right = parent.getMeasuredWidth() - parent.getPaddingRight(); + final int childSize = parent.getChildCount(); + // 循环绘制每条分割线 + for (int i = 0; i < childSize; i++) { + if (isSkipFirstItemBelowLine && i == 0) { + continue; + } + if (isSkipLaseItemBelowLine && i == childSize - 1) { + continue; + } + final View child = parent.getChildAt(i); + if (!(child.getLayoutParams() instanceof RecyclerView.LayoutParams)) { + continue; + } + RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) child.getLayoutParams(); + // 上边:具体的某条分割线的上边以 child 的 (bottom + bottomMargin) 位置值 + final int top = child.getBottom() + layoutParams.bottomMargin; + // 下边:根据类型判断 + int bottom; + switch (drawType) { + case USE_PAINT: + // 构造方法声明使用画笔绘制 + // 下边:top 加上指定的高度 + bottom = top + paintWidthPX; + canvas.drawRect(left, top, right, bottom, paint); + break; + case USE_DRAWABLE: + // 构造方法声明使用 drawable + // 下边:top 加上指定的高度 + bottom = top + drawableDivider.getIntrinsicHeight(); + drawableDivider.setBounds(left, top, right, bottom); + drawableDivider.draw(canvas); + break; + } + } + } + + /** + * 绘制纵向 item 分割线。上、下、左都是可计算的,右侧需要获取给定的宽度值 + * + * @param canvas canvas + * @param parent parent + */ + private void drawVerticalLine(Canvas canvas, RecyclerView parent) { + // 上边:到父容器的 top 内间距位置值 + final int top = parent.getPaddingTop(); + // 下边:到父容器的 bottom 内间距位置值 + final int bottom = parent.getMeasuredHeight() - parent.getPaddingBottom(); + final int childSize = parent.getChildCount(); + // 循环绘制每条分割线 + for (int i = 0; i < childSize; i++) { + if (isSkipFirstItemBelowLine && i == 0) { + continue; + } + if (isSkipLaseItemBelowLine && i == childSize - 1) { + continue; + } + final View child = parent.getChildAt(i); + if (!(child.getLayoutParams() instanceof RecyclerView.LayoutParams)) { + continue; + } + RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) child.getLayoutParams(); + // 左边:具体的某条分割线的左边以 child 的 (right + rightMargin) 位置值 + final int left = child.getRight() + layoutParams.rightMargin; + // 右边:根据类型判断 + int right; + switch (drawType) { + case USE_PAINT: + // 构造方法声明使用画笔绘制 + // 右边:left 加上指定的宽度 + right = left + paintWidthPX; + canvas.drawRect(left, top, right, bottom, paint); + break; + case USE_DRAWABLE: + // 构造方法声明使用 drawable + // 右边:left 加上指定的宽度 + right = left + drawableDivider.getIntrinsicWidth(); + drawableDivider.setBounds(left, top, right, bottom); + drawableDivider.draw(canvas); + break; + } + } + } + + public enum DrawType { + USE_PAINT(1), // 用画笔绘制纯颜色 + USE_DRAWABLE(2); // 绘制特定的 drawable + + private final int type; + + DrawType(int type) { + this.type = type; + } + + public int getType() { + return type; + } + } +} \ No newline at end of file diff --git a/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/UpdateAuditDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/UpdateAuditDialog.java new file mode 100755 index 0000000..0c1fea3 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/UpdateAuditDialog.java @@ -0,0 +1,92 @@ +package com.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/WaitDialog.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/WaitDialog.java new file mode 100755 index 0000000..713c035 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/toastviewbymyself.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/toastviewbymyself.java new file mode 100755 index 0000000..1cb3e81 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/weight/toastviewbymyself.java @@ -0,0 +1,45 @@ +package com.bjzc.zjdxj.weight; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.TextView; +import android.widget.Toast; + +import com.bjzc.zjdxj.R; + +import static com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/AutoFocusCallback.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/AutoFocusCallback.java new file mode 100755 index 0000000..7996ef5 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/CameraConfigurationManager.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/CameraConfigurationManager.java new file mode 100755 index 0000000..58565e0 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/CameraManager.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/CameraManager.java new file mode 100755 index 0000000..d5598b4 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/FlashlightManager.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/FlashlightManager.java new file mode 100755 index 0000000..c093053 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/PlanarYUVLuminanceSource.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/PlanarYUVLuminanceSource.java new file mode 100755 index 0000000..b54d9fd --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/PreviewCallback.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/camera/PreviewCallback.java new file mode 100755 index 0000000..ad69142 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/CaptureActivityHandler.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/CaptureActivityHandler.java new file mode 100755 index 0000000..1b07ea6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.MipcaActivityCapture; +import com.bjzc.zjdxj.zxing.camera.CameraManager; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/DecodeFormatManager.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/DecodeFormatManager.java new file mode 100755 index 0000000..a16f6e6 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/DecodeHandler.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/DecodeHandler.java new file mode 100755 index 0000000..132dcbd --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.base.MipcaActivityCapture; +import com.bjzc.zjdxj.zxing.camera.CameraManager; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/DecodeThread.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/DecodeThread.java new file mode 100755 index 0000000..c5c3657 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/FinishListener.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/FinishListener.java new file mode 100755 index 0000000..931840a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/InactivityTimer.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/InactivityTimer.java new file mode 100755 index 0000000..c14694a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/InactivityTimer.java @@ -0,0 +1,71 @@ +/* + * 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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/Intents.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/decoding/Intents.java new file mode 100755 index 0000000..e8d2d1a --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/view/ViewfinderResultPointCallback.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/view/ViewfinderResultPointCallback.java new file mode 100755 index 0000000..6823960 --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/view/ViewfinderView.java b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/zxing/view/ViewfinderView.java new file mode 100755 index 0000000..da7fcce --- /dev/null +++ b/ZJDXJ/app/src/main/java/com/bjzc/zjdxj/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.bjzc.zjdxj.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.bjzc.zjdxj.R; +import com.bjzc.zjdxj.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/ZJDXJ/app/src/main/res/drawable-xhdpi/bg_input_filter.xml b/ZJDXJ/app/src/main/res/drawable-xhdpi/bg_input_filter.xml new file mode 100644 index 0000000..e5e6394 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable-xhdpi/bg_input_filter.xml @@ -0,0 +1,14 @@ + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/btn_check_off_normal.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/btn_check_off_normal.png new file mode 100644 index 0000000..e51c5d3 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/btn_check_off_normal.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/btn_check_on_normal.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/btn_check_on_normal.png new file mode 100644 index 0000000..04ee9bd Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/btn_check_on_normal.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/head_photo.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/head_photo.png new file mode 100755 index 0000000..40f5dff Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/head_photo.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/ic_add_image.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/ic_add_image.png new file mode 100644 index 0000000..38e38da Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/ic_add_image.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/ic_delete_menu.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/ic_delete_menu.png new file mode 100755 index 0000000..2025f26 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/ic_delete_menu.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/ic_search.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/ic_search.png new file mode 100644 index 0000000..68d1025 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/ic_search.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_apply.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_apply.png new file mode 100755 index 0000000..0159868 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_apply.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_mentions.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_mentions.png new file mode 100755 index 0000000..4f5c406 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_mentions.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_myphone.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_myphone.png new file mode 100755 index 0000000..993bb1f Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_myphone.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_order.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_order.png new file mode 100755 index 0000000..30600b9 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_order.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_phone.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_phone.png new file mode 100755 index 0000000..75ab1c2 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_phone.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_phone1.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_phone1.png new file mode 100755 index 0000000..ff10d30 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_phone1.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_started.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_started.png new file mode 100755 index 0000000..95d361d Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/icon_started.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/logo_hz.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/logo_hz.png new file mode 100755 index 0000000..894ab26 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/logo_hz.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/outline_list_collapse.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/outline_list_collapse.png new file mode 100644 index 0000000..4594e7f Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/outline_list_collapse.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/outline_list_expand.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/outline_list_expand.png new file mode 100644 index 0000000..33111b2 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/outline_list_expand.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/search.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/search.png new file mode 100755 index 0000000..e0f640d Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/search.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/select_btn_check.xml b/ZJDXJ/app/src/main/res/drawable-xhdpi/select_btn_check.xml new file mode 100644 index 0000000..4f4bd1b --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable-xhdpi/select_btn_check.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_contacts.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_contacts.png new file mode 100755 index 0000000..a316ef9 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_contacts.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_contacts_hover.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_contacts_hover.png new file mode 100755 index 0000000..e31b408 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_contacts_hover.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_home.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_home.png new file mode 100755 index 0000000..e75ecf8 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_home.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_home_hover.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_home_hover.png new file mode 100755 index 0000000..90ade02 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_home_hover.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_me.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_me.png new file mode 100755 index 0000000..f4723b6 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_me.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_me_hover.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_me_hover.png new file mode 100755 index 0000000..c9ea913 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/tab_me_hover.png differ diff --git a/ZJDXJ/app/src/main/res/drawable-xhdpi/wechat.png b/ZJDXJ/app/src/main/res/drawable-xhdpi/wechat.png new file mode 100755 index 0000000..f5c9522 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable-xhdpi/wechat.png differ diff --git a/ZJDXJ/app/src/main/res/drawable/auth_button_login.xml b/ZJDXJ/app/src/main/res/drawable/auth_button_login.xml new file mode 100755 index 0000000..226a114 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/auth_button_login.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/auth_tab_header_text.xml b/ZJDXJ/app/src/main/res/drawable/auth_tab_header_text.xml new file mode 100755 index 0000000..54692d7 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/auth_tab_header_text.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/bg_dj_edittext.xml b/ZJDXJ/app/src/main/res/drawable/bg_dj_edittext.xml new file mode 100755 index 0000000..db8d75a --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/bg_dj_edittext.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/bg_edittext.xml b/ZJDXJ/app/src/main/res/drawable/bg_edittext.xml new file mode 100755 index 0000000..c24c1ed --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/bg_edittext.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/bg_gray_solid.xml b/ZJDXJ/app/src/main/res/drawable/bg_gray_solid.xml new file mode 100755 index 0000000..48e0965 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/bg_gray_solid.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/bg_tab.xml b/ZJDXJ/app/src/main/res/drawable/bg_tab.xml new file mode 100755 index 0000000..a1aee49 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/bg_tab.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/border_line_while.xml b/ZJDXJ/app/src/main/res/drawable/border_line_while.xml new file mode 100755 index 0000000..01d57a1 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/border_line_while.xml @@ -0,0 +1,18 @@ + + + + + + + + + + diff --git a/ZJDXJ/app/src/main/res/drawable/border_red_roval_sign.xml b/ZJDXJ/app/src/main/res/drawable/border_red_roval_sign.xml new file mode 100755 index 0000000..0c51c76 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/border_red_roval_sign.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/btn_bg_red.xml b/ZJDXJ/app/src/main/res/drawable/btn_bg_red.xml new file mode 100755 index 0000000..c8ee90a --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/btn_bg_red.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/ZJDXJ/app/src/main/res/drawable/btnshape.xml b/ZJDXJ/app/src/main/res/drawable/btnshape.xml new file mode 100755 index 0000000..824f8a1 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/btnshape.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/card_background.xml b/ZJDXJ/app/src/main/res/drawable/card_background.xml new file mode 100755 index 0000000..3ee88e4 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/card_background.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/card_background_selector.xml b/ZJDXJ/app/src/main/res/drawable/card_background_selector.xml new file mode 100755 index 0000000..3c41bfd --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/card_background_selector.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/ZJDXJ/app/src/main/res/drawable/card_state_pressed.xml b/ZJDXJ/app/src/main/res/drawable/card_state_pressed.xml new file mode 100755 index 0000000..fde3b00 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/card_state_pressed.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/contacts.xml b/ZJDXJ/app/src/main/res/drawable/contacts.xml new file mode 100755 index 0000000..8eb52d2 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/contacts.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/delete.png b/ZJDXJ/app/src/main/res/drawable/delete.png new file mode 100644 index 0000000..2025f26 Binary files /dev/null and b/ZJDXJ/app/src/main/res/drawable/delete.png differ diff --git a/ZJDXJ/app/src/main/res/drawable/dialog_radius.xml b/ZJDXJ/app/src/main/res/drawable/dialog_radius.xml new file mode 100755 index 0000000..88f96a5 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/dialog_radius.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/edit_background.xml b/ZJDXJ/app/src/main/res/drawable/edit_background.xml new file mode 100644 index 0000000..9cefe49 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/edit_background.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/edit_bg.xml b/ZJDXJ/app/src/main/res/drawable/edit_bg.xml new file mode 100755 index 0000000..b494d9f --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/edit_bg.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/edittext.xml b/ZJDXJ/app/src/main/res/drawable/edittext.xml new file mode 100755 index 0000000..f46590f --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/edittext.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/home.xml b/ZJDXJ/app/src/main/res/drawable/home.xml new file mode 100755 index 0000000..5414847 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/home.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/me.xml b/ZJDXJ/app/src/main/res/drawable/me.xml new file mode 100755 index 0000000..5066e47 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/me.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/pressed_bg_blue88.xml b/ZJDXJ/app/src/main/res/drawable/pressed_bg_blue88.xml new file mode 100755 index 0000000..f5832cc --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/pressed_bg_blue88.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/ZJDXJ/app/src/main/res/drawable/presslogout.xml b/ZJDXJ/app/src/main/res/drawable/presslogout.xml new file mode 100644 index 0000000..d761154 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/presslogout.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ZJDXJ/app/src/main/res/drawable/presslr.xml b/ZJDXJ/app/src/main/res/drawable/presslr.xml new file mode 100755 index 0000000..9173168 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/presslr.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ZJDXJ/app/src/main/res/drawable/radiobutton.xml b/ZJDXJ/app/src/main/res/drawable/radiobutton.xml new file mode 100755 index 0000000..46515a3 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radiobutton.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/ZJDXJ/app/src/main/res/drawable/radius.xml b/ZJDXJ/app/src/main/res/drawable/radius.xml new file mode 100755 index 0000000..07ddc9d --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_a1.xml b/ZJDXJ/app/src/main/res/drawable/radius_a1.xml new file mode 100755 index 0000000..4c1fb56 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_a1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_a2.xml b/ZJDXJ/app/src/main/res/drawable/radius_a2.xml new file mode 100755 index 0000000..10be0b5 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_a2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_a3.xml b/ZJDXJ/app/src/main/res/drawable/radius_a3.xml new file mode 100755 index 0000000..e5b7150 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_a3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_a4.xml b/ZJDXJ/app/src/main/res/drawable/radius_a4.xml new file mode 100755 index 0000000..3f68485 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_a4.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_b1.xml b/ZJDXJ/app/src/main/res/drawable/radius_b1.xml new file mode 100755 index 0000000..514cb42 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_b1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_b2.xml b/ZJDXJ/app/src/main/res/drawable/radius_b2.xml new file mode 100755 index 0000000..65c57ed --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_b2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_c1.xml b/ZJDXJ/app/src/main/res/drawable/radius_c1.xml new file mode 100755 index 0000000..839feee --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_c1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_c6.xml b/ZJDXJ/app/src/main/res/drawable/radius_c6.xml new file mode 100644 index 0000000..f2e5bb4 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_c6.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_c7.xml b/ZJDXJ/app/src/main/res/drawable/radius_c7.xml new file mode 100755 index 0000000..3ae14dd --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_c7.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_d1.xml b/ZJDXJ/app/src/main/res/drawable/radius_d1.xml new file mode 100755 index 0000000..aee5efc --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_d1.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_e2.xml b/ZJDXJ/app/src/main/res/drawable/radius_e2.xml new file mode 100755 index 0000000..543ecff --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_e2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/radius_e3.xml b/ZJDXJ/app/src/main/res/drawable/radius_e3.xml new file mode 100755 index 0000000..ce8393b --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/radius_e3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/red_dot.xml b/ZJDXJ/app/src/main/res/drawable/red_dot.xml new file mode 100755 index 0000000..eb80fcc --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/red_dot.xml @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/selector_list_item.xml b/ZJDXJ/app/src/main/res/drawable/selector_list_item.xml new file mode 100755 index 0000000..24a5e0e --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/selector_list_item.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/shape.xml b/ZJDXJ/app/src/main/res/drawable/shape.xml new file mode 100755 index 0000000..9159133 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/shape.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/shape_bottom_corner.xml b/ZJDXJ/app/src/main/res/drawable/shape_bottom_corner.xml new file mode 100644 index 0000000..d5e525a --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/shape_bottom_corner.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/shape_corner.xml b/ZJDXJ/app/src/main/res/drawable/shape_corner.xml new file mode 100755 index 0000000..a9575a0 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/shape_corner.xml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/shape_dialog_bg.xml b/ZJDXJ/app/src/main/res/drawable/shape_dialog_bg.xml new file mode 100755 index 0000000..f9012f4 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/shape_dialog_bg.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/shape_edit_dialog_bg.xml b/ZJDXJ/app/src/main/res/drawable/shape_edit_dialog_bg.xml new file mode 100644 index 0000000..097c39d --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/shape_edit_dialog_bg.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/shape_edittext.xml b/ZJDXJ/app/src/main/res/drawable/shape_edittext.xml new file mode 100755 index 0000000..7bbb6c5 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/shape_edittext.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/ZJDXJ/app/src/main/res/drawable/text_red_circ.xml b/ZJDXJ/app/src/main/res/drawable/text_red_circ.xml new file mode 100755 index 0000000..57dfb60 --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/text_red_circ.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/drawable/textstatus1.xml b/ZJDXJ/app/src/main/res/drawable/textstatus1.xml new file mode 100644 index 0000000..bc038be --- /dev/null +++ b/ZJDXJ/app/src/main/res/drawable/textstatus1.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/layout/acticity_mainaqjc.xml b/ZJDXJ/app/src/main/res/layout/acticity_mainaqjc.xml new file mode 100755 index 0000000..76e1c42 --- /dev/null +++ b/ZJDXJ/app/src/main/res/layout/acticity_mainaqjc.xml @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/ZJDXJ/app/src/main/res/layout/activity_aqjclb.xml b/ZJDXJ/app/src/main/res/layout/activity_aqjclb.xml new file mode 100755 index 0000000..bdb8972 --- /dev/null +++ b/ZJDXJ/app/src/main/res/layout/activity_aqjclb.xml @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/ZJDXJ/app/src/main/res/layout/activity_aqjclbinfo.xml b/ZJDXJ/app/src/main/res/layout/activity_aqjclbinfo.xml new file mode 100755 index 0000000..010ad1d --- /dev/null +++ b/ZJDXJ/app/src/main/res/layout/activity_aqjclbinfo.xml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +