Commit 920acb04 authored by hywang's avatar hywang

增加动态获取牧户,种蓄血统

parent c11ee194
...@@ -47,6 +47,7 @@ android { ...@@ -47,6 +47,7 @@ android {
greendao { greendao {
schemaVersion 5 //数据库版本号 schemaVersion 5 //数据库版本号
daoPackage 'com.phlx.wool.db.gen'
targetGenDir 'src/main/java' targetGenDir 'src/main/java'
} }
......
...@@ -7,9 +7,11 @@ import androidx.annotation.NonNull; ...@@ -7,9 +7,11 @@ import androidx.annotation.NonNull;
import com.phlx.wool.data.http.HttpDataSource; import com.phlx.wool.data.http.HttpDataSource;
import com.phlx.wool.data.local.LocalDataSource; import com.phlx.wool.data.local.LocalDataSource;
import com.phlx.wool.db.DbUtil; import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.gen.DivisionEntityDao;
import com.phlx.wool.db.gen.VillusBuyEntityDao;
import com.phlx.wool.entity.AncestryinfoEntity;
import com.phlx.wool.entity.CattleLabelEntity; import com.phlx.wool.entity.CattleLabelEntity;
import com.phlx.wool.entity.DivisionEntity; import com.phlx.wool.entity.DivisionEntity;
import com.phlx.wool.entity.DivisionEntityDao;
import com.phlx.wool.entity.EntryRegistrationEntity; import com.phlx.wool.entity.EntryRegistrationEntity;
import com.phlx.wool.entity.Harmless; import com.phlx.wool.entity.Harmless;
import com.phlx.wool.entity.Label; import com.phlx.wool.entity.Label;
...@@ -21,10 +23,10 @@ import com.phlx.wool.entity.User; ...@@ -21,10 +23,10 @@ import com.phlx.wool.entity.User;
import com.phlx.wool.entity.Variety; import com.phlx.wool.entity.Variety;
import com.phlx.wool.entity.Veterinary; import com.phlx.wool.entity.Veterinary;
import com.phlx.wool.entity.VillusBuyEntity; import com.phlx.wool.entity.VillusBuyEntity;
import com.phlx.wool.entity.VillusBuyEntityDao;
import com.phlx.wool.entity.VillusGaugeEntity; import com.phlx.wool.entity.VillusGaugeEntity;
import com.phlx.wool.params.BasicParams; import com.phlx.wool.params.BasicParams;
import com.phlx.wool.params.CattleResponse; import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.ui.cattle.farmer.FarmerEntity;
import org.greenrobot.greendao.query.QueryBuilder; import org.greenrobot.greendao.query.QueryBuilder;
...@@ -146,6 +148,16 @@ public class Repository extends BaseModel implements HttpDataSource, LocalDataSo ...@@ -146,6 +148,16 @@ public class Repository extends BaseModel implements HttpDataSource, LocalDataSo
return mHttpDataSource.uploadCattleMark(body); return mHttpDataSource.uploadCattleMark(body);
} }
@Override
public Observable<CattleResponse<List<FarmerEntity>>> getCattleFarmerList(RequestBody body) {
return mHttpDataSource.getCattleFarmerList(body);
}
@Override
public Observable<CattleResponse<List<AncestryinfoEntity>>> getCattleAncestryinfoList(RequestBody body) {
return mHttpDataSource.getCattleAncestryinfoList(body);
}
@Override @Override
public void saveUserName(String userName) { public void saveUserName(String userName) {
......
...@@ -2,6 +2,7 @@ package com.phlx.wool.data.http; ...@@ -2,6 +2,7 @@ package com.phlx.wool.data.http;
import com.phlx.wool.entity.AncestryinfoEntity;
import com.phlx.wool.entity.CattleLabelEntity; import com.phlx.wool.entity.CattleLabelEntity;
import com.phlx.wool.entity.DivisionEntity; import com.phlx.wool.entity.DivisionEntity;
import com.phlx.wool.entity.EntryRegistrationEntity; import com.phlx.wool.entity.EntryRegistrationEntity;
...@@ -16,6 +17,7 @@ import com.phlx.wool.entity.VillusBuyEntity; ...@@ -16,6 +17,7 @@ import com.phlx.wool.entity.VillusBuyEntity;
import com.phlx.wool.entity.VillusGaugeEntity; import com.phlx.wool.entity.VillusGaugeEntity;
import com.phlx.wool.params.BasicParams; import com.phlx.wool.params.BasicParams;
import com.phlx.wool.params.CattleResponse; import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.ui.cattle.farmer.FarmerEntity;
import java.util.List; import java.util.List;
...@@ -143,5 +145,22 @@ public interface ApiService { ...@@ -143,5 +145,22 @@ public interface ApiService {
@Headers({"Content-Type: application/json", "Accept: application/json"}) @Headers({"Content-Type: application/json", "Accept: application/json"})
@POST("/dataServer/uploadCattleresume") @POST("/dataServer/uploadCattleresume")
Observable<CattleResponse<List<CattleLabelEntity>>> uploadCattleMark(@Body RequestBody body); Observable<CattleResponse<List<CattleLabelEntity>>> uploadCattleMark(@Body RequestBody body);
/**
* 锡盟补打获取牧户信息
*/
@Headers({"Content-Type: application/json", "Accept: application/json"})
@POST("/dataServer/findPastureUnitList")
Observable<CattleResponse<List<FarmerEntity>>> getCattleFarmerList(@Body RequestBody body);
/**
* 锡盟补打获取品种信息
*/
@Headers({"Content-Type: application/json", "Accept: application/json"})
@POST("/dataServer/getAncestryinfo")
Observable<CattleResponse<List<AncestryinfoEntity>>> getCattleAncestryinfoList(@Body RequestBody body);
} }
...@@ -2,6 +2,7 @@ package com.phlx.wool.data.http; ...@@ -2,6 +2,7 @@ package com.phlx.wool.data.http;
import com.phlx.wool.entity.AncestryinfoEntity;
import com.phlx.wool.entity.CattleLabelEntity; import com.phlx.wool.entity.CattleLabelEntity;
import com.phlx.wool.entity.DivisionEntity; import com.phlx.wool.entity.DivisionEntity;
import com.phlx.wool.entity.EntryRegistrationEntity; import com.phlx.wool.entity.EntryRegistrationEntity;
...@@ -16,12 +17,15 @@ import com.phlx.wool.entity.VillusBuyEntity; ...@@ -16,12 +17,15 @@ import com.phlx.wool.entity.VillusBuyEntity;
import com.phlx.wool.entity.VillusGaugeEntity; import com.phlx.wool.entity.VillusGaugeEntity;
import com.phlx.wool.params.BasicParams; import com.phlx.wool.params.BasicParams;
import com.phlx.wool.params.CattleResponse; import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.ui.cattle.farmer.FarmerEntity;
import java.util.List; import java.util.List;
import io.reactivex.Observable; import io.reactivex.Observable;
import okhttp3.RequestBody; import okhttp3.RequestBody;
import retrofit2.http.Body; import retrofit2.http.Body;
import retrofit2.http.Headers;
import retrofit2.http.POST;
/** /**
* Created by goldze on 2019/3/26. * Created by goldze on 2019/3/26.
...@@ -111,4 +115,14 @@ public interface HttpDataSource { ...@@ -111,4 +115,14 @@ public interface HttpDataSource {
*/ */
Observable<CattleResponse<List<CattleLabelEntity>>> uploadCattleMark(@Body RequestBody body); Observable<CattleResponse<List<CattleLabelEntity>>> uploadCattleMark(@Body RequestBody body);
/**
* 锡盟补打获取牧户信息
*/
Observable<CattleResponse<List<FarmerEntity>>> getCattleFarmerList(@Body RequestBody body);
/**
* 锡盟补打获取品种信息
*/
Observable<CattleResponse<List<AncestryinfoEntity>>> getCattleAncestryinfoList(@Body RequestBody body);
} }
...@@ -2,6 +2,7 @@ package com.phlx.wool.data.http; ...@@ -2,6 +2,7 @@ package com.phlx.wool.data.http;
import com.phlx.wool.entity.AncestryinfoEntity;
import com.phlx.wool.entity.CattleLabelEntity; import com.phlx.wool.entity.CattleLabelEntity;
import com.phlx.wool.entity.DivisionEntity; import com.phlx.wool.entity.DivisionEntity;
import com.phlx.wool.entity.EntryRegistrationEntity; import com.phlx.wool.entity.EntryRegistrationEntity;
...@@ -16,6 +17,7 @@ import com.phlx.wool.entity.VillusBuyEntity; ...@@ -16,6 +17,7 @@ import com.phlx.wool.entity.VillusBuyEntity;
import com.phlx.wool.entity.VillusGaugeEntity; import com.phlx.wool.entity.VillusGaugeEntity;
import com.phlx.wool.params.BasicParams; import com.phlx.wool.params.BasicParams;
import com.phlx.wool.params.CattleResponse; import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.ui.cattle.farmer.FarmerEntity;
import java.util.List; import java.util.List;
...@@ -128,5 +130,15 @@ public class HttpDataSourceImpl implements HttpDataSource { ...@@ -128,5 +130,15 @@ public class HttpDataSourceImpl implements HttpDataSource {
return apiService.uploadCattleMark(body); return apiService.uploadCattleMark(body);
} }
@Override
public Observable<CattleResponse<List<FarmerEntity>>> getCattleFarmerList(RequestBody body) {
return apiService.getCattleFarmerList(body);
}
@Override
public Observable<CattleResponse<List<AncestryinfoEntity>>> getCattleAncestryinfoList(RequestBody body) {
return apiService.getCattleAncestryinfoList(body);
}
} }
...@@ -3,10 +3,10 @@ package com.phlx.wool.db; ...@@ -3,10 +3,10 @@ package com.phlx.wool.db;
import android.app.Application; import android.app.Application;
import com.phlx.wool.App; import com.phlx.wool.App;
import com.phlx.wool.db.gen.DaoMaster;
import com.phlx.wool.db.gen.DaoSession;
import com.phlx.wool.db.interf.DbIDUCallBack; import com.phlx.wool.db.interf.DbIDUCallBack;
import com.phlx.wool.db.interf.DbQueryCallBack; import com.phlx.wool.db.interf.DbQueryCallBack;
import com.phlx.wool.entity.DaoMaster;
import com.phlx.wool.entity.DaoSession;
import org.greenrobot.greendao.AbstractDao; import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.async.AsyncOperation; import org.greenrobot.greendao.async.AsyncOperation;
......
...@@ -4,24 +4,22 @@ import android.content.Context; ...@@ -4,24 +4,22 @@ import android.content.Context;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import com.github.yuweiguocn.library.greendao.MigrationHelper; import com.github.yuweiguocn.library.greendao.MigrationHelper;
import com.phlx.wool.entity.CacheLabel; import com.phlx.wool.db.gen.CacheLabelDao;
import com.phlx.wool.entity.CacheLabelDao; import com.phlx.wool.db.gen.DaoMaster;
import com.phlx.wool.entity.DaoMaster; import com.phlx.wool.db.gen.DivisionEntityDao;
import com.phlx.wool.entity.DivisionEntityDao; import com.phlx.wool.db.gen.EntryRegistrationEntityDao;
import com.phlx.wool.entity.EntryRegistrationEntity; import com.phlx.wool.db.gen.HarmlessDao;
import com.phlx.wool.entity.EntryRegistrationEntityDao; import com.phlx.wool.db.gen.HarmlessDetailDao;
import com.phlx.wool.entity.HarmlessDao; import com.phlx.wool.db.gen.LabelDao;
import com.phlx.wool.entity.HarmlessDetailDao; import com.phlx.wool.db.gen.MarkingDao;
import com.phlx.wool.entity.LabelDao; import com.phlx.wool.db.gen.QuarantineDao;
import com.phlx.wool.entity.MarkingDao; import com.phlx.wool.db.gen.QuarantineDetailDao;
import com.phlx.wool.entity.QuarantineDao; import com.phlx.wool.db.gen.TreatmentMethodDao;
import com.phlx.wool.entity.QuarantineDetailDao; import com.phlx.wool.db.gen.UnitDao;
import com.phlx.wool.entity.TreatmentMethodDao; import com.phlx.wool.db.gen.VarietyDao;
import com.phlx.wool.entity.UnitDao; import com.phlx.wool.db.gen.VeterinaryDao;
import com.phlx.wool.entity.VarietyDao; import com.phlx.wool.db.gen.VillusBuyEntityDao;
import com.phlx.wool.entity.VeterinaryDao; import com.phlx.wool.db.gen.VillusGaugeEntityDao;
import com.phlx.wool.entity.VillusBuyEntityDao;
import com.phlx.wool.entity.VillusGaugeEntityDao;
import org.greenrobot.greendao.database.Database; import org.greenrobot.greendao.database.Database;
......
package com.phlx.wool.entity;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.databinding.BaseObservable;
import com.google.gson.annotations.SerializedName;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Index;
import org.greenrobot.greendao.annotation.Generated;
/**
* 锡盟临时打标——品种bean
*/
@Entity
public class AncestryinfoEntity extends BaseObservable implements Parcelable {
/**
* $column.columnComment
*/
@Id
private Long id;
/**
* 品种代码
*/
private String ancestryid;
/**
* 品种名称
*/
private String ancestryname;
private String remark;
/**
* 时间戳
*/
@Index(name = "ancestryTime", unique = false)
@SerializedName("inputTime")
private long timestamp;
public AncestryinfoEntity() {
}
protected AncestryinfoEntity(Parcel in) {
if (in.readByte() == 0) {
id = null;
} else {
id = in.readLong();
}
ancestryid = in.readString();
ancestryname = in.readString();
remark = in.readString();
timestamp = in.readLong();
}
@Generated(hash = 1906373052)
public AncestryinfoEntity(Long id, String ancestryid, String ancestryname, String remark,
long timestamp) {
this.id = id;
this.ancestryid = ancestryid;
this.ancestryname = ancestryname;
this.remark = remark;
this.timestamp = timestamp;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
if (id == null) {
dest.writeByte((byte) 0);
} else {
dest.writeByte((byte) 1);
dest.writeLong(id);
}
dest.writeString(ancestryid);
dest.writeString(ancestryname);
dest.writeString(remark);
dest.writeLong(timestamp);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<AncestryinfoEntity> CREATOR = new Creator<AncestryinfoEntity>() {
@Override
public AncestryinfoEntity createFromParcel(Parcel in) {
return new AncestryinfoEntity(in);
}
@Override
public AncestryinfoEntity[] newArray(int size) {
return new AncestryinfoEntity[size];
}
};
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAncestryid() {
return ancestryid;
}
public void setAncestryid(String ancestryid) {
this.ancestryid = ancestryid;
}
public String getAncestryname() {
return ancestryname;
}
public void setAncestryname(String ancestryname) {
this.ancestryname = ancestryname;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public long getTimestamp() {
return timestamp;
}
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
@Override
public String toString() {
return "AncestryinfoEntity{" +
"id=" + id +
", ancestryid='" + ancestryid + '\'' +
", ancestryname='" + ancestryname + '\'' +
", remark='" + remark + '\'' +
", timestamp=" + timestamp +
'}';
}
}
...@@ -31,6 +31,11 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable { ...@@ -31,6 +31,11 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
*/ */
private String individualNo; private String individualNo;
/**
* 养殖户代码
*/
private String pastureUnitId;
/** /**
* 出生日期 * 出生日期
*/ */
...@@ -124,6 +129,7 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable { ...@@ -124,6 +129,7 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
id = in.readString(); id = in.readString();
registrationNo = in.readString(); registrationNo = in.readString();
individualNo = in.readString(); individualNo = in.readString();
pastureUnitId = in.readString();
birthdate = in.readString(); birthdate = in.readString();
ancestryId = in.readString(); ancestryId = in.readString();
sex = in.readString(); sex = in.readString();
...@@ -144,15 +150,16 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable { ...@@ -144,15 +150,16 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
createTime = in.readString(); createTime = in.readString();
} }
@Generated(hash = 1246556714) @Generated(hash = 658883898)
public CattleLabelEntity(String id, String registrationNo, String individualNo, String birthdate, public CattleLabelEntity(String id, String registrationNo, String individualNo,
String ancestryId, String sex, String weight, String bust, String tubeCircumference, String pastureUnitId, String birthdate, String ancestryId, String sex, String weight,
String bodyHeight, String bodyObliqueLength, String markImgPath, String photo, String bust, String tubeCircumference, String bodyHeight, String bodyObliqueLength,
String status, String inputTime, String spare1, String spare2, String spare3, String spare4, String markImgPath, String photo, String status, String inputTime, String spare1,
String createBy, String createTime) { String spare2, String spare3, String spare4, String createBy, String createTime) {
this.id = id; this.id = id;
this.registrationNo = registrationNo; this.registrationNo = registrationNo;
this.individualNo = individualNo; this.individualNo = individualNo;
this.pastureUnitId = pastureUnitId;
this.birthdate = birthdate; this.birthdate = birthdate;
this.ancestryId = ancestryId; this.ancestryId = ancestryId;
this.sex = sex; this.sex = sex;
...@@ -178,6 +185,7 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable { ...@@ -178,6 +185,7 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
dest.writeString(id); dest.writeString(id);
dest.writeString(registrationNo); dest.writeString(registrationNo);
dest.writeString(individualNo); dest.writeString(individualNo);
dest.writeString(pastureUnitId);
dest.writeString(birthdate); dest.writeString(birthdate);
dest.writeString(ancestryId); dest.writeString(ancestryId);
dest.writeString(sex); dest.writeString(sex);
...@@ -239,6 +247,14 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable { ...@@ -239,6 +247,14 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
this.individualNo = individualNo; this.individualNo = individualNo;
} }
public String getPastureUnitId() {
return pastureUnitId;
}
public void setPastureUnitId(String pastureUnitId) {
this.pastureUnitId = pastureUnitId;
}
public String getBirthdate() { public String getBirthdate() {
return birthdate; return birthdate;
} }
...@@ -389,6 +405,7 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable { ...@@ -389,6 +405,7 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
"id='" + id + '\'' + "id='" + id + '\'' +
", registrationNo='" + registrationNo + '\'' + ", registrationNo='" + registrationNo + '\'' +
", individualNo='" + individualNo + '\'' + ", individualNo='" + individualNo + '\'' +
", pastureUnitId='" + pastureUnitId + '\'' +
", birthdate='" + birthdate + '\'' + ", birthdate='" + birthdate + '\'' +
", ancestryId='" + ancestryId + '\'' + ", ancestryId='" + ancestryId + '\'' +
", sex='" + sex + '\'' + ", sex='" + sex + '\'' +
......
...@@ -15,6 +15,9 @@ import org.greenrobot.greendao.annotation.Id; ...@@ -15,6 +15,9 @@ import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.ToMany; import org.greenrobot.greendao.annotation.ToMany;
import java.util.List; import java.util.List;
import com.phlx.wool.db.gen.DaoSession;
import com.phlx.wool.db.gen.HarmlessDetailDao;
import com.phlx.wool.db.gen.HarmlessDao;
/** /**
* <pre> * <pre>
......
...@@ -15,6 +15,9 @@ import org.greenrobot.greendao.annotation.Id; ...@@ -15,6 +15,9 @@ import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.ToMany; import org.greenrobot.greendao.annotation.ToMany;
import java.util.List; import java.util.List;
import com.phlx.wool.db.gen.DaoSession;
import com.phlx.wool.db.gen.QuarantineDetailDao;
import com.phlx.wool.db.gen.QuarantineDao;
/** /**
* <pre> * <pre>
......
...@@ -50,6 +50,7 @@ public class RetrofitClient { ...@@ -50,6 +50,7 @@ public class RetrofitClient {
public static String baseUrl = public static String baseUrl =
// "58.18.92.126"//阿拉善正式 // "58.18.92.126"//阿拉善正式
"39.101.170.186"//锡盟正式 "39.101.170.186"//锡盟正式
// "192.168.12.105"//锡盟张敏测试
// "192.168.8.189"//张敏 // "192.168.8.189"//张敏
; ;
public static String port = public static String port =
......
...@@ -2,8 +2,11 @@ package com.phlx.wool.ui.cattle.activity; ...@@ -2,8 +2,11 @@ package com.phlx.wool.ui.cattle.activity;
import android.os.Bundle; import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.lifecycle.ViewModelProviders; import androidx.lifecycle.ViewModelProviders;
import com.afollestad.materialdialogs.DialogAction;
import com.afollestad.materialdialogs.MaterialDialog;
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.ActivityCattleMainBinding; import com.phlx.wool.databinding.ActivityCattleMainBinding;
...@@ -43,5 +46,19 @@ public class CattleMainActivity extends BaseActivity<ActivityCattleMainBinding, ...@@ -43,5 +46,19 @@ public class CattleMainActivity extends BaseActivity<ActivityCattleMainBinding,
@Override @Override
public void initViewObservable() { public void initViewObservable() {
super.initViewObservable(); super.initViewObservable();
viewModel.nullEvent.observe(this, aBoolean -> {
new MaterialDialog.Builder(this).title("系统信息").content("请先选择养殖户!!!")
.cancelable(false).canceledOnTouchOutside(false)
.positiveText("确定").onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.POSITIVE) {
dialog.dismiss();
}
}
}).show();
});
} }
} }
...@@ -10,6 +10,7 @@ import android.view.Gravity; ...@@ -10,6 +10,7 @@ import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.Window; import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
...@@ -34,6 +35,7 @@ import com.phlx.wool.ui.cattle.vm.CattleMarkVM; ...@@ -34,6 +35,7 @@ import com.phlx.wool.ui.cattle.vm.CattleMarkVM;
import com.phlx.wool.ui.main.MainActivity; import com.phlx.wool.ui.main.MainActivity;
import com.phlx.wool.ui.slaughter.SlaughterEntryActivity; import com.phlx.wool.ui.slaughter.SlaughterEntryActivity;
import com.phlx.wool.ui.slaughter.vm.SlaughterEntryVM; import com.phlx.wool.ui.slaughter.vm.SlaughterEntryVM;
import com.phlx.wool.ui.villus.VillusBuyActivity;
import com.phlx.wool.util.BaseImageUtils; import com.phlx.wool.util.BaseImageUtils;
import com.phlx.wool.util.ImagePicker; import com.phlx.wool.util.ImagePicker;
import com.tbruyelle.rxpermissions2.RxPermissions; import com.tbruyelle.rxpermissions2.RxPermissions;
...@@ -113,6 +115,13 @@ public class CattleMarkActivity extends BaseActivity<ActivityCattleMarkBinding, ...@@ -113,6 +115,13 @@ public class CattleMarkActivity extends BaseActivity<ActivityCattleMarkBinding,
pvTime.show(binding.entryDayTv); pvTime.show(binding.entryDayTv);
}); });
viewModel.ancestryOnClick.observe(this, new Observer<Boolean>() {
@Override
public void onChanged(Boolean aBoolean) {
binding.superiorDivisionSp.setAdapter(viewModel.getAdapter(CattleMarkActivity.this));
}
});
viewModel.markPhotoOnClick.observe(this, aBoolean -> { viewModel.markPhotoOnClick.observe(this, aBoolean -> {
RxPermissions rxPermissions = new RxPermissions(CattleMarkActivity.this); RxPermissions rxPermissions = new RxPermissions(CattleMarkActivity.this);
rxPermissions.request(Manifest.permission.CAMERA, Manifest.permission rxPermissions.request(Manifest.permission.CAMERA, Manifest.permission
......
package com.phlx.wool.ui.cattle.farmer;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.databinding.BaseObservable;
import org.greenrobot.greendao.annotation.Id;
public class FarmerEntity extends BaseObservable implements Parcelable {
/**
* id
*/
@Id
private String id;
/**
* 养殖户代码
*/
private String pastureUnitId;
/**
* 养殖户名称
*/
private String pastureUnitName;
/**
* 养殖户身份证号
*/
private String pastureUnitIdcard;
/**
* 负责人联系电话
*/
private String managerPhone;
/**
* 养殖地点
*/
private String pasturePlace;
/**
* 养殖规模
*/
private String pastureScale;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 草场面积
*/
private String pasture;
/**
* 基础母羊
*/
private String ewe;
/**
* 旗县市代码
*/
private String cityCode;
/**
* 旗县市名称
*/
private String cityName;
/**
* 乡镇代码
*/
private String townsCode;
/**
* 乡镇名称
*/
private String townsName;
/**
* 村代码
*/
private String villageCode;
/**
* 村名称
*/
private String villageName;
/**
* 时间戳
*/
private String inputTime;
/**
* 删除标志(0代表存在 2代表删除)
*/
private String delFlag;
public FarmerEntity() {
}
protected FarmerEntity(Parcel in) {
id = in.readString();
pastureUnitId = in.readString();
pastureUnitName = in.readString();
pastureUnitIdcard = in.readString();
managerPhone = in.readString();
pasturePlace = in.readString();
pastureScale = in.readString();
longitude = in.readString();
latitude = in.readString();
pasture = in.readString();
ewe = in.readString();
cityCode = in.readString();
cityName = in.readString();
townsCode = in.readString();
townsName = in.readString();
villageCode = in.readString();
villageName = in.readString();
inputTime = in.readString();
delFlag = in.readString();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(id);
dest.writeString(pastureUnitId);
dest.writeString(pastureUnitName);
dest.writeString(pastureUnitIdcard);
dest.writeString(managerPhone);
dest.writeString(pasturePlace);
dest.writeString(pastureScale);
dest.writeString(longitude);
dest.writeString(latitude);
dest.writeString(pasture);
dest.writeString(ewe);
dest.writeString(cityCode);
dest.writeString(cityName);
dest.writeString(townsCode);
dest.writeString(townsName);
dest.writeString(villageCode);
dest.writeString(villageName);
dest.writeString(inputTime);
dest.writeString(delFlag);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<FarmerEntity> CREATOR = new Creator<FarmerEntity>() {
@Override
public FarmerEntity createFromParcel(Parcel in) {
return new FarmerEntity(in);
}
@Override
public FarmerEntity[] newArray(int size) {
return new FarmerEntity[size];
}
};
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPastureUnitId() {
return pastureUnitId;
}
public void setPastureUnitId(String pastureUnitId) {
this.pastureUnitId = pastureUnitId;
}
public String getPastureUnitName() {
return pastureUnitName;
}
public void setPastureUnitName(String pastureUnitName) {
this.pastureUnitName = pastureUnitName;
}
public String getPastureUnitIdcard() {
return pastureUnitIdcard;
}
public void setPastureUnitIdcard(String pastureUnitIdcard) {
this.pastureUnitIdcard = pastureUnitIdcard;
}
public String getManagerPhone() {
return managerPhone;
}
public void setManagerPhone(String managerPhone) {
this.managerPhone = managerPhone;
}
public String getPasturePlace() {
return pasturePlace;
}
public void setPasturePlace(String pasturePlace) {
this.pasturePlace = pasturePlace;
}
public String getPastureScale() {
return pastureScale;
}
public void setPastureScale(String pastureScale) {
this.pastureScale = pastureScale;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getPasture() {
return pasture;
}
public void setPasture(String pasture) {
this.pasture = pasture;
}
public String getEwe() {
return ewe;
}
public void setEwe(String ewe) {
this.ewe = ewe;
}
public String getCityCode() {
return cityCode;
}
public void setCityCode(String cityCode) {
this.cityCode = cityCode;
}
public String getCityName() {
return cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}
public String getTownsCode() {
return townsCode;
}
public void setTownsCode(String townsCode) {
this.townsCode = townsCode;
}
public String getTownsName() {
return townsName;
}
public void setTownsName(String townsName) {
this.townsName = townsName;
}
public String getVillageCode() {
return villageCode;
}
public void setVillageCode(String villageCode) {
this.villageCode = villageCode;
}
public String getVillageName() {
return villageName;
}
public void setVillageName(String villageName) {
this.villageName = villageName;
}
public String getInputTime() {
return inputTime;
}
public void setInputTime(String inputTime) {
this.inputTime = inputTime;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
@Override
public String toString() {
return "FarmerEntity{" +
"id='" + id + '\'' +
", pastureUnitId='" + pastureUnitId + '\'' +
", pastureUnitName='" + pastureUnitName + '\'' +
", pastureUnitIdcard='" + pastureUnitIdcard + '\'' +
", managerPhone='" + managerPhone + '\'' +
", pasturePlace='" + pasturePlace + '\'' +
", pastureScale='" + pastureScale + '\'' +
", longitude='" + longitude + '\'' +
", latitude='" + latitude + '\'' +
", pasture='" + pasture + '\'' +
", ewe='" + ewe + '\'' +
", cityCode='" + cityCode + '\'' +
", cityName='" + cityName + '\'' +
", townsCode='" + townsCode + '\'' +
", townsName='" + townsName + '\'' +
", villageCode='" + villageCode + '\'' +
", villageName='" + villageName + '\'' +
", inputTime='" + inputTime + '\'' +
", delFlag='" + delFlag + '\'' +
'}';
}
}
...@@ -5,23 +5,63 @@ import android.app.Application; ...@@ -5,23 +5,63 @@ import android.app.Application;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import com.google.gson.Gson;
import com.phlx.wool.Configs;
import com.phlx.wool.data.Repository; import com.phlx.wool.data.Repository;
import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.interf.DbIDUCallBack;
import com.phlx.wool.db.interf.DbQueryCallBack;
import com.phlx.wool.entity.AncestryinfoEntity;
import com.phlx.wool.entity.CattleLabelEntity; import com.phlx.wool.entity.CattleLabelEntity;
import com.phlx.wool.entity.Unit;
import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.params.PostParams;
import com.phlx.wool.ui.base.BackBarVM; import com.phlx.wool.ui.base.BackBarVM;
import com.phlx.wool.ui.cattle.activity.CattleMarkActivity; import com.phlx.wool.ui.cattle.activity.CattleMarkActivity;
import com.phlx.wool.ui.cattle.activity.CattleUploadActivity; import com.phlx.wool.ui.cattle.activity.CattleUploadActivity;
import com.phlx.wool.ui.cattle.farmer.FarmerEntity;
import com.phlx.wool.ui.work.unit.UnitActivity;
import org.greenrobot.greendao.query.WhereCondition;
import java.util.ArrayList;
import java.util.List;
import java.util.Observable; import java.util.Observable;
import io.reactivex.functions.Consumer;
import me.goldze.mvvmhabit.binding.command.BindingAction; import me.goldze.mvvmhabit.binding.command.BindingAction;
import me.goldze.mvvmhabit.binding.command.BindingCommand; import me.goldze.mvvmhabit.binding.command.BindingCommand;
import me.goldze.mvvmhabit.bus.event.SingleLiveEvent;
import me.goldze.mvvmhabit.http.ResponseThrowable;
import me.goldze.mvvmhabit.utils.KLog;
import me.goldze.mvvmhabit.utils.RxUtils;
import me.goldze.mvvmhabit.utils.SPUtils;
import me.goldze.mvvmhabit.utils.ToastUtils;
import okhttp3.MediaType;
import okhttp3.RequestBody;
public class CattleMainVM extends BackBarVM<Repository> { public class CattleMainVM extends BackBarVM<Repository> {
private static String unitSp;
public SingleLiveEvent<Boolean> nullEvent = new SingleLiveEvent<>();
private int farmerPageIndex = 0;
private int ancestryPageIndex = 0;
public CattleMainVM(@NonNull Application application, Repository model) { public CattleMainVM(@NonNull Application application, Repository model) {
super(application, model); super(application, model);
} }
/**
* 选择养殖户
*/
public BindingCommand onFarmerClickCommand = new BindingCommand(new BindingAction() {
@Override
public void call() {
startActivity(UnitActivity.class);
}
});
/** /**
* 打标 * 打标
...@@ -29,7 +69,12 @@ public class CattleMainVM extends BackBarVM<Repository> { ...@@ -29,7 +69,12 @@ public class CattleMainVM extends BackBarVM<Repository> {
public BindingCommand onLabelClickCommand = new BindingCommand(new BindingAction() { public BindingCommand onLabelClickCommand = new BindingCommand(new BindingAction() {
@Override @Override
public void call() { public void call() {
startActivity(CattleMarkActivity.class); unitSp = SPUtils.getInstance().getString(Configs.SP_UNIT_NAME, "");
if (unitSp.isEmpty()) {
nullEvent.call();
} else {
startActivity(CattleMarkActivity.class);
}
} }
}); });
...@@ -42,4 +87,160 @@ public class CattleMainVM extends BackBarVM<Repository> { ...@@ -42,4 +87,160 @@ public class CattleMainVM extends BackBarVM<Repository> {
startActivity(CattleUploadActivity.class); startActivity(CattleUploadActivity.class);
} }
}); });
/**
* 下载更新养殖户信息
*/
public BindingCommand onDownloadClickCommand = new BindingCommand(new BindingAction() {
@Override
public void call() {
if (Configs.isOnLine) {
DbUtil.getInstance().deleteAll(Unit.class);
farmerPageIndex = 0;
queryFarmerInputTime(farmerPageIndex, 10000);
}
}
});
@Override
public void onResume() {
super.onResume();
if (SPUtils.getInstance().getBoolean("isFirst", true)) {
queryFarmerInputTime(farmerPageIndex, 10000);
}
}
public void queryFarmerInputTime(int index, int count) {
String sql = "TIMESTAMP IN " + "(SELECT MAX(TIMESTAMP) FROM UNIT)";
WhereCondition.StringCondition stringCondition = new WhereCondition.StringCondition(sql);
DbUtil.getInstance().setDbQueryCallBack(new DbQueryCallBack<Unit>() {
@Override
public void onSuccess(List<Unit> result) {
long inputTime = 0;
if (result != null && result.size() > 0) {
inputTime = result.get(0).getTimestamp();
}
requestFarmer(index, inputTime, count);
}
@Override
public void onFailed() {
}
}).queryAsync(Unit.class, stringCondition);
}
private void requestFarmer(int index, long inputTime, int count) {
PostParams postParams = new PostParams();
postParams.setInputTime(inputTime);
postParams.setPageNum(index);
postParams.setPageSize(count);
postParams.setYears("");
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),
new Gson().toJson(postParams));
KLog.e("--Farmer--" + postParams.toString());
showDialog("正在同步养殖户数据,请勿关闭屏幕或退出程序!");
addSubscribe(model.getCattleFarmerList(body)
.compose(RxUtils.bindToLifecycle(getLifecycleProvider()))
.compose(RxUtils.schedulersTransformer())
.compose(RxUtils.exceptionTransformer())
.doOnSubscribe(disposable -> {
})
.subscribe((Consumer<CattleResponse<List<FarmerEntity>>>) response -> {
dismissDialog();
if (response.getCode() == 0) {
if (response.getData() != null && response.getData().size() > 0) {
KLog.e("--Farmer--" + response.getData().size());
List<Unit> units = new ArrayList<>();
for (FarmerEntity fe : response.getData()) {
if (fe.getDelFlag().equals("0")) {
Unit _unit = new Unit();
_unit.setId(Long.parseLong(fe.getId()));
_unit.setIdCard(fe.getPastureUnitIdcard());
_unit.setManagerCode(fe.getPastureUnitId());
_unit.setManagerName(fe.getPastureUnitName());
_unit.setManagerPhone(fe.getManagerPhone());
_unit.setTimestamp(Long.parseLong(fe.getInputTime()));
units.add(_unit);
}
}
DbUtil.getInstance().setDbIDUCallBack(new DbIDUCallBack() {
@Override
public void onNotification(boolean result) {
if (result) {
SPUtils.getInstance().put("isFirst", false);
farmerPageIndex++;
requestFarmer(farmerPageIndex, inputTime, count);
}
}
}).insertAsyncBatch(Unit.class, units);
} else {
requestAncestryinfo();
}
} else {
ToastUtils.showShort("服务器:" + response.getMsg());
}
}, (Consumer<ResponseThrowable>) throwable -> {
dismissDialog();
KLog.e(throwable.message);
ToastUtils.showShort("养殖户同步数据失败");
})
);
}
private void requestAncestryinfo() {
PostParams postParams = new PostParams();
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),
new Gson().toJson(postParams));
KLog.e("--Ancestryinfo--" + postParams.toString());
showDialog("正在同步牲畜品种数据,请勿关闭屏幕或退出程序!");
addSubscribe(model.getCattleAncestryinfoList(body)
.compose(RxUtils.bindToLifecycle(getLifecycleProvider()))
.compose(RxUtils.schedulersTransformer())
.compose(RxUtils.exceptionTransformer())
.doOnSubscribe(disposable -> {
})
.subscribe((Consumer<CattleResponse<List<AncestryinfoEntity>>>) response -> {
dismissDialog();
if (response.getCode() == 0) {
if (response.getData() != null && response.getData().size() > 0) {
KLog.e("--Ancestryinfo--" + response.getData().size());
DbUtil.getInstance().setDbIDUCallBack(new DbIDUCallBack() {
@Override
public void onNotification(boolean result) {
if (result) {
ToastUtils.showShort("牲畜品种数据保存成功" );
}else{
ToastUtils.showShort("牲畜品种数据保存失败" );
}
}
}).insertAsyncBatch(AncestryinfoEntity.class, response.getData());
}
// else {
// dismissDialog();
// }
} else {
ToastUtils.showShort("服务器:" + response.getMsg());
}
}, (Consumer<ResponseThrowable>) throwable -> {
dismissDialog();
KLog.e(throwable.message);
ToastUtils.showShort("牲畜品种同步数据失败");
})
);
}
} }
...@@ -4,6 +4,7 @@ import android.app.Application; ...@@ -4,6 +4,7 @@ import android.app.Application;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Environment; import android.os.Environment;
import android.view.View; import android.view.View;
import android.widget.ArrayAdapter;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
...@@ -13,13 +14,21 @@ import com.phlx.wool.R; ...@@ -13,13 +14,21 @@ import com.phlx.wool.R;
import com.phlx.wool.data.Repository; import com.phlx.wool.data.Repository;
import com.phlx.wool.db.DbUtil; import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.interf.DbIDUCallBack; import com.phlx.wool.db.interf.DbIDUCallBack;
import com.phlx.wool.db.interf.DbQueryCallBack;
import com.phlx.wool.entity.AncestryinfoEntity;
import com.phlx.wool.entity.CattleLabelEntity; import com.phlx.wool.entity.CattleLabelEntity;
import com.phlx.wool.entity.DivisionEntity; import com.phlx.wool.entity.DivisionEntity;
import com.phlx.wool.entity.EntryRegistrationEntity; import com.phlx.wool.entity.EntryRegistrationEntity;
import com.phlx.wool.entity.Unit;
import com.phlx.wool.ui.base.BackBarVM; import com.phlx.wool.ui.base.BackBarVM;
import com.phlx.wool.ui.cattle.activity.CattleMarkActivity;
import com.phlx.wool.ui.villus.VillusBuyActivity;
import com.phlx.wool.util.BaseImageUtils; import com.phlx.wool.util.BaseImageUtils;
import com.phlx.wool.widget.ItemData; import com.phlx.wool.widget.ItemData;
import org.greenrobot.greendao.query.QueryBuilder;
import org.greenrobot.greendao.query.WhereCondition;
import java.io.File; import java.io.File;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -51,11 +60,17 @@ public class CattleMarkVM extends BackBarVM<Repository> { ...@@ -51,11 +60,17 @@ public class CattleMarkVM extends BackBarVM<Repository> {
public SingleLiveEvent<Boolean> birthDay = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> birthDay = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> markPhotoOnClick = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> markPhotoOnClick = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> scanLabelOnClick = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> scanLabelOnClick = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> ancestryOnClick = new SingleLiveEvent<>();
private List<CattleLabelEntity> uploadData; private List<CattleLabelEntity> uploadData;
public List<IKeyAndValue> ancestryItemData, sexItemData; public List<IKeyAndValue> ancestryItemData, sexItemData;
//品种刷新用
private ArrayAdapter<String> spinnerAdapter;
private List<String> lists = new ArrayList<>();
public CattleMarkVM(@NonNull Application application, Repository model) { public CattleMarkVM(@NonNull Application application, Repository model) {
super(application, model); super(application, model);
} }
...@@ -76,6 +91,7 @@ public class CattleMarkVM extends BackBarVM<Repository> { ...@@ -76,6 +91,7 @@ public class CattleMarkVM extends BackBarVM<Repository> {
entity = new CattleLabelEntity(); entity = new CattleLabelEntity();
long idNo = IdUtil.createSnowflake(3, 1).nextId(); long idNo = IdUtil.createSnowflake(3, 1).nextId();
entity.setId(idNo + ""); entity.setId(idNo + "");
entity.setPastureUnitId(SPUtils.getInstance().getString(Configs.SP_UNIT_CODE, ""));
markeImgUrl = Environment.getExternalStorageDirectory().getAbsolutePath() + markeImgUrl = Environment.getExternalStorageDirectory().getAbsolutePath() +
"/tracing/picture/" "/tracing/picture/"
...@@ -89,10 +105,23 @@ public class CattleMarkVM extends BackBarVM<Repository> { ...@@ -89,10 +105,23 @@ public class CattleMarkVM extends BackBarVM<Repository> {
//血统数据 //血统数据
ancestryItemData = new ArrayList<>(); ancestryItemData = new ArrayList<>();
ancestryItemData.add(new ItemData("苏尼特羊", "10")); QueryBuilder<AncestryinfoEntity> builder =
ancestryItemData.add(new ItemData("乌珠穆沁羊", "20")); DbUtil.getInstance().getQueryBuilder(AncestryinfoEntity.class);
ancestryItemData.add(new ItemData("乌冉克羊", "30")); DbUtil.getInstance().setDbQueryCallBack(new DbQueryCallBack<AncestryinfoEntity>() {
ancestryItemData.add(new ItemData("察哈尔羊", "40")); @Override
public void onSuccess(List<AncestryinfoEntity> result) {
for (AncestryinfoEntity ae : result) {
ancestryItemData.add(new ItemData(ae.getAncestryname(), ae.getAncestryid()));
lists.add(ae.getAncestryname());
}
ancestryOnClick.call();
}
@Override
public void onFailed() {
ToastUtils.showShort("牲畜品种数据库查询失败");
}
}).queryAsyncAll(AncestryinfoEntity.class, builder);
//性别 //性别
sexItemData = new ArrayList<>(); sexItemData = new ArrayList<>();
...@@ -153,6 +182,12 @@ public class CattleMarkVM extends BackBarVM<Repository> { ...@@ -153,6 +182,12 @@ public class CattleMarkVM extends BackBarVM<Repository> {
} }
public ArrayAdapter getAdapter(CattleMarkActivity cls) {
spinnerAdapter = new ArrayAdapter<>(cls, R.layout.simple_spinner_item, lists);
spinnerAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
return spinnerAdapter;
}
/** /**
* 离线保存本地,在线先上传,后保存本地 * 离线保存本地,在线先上传,后保存本地
*/ */
...@@ -163,10 +198,10 @@ public class CattleMarkVM extends BackBarVM<Repository> { ...@@ -163,10 +198,10 @@ public class CattleMarkVM extends BackBarVM<Repository> {
ToastUtils.showShort("请扫描耳标"); ToastUtils.showShort("请扫描耳标");
return; return;
} }
if (StringUtils.isEmpty(entity.getIndividualNo())) { // if (StringUtils.isEmpty(entity.getIndividualNo())) {
ToastUtils.showShort("请填写个体号"); // ToastUtils.showShort("请填写个体号");
return; // return;
} // }
if (StringUtils.isEmpty(entity.getBirthdate())) { if (StringUtils.isEmpty(entity.getBirthdate())) {
ToastUtils.showShort("请选择出生日期"); ToastUtils.showShort("请选择出生日期");
return; return;
......
...@@ -11,8 +11,6 @@ import com.phlx.wool.db.DbUtil; ...@@ -11,8 +11,6 @@ import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.interf.DbIDUCallBack; import com.phlx.wool.db.interf.DbIDUCallBack;
import com.phlx.wool.db.interf.DbQueryCallBack; import com.phlx.wool.db.interf.DbQueryCallBack;
import com.phlx.wool.entity.CattleLabelEntity; import com.phlx.wool.entity.CattleLabelEntity;
import com.phlx.wool.entity.Marking;
import com.phlx.wool.entity.MarkingDao;
import com.phlx.wool.params.CattleResponse; import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.params.UploadParams; import com.phlx.wool.params.UploadParams;
import com.phlx.wool.ui.base.BackBarVM; import com.phlx.wool.ui.base.BackBarVM;
......
...@@ -21,12 +21,12 @@ import com.phlx.wool.Configs; ...@@ -21,12 +21,12 @@ import com.phlx.wool.Configs;
import com.phlx.wool.R; import com.phlx.wool.R;
import com.phlx.wool.data.Repository; import com.phlx.wool.data.Repository;
import com.phlx.wool.db.DbUtil; import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.gen.LabelDao;
import com.phlx.wool.db.interf.DbIDUCallBack; import com.phlx.wool.db.interf.DbIDUCallBack;
import com.phlx.wool.db.interf.DbQueryCallBack; import com.phlx.wool.db.interf.DbQueryCallBack;
import com.phlx.wool.entity.CacheLabel; import com.phlx.wool.entity.CacheLabel;
import com.phlx.wool.entity.EntryRegistrationEntity; import com.phlx.wool.entity.EntryRegistrationEntity;
import com.phlx.wool.entity.Label; import com.phlx.wool.entity.Label;
import com.phlx.wool.entity.LabelDao;
import com.phlx.wool.entity.Marking; import com.phlx.wool.entity.Marking;
import com.phlx.wool.entity.VillusBuyEntity; import com.phlx.wool.entity.VillusBuyEntity;
import com.phlx.wool.event.EventMsg; import com.phlx.wool.event.EventMsg;
......
...@@ -28,9 +28,9 @@ import androidx.recyclerview.widget.RecyclerView; ...@@ -28,9 +28,9 @@ import androidx.recyclerview.widget.RecyclerView;
import com.phlx.wool.R; import com.phlx.wool.R;
import com.phlx.wool.db.DbUtil; import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.gen.UnitDao;
import com.phlx.wool.db.interf.DbQueryCallBack; import com.phlx.wool.db.interf.DbQueryCallBack;
import com.phlx.wool.entity.Unit; import com.phlx.wool.entity.Unit;
import com.phlx.wool.entity.UnitDao;
import com.phlx.wool.ui.search.adapter.UnitSearchAdapter; import com.phlx.wool.ui.search.adapter.UnitSearchAdapter;
import com.phlx.wool.ui.search.anim.CircularRevealAnim; import com.phlx.wool.ui.search.anim.CircularRevealAnim;
import com.phlx.wool.ui.search.interf.IOnUnitItemClickListener; import com.phlx.wool.ui.search.interf.IOnUnitItemClickListener;
......
...@@ -28,9 +28,9 @@ import androidx.recyclerview.widget.RecyclerView; ...@@ -28,9 +28,9 @@ import androidx.recyclerview.widget.RecyclerView;
import com.phlx.wool.R; import com.phlx.wool.R;
import com.phlx.wool.db.DbUtil; import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.gen.VeterinaryDao;
import com.phlx.wool.db.interf.DbQueryCallBack; import com.phlx.wool.db.interf.DbQueryCallBack;
import com.phlx.wool.entity.Veterinary; import com.phlx.wool.entity.Veterinary;
import com.phlx.wool.entity.VeterinaryDao;
import com.phlx.wool.ui.search.adapter.VeterinaryAdapter; import com.phlx.wool.ui.search.adapter.VeterinaryAdapter;
import com.phlx.wool.ui.search.anim.CircularRevealAnim; import com.phlx.wool.ui.search.anim.CircularRevealAnim;
import com.phlx.wool.ui.search.interf.IOnSearchVeterinaryClickListener; import com.phlx.wool.ui.search.interf.IOnSearchVeterinaryClickListener;
......
...@@ -11,24 +11,24 @@ import com.google.gson.GsonBuilder; ...@@ -11,24 +11,24 @@ import com.google.gson.GsonBuilder;
import com.phlx.wool.Configs; import com.phlx.wool.Configs;
import com.phlx.wool.data.Repository; import com.phlx.wool.data.Repository;
import com.phlx.wool.db.DbUtil; import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.gen.EntryRegistrationEntityDao;
import com.phlx.wool.db.gen.HarmlessDao;
import com.phlx.wool.db.gen.HarmlessDetailDao;
import com.phlx.wool.db.gen.MarkingDao;
import com.phlx.wool.db.gen.QuarantineDao;
import com.phlx.wool.db.gen.QuarantineDetailDao;
import com.phlx.wool.db.gen.VillusBuyEntityDao;
import com.phlx.wool.db.gen.VillusGaugeEntityDao;
import com.phlx.wool.db.interf.DbIDUCallBack; import com.phlx.wool.db.interf.DbIDUCallBack;
import com.phlx.wool.db.interf.DbQueryCallBack; import com.phlx.wool.db.interf.DbQueryCallBack;
import com.phlx.wool.entity.EntryRegistrationEntity; import com.phlx.wool.entity.EntryRegistrationEntity;
import com.phlx.wool.entity.EntryRegistrationEntityDao;
import com.phlx.wool.entity.Harmless; import com.phlx.wool.entity.Harmless;
import com.phlx.wool.entity.HarmlessDao;
import com.phlx.wool.entity.HarmlessDetail; import com.phlx.wool.entity.HarmlessDetail;
import com.phlx.wool.entity.HarmlessDetailDao;
import com.phlx.wool.entity.Marking; import com.phlx.wool.entity.Marking;
import com.phlx.wool.entity.MarkingDao;
import com.phlx.wool.entity.Quarantine; import com.phlx.wool.entity.Quarantine;
import com.phlx.wool.entity.QuarantineDao;
import com.phlx.wool.entity.QuarantineDetail; import com.phlx.wool.entity.QuarantineDetail;
import com.phlx.wool.entity.QuarantineDetailDao;
import com.phlx.wool.entity.VillusBuyEntity; import com.phlx.wool.entity.VillusBuyEntity;
import com.phlx.wool.entity.VillusBuyEntityDao;
import com.phlx.wool.entity.VillusGaugeEntity; import com.phlx.wool.entity.VillusGaugeEntity;
import com.phlx.wool.entity.VillusGaugeEntityDao;
import com.phlx.wool.params.CattleResponse; import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.params.UploadParams; import com.phlx.wool.params.UploadParams;
import com.phlx.wool.ui.base.BackBarVM; import com.phlx.wool.ui.base.BackBarVM;
......
...@@ -10,10 +10,10 @@ import com.google.gson.GsonBuilder; ...@@ -10,10 +10,10 @@ import com.google.gson.GsonBuilder;
import com.phlx.wool.Configs; import com.phlx.wool.Configs;
import com.phlx.wool.data.Repository; import com.phlx.wool.data.Repository;
import com.phlx.wool.db.DbUtil; import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.gen.HarmlessDetailDao;
import com.phlx.wool.db.interf.DbIDUCallBack; import com.phlx.wool.db.interf.DbIDUCallBack;
import com.phlx.wool.entity.Harmless; import com.phlx.wool.entity.Harmless;
import com.phlx.wool.entity.HarmlessDetail; import com.phlx.wool.entity.HarmlessDetail;
import com.phlx.wool.entity.HarmlessDetailDao;
import com.phlx.wool.entity.Label; import com.phlx.wool.entity.Label;
import com.phlx.wool.entity.TreatmentMethod; import com.phlx.wool.entity.TreatmentMethod;
import com.phlx.wool.params.CattleResponse; import com.phlx.wool.params.CattleResponse;
......
...@@ -10,11 +10,11 @@ import com.google.gson.GsonBuilder; ...@@ -10,11 +10,11 @@ import com.google.gson.GsonBuilder;
import com.phlx.wool.Configs; import com.phlx.wool.Configs;
import com.phlx.wool.data.Repository; import com.phlx.wool.data.Repository;
import com.phlx.wool.db.DbUtil; import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.gen.QuarantineDetailDao;
import com.phlx.wool.db.interf.DbIDUCallBack; import com.phlx.wool.db.interf.DbIDUCallBack;
import com.phlx.wool.entity.Label; import com.phlx.wool.entity.Label;
import com.phlx.wool.entity.Quarantine; import com.phlx.wool.entity.Quarantine;
import com.phlx.wool.entity.QuarantineDetail; import com.phlx.wool.entity.QuarantineDetail;
import com.phlx.wool.entity.QuarantineDetailDao;
import com.phlx.wool.entity.Variety; import com.phlx.wool.entity.Variety;
import com.phlx.wool.params.CattleResponse; import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.params.UploadParams; import com.phlx.wool.params.UploadParams;
......
...@@ -16,9 +16,9 @@ import com.phlx.wool.R; ...@@ -16,9 +16,9 @@ import com.phlx.wool.R;
import com.phlx.wool.data.VMFactory; import com.phlx.wool.data.VMFactory;
import com.phlx.wool.databinding.ActivityUnitBinding; import com.phlx.wool.databinding.ActivityUnitBinding;
import com.phlx.wool.db.DbUtil; import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.gen.UnitDao;
import com.phlx.wool.db.interf.DbQueryCallBack; import com.phlx.wool.db.interf.DbQueryCallBack;
import com.phlx.wool.entity.Unit; import com.phlx.wool.entity.Unit;
import com.phlx.wool.entity.UnitDao;
import com.phlx.wool.ui.adapter.UnitAdapter; import com.phlx.wool.ui.adapter.UnitAdapter;
import com.phlx.wool.ui.base.BaseActivity; import com.phlx.wool.ui.base.BaseActivity;
import com.phlx.wool.ui.search.SearchUnitFragment; import com.phlx.wool.ui.search.SearchUnitFragment;
......
...@@ -18,6 +18,15 @@ ...@@ -18,6 +18,15 @@
<Button <Button
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="选择养殖户"
binding:onClickCommand="@{viewModel.onFarmerClickCommand}"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="打标" android:text="打标"
binding:onClickCommand="@{viewModel.onLabelClickCommand}" binding:onClickCommand="@{viewModel.onLabelClickCommand}"
/> />
...@@ -30,6 +39,14 @@ ...@@ -30,6 +39,14 @@
binding:onClickCommand="@{viewModel.onUploadClickCommand}" binding:onClickCommand="@{viewModel.onUploadClickCommand}"
/> />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="下载"
binding:onClickCommand="@{viewModel.onDownloadClickCommand}"
/>
</LinearLayout> </LinearLayout>
</layout> </layout>
\ No newline at end of file
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