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