Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
Toggle navigation
W
WoolTrace
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hywang
WoolTrace
Commits
920acb04
Commit
920acb04
authored
Nov 07, 2021
by
hywang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加动态获取牧户,种蓄血统
parent
c11ee194
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
912 additions
and
53 deletions
+912
-53
build.gradle
app/build.gradle
+1
-0
Repository.java
app/src/main/java/com/phlx/wool/data/Repository.java
+14
-2
ApiService.java
app/src/main/java/com/phlx/wool/data/http/ApiService.java
+19
-0
HttpDataSource.java
...src/main/java/com/phlx/wool/data/http/HttpDataSource.java
+14
-0
HttpDataSourceImpl.java
...main/java/com/phlx/wool/data/http/HttpDataSourceImpl.java
+12
-0
DbUtil.java
app/src/main/java/com/phlx/wool/db/DbUtil.java
+2
-2
MyOpenHelper.java
app/src/main/java/com/phlx/wool/db/MyOpenHelper.java
+16
-18
AncestryinfoEntity.java
...rc/main/java/com/phlx/wool/entity/AncestryinfoEntity.java
+153
-0
CattleLabelEntity.java
...src/main/java/com/phlx/wool/entity/CattleLabelEntity.java
+23
-6
Harmless.java
app/src/main/java/com/phlx/wool/entity/Harmless.java
+3
-0
Quarantine.java
app/src/main/java/com/phlx/wool/entity/Quarantine.java
+3
-0
RetrofitClient.java
app/src/main/java/com/phlx/wool/net/RetrofitClient.java
+1
-0
CattleMainActivity.java
.../com/phlx/wool/ui/cattle/activity/CattleMainActivity.java
+17
-0
CattleMarkActivity.java
.../com/phlx/wool/ui/cattle/activity/CattleMarkActivity.java
+9
-0
FarmerEntity.java
...ain/java/com/phlx/wool/ui/cattle/farmer/FarmerEntity.java
+349
-0
CattleMainVM.java
...rc/main/java/com/phlx/wool/ui/cattle/vm/CattleMainVM.java
+202
-1
CattleMarkVM.java
...rc/main/java/com/phlx/wool/ui/cattle/vm/CattleMarkVM.java
+43
-8
CattleUploadVM.java
.../main/java/com/phlx/wool/ui/cattle/vm/CattleUploadVM.java
+0
-2
InventoryVM.java
...src/main/java/com/phlx/wool/ui/inventory/InventoryVM.java
+1
-1
SearchUnitFragment.java
...main/java/com/phlx/wool/ui/search/SearchUnitFragment.java
+1
-1
SearchVeterinaryFragment.java
...ava/com/phlx/wool/ui/search/SearchVeterinaryFragment.java
+1
-1
UploadVM.java
app/src/main/java/com/phlx/wool/ui/sync/vm/UploadVM.java
+8
-8
HarmlessVM.java
.../main/java/com/phlx/wool/ui/work/harmless/HarmlessVM.java
+1
-1
QuarantineVM.java
...n/java/com/phlx/wool/ui/work/quarantine/QuarantineVM.java
+1
-1
UnitActivity.java
...rc/main/java/com/phlx/wool/ui/work/unit/UnitActivity.java
+1
-1
activity_cattle_main.xml
app/src/main/res/layout/activity_cattle_main.xml
+17
-0
No files found.
app/build.gradle
View file @
920acb04
...
...
@@ -47,6 +47,7 @@ android {
greendao
{
schemaVersion
5
//数据库版本号
daoPackage
'com.phlx.wool.db.gen'
targetGenDir
'src/main/java'
}
...
...
app/src/main/java/com/phlx/wool/data/Repository.java
View file @
920acb04
...
...
@@ -7,9 +7,11 @@ import androidx.annotation.NonNull;
import
com.phlx.wool.data.http.HttpDataSource
;
import
com.phlx.wool.data.local.LocalDataSource
;
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.DivisionEntity
;
import
com.phlx.wool.entity.DivisionEntityDao
;
import
com.phlx.wool.entity.EntryRegistrationEntity
;
import
com.phlx.wool.entity.Harmless
;
import
com.phlx.wool.entity.Label
;
...
...
@@ -21,10 +23,10 @@ import com.phlx.wool.entity.User;
import
com.phlx.wool.entity.Variety
;
import
com.phlx.wool.entity.Veterinary
;
import
com.phlx.wool.entity.VillusBuyEntity
;
import
com.phlx.wool.entity.VillusBuyEntityDao
;
import
com.phlx.wool.entity.VillusGaugeEntity
;
import
com.phlx.wool.params.BasicParams
;
import
com.phlx.wool.params.CattleResponse
;
import
com.phlx.wool.ui.cattle.farmer.FarmerEntity
;
import
org.greenrobot.greendao.query.QueryBuilder
;
...
...
@@ -146,6 +148,16 @@ public class Repository extends BaseModel implements HttpDataSource, LocalDataSo
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
public
void
saveUserName
(
String
userName
)
{
...
...
app/src/main/java/com/phlx/wool/data/http/ApiService.java
View file @
920acb04
...
...
@@ -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.DivisionEntity
;
import
com.phlx.wool.entity.EntryRegistrationEntity
;
...
...
@@ -16,6 +17,7 @@ import com.phlx.wool.entity.VillusBuyEntity;
import
com.phlx.wool.entity.VillusGaugeEntity
;
import
com.phlx.wool.params.BasicParams
;
import
com.phlx.wool.params.CattleResponse
;
import
com.phlx.wool.ui.cattle.farmer.FarmerEntity
;
import
java.util.List
;
...
...
@@ -143,5 +145,22 @@ public interface ApiService {
@Headers
({
"Content-Type: application/json"
,
"Accept: application/json"
})
@POST
(
"/dataServer/uploadCattleresume"
)
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
);
}
app/src/main/java/com/phlx/wool/data/http/HttpDataSource.java
View file @
920acb04
...
...
@@ -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.DivisionEntity
;
import
com.phlx.wool.entity.EntryRegistrationEntity
;
...
...
@@ -16,12 +17,15 @@ import com.phlx.wool.entity.VillusBuyEntity;
import
com.phlx.wool.entity.VillusGaugeEntity
;
import
com.phlx.wool.params.BasicParams
;
import
com.phlx.wool.params.CattleResponse
;
import
com.phlx.wool.ui.cattle.farmer.FarmerEntity
;
import
java.util.List
;
import
io.reactivex.Observable
;
import
okhttp3.RequestBody
;
import
retrofit2.http.Body
;
import
retrofit2.http.Headers
;
import
retrofit2.http.POST
;
/**
* Created by goldze on 2019/3/26.
...
...
@@ -111,4 +115,14 @@ public interface HttpDataSource {
*/
Observable
<
CattleResponse
<
List
<
CattleLabelEntity
>>>
uploadCattleMark
(
@Body
RequestBody
body
);
/**
* 锡盟补打获取牧户信息
*/
Observable
<
CattleResponse
<
List
<
FarmerEntity
>>>
getCattleFarmerList
(
@Body
RequestBody
body
);
/**
* 锡盟补打获取品种信息
*/
Observable
<
CattleResponse
<
List
<
AncestryinfoEntity
>>>
getCattleAncestryinfoList
(
@Body
RequestBody
body
);
}
app/src/main/java/com/phlx/wool/data/http/HttpDataSourceImpl.java
View file @
920acb04
...
...
@@ -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.DivisionEntity
;
import
com.phlx.wool.entity.EntryRegistrationEntity
;
...
...
@@ -16,6 +17,7 @@ import com.phlx.wool.entity.VillusBuyEntity;
import
com.phlx.wool.entity.VillusGaugeEntity
;
import
com.phlx.wool.params.BasicParams
;
import
com.phlx.wool.params.CattleResponse
;
import
com.phlx.wool.ui.cattle.farmer.FarmerEntity
;
import
java.util.List
;
...
...
@@ -128,5 +130,15 @@ public class HttpDataSourceImpl implements HttpDataSource {
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
);
}
}
app/src/main/java/com/phlx/wool/db/DbUtil.java
View file @
920acb04
...
...
@@ -3,10 +3,10 @@ package com.phlx.wool.db;
import
android.app.Application
;
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.DbQueryCallBack
;
import
com.phlx.wool.entity.DaoMaster
;
import
com.phlx.wool.entity.DaoSession
;
import
org.greenrobot.greendao.AbstractDao
;
import
org.greenrobot.greendao.async.AsyncOperation
;
...
...
app/src/main/java/com/phlx/wool/db/MyOpenHelper.java
View file @
920acb04
...
...
@@ -4,24 +4,22 @@ import android.content.Context;
import
android.database.sqlite.SQLiteDatabase
;
import
com.github.yuweiguocn.library.greendao.MigrationHelper
;
import
com.phlx.wool.entity.CacheLabel
;
import
com.phlx.wool.entity.CacheLabelDao
;
import
com.phlx.wool.entity.DaoMaster
;
import
com.phlx.wool.entity.DivisionEntityDao
;
import
com.phlx.wool.entity.EntryRegistrationEntity
;
import
com.phlx.wool.entity.EntryRegistrationEntityDao
;
import
com.phlx.wool.entity.HarmlessDao
;
import
com.phlx.wool.entity.HarmlessDetailDao
;
import
com.phlx.wool.entity.LabelDao
;
import
com.phlx.wool.entity.MarkingDao
;
import
com.phlx.wool.entity.QuarantineDao
;
import
com.phlx.wool.entity.QuarantineDetailDao
;
import
com.phlx.wool.entity.TreatmentMethodDao
;
import
com.phlx.wool.entity.UnitDao
;
import
com.phlx.wool.entity.VarietyDao
;
import
com.phlx.wool.entity.VeterinaryDao
;
import
com.phlx.wool.entity.VillusBuyEntityDao
;
import
com.phlx.wool.entity.VillusGaugeEntityDao
;
import
com.phlx.wool.db.gen.CacheLabelDao
;
import
com.phlx.wool.db.gen.DaoMaster
;
import
com.phlx.wool.db.gen.DivisionEntityDao
;
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.LabelDao
;
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.TreatmentMethodDao
;
import
com.phlx.wool.db.gen.UnitDao
;
import
com.phlx.wool.db.gen.VarietyDao
;
import
com.phlx.wool.db.gen.VeterinaryDao
;
import
com.phlx.wool.db.gen.VillusBuyEntityDao
;
import
com.phlx.wool.db.gen.VillusGaugeEntityDao
;
import
org.greenrobot.greendao.database.Database
;
...
...
app/src/main/java/com/phlx/wool/entity/AncestryinfoEntity.java
0 → 100644
View file @
920acb04
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
+
'}'
;
}
}
app/src/main/java/com/phlx/wool/entity/CattleLabelEntity.java
View file @
920acb04
...
...
@@ -31,6 +31,11 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
*/
private
String
individualNo
;
/**
* 养殖户代码
*/
private
String
pastureUnitId
;
/**
* 出生日期
*/
...
...
@@ -124,6 +129,7 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
id
=
in
.
readString
();
registrationNo
=
in
.
readString
();
individualNo
=
in
.
readString
();
pastureUnitId
=
in
.
readString
();
birthdate
=
in
.
readString
();
ancestryId
=
in
.
readString
();
sex
=
in
.
readString
();
...
...
@@ -144,15 +150,16 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
createTime
=
in
.
readString
();
}
@Generated
(
hash
=
1246556714
)
public
CattleLabelEntity
(
String
id
,
String
registrationNo
,
String
individualNo
,
String
birthdate
,
String
ancestryId
,
String
sex
,
String
weight
,
String
bust
,
String
tubeCircumference
,
String
b
odyHeight
,
String
bodyObliqueLength
,
String
markImgPath
,
String
photo
,
String
status
,
String
inputTime
,
String
spare1
,
String
spare2
,
String
spare3
,
String
spare4
,
String
createBy
,
String
createTime
)
{
@Generated
(
hash
=
658883898
)
public
CattleLabelEntity
(
String
id
,
String
registrationNo
,
String
individualNo
,
String
pastureUnitId
,
String
birthdate
,
String
ancestryId
,
String
sex
,
String
weight
,
String
b
ust
,
String
tubeCircumference
,
String
bodyHeight
,
String
bodyObliqueLength
,
String
markImgPath
,
String
photo
,
String
status
,
String
inputTime
,
String
spare1
,
String
spare2
,
String
spare3
,
String
spare4
,
String
createBy
,
String
createTime
)
{
this
.
id
=
id
;
this
.
registrationNo
=
registrationNo
;
this
.
individualNo
=
individualNo
;
this
.
pastureUnitId
=
pastureUnitId
;
this
.
birthdate
=
birthdate
;
this
.
ancestryId
=
ancestryId
;
this
.
sex
=
sex
;
...
...
@@ -178,6 +185,7 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
dest
.
writeString
(
id
);
dest
.
writeString
(
registrationNo
);
dest
.
writeString
(
individualNo
);
dest
.
writeString
(
pastureUnitId
);
dest
.
writeString
(
birthdate
);
dest
.
writeString
(
ancestryId
);
dest
.
writeString
(
sex
);
...
...
@@ -239,6 +247,14 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
this
.
individualNo
=
individualNo
;
}
public
String
getPastureUnitId
()
{
return
pastureUnitId
;
}
public
void
setPastureUnitId
(
String
pastureUnitId
)
{
this
.
pastureUnitId
=
pastureUnitId
;
}
public
String
getBirthdate
()
{
return
birthdate
;
}
...
...
@@ -389,6 +405,7 @@ public class CattleLabelEntity extends BaseObservable implements Parcelable {
"id='"
+
id
+
'\''
+
", registrationNo='"
+
registrationNo
+
'\''
+
", individualNo='"
+
individualNo
+
'\''
+
", pastureUnitId='"
+
pastureUnitId
+
'\''
+
", birthdate='"
+
birthdate
+
'\''
+
", ancestryId='"
+
ancestryId
+
'\''
+
", sex='"
+
sex
+
'\''
+
...
...
app/src/main/java/com/phlx/wool/entity/Harmless.java
View file @
920acb04
...
...
@@ -15,6 +15,9 @@ import org.greenrobot.greendao.annotation.Id;
import
org.greenrobot.greendao.annotation.ToMany
;
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>
...
...
app/src/main/java/com/phlx/wool/entity/Quarantine.java
View file @
920acb04
...
...
@@ -15,6 +15,9 @@ import org.greenrobot.greendao.annotation.Id;
import
org.greenrobot.greendao.annotation.ToMany
;
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>
...
...
app/src/main/java/com/phlx/wool/net/RetrofitClient.java
View file @
920acb04
...
...
@@ -50,6 +50,7 @@ public class RetrofitClient {
public
static
String
baseUrl
=
// "58.18.92.126"//阿拉善正式
"39.101.170.186"
//锡盟正式
// "192.168.12.105"//锡盟张敏测试
// "192.168.8.189"//张敏
;
public
static
String
port
=
...
...
app/src/main/java/com/phlx/wool/ui/cattle/activity/CattleMainActivity.java
View file @
920acb04
...
...
@@ -2,8 +2,11 @@ package com.phlx.wool.ui.cattle.activity;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.lifecycle.ViewModelProviders
;
import
com.afollestad.materialdialogs.DialogAction
;
import
com.afollestad.materialdialogs.MaterialDialog
;
import
com.phlx.wool.R
;
import
com.phlx.wool.data.VMFactory
;
import
com.phlx.wool.databinding.ActivityCattleMainBinding
;
...
...
@@ -43,5 +46,19 @@ public class CattleMainActivity extends BaseActivity<ActivityCattleMainBinding,
@Override
public
void
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
();
});
}
}
app/src/main/java/com/phlx/wool/ui/cattle/activity/CattleMarkActivity.java
View file @
920acb04
...
...
@@ -10,6 +10,7 @@ import android.view.Gravity;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.widget.ArrayAdapter
;
import
android.widget.FrameLayout
;
import
androidx.annotation.NonNull
;
...
...
@@ -34,6 +35,7 @@ import com.phlx.wool.ui.cattle.vm.CattleMarkVM;
import
com.phlx.wool.ui.main.MainActivity
;
import
com.phlx.wool.ui.slaughter.SlaughterEntryActivity
;
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.ImagePicker
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
...
...
@@ -113,6 +115,13 @@ public class CattleMarkActivity extends BaseActivity<ActivityCattleMarkBinding,
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
->
{
RxPermissions
rxPermissions
=
new
RxPermissions
(
CattleMarkActivity
.
this
);
rxPermissions
.
request
(
Manifest
.
permission
.
CAMERA
,
Manifest
.
permission
...
...
app/src/main/java/com/phlx/wool/ui/cattle/farmer/FarmerEntity.java
0 → 100644
View file @
920acb04
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
+
'\''
+
'}'
;
}
}
app/src/main/java/com/phlx/wool/ui/cattle/vm/CattleMainVM.java
View file @
920acb04
...
...
@@ -5,23 +5,63 @@ import android.app.Application;
import
androidx.annotation.NonNull
;
import
androidx.databinding.ObservableField
;
import
com.google.gson.Gson
;
import
com.phlx.wool.Configs
;
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.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.cattle.activity.CattleMarkActivity
;
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
io.reactivex.functions.Consumer
;
import
me.goldze.mvvmhabit.binding.command.BindingAction
;
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
>
{
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
)
{
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> {
public
BindingCommand
onLabelClickCommand
=
new
BindingCommand
(
new
BindingAction
()
{
@Override
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> {
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
(
"牲畜品种同步数据失败"
);
})
);
}
}
app/src/main/java/com/phlx/wool/ui/cattle/vm/CattleMarkVM.java
View file @
920acb04
...
...
@@ -4,6 +4,7 @@ import android.app.Application;
import
android.graphics.drawable.Drawable
;
import
android.os.Environment
;
import
android.view.View
;
import
android.widget.ArrayAdapter
;
import
androidx.annotation.NonNull
;
import
androidx.core.content.ContextCompat
;
...
...
@@ -13,13 +14,21 @@ import com.phlx.wool.R;
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.DivisionEntity
;
import
com.phlx.wool.entity.EntryRegistrationEntity
;
import
com.phlx.wool.entity.Unit
;
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.widget.ItemData
;
import
org.greenrobot.greendao.query.QueryBuilder
;
import
org.greenrobot.greendao.query.WhereCondition
;
import
java.io.File
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
...
...
@@ -51,11 +60,17 @@ public class CattleMarkVM extends BackBarVM<Repository> {
public
SingleLiveEvent
<
Boolean
>
birthDay
=
new
SingleLiveEvent
<>();
public
SingleLiveEvent
<
Boolean
>
markPhotoOnClick
=
new
SingleLiveEvent
<>();
public
SingleLiveEvent
<
Boolean
>
scanLabelOnClick
=
new
SingleLiveEvent
<>();
public
SingleLiveEvent
<
Boolean
>
ancestryOnClick
=
new
SingleLiveEvent
<>();
private
List
<
CattleLabelEntity
>
uploadData
;
public
List
<
IKeyAndValue
>
ancestryItemData
,
sexItemData
;
//品种刷新用
private
ArrayAdapter
<
String
>
spinnerAdapter
;
private
List
<
String
>
lists
=
new
ArrayList
<>();
public
CattleMarkVM
(
@NonNull
Application
application
,
Repository
model
)
{
super
(
application
,
model
);
}
...
...
@@ -76,6 +91,7 @@ public class CattleMarkVM extends BackBarVM<Repository> {
entity
=
new
CattleLabelEntity
();
long
idNo
=
IdUtil
.
createSnowflake
(
3
,
1
).
nextId
();
entity
.
setId
(
idNo
+
""
);
entity
.
setPastureUnitId
(
SPUtils
.
getInstance
().
getString
(
Configs
.
SP_UNIT_CODE
,
""
));
markeImgUrl
=
Environment
.
getExternalStorageDirectory
().
getAbsolutePath
()
+
"/tracing/picture/"
...
...
@@ -89,10 +105,23 @@ public class CattleMarkVM extends BackBarVM<Repository> {
//血统数据
ancestryItemData
=
new
ArrayList
<>();
ancestryItemData
.
add
(
new
ItemData
(
"苏尼特羊"
,
"10"
));
ancestryItemData
.
add
(
new
ItemData
(
"乌珠穆沁羊"
,
"20"
));
ancestryItemData
.
add
(
new
ItemData
(
"乌冉克羊"
,
"30"
));
ancestryItemData
.
add
(
new
ItemData
(
"察哈尔羊"
,
"40"
));
QueryBuilder
<
AncestryinfoEntity
>
builder
=
DbUtil
.
getInstance
().
getQueryBuilder
(
AncestryinfoEntity
.
class
);
DbUtil
.
getInstance
().
setDbQueryCallBack
(
new
DbQueryCallBack
<
AncestryinfoEntity
>()
{
@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
<>();
...
...
@@ -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> {
ToastUtils
.
showShort
(
"请扫描耳标"
);
return
;
}
if
(
StringUtils
.
isEmpty
(
entity
.
getIndividualNo
()))
{
ToastUtils
.
showShort
(
"请填写个体号"
);
return
;
}
//
if (StringUtils.isEmpty(entity.getIndividualNo())) {
//
ToastUtils.showShort("请填写个体号");
//
return;
//
}
if
(
StringUtils
.
isEmpty
(
entity
.
getBirthdate
()))
{
ToastUtils
.
showShort
(
"请选择出生日期"
);
return
;
...
...
app/src/main/java/com/phlx/wool/ui/cattle/vm/CattleUploadVM.java
View file @
920acb04
...
...
@@ -11,8 +11,6 @@ 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.CattleLabelEntity
;
import
com.phlx.wool.entity.Marking
;
import
com.phlx.wool.entity.MarkingDao
;
import
com.phlx.wool.params.CattleResponse
;
import
com.phlx.wool.params.UploadParams
;
import
com.phlx.wool.ui.base.BackBarVM
;
...
...
app/src/main/java/com/phlx/wool/ui/inventory/InventoryVM.java
View file @
920acb04
...
...
@@ -21,12 +21,12 @@ import com.phlx.wool.Configs;
import
com.phlx.wool.R
;
import
com.phlx.wool.data.Repository
;
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.DbQueryCallBack
;
import
com.phlx.wool.entity.CacheLabel
;
import
com.phlx.wool.entity.EntryRegistrationEntity
;
import
com.phlx.wool.entity.Label
;
import
com.phlx.wool.entity.LabelDao
;
import
com.phlx.wool.entity.Marking
;
import
com.phlx.wool.entity.VillusBuyEntity
;
import
com.phlx.wool.event.EventMsg
;
...
...
app/src/main/java/com/phlx/wool/ui/search/SearchUnitFragment.java
View file @
920acb04
...
...
@@ -28,9 +28,9 @@ import androidx.recyclerview.widget.RecyclerView;
import
com.phlx.wool.R
;
import
com.phlx.wool.db.DbUtil
;
import
com.phlx.wool.db.gen.UnitDao
;
import
com.phlx.wool.db.interf.DbQueryCallBack
;
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.anim.CircularRevealAnim
;
import
com.phlx.wool.ui.search.interf.IOnUnitItemClickListener
;
...
...
app/src/main/java/com/phlx/wool/ui/search/SearchVeterinaryFragment.java
View file @
920acb04
...
...
@@ -28,9 +28,9 @@ import androidx.recyclerview.widget.RecyclerView;
import
com.phlx.wool.R
;
import
com.phlx.wool.db.DbUtil
;
import
com.phlx.wool.db.gen.VeterinaryDao
;
import
com.phlx.wool.db.interf.DbQueryCallBack
;
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.anim.CircularRevealAnim
;
import
com.phlx.wool.ui.search.interf.IOnSearchVeterinaryClickListener
;
...
...
app/src/main/java/com/phlx/wool/ui/sync/vm/UploadVM.java
View file @
920acb04
...
...
@@ -11,24 +11,24 @@ import com.google.gson.GsonBuilder;
import
com.phlx.wool.Configs
;
import
com.phlx.wool.data.Repository
;
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.DbQueryCallBack
;
import
com.phlx.wool.entity.EntryRegistrationEntity
;
import
com.phlx.wool.entity.EntryRegistrationEntityDao
;
import
com.phlx.wool.entity.Harmless
;
import
com.phlx.wool.entity.HarmlessDao
;
import
com.phlx.wool.entity.HarmlessDetail
;
import
com.phlx.wool.entity.HarmlessDetailDao
;
import
com.phlx.wool.entity.Marking
;
import
com.phlx.wool.entity.MarkingDao
;
import
com.phlx.wool.entity.Quarantine
;
import
com.phlx.wool.entity.QuarantineDao
;
import
com.phlx.wool.entity.QuarantineDetail
;
import
com.phlx.wool.entity.QuarantineDetailDao
;
import
com.phlx.wool.entity.VillusBuyEntity
;
import
com.phlx.wool.entity.VillusBuyEntityDao
;
import
com.phlx.wool.entity.VillusGaugeEntity
;
import
com.phlx.wool.entity.VillusGaugeEntityDao
;
import
com.phlx.wool.params.CattleResponse
;
import
com.phlx.wool.params.UploadParams
;
import
com.phlx.wool.ui.base.BackBarVM
;
...
...
app/src/main/java/com/phlx/wool/ui/work/harmless/HarmlessVM.java
View file @
920acb04
...
...
@@ -10,10 +10,10 @@ import com.google.gson.GsonBuilder;
import
com.phlx.wool.Configs
;
import
com.phlx.wool.data.Repository
;
import
com.phlx.wool.db.DbUtil
;
import
com.phlx.wool.db.gen.HarmlessDetailDao
;
import
com.phlx.wool.db.interf.DbIDUCallBack
;
import
com.phlx.wool.entity.Harmless
;
import
com.phlx.wool.entity.HarmlessDetail
;
import
com.phlx.wool.entity.HarmlessDetailDao
;
import
com.phlx.wool.entity.Label
;
import
com.phlx.wool.entity.TreatmentMethod
;
import
com.phlx.wool.params.CattleResponse
;
...
...
app/src/main/java/com/phlx/wool/ui/work/quarantine/QuarantineVM.java
View file @
920acb04
...
...
@@ -10,11 +10,11 @@ import com.google.gson.GsonBuilder;
import
com.phlx.wool.Configs
;
import
com.phlx.wool.data.Repository
;
import
com.phlx.wool.db.DbUtil
;
import
com.phlx.wool.db.gen.QuarantineDetailDao
;
import
com.phlx.wool.db.interf.DbIDUCallBack
;
import
com.phlx.wool.entity.Label
;
import
com.phlx.wool.entity.Quarantine
;
import
com.phlx.wool.entity.QuarantineDetail
;
import
com.phlx.wool.entity.QuarantineDetailDao
;
import
com.phlx.wool.entity.Variety
;
import
com.phlx.wool.params.CattleResponse
;
import
com.phlx.wool.params.UploadParams
;
...
...
app/src/main/java/com/phlx/wool/ui/work/unit/UnitActivity.java
View file @
920acb04
...
...
@@ -16,9 +16,9 @@ import com.phlx.wool.R;
import
com.phlx.wool.data.VMFactory
;
import
com.phlx.wool.databinding.ActivityUnitBinding
;
import
com.phlx.wool.db.DbUtil
;
import
com.phlx.wool.db.gen.UnitDao
;
import
com.phlx.wool.db.interf.DbQueryCallBack
;
import
com.phlx.wool.entity.Unit
;
import
com.phlx.wool.entity.UnitDao
;
import
com.phlx.wool.ui.adapter.UnitAdapter
;
import
com.phlx.wool.ui.base.BaseActivity
;
import
com.phlx.wool.ui.search.SearchUnitFragment
;
...
...
app/src/main/res/layout/activity_cattle_main.xml
View file @
920acb04
...
...
@@ -18,6 +18,15 @@
<Button
android:layout_width=
"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=
"打标"
binding:onClickCommand=
"@{viewModel.onLabelClickCommand}"
/>
...
...
@@ -30,6 +39,14 @@
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>
</layout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment