Commit 2a51e02b authored by hywang's avatar hywang

修复部分bug

修改低频标签为20个一起操作
parent 5a67a9b2
...@@ -8,8 +8,8 @@ android { ...@@ -8,8 +8,8 @@ android {
applicationId "com.phlx.wool" applicationId "com.phlx.wool"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 29 targetSdkVersion 29
versionCode 1 versionCode 11
versionName "1.0.1" versionName "1.1.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
...@@ -36,6 +36,13 @@ android { ...@@ -36,6 +36,13 @@ android {
enabled true enabled true
} }
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
} }
greendao { greendao {
......
...@@ -51,6 +51,7 @@ public class Configs { ...@@ -51,6 +51,7 @@ public class Configs {
public static final String SP_UNIT_CODE = "sp_unit_code"; public static final String SP_UNIT_CODE = "sp_unit_code";
public static final String SP_UNIT_PHONE = "sp_unit_phone"; public static final String SP_UNIT_PHONE = "sp_unit_phone";
public static final String SP_UNIT_ID_CARD = "sp_unit_id_card"; public static final String SP_UNIT_ID_CARD = "sp_unit_id_card";
public static final String SP_UNIT_VILLAGE_NAME = "sp_unit_villag_name";
//type inventory页面显示类型 //type inventory页面显示类型
public static final String WORK_TYPE_M = "work_type_mark"; public static final String WORK_TYPE_M = "work_type_mark";
public static final String WORK_TYPE_Q = "work_type_quarantine"; public static final String WORK_TYPE_Q = "work_type_quarantine";
...@@ -66,7 +67,7 @@ public class Configs { ...@@ -66,7 +67,7 @@ public class Configs {
public static PrinterInstance myPrinter; public static PrinterInstance myPrinter;
public static boolean ISCONNECTED; // public static boolean ISCONNECTED;
public static String packageName(Context context) { public static String packageName(Context context) {
PackageManager manager = context.getPackageManager(); PackageManager manager = context.getPackageManager();
......
...@@ -67,7 +67,7 @@ public class Repository extends BaseModel implements HttpDataSource, LocalDataSo ...@@ -67,7 +67,7 @@ public class Repository extends BaseModel implements HttpDataSource, LocalDataSo
@Override @Override
public Observable<CattleResponse> versionGet() { public Observable<CattleResponse<Double>> versionGet() {
return mHttpDataSource.versionGet(); return mHttpDataSource.versionGet();
} }
......
...@@ -34,7 +34,7 @@ public interface ApiService { ...@@ -34,7 +34,7 @@ public interface ApiService {
* 获取版本号 * 获取版本号
*/ */
@GET("/app/getAppVsesion?type=2") @GET("/app/getAppVsesion?type=2")
Observable<CattleResponse> versionGet(); Observable<CattleResponse<Double>> versionGet();
/** /**
* 下载新版本 * 下载新版本
......
...@@ -31,7 +31,7 @@ public interface HttpDataSource { ...@@ -31,7 +31,7 @@ public interface HttpDataSource {
/** /**
* 获取版本号 * 获取版本号
*/ */
Observable<CattleResponse> versionGet(); Observable<CattleResponse<Double>> versionGet();
/** /**
* 下载新版本 * 下载新版本
......
...@@ -47,7 +47,7 @@ public class HttpDataSourceImpl implements HttpDataSource { ...@@ -47,7 +47,7 @@ public class HttpDataSourceImpl implements HttpDataSource {
} }
@Override @Override
public Observable<CattleResponse> versionGet() { public Observable<CattleResponse<Double>> versionGet() {
return apiService.versionGet(); return apiService.versionGet();
} }
......
...@@ -38,6 +38,7 @@ public class Label extends BaseObservable implements Parcelable { ...@@ -38,6 +38,7 @@ public class Label extends BaseObservable implements Parcelable {
/** /**
* 耳标EPC * 耳标EPC
*/ */
// @Index(name = "LabelEpc", unique = false)
@SerializedName("slugno") @SerializedName("slugno")
private String Epc; private String Epc;
...@@ -50,7 +51,7 @@ public class Label extends BaseObservable implements Parcelable { ...@@ -50,7 +51,7 @@ public class Label extends BaseObservable implements Parcelable {
/** /**
* 耳标tid * 耳标tid
*/ */
@Index(name = "LabelTid", unique = false) // @Index(name = "LabelTid", unique = false)
@SerializedName("innercode") @SerializedName("innercode")
private String Tid; private String Tid;
...@@ -64,7 +65,7 @@ public class Label extends BaseObservable implements Parcelable { ...@@ -64,7 +65,7 @@ public class Label extends BaseObservable implements Parcelable {
/** /**
* 时间戳 * 时间戳
*/ */
@Index(name = "labelTime") // @Index(name = "labelTime")
@SerializedName("inputTime") @SerializedName("inputTime")
private long timestamp; private long timestamp;
......
...@@ -57,6 +57,41 @@ public class Unit extends BaseObservable implements Parcelable { ...@@ -57,6 +57,41 @@ public class Unit extends BaseObservable implements Parcelable {
@SerializedName("managerphone") @SerializedName("managerphone")
private String managerPhone; private String managerPhone;
/**
* 旗县市代码
*/
@SerializedName("citycode")
private String cityCode;
/**
* 旗县市名称
*/
@SerializedName("cityname")
private String cityName;
/**
* 乡镇代码
*/
@SerializedName("townscode")
private String townsCode;
/**
* 乡镇名称
*/
@SerializedName("townsname")
private String townsName;
/**
* 村代码
*/
@SerializedName("villagecode")
private String villageCode;
/**
* 村名称
*/
@SerializedName("villagename")
private String villageName;
/** /**
* 时间戳 * 时间戳
...@@ -65,146 +100,191 @@ public class Unit extends BaseObservable implements Parcelable { ...@@ -65,146 +100,191 @@ public class Unit extends BaseObservable implements Parcelable {
@SerializedName("inputTime") @SerializedName("inputTime")
private long timestamp; private long timestamp;
public Unit() {
}
protected Unit(Parcel in) {
if (in.readByte() == 0) {
id = null;
} else {
id = in.readLong();
}
pastureUnitCode = in.readString();
managerCode = in.readString();
managerName = in.readString();
idCard = in.readString();
managerPhone = in.readString();
cityCode = in.readString();
cityName = in.readString();
townsCode = in.readString();
townsName = in.readString();
villageCode = in.readString();
villageName = in.readString();
timestamp = in.readLong();
}
@Generated(hash = 433244320)
public Unit(Long id, String pastureUnitCode, String managerCode,
String managerName, String idCard, String managerPhone, String cityCode,
String cityName, String townsCode, String townsName, String villageCode,
String villageName, long timestamp) {
this.id = id;
this.pastureUnitCode = pastureUnitCode;
this.managerCode = managerCode;
this.managerName = managerName;
this.idCard = idCard;
this.managerPhone = managerPhone;
this.cityCode = cityCode;
this.cityName = cityName;
this.townsCode = townsCode;
this.townsName = townsName;
this.villageCode = villageCode;
this.villageName = villageName;
this.timestamp = timestamp;
}
public Long getId() { @Override
return this.id; public void writeToParcel(Parcel dest, int flags) {
if (id == null) {
dest.writeByte((byte) 0);
} else {
dest.writeByte((byte) 1);
dest.writeLong(id);
}
dest.writeString(pastureUnitCode);
dest.writeString(managerCode);
dest.writeString(managerName);
dest.writeString(idCard);
dest.writeString(managerPhone);
dest.writeString(cityCode);
dest.writeString(cityName);
dest.writeString(townsCode);
dest.writeString(townsName);
dest.writeString(villageCode);
dest.writeString(villageName);
dest.writeLong(timestamp);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<Unit> CREATOR = new Creator<Unit>() {
@Override
public Unit createFromParcel(Parcel in) {
return new Unit(in);
} }
@Override
public Unit[] newArray(int size) {
return new Unit[size];
}
};
public Long getId() {
return id;
}
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
public String getPastureUnitCode() { public String getPastureUnitCode() {
return this.pastureUnitCode; return pastureUnitCode;
} }
public void setPastureUnitCode(String pastureUnitCode) { public void setPastureUnitCode(String pastureUnitCode) {
this.pastureUnitCode = pastureUnitCode; this.pastureUnitCode = pastureUnitCode;
} }
public String getManagerCode() { public String getManagerCode() {
return this.managerCode; return managerCode;
} }
public void setManagerCode(String managerCode) { public void setManagerCode(String managerCode) {
this.managerCode = managerCode; this.managerCode = managerCode;
} }
public String getManagerName() { public String getManagerName() {
return this.managerName; return managerName;
} }
public void setManagerName(String managerName) { public void setManagerName(String managerName) {
this.managerName = managerName; this.managerName = managerName;
} }
public String getIdCard() { public String getIdCard() {
return this.idCard; return idCard;
} }
public void setIdCard(String idCard) { public void setIdCard(String idCard) {
this.idCard = idCard; this.idCard = idCard;
} }
public String getManagerPhone() { public String getManagerPhone() {
return this.managerPhone; return managerPhone;
} }
public void setManagerPhone(String managerPhone) { public void setManagerPhone(String managerPhone) {
this.managerPhone = managerPhone; this.managerPhone = managerPhone;
} }
public String getCityCode() {
public long getTimestamp() { return cityCode;
return this.timestamp;
} }
public void setCityCode(String cityCode) {
this.cityCode = cityCode;
}
public void setTimestamp(long timestamp) { public String getCityName() {
this.timestamp = timestamp; return cityName;
} }
public void setCityName(String cityName) {
this.cityName = cityName;
}
@Override public String getTownsCode() {
public int describeContents() { return townsCode;
return 0;
} }
@Override public void setTownsCode(String townsCode) {
public void writeToParcel(Parcel dest, int flags) { this.townsCode = townsCode;
dest.writeValue(this.id);
dest.writeString(this.pastureUnitCode);
dest.writeString(this.managerCode);
dest.writeString(this.managerName);
dest.writeString(this.idCard);
dest.writeString(this.managerPhone);
dest.writeLong(this.timestamp);
} }
protected Unit(Parcel in) { public String getTownsName() {
this.id = (Long) in.readValue(Long.class.getClassLoader()); return townsName;
this.pastureUnitCode = in.readString();
this.managerCode = in.readString();
this.managerName = in.readString();
this.idCard = in.readString();
this.managerPhone = in.readString();
this.timestamp = in.readLong();
} }
public void setTownsName(String townsName) {
this.townsName = townsName;
}
@Generated(hash = 730934383) public String getVillageCode() {
public Unit(Long id, String pastureUnitCode, String managerCode, return villageCode;
String managerName, String idCard, String managerPhone,
long timestamp) {
this.id = id;
this.pastureUnitCode = pastureUnitCode;
this.managerCode = managerCode;
this.managerName = managerName;
this.idCard = idCard;
this.managerPhone = managerPhone;
this.timestamp = timestamp;
} }
public void setVillageCode(String villageCode) {
this.villageCode = villageCode;
}
@Generated(hash = 1236212320) public String getVillageName() {
public Unit() { return villageName;
} }
public static final Creator<Unit> CREATOR = new Creator<Unit>() { public void setVillageName(String villageName) {
@Override this.villageName = villageName;
public Unit createFromParcel(Parcel source) {
return new Unit(source);
} }
@Override public long getTimestamp() {
public Unit[] newArray(int size) { return timestamp;
return new Unit[size];
} }
};
@Override public void setTimestamp(long timestamp) {
public String toString() { this.timestamp = timestamp;
return "Unit{" +
"id=" + id +
", pastureUnitCode='" + pastureUnitCode + '\'' +
", managerCode='" + managerCode + '\'' +
", managerName='" + managerName + '\'' +
", idCard='" + idCard + '\'' +
", managerPhone='" + managerPhone + '\'' +
", timestamp=" + timestamp +
'}';
} }
} }
...@@ -47,8 +47,14 @@ public class RetrofitClient { ...@@ -47,8 +47,14 @@ public class RetrofitClient {
//缓存时间 //缓存时间
private static final int CACHE_TIMEOUT = 10 * 1024 * 1024; private static final int CACHE_TIMEOUT = 10 * 1024 * 1024;
//服务端根路径 //服务端根路径
public static String baseUrl = "192.168.8.189"; public static String baseUrl =
public static String port = "80"; "58.18.92.126"
// "192.168.100.101"
;
public static String port =
"899"
// "80"
;
private static Context mContext = Utils.getContext(); private static Context mContext = Utils.getContext();
...@@ -62,10 +68,10 @@ public class RetrofitClient { ...@@ -62,10 +68,10 @@ public class RetrofitClient {
public static RetrofitClient getInstance() { public static RetrofitClient getInstance() {
Object obj = new Object(); Object obj = new Object();
synchronized (obj){ synchronized (obj) {
if (uniqueInstance==null){ if (uniqueInstance == null) {
synchronized (obj){ synchronized (obj) {
uniqueInstance=new RetrofitClient(); uniqueInstance = new RetrofitClient();
} }
} }
} }
...@@ -81,9 +87,9 @@ public class RetrofitClient { ...@@ -81,9 +87,9 @@ public class RetrofitClient {
if (TextUtils.isEmpty(url)) { if (TextUtils.isEmpty(url)) {
if (Configs.isAddPort) { if (Configs.isAddPort) {
url = "http://" + SPUtils.getInstance().getString(Configs.SP_APP_IP, baseUrl) +":"+ url = "http://" + SPUtils.getInstance().getString(Configs.SP_APP_IP, baseUrl) + ":" +
SPUtils.getInstance().getString(Configs.SP_APP_PORT, port); SPUtils.getInstance().getString(Configs.SP_APP_PORT, port);
}else { } else {
url = "http://" + SPUtils.getInstance().getString(Configs.SP_APP_IP, baseUrl); url = "http://" + SPUtils.getInstance().getString(Configs.SP_APP_IP, baseUrl);
} }
} }
......
...@@ -87,8 +87,9 @@ public class MainBarVM<M extends BaseModel> extends BaseViewModel<M> { ...@@ -87,8 +87,9 @@ public class MainBarVM<M extends BaseModel> extends BaseViewModel<M> {
//注销账号 //注销账号
public BindingCommand logoutOnClick = new BindingCommand(() -> { public BindingCommand logoutOnClick = new BindingCommand(() -> {
SPUtils.getInstance().put(Configs.SP_USER_NAME, ""); // SPUtils.getInstance().put(Configs.SP_USER_NAME, "");
SPUtils.getInstance().put(Configs.SP_USER_PASSWORD, ""); // SPUtils.getInstance().put(Configs.SP_USER_PASSWORD, "");
Configs.isOnLine = false;
startActivity(LoginActivity.class); startActivity(LoginActivity.class);
finish(); finish();
}); });
......
package com.phlx.wool.ui.inventory; package com.phlx.wool.ui.inventory;
import android.os.Bundle; import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View; import android.view.View;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
...@@ -35,6 +37,8 @@ public class InventoryActivity extends BaseActivity<ActivityInventoryBinding, In ...@@ -35,6 +37,8 @@ public class InventoryActivity extends BaseActivity<ActivityInventoryBinding, In
private String type = null; private String type = null;
private String labelStr = "";
@Override @Override
public void initParam() { public void initParam() {
super.initParam(); super.initParam();
...@@ -93,6 +97,26 @@ public class InventoryActivity extends BaseActivity<ActivityInventoryBinding, In ...@@ -93,6 +97,26 @@ public class InventoryActivity extends BaseActivity<ActivityInventoryBinding, In
@Override @Override
public void initViewObservable() { public void initViewObservable() {
super.initViewObservable(); super.initViewObservable();
binding.etInvDesc.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// labelStr = charSequence.toString().trim();
}
@Override
public void afterTextChanged(Editable editable) {
binding.etInvDesc.removeTextChangedListener(this);
viewModel.trim();
binding.etInvDesc.setSelection(editable.length());
binding.etInvDesc.addTextChangedListener(this);
}
});
viewModel.inventoryBtnEvent.observe(this, aBoolean -> { viewModel.inventoryBtnEvent.observe(this, aBoolean -> {
if (binding.inventory.getText().equals("盘点")) { if (binding.inventory.getText().equals("盘点")) {
binding.inventory.setText("停止"); binding.inventory.setText("停止");
......
...@@ -180,27 +180,72 @@ public class InventoryVM extends BackBarVM<Repository> implements OnInventoryLis ...@@ -180,27 +180,72 @@ public class InventoryVM extends BackBarVM<Repository> implements OnInventoryLis
return observableList.indexOf(inventoryItem); return observableList.indexOf(inventoryItem);
} }
/**
* 删除换行
*/
public void trim() {
tipDesc.set(tipDesc.get().trim());
}
/** /**
* 确定 * 添加按钮
*/ */
public BindingCommand onFixedClickCommand = new BindingCommand(new BindingAction() { public BindingCommand onAddClickCommand = new BindingCommand(new BindingAction() {
@Override @Override
public void call() { public void call() {
//如果是低频
if("1".equals(Configs.FREQUENCY_CONFIG)){ if("".equals(tipDesc.get().trim())){
mList.clear(); ToastUtils.showShort("请扫描标签");
String epcStr = tipDesc.get(); return;
if(!StringUtils.isEmpty(epcStr)) { }
if (mList.size() >= 20) {
ToastUtils.showShort("单次标签扫描已达20上限");
return;
}
String epc = tipDesc.get();
String tid = tipDesc.get();
String tag = epc + tid;
if (!map.containsKey(tag)) {
Label label = new Label(); Label label = new Label();
label.setEpc(epcStr); label.setEpc(epc);
label.setTid(epcStr); label.setTid(tid);
mList.add(label); mList.add(label);
InventoryItem itemViewModel = new InventoryItem(InventoryVM.this, label);
observableList.add(itemViewModel);
labelCount++;
labelNum.set(String.valueOf(labelCount));
soundPool.play(musicId.get(1), 1, 1, 0, 0, 1);
map.put(tag, mList.size() - 1);
} else {
ToastUtils.showShort("重复标签");
} }
tipDesc.set("");
} }
});
/**
* 确定
*/
public BindingCommand onFixedClickCommand = new BindingCommand(new BindingAction() {
@Override
public void call() {
//如果是低频
// if ("1".equals(Configs.FREQUENCY_CONFIG)) {
// mList.clear();
// String epcStr = tipDesc.get();
// if (!StringUtils.isEmpty(epcStr)) {
// Label label = new Label();
// label.setEpc(epcStr);
// label.setTid(epcStr);
// mList.add(label);
// }
// }
if (mList != null && mList.size() > 0) { if (mList != null && mList.size() > 0) {
showDialog("正在验证标签...");
addSubscribe(Observable.create((ObservableOnSubscribe<List<Label>>) emitter -> { addSubscribe(Observable.create((ObservableOnSubscribe<List<Label>>) emitter -> {
try { try {
...@@ -208,7 +253,6 @@ public class InventoryVM extends BackBarVM<Repository> implements OnInventoryLis ...@@ -208,7 +253,6 @@ public class InventoryVM extends BackBarVM<Repository> implements OnInventoryLis
legalCount = 0; legalCount = 0;
KLog.e(mList.toString()); KLog.e(mList.toString());
for (int i = 0; i < mList.size(); i++) { for (int i = 0; i < mList.size(); i++) {
List<Label> allLablel = DbUtil.getInstance().queryAll(Label.class);
QueryBuilder<Label> builder = QueryBuilder<Label> builder =
DbUtil.getInstance().getQueryBuilder(Label.class) DbUtil.getInstance().getQueryBuilder(Label.class)
.where(LabelDao.Properties.Epc.eq(mList.get(i).getEpc())); .where(LabelDao.Properties.Epc.eq(mList.get(i).getEpc()));
...@@ -232,12 +276,14 @@ public class InventoryVM extends BackBarVM<Repository> implements OnInventoryLis ...@@ -232,12 +276,14 @@ public class InventoryVM extends BackBarVM<Repository> implements OnInventoryLis
.doOnSubscribe(disposable -> { .doOnSubscribe(disposable -> {
}) })
.subscribe((Consumer<List<Label>>) response -> { .subscribe((Consumer<List<Label>>) response -> {
dismissDialog();
if (legalCount > 0) { if (legalCount > 0) {
labelCheckEvent.setValue("" + legalCount); labelCheckEvent.setValue("" + legalCount);
} else { } else {
jumpToActivity(); jumpToActivity();
} }
}, (Consumer<ResponseThrowable>) throwable -> { }, (Consumer<ResponseThrowable>) throwable -> {
dismissDialog();
ToastUtils.showShort(throwable.message); ToastUtils.showShort(throwable.message);
})); }));
} else { } else {
...@@ -261,6 +307,8 @@ public class InventoryVM extends BackBarVM<Repository> implements OnInventoryLis ...@@ -261,6 +307,8 @@ public class InventoryVM extends BackBarVM<Repository> implements OnInventoryLis
} else { } else {
ToastUtils.showShort("请扫描耳标"); ToastUtils.showShort("请扫描耳标");
} }
} }
/** /**
......
...@@ -20,6 +20,7 @@ import com.phlx.wool.Configs; ...@@ -20,6 +20,7 @@ import com.phlx.wool.Configs;
import com.phlx.wool.R; import com.phlx.wool.R;
import com.phlx.wool.data.VMFactory; import com.phlx.wool.data.VMFactory;
import com.phlx.wool.databinding.ActivityLoginBinding; import com.phlx.wool.databinding.ActivityLoginBinding;
import com.phlx.wool.net.RetrofitClient;
import com.phlx.wool.rfid.ModuleManager; import com.phlx.wool.rfid.ModuleManager;
import com.phlx.wool.ui.base.BaseActivity; import com.phlx.wool.ui.base.BaseActivity;
...@@ -60,10 +61,13 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginVM> { ...@@ -60,10 +61,13 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginVM> {
super.initData(); super.initData();
setSupportActionBar(binding.include.toolbar); setSupportActionBar(binding.include.toolbar);
viewModel.initToolbar(); viewModel.initToolbar();
downloadUrl = "http://" + SPUtils.getInstance().getString(Configs.SP_APP_IP, downloadUrl = "http://"
"192.168.8.110") + ":" + + SPUtils.getInstance().getString(Configs.SP_APP_IP, RetrofitClient.baseUrl)
SPUtils.getInstance().getString(Configs.SP_APP_PORT, "80") + Configs.downloadApk; + ":" +
SPUtils.getInstance().getString(Configs.SP_APP_PORT, RetrofitClient.port)
+ Configs.downloadApk;
path = Environment.getExternalStorageDirectory().getAbsolutePath(); path = Environment.getExternalStorageDirectory().getAbsolutePath();
viewModel.requestVersion(this); viewModel.requestVersion(this);
} }
...@@ -83,11 +87,11 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginVM> { ...@@ -83,11 +87,11 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginVM> {
exitApp(); exitApp();
}); });
viewModel.appUpdateEvent.observe(this,new Observer<String>() { viewModel.appUpdateEvent.observe(this,new Observer<Integer>() {
@Override @Override
public void onChanged(String s) { public void onChanged(Integer s) {
String versionName = ApkUtil.getVersionName(LoginActivity.this); int versionCode = ApkUtil.getVersionCode(LoginActivity.this);
if (!versionName.equals(s)){ if (versionCode!=s){
appUpdate(s); appUpdate(s);
} }
} }
...@@ -114,7 +118,7 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginVM> { ...@@ -114,7 +118,7 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginVM> {
} }
private void appUpdate(String versionName) { private void appUpdate(int versionCode) {
UpdateConfiguration configuration = new UpdateConfiguration() UpdateConfiguration configuration = new UpdateConfiguration()
.setEnableLog(true) .setEnableLog(true)
.setJumpInstallPage(true) .setJumpInstallPage(true)
...@@ -132,8 +136,8 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginVM> { ...@@ -132,8 +136,8 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding, LoginVM> {
.setSmallIcon(R.mipmap.ic_launcher) .setSmallIcon(R.mipmap.ic_launcher)
.setShowNewerToast(true) .setShowNewerToast(true)
.setConfiguration(configuration) .setConfiguration(configuration)
.setApkVersionCode(1) .setApkVersionCode(versionCode)
.setApkVersionName(versionName) .setApkVersionName(ApkUtil.getVersionName(LoginActivity.this))
.download(); .download();
} }
......
...@@ -49,7 +49,7 @@ public class LoginVM extends BackBarVM<Repository> { ...@@ -49,7 +49,7 @@ public class LoginVM extends BackBarVM<Repository> {
public SingleLiveEvent<Boolean> pSwitchEvent = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> pSwitchEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> exitEvent = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> exitEvent = new SingleLiveEvent<>();
//更新app //更新app
public SingleLiveEvent<String> appUpdateEvent = new SingleLiveEvent<>(); public SingleLiveEvent<Integer> appUpdateEvent = new SingleLiveEvent<>();
public LoginVM(@NonNull Application application, Repository repository) { public LoginVM(@NonNull Application application, Repository repository) {
...@@ -214,10 +214,10 @@ public class LoginVM extends BackBarVM<Repository> { ...@@ -214,10 +214,10 @@ public class LoginVM extends BackBarVM<Repository> {
.compose(RxUtils.schedulersTransformer()) .compose(RxUtils.schedulersTransformer())
.compose(RxUtils.exceptionTransformer()) .compose(RxUtils.exceptionTransformer())
.doOnSubscribe(disposable -> showDialog("正在检测版本...")) .doOnSubscribe(disposable -> showDialog("正在检测版本..."))
.subscribe((Consumer<CattleResponse<String>>) response -> { .subscribe((Consumer<CattleResponse<Double>>) response -> {
dismissDialog(); dismissDialog();
if (response.getCode() == 0) { if (response.getCode() == 0) {
appUpdateEvent.setValue(response.getData()); appUpdateEvent.setValue(response.getData().intValue());
} }
}, (Consumer<ResponseThrowable>) throwable -> { }, (Consumer<ResponseThrowable>) throwable -> {
dismissDialog(); dismissDialog();
......
...@@ -95,8 +95,7 @@ public class MainActivity extends BaseActivity<ActivityMainBinding, MainVM> { ...@@ -95,8 +95,7 @@ public class MainActivity extends BaseActivity<ActivityMainBinding, MainVM> {
@Override @Override
public void initViewObservable() { public void initViewObservable() {
viewModel.drawerEvent.observe(this, viewModel.drawerEvent.observe(this, aBoolean -> binding.drawerLeft.openDrawer(GravityCompat.START));
aBoolean -> binding.drawerLeft.openDrawer(GravityCompat.START));
viewModel.nullEvent.observe(this, aBoolean -> { viewModel.nullEvent.observe(this, aBoolean -> {
new MaterialDialog.Builder(this).title("系统信息").content("请先选择养殖场!!!") new MaterialDialog.Builder(this).title("系统信息").content("请先选择养殖场!!!")
.cancelable(false).canceledOnTouchOutside(false) .cancelable(false).canceledOnTouchOutside(false)
......
...@@ -81,8 +81,7 @@ public class SearchUnitFragment extends DialogFragment implements DialogInterfac ...@@ -81,8 +81,7 @@ public class SearchUnitFragment extends DialogFragment implements DialogInterfac
} }
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.dialog_search, container, false); view = inflater.inflate(R.layout.dialog_search, container, false);
init();//实例化 init();//实例化
......
...@@ -41,8 +41,7 @@ public class UnitSearchAdapter extends RecyclerView.Adapter<UnitSearchAdapter.My ...@@ -41,8 +41,7 @@ public class UnitSearchAdapter extends RecyclerView.Adapter<UnitSearchAdapter.My
@Override @Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context). View view = LayoutInflater.from(context).inflate(R.layout.item_unit_search, parent, false);
inflate(R.layout.item_unit_search, parent, false);
MyViewHolder holder = new MyViewHolder(view); MyViewHolder holder = new MyViewHolder(view);
view.setOnClickListener(this); view.setOnClickListener(this);
return holder; return holder;
...@@ -52,13 +51,13 @@ public class UnitSearchAdapter extends RecyclerView.Adapter<UnitSearchAdapter.My ...@@ -52,13 +51,13 @@ public class UnitSearchAdapter extends RecyclerView.Adapter<UnitSearchAdapter.My
public void onBindViewHolder(final MyViewHolder holder, final int position) { public void onBindViewHolder(final MyViewHolder holder, final int position) {
holder.name.setText(units.get(position).getManagerName()); holder.name.setText(units.get(position).getManagerName());
holder.phone.setText(units.get(position).getManagerPhone()); holder.phone.setText(units.get(position).getManagerPhone());
holder.id.setText(units.get(position).getManagerCode()); // holder.id.setText(units.get(position).getManagerCode());
holder.idCard.setText(units.get(position).getIdCard()); holder.idCard.setText(units.get(position).getIdCard());
if (highlightStr != null) { if (highlightStr != null) {
setSpecifiedText(holder.name, highlightStr); setSpecifiedText(holder.name, highlightStr);
setSpecifiedText(holder.phone, highlightStr); setSpecifiedText(holder.phone, highlightStr);
setSpecifiedText(holder.id, highlightStr); // setSpecifiedText(holder.id, highlightStr);
setSpecifiedText(holder.idCard, highlightStr); setSpecifiedText(holder.idCard, highlightStr);
} }
holder.itemView.setTag(position); holder.itemView.setTag(position);
...@@ -82,14 +81,14 @@ public class UnitSearchAdapter extends RecyclerView.Adapter<UnitSearchAdapter.My ...@@ -82,14 +81,14 @@ public class UnitSearchAdapter extends RecyclerView.Adapter<UnitSearchAdapter.My
TextView name; TextView name;
TextView phone; TextView phone;
TextView id; // TextView id;
TextView idCard; TextView idCard;
public MyViewHolder(View view) { public MyViewHolder(View view) {
super(view); super(view);
name = (TextView) view.findViewById(R.id.name_tv); name = (TextView) view.findViewById(R.id.name_tv);
phone = (TextView) view.findViewById(R.id.phone_tv); phone = (TextView) view.findViewById(R.id.phone_tv);
id = (TextView) view.findViewById(R.id.id_tv); // id = (TextView) view.findViewById(R.id.id_tv);
idCard = (TextView) view.findViewById(R.id.idCard_tv); idCard = (TextView) view.findViewById(R.id.idCard_tv);
} }
} }
......
...@@ -109,6 +109,7 @@ public class SettingActivity extends BaseActivity<ActivitySettingBinding, Settin ...@@ -109,6 +109,7 @@ public class SettingActivity extends BaseActivity<ActivitySettingBinding, Settin
PrefUtils.setString(this, Configs.DEVICEADDRESS, devicesAddress); PrefUtils.setString(this, Configs.DEVICEADDRESS, devicesAddress);
mBtAdapter = BluetoothAdapter.getDefaultAdapter(); mBtAdapter = BluetoothAdapter.getDefaultAdapter();
binding.ipAddress.setIpAddress(SPUtils.getInstance().getString(Configs.SP_APP_IP, RetrofitClient.baseUrl)); binding.ipAddress.setIpAddress(SPUtils.getInstance().getString(Configs.SP_APP_IP, RetrofitClient.baseUrl));
binding.portEdit.setText(SPUtils.getInstance().getString(Configs.SP_APP_PORT, RetrofitClient.port));
ModuleManager.openCom(); ModuleManager.openCom();
initPermissions(); initPermissions();
...@@ -355,7 +356,7 @@ public class SettingActivity extends BaseActivity<ActivitySettingBinding, Settin ...@@ -355,7 +356,7 @@ public class SettingActivity extends BaseActivity<ActivitySettingBinding, Settin
switch (msg.what) { switch (msg.what) {
case Connect.SUCCESS: case Connect.SUCCESS:
Configs.isConnected = true; Configs.isConnected = true;
Configs.ISCONNECTED = Configs.isConnected; // Configs.ISCONNECTED = Configs.isConnected;
Configs.DEVICENAME = devicesName; Configs.DEVICENAME = devicesName;
if (interfaceType == 0) { if (interfaceType == 0) {
PrefUtils.setString(SettingActivity.this, Configs.DEVICEADDRESS, devicesAddress); PrefUtils.setString(SettingActivity.this, Configs.DEVICEADDRESS, devicesAddress);
...@@ -388,7 +389,7 @@ public class SettingActivity extends BaseActivity<ActivitySettingBinding, Settin ...@@ -388,7 +389,7 @@ public class SettingActivity extends BaseActivity<ActivitySettingBinding, Settin
break; break;
case Connect.CLOSED: case Connect.CLOSED:
Configs.isConnected = false; Configs.isConnected = false;
Configs.ISCONNECTED = Configs.isConnected; // Configs.ISCONNECTED = Configs.isConnected;
Configs.DEVICENAME = devicesName; Configs.DEVICENAME = devicesName;
Toast.makeText(SettingActivity.this, "连接关闭", Toast.LENGTH_SHORT).show(); Toast.makeText(SettingActivity.this, "连接关闭", Toast.LENGTH_SHORT).show();
XLog.i(TAG, "ZL at MainActivity Handler() 连接关闭!"); XLog.i(TAG, "ZL at MainActivity Handler() 连接关闭!");
......
...@@ -56,6 +56,8 @@ import okhttp3.RequestBody; ...@@ -56,6 +56,8 @@ import okhttp3.RequestBody;
*/ */
public class UploadVM extends BackBarVM<Repository> { public class UploadVM extends BackBarVM<Repository> {
private String toastStr = "";
public ObservableField<Boolean> isUploadMarking = new ObservableField<Boolean>(false); public ObservableField<Boolean> isUploadMarking = new ObservableField<Boolean>(false);
public ObservableField<Boolean> isUploadHarmless = new ObservableField<Boolean>(false); public ObservableField<Boolean> isUploadHarmless = new ObservableField<Boolean>(false);
public ObservableField<Boolean> isUploadQuarantine = new ObservableField<Boolean>(false); public ObservableField<Boolean> isUploadQuarantine = new ObservableField<Boolean>(false);
...@@ -150,7 +152,14 @@ public class UploadVM extends BackBarVM<Repository> { ...@@ -150,7 +152,14 @@ public class UploadVM extends BackBarVM<Repository> {
} else if (isUploadVillusGauge.get() && !isVillusGaugeUpload) { } else if (isUploadVillusGauge.get() && !isVillusGaugeUpload) {
uploadVillusGauge(); uploadVillusGauge();
} else { } else {
if (!isUploadMarking.get() && !isUploadHarmless.get() && !isUploadQuarantine.get() && !isUploadVillusBuy.get() && !isUploadVillusGauge.get()) {
ToastUtils.showShort("请选择上传的项目"); ToastUtils.showShort("请选择上传的项目");
} else if (!"".equals(toastStr)) {
ToastUtils.showShort(toastStr);
} else {
ToastUtils.showShort("上传成功");
finish();
}
} }
} }
...@@ -162,6 +171,7 @@ public class UploadVM extends BackBarVM<Repository> { ...@@ -162,6 +171,7 @@ public class UploadVM extends BackBarVM<Repository> {
isQuarantineUpload = false; isQuarantineUpload = false;
isVillusBuyUpload = false; isVillusBuyUpload = false;
isVillusGaugeUpload = false; isVillusGaugeUpload = false;
toastStr = "";
uploadNext(); uploadNext();
...@@ -208,6 +218,7 @@ public class UploadVM extends BackBarVM<Repository> { ...@@ -208,6 +218,7 @@ public class UploadVM extends BackBarVM<Repository> {
}).deleteAsyncBatch(Marking.class, result); }).deleteAsyncBatch(Marking.class, result);
} else { } else {
dismissDialog(); dismissDialog();
toastStr +="marking上传失败;";
ToastUtils.showShort("marking上传失败"); ToastUtils.showShort("marking上传失败");
uploadNext(); uploadNext();
} }
...@@ -284,6 +295,7 @@ public class UploadVM extends BackBarVM<Repository> { ...@@ -284,6 +295,7 @@ public class UploadVM extends BackBarVM<Repository> {
} }
}).deleteAsyncBatch(Quarantine.class, result); }).deleteAsyncBatch(Quarantine.class, result);
} else { } else {
toastStr +="上传检疫数据失败;";
ToastUtils.showShort("上传检疫数据失败"); ToastUtils.showShort("上传检疫数据失败");
uploadNext(); uploadNext();
} }
...@@ -358,6 +370,7 @@ public class UploadVM extends BackBarVM<Repository> { ...@@ -358,6 +370,7 @@ public class UploadVM extends BackBarVM<Repository> {
} }
}).deleteAsyncBatch(Harmless.class, result); }).deleteAsyncBatch(Harmless.class, result);
} else { } else {
toastStr +="上传无害化失败;";
ToastUtils.showShort("上传无害化失败"); ToastUtils.showShort("上传无害化失败");
uploadNext(); uploadNext();
} }
...@@ -422,6 +435,7 @@ public class UploadVM extends BackBarVM<Repository> { ...@@ -422,6 +435,7 @@ public class UploadVM extends BackBarVM<Repository> {
} }
}).updateAsyncBatch(VillusBuyEntity.class, result); }).updateAsyncBatch(VillusBuyEntity.class, result);
} else { } else {
toastStr +="上传绒毛购买数据失败;";
ToastUtils.showShort("上传绒毛购买数据失败"); ToastUtils.showShort("上传绒毛购买数据失败");
uploadNext(); uploadNext();
} }
...@@ -486,6 +500,7 @@ public class UploadVM extends BackBarVM<Repository> { ...@@ -486,6 +500,7 @@ public class UploadVM extends BackBarVM<Repository> {
} }
}).updateAsyncBatch(VillusGaugeEntity.class, result); }).updateAsyncBatch(VillusGaugeEntity.class, result);
} else { } else {
toastStr +="上传绒毛测量数据失败;";
ToastUtils.showShort("上传绒毛测量数据失败"); ToastUtils.showShort("上传绒毛测量数据失败");
uploadNext(); uploadNext();
} }
......
...@@ -122,7 +122,7 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi ...@@ -122,7 +122,7 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi
public void onTimeSelectChanged(Date date) { public void onTimeSelectChanged(Date date) {
} }
}) })
.setType(new boolean[]{true, true, true, true, true, true}) .setType(new boolean[]{true, true, true, false, false, false})
.isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。 .isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。
.addOnCancelClickListener(new View.OnClickListener() { .addOnCancelClickListener(new View.OnClickListener() {
@Override @Override
......
...@@ -81,7 +81,7 @@ public class VillusGaugeActivity extends BaseActivity<ActivityVillusGaugeBinding ...@@ -81,7 +81,7 @@ public class VillusGaugeActivity extends BaseActivity<ActivityVillusGaugeBinding
public void onTimeSelectChanged(Date date) { public void onTimeSelectChanged(Date date) {
} }
}) })
.setType(new boolean[]{true, true, true, true, true, true}) .setType(new boolean[]{true, true, true, false, false, false})
.isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。 .isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。
.addOnCancelClickListener(new View.OnClickListener() { .addOnCancelClickListener(new View.OnClickListener() {
@Override @Override
......
...@@ -86,7 +86,7 @@ public class VillusBuyVM extends BackBarVM<Repository> { ...@@ -86,7 +86,7 @@ public class VillusBuyVM extends BackBarVM<Repository> {
dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date _date = new Date(); Date _date = new Date();
entity.setBuyBatch(dateFormat.format(_date) + "-" + SPUtils.getInstance().getString(Configs.SP_ID)); entity.setBuyBatch(dateFormat.format(_date) + "-" + SPUtils.getInstance().getString(Configs.SP_ID));
dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateFormat = new SimpleDateFormat("yyyy-MM-dd");
superiorPertainItemData = new ArrayList<>(); superiorPertainItemData = new ArrayList<>();
List<DivisionEntity> superiorDivisionEntities = model.getPertain("152900"); List<DivisionEntity> superiorDivisionEntities = model.getPertain("152900");
......
...@@ -59,7 +59,7 @@ public class VillusGaugeVM extends BackBarVM<Repository> { ...@@ -59,7 +59,7 @@ public class VillusGaugeVM extends BackBarVM<Repository> {
entity = new VillusGaugeEntity(); entity = new VillusGaugeEntity();
} }
dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateFormat = new SimpleDateFormat("yyyy-MM-dd");
batchItemData = new ArrayList<>(); batchItemData = new ArrayList<>();
List<VillusBuyEntity> villusBuyEntities = model.getVillusBuy(); List<VillusBuyEntity> villusBuyEntities = model.getVillusBuy();
......
...@@ -135,7 +135,7 @@ public class HarmlessActivity extends BaseActivity<ActivityHarmlessBinding, Harm ...@@ -135,7 +135,7 @@ public class HarmlessActivity extends BaseActivity<ActivityHarmlessBinding, Harm
public void onTimeSelectChanged(Date date) { public void onTimeSelectChanged(Date date) {
} }
}) })
.setType(new boolean[]{true, true, true, true, true, true}) .setType(new boolean[]{true, true, true, false, false, false})
.isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。 .isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。
.addOnCancelClickListener(new View.OnClickListener() { .addOnCancelClickListener(new View.OnClickListener() {
@Override @Override
......
...@@ -67,7 +67,7 @@ public class HarmlessVM extends BackBarVM<Repository> { ...@@ -67,7 +67,7 @@ public class HarmlessVM extends BackBarVM<Repository> {
item.getTreatmentMethodCode())); item.getTreatmentMethodCode()));
} }
} }
dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateFormat = new SimpleDateFormat("yyyy-MM-dd");
} }
//初始化ToolBar //初始化ToolBar
......
...@@ -106,7 +106,7 @@ public class MarkingActivity extends BaseActivity<ActivityMarkingBinding, Markin ...@@ -106,7 +106,7 @@ public class MarkingActivity extends BaseActivity<ActivityMarkingBinding, Markin
public void onTimeSelectChanged(Date date) { public void onTimeSelectChanged(Date date) {
} }
}) })
.setType(new boolean[]{true, true, true, true, true, true}) .setType(new boolean[]{true, true, false, false, false, false})
.isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。 .isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。
.addOnCancelClickListener(new View.OnClickListener() { .addOnCancelClickListener(new View.OnClickListener() {
@Override @Override
......
...@@ -56,6 +56,8 @@ public class MarkingVM extends BackBarVM<Repository> { ...@@ -56,6 +56,8 @@ public class MarkingVM extends BackBarVM<Repository> {
entity = new Marking(); entity = new Marking();
} }
entity.setBirthPlace(SPUtils.getInstance().getString(Configs.SP_UNIT_VILLAGE_NAME));
varietyItemData = new ArrayList<>(); varietyItemData = new ArrayList<>();
List<Variety> varieties = model.getVariety(); List<Variety> varieties = model.getVariety();
if (varieties != null && varieties.size() > 0) { if (varieties != null && varieties.size() > 0) {
...@@ -63,7 +65,7 @@ public class MarkingVM extends BackBarVM<Repository> { ...@@ -63,7 +65,7 @@ public class MarkingVM extends BackBarVM<Repository> {
varietyItemData.add(new ItemData(variety.getVarietyName(), variety.getVarietyCode())); varietyItemData.add(new ItemData(variety.getVarietyName(), variety.getVarietyCode()));
} }
} }
dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateFormat = new SimpleDateFormat("yyyy-MM-dd");
} }
//初始化ToolBar //初始化ToolBar
...@@ -117,7 +119,8 @@ public class MarkingVM extends BackBarVM<Repository> { ...@@ -117,7 +119,8 @@ public class MarkingVM extends BackBarVM<Repository> {
public BindingCommand onVeterinaryNameClick = new BindingCommand(() -> showSearch.call()); public BindingCommand onVeterinaryNameClick = new BindingCommand(() -> showSearch.call());
public void setBirthTime(Date date) { public void setBirthTime(Date date) {
entity.setBirthTime(dateFormat.format(date)); String dateStr = dateFormat.format(date);
entity.setBirthTime(dateStr.substring(0, dateStr.length() - 3));
entity.notifyChange(); entity.notifyChange();
} }
......
...@@ -121,7 +121,7 @@ public class QuarantineActivity extends BaseActivity<ActivityQuarantineBinding, ...@@ -121,7 +121,7 @@ public class QuarantineActivity extends BaseActivity<ActivityQuarantineBinding,
public void onTimeSelectChanged(Date date) { public void onTimeSelectChanged(Date date) {
} }
}) })
.setType(new boolean[]{true, true, true, true, true, true}) .setType(new boolean[]{true, true, true, false, false, false})
.isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。 .isDialog(true) //默认设置false ,内部实现将DecorView 作为它的父控件。
.addOnCancelClickListener(new View.OnClickListener() { .addOnCancelClickListener(new View.OnClickListener() {
@Override @Override
......
...@@ -66,7 +66,7 @@ public class QuarantineVM extends BackBarVM<Repository> { ...@@ -66,7 +66,7 @@ public class QuarantineVM extends BackBarVM<Repository> {
variety.getVarietyCode())); variety.getVarietyCode()));
} }
} }
dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateFormat = new SimpleDateFormat("yyyy-MM-dd");
} }
@Override @Override
......
...@@ -190,14 +190,11 @@ public class UnitActivity extends BaseActivity<ActivityUnitBinding, UnitVM> impl ...@@ -190,14 +190,11 @@ public class UnitActivity extends BaseActivity<ActivityUnitBinding, UnitVM> impl
} }
private void saveUnit(Unit unit) { private void saveUnit(Unit unit) {
SPUtils.getInstance().put(Configs.SP_UNIT_NAME, SPUtils.getInstance().put(Configs.SP_UNIT_NAME, unit.getManagerName());
unit.getManagerName()); SPUtils.getInstance().put(Configs.SP_UNIT_CODE, unit.getManagerCode());
SPUtils.getInstance().put(Configs.SP_UNIT_CODE, SPUtils.getInstance().put(Configs.SP_UNIT_PHONE, unit.getManagerPhone());
unit.getManagerCode()); SPUtils.getInstance().put(Configs.SP_UNIT_ID_CARD, unit.getIdCard());
SPUtils.getInstance().put(Configs.SP_UNIT_PHONE, SPUtils.getInstance().put(Configs.SP_UNIT_VILLAGE_NAME, unit.getVillageName());
unit.getManagerPhone());
SPUtils.getInstance().put(Configs.SP_UNIT_ID_CARD,
unit.getIdCard());
finish(); finish();
} }
...@@ -205,8 +202,7 @@ public class UnitActivity extends BaseActivity<ActivityUnitBinding, UnitVM> impl ...@@ -205,8 +202,7 @@ public class UnitActivity extends BaseActivity<ActivityUnitBinding, UnitVM> impl
if (tip != null) { if (tip != null) {
String emptyStr = "找不到和您查询的 " + tip + " 相符的内容或信息\n\n" + "建议:\n\n" + "请检查输入字词有无错误\n\n" String emptyStr = "找不到和您查询的 " + tip + " 相符的内容或信息\n\n" + "建议:\n\n" + "请检查输入字词有无错误\n\n"
+ "请尝试其他查询词\n\n" + "请改用较常见的字词\n\n"; + "请尝试其他查询词\n\n" + "请改用较常见的字词\n\n";
binding.unitEmptyTv.setText(RichTextUtil.matcherSearchTitle(new Integer(Color.RED), binding.unitEmptyTv.setText(RichTextUtil.matcherSearchTitle(new Integer(Color.RED), emptyStr, tip));
emptyStr, tip));
} }
} }
} }
...@@ -43,8 +43,7 @@ public class UnitVM extends BackBarVM<Repository> { ...@@ -43,8 +43,7 @@ public class UnitVM extends BackBarVM<Repository> {
//给RecyclerView添加ObservableList //给RecyclerView添加ObservableList
public ObservableList<UnitItem> observableList = new ObservableArrayList<>(); public ObservableList<UnitItem> observableList = new ObservableArrayList<>();
//给RecyclerView添加ItemBinding //给RecyclerView添加ItemBinding
public ItemBinding<UnitItem> itemBinding = ItemBinding.of(BR.viewModel, public ItemBinding<UnitItem> itemBinding = ItemBinding.of(BR.viewModel, R.layout.item_unit_rv);
R.layout.item_unit_rv);
public SingleLiveEvent<Boolean> showSearch = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> showSearch = new SingleLiveEvent<>();
...@@ -198,8 +197,7 @@ public class UnitVM extends BackBarVM<Repository> { ...@@ -198,8 +197,7 @@ public class UnitVM extends BackBarVM<Repository> {
/** /**
* 重新加载 * 重新加载
*/ */
public BindingCommand onRestClickCommand = public BindingCommand onRestClickCommand = new BindingCommand(new BindingAction() {
new BindingCommand(new BindingAction() {
@Override @Override
public void call() { public void call() {
loadUnit(); loadUnit();
...@@ -208,8 +206,7 @@ public class UnitVM extends BackBarVM<Repository> { ...@@ -208,8 +206,7 @@ public class UnitVM extends BackBarVM<Repository> {
/** /**
* 确定 * 确定
*/ */
public BindingCommand onFixedClickCommand = public BindingCommand onFixedClickCommand = new BindingCommand(new BindingAction() {
new BindingCommand(new BindingAction() {
@Override @Override
public void call() { public void call() {
btnLiveData.call(); btnLiveData.call();
......
...@@ -77,6 +77,7 @@ ...@@ -77,6 +77,7 @@
android:text="标签个数:" android:text="标签个数:"
android:textColor="#4963cd" android:textColor="#4963cd"
android:textSize="@dimen/desc_text_size" android:textSize="@dimen/desc_text_size"
android:visibility="visible"
binding:layout_constraintStart_toStartOf="@id/unit_desc" binding:layout_constraintStart_toStartOf="@id/unit_desc"
binding:layout_constraintTop_toBottomOf="@+id/unit_desc" /> binding:layout_constraintTop_toBottomOf="@+id/unit_desc" />
...@@ -122,6 +123,7 @@ ...@@ -122,6 +123,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/input_frame_bg" android:background="@drawable/input_frame_bg"
android:gravity="center_vertical" android:gravity="center_vertical"
android:digits="0123456789qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
binding:layout_constraintLeft_toRightOf="@+id/inventory_epc_tip_desc" binding:layout_constraintLeft_toRightOf="@+id/inventory_epc_tip_desc"
binding:layout_constraintRight_toLeftOf="@+id/progress_bar" binding:layout_constraintRight_toLeftOf="@+id/progress_bar"
binding:layout_constraintTop_toTopOf="@+id/inventory_epc_tip_desc" binding:layout_constraintTop_toTopOf="@+id/inventory_epc_tip_desc"
...@@ -141,6 +143,19 @@ ...@@ -141,6 +143,19 @@
binding:layout_constraintEnd_toEndOf="parent" binding:layout_constraintEnd_toEndOf="parent"
binding:layout_constraintTop_toTopOf="parent" /> binding:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatButton
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_30"
android:textColor="@color/white"
android:background="@drawable/setting_btn_bg"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginEnd="@dimen/dp_10"
android:visibility="visible"
android:text="+"
binding:layout_constraintEnd_toEndOf="parent"
binding:layout_constraintTop_toTopOf="parent"
binding:onClickCommand="@{viewModel.onAddClickCommand}"/>
<View <View
android:id="@+id/inventory_epc_line" android:id="@+id/inventory_epc_line"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -163,7 +163,7 @@ ...@@ -163,7 +163,7 @@
<RadioButton <RadioButton
android:id="@+id/online" android:id="@+id/online"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="22dp"
android:layout_marginStart="@dimen/dp_20" android:layout_marginStart="@dimen/dp_20"
android:layout_weight="1" android:layout_weight="1"
android:text="@string/onLine" android:text="@string/onLine"
......
...@@ -93,6 +93,7 @@ ...@@ -93,6 +93,7 @@
android:id="@+id/weight_selected_desc" android:id="@+id/weight_selected_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone"
android:text="@string/weight" android:text="@string/weight"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/desc_text_size" android:textSize="@dimen/desc_text_size"
...@@ -132,6 +133,7 @@ ...@@ -132,6 +133,7 @@
android:id="@+id/parity_selected_desc" android:id="@+id/parity_selected_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone"
android:text="@string/parity" android:text="@string/parity"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/desc_text_size" android:textSize="@dimen/desc_text_size"
...@@ -145,6 +147,7 @@ ...@@ -145,6 +147,7 @@
android:id="@+id/twin_sheep_desc" android:id="@+id/twin_sheep_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone"
android:text="@string/twin_sheep" android:text="@string/twin_sheep"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/desc_text_size" android:textSize="@dimen/desc_text_size"
...@@ -158,6 +161,7 @@ ...@@ -158,6 +161,7 @@
android:id="@+id/ewe_selected_desc" android:id="@+id/ewe_selected_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone"
android:text="@string/ewe" android:text="@string/ewe"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/desc_text_size" android:textSize="@dimen/desc_text_size"
...@@ -172,6 +176,7 @@ ...@@ -172,6 +176,7 @@
android:id="@+id/ram_selected_desc" android:id="@+id/ram_selected_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone"
android:text="@string/ram" android:text="@string/ram"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/desc_text_size" android:textSize="@dimen/desc_text_size"
...@@ -263,6 +268,7 @@ ...@@ -263,6 +268,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
android:background="@drawable/input_frame_bg" android:background="@drawable/input_frame_bg"
android:visibility="gone"
android:hint="请输入重量" android:hint="请输入重量"
android:inputType="numberDecimal" android:inputType="numberDecimal"
android:maxLines="1" android:maxLines="1"
...@@ -307,6 +313,7 @@ ...@@ -307,6 +313,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
android:background="@drawable/input_frame_bg" android:background="@drawable/input_frame_bg"
android:visibility="gone"
android:hint="请输入胎次" android:hint="请输入胎次"
android:inputType="number" android:inputType="number"
android:maxLines="1" android:maxLines="1"
...@@ -322,6 +329,7 @@ ...@@ -322,6 +329,7 @@
android:layout_width="@dimen/dp_0" android:layout_width="@dimen/dp_0"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
android:visibility="gone"
android:checked="@{viewModel.entity.isTwins==0?false:true}" android:checked="@{viewModel.entity.isTwins==0?false:true}"
android:text="@string/yes" android:text="@string/yes"
android:textSize="@dimen/edit_size" android:textSize="@dimen/edit_size"
...@@ -337,6 +345,7 @@ ...@@ -337,6 +345,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
android:background="@drawable/input_frame_bg" android:background="@drawable/input_frame_bg"
android:visibility="gone"
android:hint="请输入母羊号" android:hint="请输入母羊号"
android:maxLines="1" android:maxLines="1"
android:text="@={viewModel.entity.eweEpc}" android:text="@={viewModel.entity.eweEpc}"
...@@ -352,6 +361,7 @@ ...@@ -352,6 +361,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
android:background="@drawable/input_frame_bg" android:background="@drawable/input_frame_bg"
android:visibility="gone"
android:hint="请输入公羊号" android:hint="请输入公羊号"
android:maxLines="1" android:maxLines="1"
android:text="@={viewModel.entity.ramEpc}" android:text="@={viewModel.entity.ramEpc}"
......
...@@ -26,16 +26,6 @@ ...@@ -26,16 +26,6 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/manager_id_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="@{viewModel.entity.managerCode}"
android:textSize="@dimen/sp_15"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/manager_name_tv" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/manager_phone_tv" android:id="@+id/manager_phone_tv"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -53,7 +43,7 @@ ...@@ -53,7 +43,7 @@
android:text="@{viewModel.entity.idCard}" android:text="@{viewModel.entity.idCard}"
android:textSize="@dimen/sp_15" android:textSize="@dimen/sp_15"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
app:layout_constraintStart_toStartOf="@+id/manager_phone_tv" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/manager_phone_tv" /> app:layout_constraintTop_toBottomOf="@id/manager_phone_tv" />
<androidx.appcompat.widget.AppCompatCheckBox <androidx.appcompat.widget.AppCompatCheckBox
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<!--
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/id_tv" android:id="@+id/id_tv"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -23,6 +24,7 @@ ...@@ -23,6 +24,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/name_tv" app:layout_constraintTop_toBottomOf="@id/name_tv"
android:layout_marginTop="@dimen/dp_5" /> android:layout_marginTop="@dimen/dp_5" />
-->
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/phone_tv" android:id="@+id/phone_tv"
...@@ -40,8 +42,9 @@ ...@@ -40,8 +42,9 @@
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
android:layout_marginEnd="@dimen/dp_20" android:layout_marginEnd="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginStart="@dimen/dp_20"
app:layout_constraintTop_toBottomOf="@id/phone_tv" /> app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/name_tv" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" /> <background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" /> <foreground android:drawable="@drawable/ic_launcher" />
</adaptive-icon> </adaptive-icon>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" /> <background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" /> <foreground android:drawable="@drawable/ic_launcher" />
</adaptive-icon> </adaptive-icon>
\ No newline at end of file
<resources> <resources>
<string name="app_name">WoolManager</string> <string name="app_name">羊毛追溯系统</string>
<string name="setting">设置</string> <string name="setting">设置</string>
<string name="jobNum">工号:</string> <string name="jobNum">工号:</string>
<string name="pleaseInputUserName">请输入用户名</string> <string name="pleaseInputUserName">请输入用户名</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment