From bf5eb0aa81dfb048b47cadc46ffc8b6e14898fc6 Mon Sep 17 00:00:00 2001
From: wlh <646507849@qq.com>
Date: Fri, 22 Dec 2023 18:01:17 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E5=BB=BA365-=E4=BC=98=E5=8C=96/bug?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 4 +
.../zj365/dc/activity/DietManagementAct.kt | 4 +-
.../java/com/zj365/dc/activity/LoginAct.kt | 5 +-
.../com/zj365/dc/activity/MainActivity.kt | 2 +-
.../dc/fragment/DynamicManagementFrag.kt | 14 +++-
.../java/com/zj365/dc/fragment/MineFrag.kt | 4 +-
.../com/zj365/dc/vm/DynamicManagementVm.kt | 29 ++++---
.../main/java/com/xty/base/act/BaseVmAct.kt | 3 +
.../java/com/xty/base/fragment/BaseVmFrag.kt | 4 +
.../main/java/com/xty/common/ExtendUtils.kt | 8 +-
.../main/java/com/xty/common/TimeSelect.kt | 4 +-
.../java/com/xty/common/arouter/ARouterUrl.kt | 3 +
.../src/main/res/drawable/shape_ebf_0_5.xml | 10 +++
.../layout/layout_customer_date_picker.xml | 6 +-
.../src/main/res/mipmap-xxhdpi/icon_link.png | Bin 0 -> 1218 bytes
.../res/mipmap-xxhdpi/icon_news_times.png | Bin
config.gradle | 3 +-
.../familyhealth/FamilyHealthRealTimeAct.kt | 50 ++++++++++++
.../FamilyHealthRealTimeAdapter.kt | 11 +++
.../layout/act_family_health_real_time.xml | 69 ++++++++++++++++
.../main/res/layout/act_medical_history.xml | 2 +-
health/src/main/res/layout/frag_xy.xml | 6 +-
.../layout/item_family_health_real_time.xml | 45 +++++++++++
.../com/zj365/mime/act/BaseInfoChangeAct.kt | 75 +++++++++++++++++-
.../java/com/zj365/mime/act/DevInfoAct.kt | 4 +-
.../mime/act/EnterpriseInformationAct.kt | 56 +++++++++++++
.../adapter/EnterpriseInformationAdapter.kt | 21 +++++
.../EnterpriseInformationChildAdapter.kt | 11 +++
.../main/java/com/zj365/mime/vm/BaseInfoVm.kt | 61 --------------
mine/src/main/res/layout/act_about.xml | 74 ++++++++---------
.../main/res/layout/act_base_info_change.xml | 2 +-
.../res/layout/act_enterprise_information.xml | 34 ++++++++
.../res/layout/dialog_factory_setting.xml | 2 +-
.../main/res/layout/item_enterprise_info.xml | 67 ++++++++++++++++
.../res/layout/item_enterprise_info_child.xml | 63 +++++++++++++++
.../java/com/xty/network/model/BreathBean.kt | 30 ++++++-
.../java/com/xty/network/model/MainBean.kt | 30 ++++---
.../java/com/xty/network/model/TempBean.kt | 37 +++++----
.../UserEquipmentInformationizationBean.kt | 2 +
.../main/java/com/xty/network/model/XlBean.kt | 46 ++++++-----
.../java/com/xty/network/model/XtNewBean.kt | 4 +-
.../main/java/com/xty/network/model/XyBean.kt | 29 +++++--
42 files changed, 740 insertions(+), 194 deletions(-)
create mode 100644 common/src/main/res/drawable/shape_ebf_0_5.xml
create mode 100644 common/src/main/res/mipmap-xxhdpi/icon_link.png
rename {app => common}/src/main/res/mipmap-xxhdpi/icon_news_times.png (100%)
create mode 100644 health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct.kt
create mode 100644 health/src/main/java/com/zj365/health/adapter/FamilyHealth/FamilyHealthRealTimeAdapter.kt
create mode 100644 health/src/main/res/layout/act_family_health_real_time.xml
create mode 100644 health/src/main/res/layout/item_family_health_real_time.xml
create mode 100644 mine/src/main/java/com/zj365/mime/act/EnterpriseInformationAct.kt
create mode 100644 mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationAdapter.kt
create mode 100644 mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationChildAdapter.kt
create mode 100644 mine/src/main/res/layout/act_enterprise_information.xml
create mode 100644 mine/src/main/res/layout/item_enterprise_info.xml
create mode 100644 mine/src/main/res/layout/item_enterprise_info_child.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1bdbaa7..5d2c56f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -319,6 +319,10 @@
android:launchMode="singleTop"
android:screenOrientation="portrait"/>
+
+
diff --git a/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt b/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt
index d7add37..6019f36 100644
--- a/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt
+++ b/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt
@@ -43,8 +43,8 @@ class DietManagementAct : BaseVmAct(){
R.id.rx_healthy_diet ->{
bundle.clear()
- bundle.putString("web_site_url","http://testbuilt.zhongjian365.com/ ")
-// bundle.putString("web_site_url","${BuildConfig.h5url}pages/index/index?pageId=cookbook")
+// bundle.putString("web_site_url","http://testbuilt.zhongjian365.com/ ")
+ bundle.putString("web_site_url","${BuildConfig.h5url}pages/index/index?pageId=cookbook")
RouteManager.goAct(ARouterUrl.H5_ACT,bundle)
// var url = "${BuildConfig.}"
diff --git a/app/src/main/java/com/zj365/dc/activity/LoginAct.kt b/app/src/main/java/com/zj365/dc/activity/LoginAct.kt
index 44c0051..46743af 100644
--- a/app/src/main/java/com/zj365/dc/activity/LoginAct.kt
+++ b/app/src/main/java/com/zj365/dc/activity/LoginAct.kt
@@ -50,7 +50,9 @@ class LoginAct : BaseVmAct() {
DialogTipNew(this,"温馨提示", "恭喜您成为中健三六五大家庭的医院,为了提供更好的信息服务,请完善您的基本信息。", "前往","取消",false,{
RouteManager.goAct(ARouterUrl.BASE_INFO_CHANGE)
- }){
+ EventBus.getDefault().post(LoginOrRegisterEvent())
+ finish()
+ }){
EventBus.getDefault().post(LoginOrRegisterEvent())
finish()
}
@@ -282,6 +284,7 @@ class LoginAct : BaseVmAct() {
mViewModel.mLogin.observe(this) {
loadingView.dismiss()
if (it.data.isPerfect == 0){
+ dialogBind.setContentNew("恭喜您成为中健三六五大家庭的医院,为了提供更好的信息服务,请完善您的基本信息。")
dialogBind.show()
}else{
EventBus.getDefault().post(LoginOrRegisterEvent())
diff --git a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt
index 4a1f503..072a3aa 100644
--- a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt
+++ b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt
@@ -96,7 +96,7 @@ class MainActivity : BaseVmAct(), Consumer {
}
val dialogInvite by lazy {
- DialogTipNew(this, "监护邀请","138****3415用户邀请您成为 监护人", "确认","取消",false,{
+ DialogTipNew(this, "监护邀请","", "确认","取消",false,{
inviteCustodyBean?.let {
mViewModel.confirmInvite(it.id,"1")
}
diff --git a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
index 9557e38..0b0d38f 100644
--- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
@@ -166,7 +166,11 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission
isShrinkage =
MMkvHelper.getBoolean(Const.Health_Monitoring_Shrinkage + MMkvHelper.getLong(Const.USER_ID))
-
+ showIdInfo =if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") {
+ ""
+ } else {
+ MMkvHelper.getLong(Const.USER_ID).toString()
+ }
//家人信息绑定
initFamilyAdapter()
@@ -372,6 +376,8 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission
}
//设备连接
R.id.mHealthRecords -> {
+
+ CommonToastUtils.showToast("敬请期待")
/*val btnStr = binding.mHeader.mWearManager.text
if (btnStr == "佩戴管理") {
if (MMkvHelper.getInt(Const.Watch_Device_Type) == Const.Companion.WatchDevice.LightA3.ordinal) {//4G手表
@@ -917,7 +923,10 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission
bean.bmiInfo?.let {
binding.mHeader.mBMI.text = "BMI ${it.bmi}"
binding.mHeader.mBMIStatus.text = "${it.levelName}"
- }
+ }?:{
+ binding.mHeader.mBMI.text = "BMI --"
+ binding.mHeader.mBMIStatus.text = "--"
+ }
binding.mHeader.tvWarningNum.text ="预警次数:${if (bean.warningCount == 0) "--" else bean.warningCount}次"
@@ -954,6 +963,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission
//设置健康监测按钮列表数据
healthMonitoringList.clear()
healthMonitoringListExceed.clear()
+ mHealthAdapter.mainBean.clear()
val healthMonitoringListData = mViewModel.setHealthMonitoringListData(
requireContext(),
bean
diff --git a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt
index db550de..136b305 100644
--- a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt
@@ -53,8 +53,8 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks {
private val defaultIcon by lazy {
arrayOf(
- R.mipmap.ic_default_man,
- R.mipmap.ic_default_women
+ R.mipmap.icon_default_avator,
+ R.mipmap.icon_default_avator
)
}
var user: SettingBean.User? = null
diff --git a/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt b/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt
index b1859ee..9cd5caa 100644
--- a/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt
+++ b/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt
@@ -282,7 +282,8 @@ class DynamicManagementVm : BaseVm() {
contentXL,
R.mipmap.bg_xl,
R.mipmap.ic_xl,
- 0
+ 0,
+ calorie = hrData.count
)
)
@@ -304,7 +305,8 @@ class DynamicManagementVm : BaseVm() {
contentXY,
R.mipmap.bg_oo,
R.mipmap.ic_oo,
- 1
+ 1,
+ calorie = soData.count
)
)
@@ -327,7 +329,8 @@ class DynamicManagementVm : BaseVm() {
contentHXL,
R.mipmap.bg_breath,
R.mipmap.ic_h_breath,
- 2
+ 2,
+ calorie = respiratoryData.count
)
)
@@ -350,7 +353,8 @@ class DynamicManagementVm : BaseVm() {
contentTW,
R.mipmap.bg_temp,
R.mipmap.ic_temp,
- 3
+ 3,
+ calorie = tempData.count
)
)
@@ -417,7 +421,8 @@ class DynamicManagementVm : BaseVm() {
contentSM,
R.mipmap.bg_h_sleep,
R.mipmap.ic_h_sleep,
- 5
+ 5,
+ calorie = sleepData.count
)
)
@@ -443,7 +448,8 @@ class DynamicManagementVm : BaseVm() {
contentXYa,
R.mipmap.bg_xya,
R.mipmap.ic_xya,
- 6
+ 6,
+ calorie = dbpData.count
)
)
@@ -522,7 +528,8 @@ class DynamicManagementVm : BaseVm() {
contentXT,
R.mipmap.bg_bloodsugar,
R.mipmap.ic_bloodsugar,
- 7
+ 7,
+ calorie = bloodSugarData.count
)
)
@@ -584,7 +591,7 @@ class DynamicManagementVm : BaseVm() {
statusNS = 1
contentNS = "建模中"
mTimeNS = if (uricAcidData.time.isNullOrEmpty()) {
- "${RxTimeTool.getCurrentDateTime("yyyy-MM-dd HH")}:00"
+ "${milliseconds2String(uricAcidData.time)}:00"
} else if (uricAcidData.time.contains("-")) {
uricAcidData.time
} else {
@@ -624,7 +631,8 @@ class DynamicManagementVm : BaseVm() {
R.mipmap.bg_niaosuan,
R.mipmap.ic_niaosuan,
9,
- sex = user.sex.toString()
+ sex = user.sex.toString(),
+ calorie = uricAcidData.count
)
)
@@ -637,7 +645,8 @@ class DynamicManagementVm : BaseVm() {
"敬请期待",
R.mipmap.bg_fat,
R.mipmap.ic_fat,
- 10
+ 10,
+ calorie = bean.healthCount.toString()
)
)
/*var statusXZ = 0
diff --git a/base/src/main/java/com/xty/base/act/BaseVmAct.kt b/base/src/main/java/com/xty/base/act/BaseVmAct.kt
index 4ff3a7c..8a8ab4a 100644
--- a/base/src/main/java/com/xty/base/act/BaseVmAct.kt
+++ b/base/src/main/java/com/xty/base/act/BaseVmAct.kt
@@ -11,7 +11,9 @@ import com.xty.common.MMkvHelper
import com.xty.common.ReflexUtils
import com.xty.common.arouter.ARouterUrl
import com.xty.common.arouter.RouteManager
+import com.xty.common.event.LoginOutEvent
import com.xty.common.weight.LoadingView
+import org.greenrobot.eventbus.EventBus
abstract class BaseVmAct: IBaseAct() {
@@ -30,6 +32,7 @@ abstract class BaseVmAct: IBaseAct() {
mViewModel.nowData.observe(this){
loadingView.dismiss()
MMkvHelper.clearUserInfo()
+ EventBus.getDefault().post(LoginOutEvent())
/*if(componentName.className!="LoginAct" ){
ToastUtils.show(R.string.again_login)
RxActivityTool.finishAllActivity()
diff --git a/base/src/main/java/com/xty/base/fragment/BaseVmFrag.kt b/base/src/main/java/com/xty/base/fragment/BaseVmFrag.kt
index 417906c..1fe02ec 100644
--- a/base/src/main/java/com/xty/base/fragment/BaseVmFrag.kt
+++ b/base/src/main/java/com/xty/base/fragment/BaseVmFrag.kt
@@ -16,6 +16,8 @@ import com.xty.base.refresh.RefreshUtils
import com.xty.common.MMkvHelper
import com.xty.common.arouter.ARouterUrl
import com.xty.common.arouter.RouteManager
+import com.xty.common.event.LoginOutEvent
+import org.greenrobot.eventbus.EventBus
abstract class BaseVmFrag : IBaseFrag() {
lateinit var mViewModel: T
@@ -28,8 +30,10 @@ abstract class BaseVmFrag : IBaseFrag() {
mViewModel.nowData.observe(this) {
loadingView.dismiss()
ToastUtils.show(R.string.again_login)
+
//RxActivityTool.finishAllActivity()
MMkvHelper.clearUserInfo()
+ EventBus.getDefault().post(LoginOutEvent())
// RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}
observer()
diff --git a/common/src/main/java/com/xty/common/ExtendUtils.kt b/common/src/main/java/com/xty/common/ExtendUtils.kt
index 1f63bed..e935174 100644
--- a/common/src/main/java/com/xty/common/ExtendUtils.kt
+++ b/common/src/main/java/com/xty/common/ExtendUtils.kt
@@ -51,9 +51,9 @@ fun ImageView.setImageUser(context: Context, string: String?) {
Glide.with(context).load(string).placeholder(
ContextCompat.getDrawable(
context,
- R.mipmap.ic_default_man
+ R.mipmap.icon_default_avator
)
- ).error(R.mipmap.ic_default_man).into(this)
+ ).error(R.mipmap.icon_default_avator).into(this)
}
/**
@@ -61,9 +61,9 @@ fun ImageView.setImageUser(context: Context, string: String?) {
*/
fun ImageView.setImageUser(context: Context, string: String?, sex: String) {
val userHeadImg = if (sex == "1") {
- R.mipmap.ic_default_man
+ R.mipmap.icon_default_avator
} else {
- R.mipmap.ic_default_women
+ R.mipmap.icon_default_avator
}
Glide.with(context).load(string).placeholder(
ContextCompat.getDrawable(
diff --git a/common/src/main/java/com/xty/common/TimeSelect.kt b/common/src/main/java/com/xty/common/TimeSelect.kt
index d9a291c..30f35f4 100644
--- a/common/src/main/java/com/xty/common/TimeSelect.kt
+++ b/common/src/main/java/com/xty/common/TimeSelect.kt
@@ -359,10 +359,10 @@ class TimeSelect(var context: Context, var select: (String) -> Unit) {
showSec
)
)// 显示需要的时间
- .setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示
+ .setOutSideCancelable(false)//点击屏幕,点在控件外部范围时,是否取消显示
.isCyclic(false)//是否循环滚动
.setBgColor(Color.WHITE)//滚轮背景颜色 Night mode
- .setLineSpacingMultiplier(2.0f)
+ .setLineSpacingMultiplier(3.0f)
.setTextColorCenter(ContextCompat.getColor(context, R.color.col_313))
.setTextColorOut(ContextCompat.getColor(context, R.color.col_6B6))
.setDividerColor(ContextCompat.getColor(context, R.color.transparent))
diff --git a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
index 93e1cac..ed19a76 100644
--- a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
+++ b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
@@ -122,8 +122,10 @@ class ARouterUrl {
//AI 测肤
const val AI_SKIN_MEASUREMENT_ACTIVITY = "/health/com/zj365/health/act/skin/SkinMeasurementMainAct"
+ //家人健康
const val ADD_FAMILY_GUARDIAN_ACT = "/health/com/zj365/health/act/familyhealth/AddFamilyGuardianAct"
const val FAMILY_HEALTH_ACT = "/health/com/zj365/health/act/familyhealth/FamilyHealthAct"
+ const val FAMILY_HEALTH_REAL_TIME_ACT = "/health/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct"
//设备绑定相关
@@ -187,6 +189,7 @@ class ARouterUrl {
const val TEMP_REMIND = "/mine/com/zj365/dc/mime/act/TempRemindAct"
const val PERSON_INFO = "/mine/com/zj365/dc/mime/act/PersonInfoAct"
const val INVITE_FRIENDS = "/mine/com/zj365/dc/mime/act/InviteFriendsAct" //邀请好友
+ const val ENTERPRISE_INFO = "/mine/com/zj365/dc/mime/act/EnterpriseInformationAct" //企业资料
const val NOTICE_SETTING = "/mine/com/zj365/dc/mime/act/NoticeSettingAct"
diff --git a/common/src/main/res/drawable/shape_ebf_0_5.xml b/common/src/main/res/drawable/shape_ebf_0_5.xml
new file mode 100644
index 0000000..2394f53
--- /dev/null
+++ b/common/src/main/res/drawable/shape_ebf_0_5.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/common/src/main/res/layout/layout_customer_date_picker.xml b/common/src/main/res/layout/layout_customer_date_picker.xml
index 8f1b0c2..ea9797c 100644
--- a/common/src/main/res/layout/layout_customer_date_picker.xml
+++ b/common/src/main/res/layout/layout_customer_date_picker.xml
@@ -1,10 +1,10 @@
tSP)Px(d`Uz>R7gv$mVanfWf;f5&-Wl*16yp@
zx!tvJcRG_;|IFRpxwhTA?cV)p1SK(8xD}cS(I1BPhXrZ*Uyuo6x{bzk_nvd!_lfsh
zCxz7J^}cZaIX|Ay`99D0dES>$#MRk9RzW(qk3er~CJ4ckiu|7a_4OC2Se!)Pz&5}-
z7AmpJG&4+K2B185&I7+(6j1lz;99N3NoG81VuN{tg_ti5JJs2RELiKgqJX+m>Fvxk
z1;Am_?JW&;@0(0@e3YrOL*gr~b)fK`S7&PI1!7DAOwhVA_HNw;6Erb6xEj9r3Ba1-
zfRaN|0`~wA#29IAjMNxVS2Dd
z43bg^C|`YPYf-~&<$USx2KWsSm4NuDr$ZwL8>_F~6)2G$UeC~zwq;i;<%7XlW_;KZ
zjdU#KsAYo^eM2=&`mmJNDgr?%{|t!t#TxdUF-f}Bpa04G7bu<_T|?|06oQ^*;5UnP
z{Jm)1_lZ>I1Q^?iNR~Jba@mC=^VhE&XlrY`Rg9(d1DdZB(Ob>Y+7ruB@lSjZEs;uZ1?XEa8~`3bX93<|SyqK{5Cc9jf1xzR4m3qB
zE&cy@zCpE_jQz07eNxChT5Baq?1a1W8_Sw6&yjapO1aTj>aUh)7SHRZdFSC5Q|2(EIv&14!;y~tYap1+1ac2x3;#<77C-Wu`y?Q-u+BS`HJ$@l@jDO
zH8wV03+mRF{?xMV*TD=$-UG3^x<3mB1vN?zzeA)m%#aLR1k;2dy%{8S1SZI@OH87!
zrJ?3{A+W#gX88mMCg7%Rht?TG`AVHH
z7_=BU-Z%W9AU#DyPncF<&_qkL_SJmbq}!#mT8nl#=}HdmVDQ%gT!~GwrkbAv(BR-|
zQsPHuti5MN!360|KSx4L0vrOV1F?p^@!)Bi!nC(*lHUPXp
zgm%($TG(PhslY5ZilQh#7l&UHf{#imVGLpRF|)-eLn7W;G?0O{r-n94<{klTF$W3&
g=SkyGb5rE>-^JYwpmBy;u>b%707*qoM6N<$f>ka`)Bpeg
literal 0
HcmV?d00001
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_news_times.png b/common/src/main/res/mipmap-xxhdpi/icon_news_times.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_news_times.png
rename to common/src/main/res/mipmap-xxhdpi/icon_news_times.png
diff --git a/config.gradle b/config.gradle
index 152818f..9295f52 100644
--- a/config.gradle
+++ b/config.gradle
@@ -7,7 +7,7 @@ ext {
minSdk : 23,
targetSdk : 32,
versionCode : 114,
- versionName : "1.0.0"
+ versionName : "1.1.0"
]
@@ -103,6 +103,7 @@ ext {
sign : 'com.github.F1ReKing:SignatureView:1.1.0',
gd_location : 'com.amap.api:location:latest.integration',
+ gd_map : 'com.amap.api:3dmap:8.0.1',
wixin : 'com.tencent.mm.opensdk:wechat-sdk-android:+',
//核心必须依赖
diff --git a/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct.kt b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct.kt
new file mode 100644
index 0000000..9046763
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct.kt
@@ -0,0 +1,50 @@
+package com.zj365.health.act.familyhealth
+
+import android.graphics.Rect
+import android.view.View
+import androidx.recyclerview.widget.DividerItemDecoration
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.xty.base.act.BaseVmAct
+import com.xty.base.vm.BaseVm
+import com.xty.common.arouter.ARouterUrl
+import com.zj365.health.R
+import com.zj365.health.adapter.familyhealth.FamilyHealthRealTimeAdapter
+import com.zj365.health.databinding.ActFamilyHealthRealTimeBinding
+
+/**
+ * 家人健康-实时
+ */
+@Route(path = ARouterUrl.FAMILY_HEALTH_REAL_TIME_ACT)
+class FamilyHealthRealTimeAct : BaseVmAct() {
+
+ val binding by lazy { ActFamilyHealthRealTimeBinding.inflate(layoutInflater) }
+
+ val mAdapter by lazy { FamilyHealthRealTimeAdapter() }
+ override fun liveObserver() {
+
+ }
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text ="实时详情"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+ initAdapter()
+ }
+
+ fun initAdapter(){
+ binding.recycler.layoutManager = LinearLayoutManager(this)
+ binding.recycler.adapter = mAdapter
+ var dividerItemDecoration = DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.shape_ebf_0_5))
+ binding.recycler.addItemDecoration(dividerItemDecoration)
+ mAdapter.addChildClickViewIds(R.id.tv_real_time_mearsure)
+
+ }
+
+ override fun setLayout() = binding.root
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/FamilyHealthRealTimeAdapter.kt b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/FamilyHealthRealTimeAdapter.kt
new file mode 100644
index 0000000..f31e1cf
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/FamilyHealthRealTimeAdapter.kt
@@ -0,0 +1,11 @@
+package com.zj365.health.adapter.familyhealth
+
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.xty.base.adapter.BaseAdapter
+import com.zj365.health.R
+
+class FamilyHealthRealTimeAdapter : BaseAdapter(R.layout.item_family_health_real_time) {
+ override fun convert(holder: BaseViewHolder, item: Any) {
+
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/res/layout/act_family_health_real_time.xml b/health/src/main/res/layout/act_family_health_real_time.xml
new file mode 100644
index 0000000..683a6c1
--- /dev/null
+++ b/health/src/main/res/layout/act_family_health_real_time.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/act_medical_history.xml b/health/src/main/res/layout/act_medical_history.xml
index 6d4bce1..227118e 100644
--- a/health/src/main/res/layout/act_medical_history.xml
+++ b/health/src/main/res/layout/act_medical_history.xml
@@ -26,7 +26,7 @@
android:layout_height="wrap_content"
android:padding="@dimen/dp_10"
android:text="@string/status_3"
- android:textColor="@color/col_009"
+ android:textColor="@color/col_02c"
android:textSize="@dimen/dp_16" />
@@ -93,7 +93,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="%"
- android:textColor="@color/col_7CF"
+ android:textColor="@color/col_02c"
android:textSize="@dimen/sp_13"
android:textStyle="bold" />
@@ -416,7 +416,7 @@
android:drawableLeft="@drawable/shape_hint_bg"
android:drawablePadding="@dimen/dp_4"
android:gravity="center|right"
- android:text="正常心率:50-100次/分"
+ android:text="正常血氧:95-100%"
android:textColor="@color/col_c7c"
android:textSize="@dimen/sp_12"
android:textStyle="bold" />
diff --git a/health/src/main/res/layout/item_family_health_real_time.xml b/health/src/main/res/layout/item_family_health_real_time.xml
new file mode 100644
index 0000000..130b9a1
--- /dev/null
+++ b/health/src/main/res/layout/item_family_health_real_time.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt
index 1df7a75..0a454f8 100644
--- a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt
+++ b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt
@@ -21,6 +21,7 @@ import com.xty.base.act.BaseVmAct
import com.xty.base.weight.GpsToastDialog
import com.xty.base.weight.TipDialog
import com.xty.common.TimeSelect
+import com.xty.common.TimeUtils
import com.xty.common.aMapUtils.AmapInit
import com.xty.common.arouter.ARouterUrl
import com.xty.common.arouter.RouteManager
@@ -265,8 +266,14 @@ class BaseInfoChangeAct : BaseVmAct() {
provincey = it.province //表示省
district = it.district //区
binding.mArea.text = "${it.province ?: ""} ${it.city ?: ""} ${it.district ?: ""}"
- binding.mHeight.setText(it.height.toString())
- binding.mWeight.setText(it.weight.toString())
+ if (it.height > 0){
+ binding.mHeight.setText("${it.height}")
+ }
+ if (it.weight > 0){
+ binding.mWeight.setText(it.weight.toString())
+ }
+
+
binding.mAddress.setText(it.area)
val str = StringBuilder()
if (!it.historyName.isNullOrEmpty()) {
@@ -342,6 +349,70 @@ class BaseInfoChangeAct : BaseVmAct() {
binding.mImage.tag.toString()
}
val sexValue = if (binding.checkSex.isChecked) "2" else "1"
+
+ if (name.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请输入姓名")
+ return
+ }
+ if (height.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请输入身高")
+ return
+ }
+
+ if (height.toFloat() < 50 || height.toFloat() > 260) {
+ CommonToastUtils.showToast("请输入正确身高")
+ return
+ }
+
+ if (wieght.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请输入体重")
+ return
+ }
+
+ if (wieght.toFloat() < 3 || wieght.toFloat() > 300) {
+ CommonToastUtils.showToast("请输入正确体重")
+ return
+ }
+ if (birthDay.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请选择出生日期")
+ return
+ }
+ if (TimeUtils.getAgeByBirth(birthDay) < 14) {
+ CommonToastUtils.showToast("需要年满14岁才可使用")
+ return
+ }
+ if (city.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请选择所属地区")
+ return
+ }
+ if (address.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请输入详细住址")
+ return
+ }
+ if (medicIds.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请选择病史")
+ return
+ }
+
+ if (otherName.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请输入紧急联系人姓名")
+ return
+ }
+
+ if (otherPhone.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请输入紧急联系人联系方式")
+ return
+ }
+ if (otherPhone == binding.mPhone.text.toString()) {
+ CommonToastUtils.showToast("紧急联系人电话不能与本人电话一致")
+ return
+ }
+
+ if (rela.isNullOrEmpty()) {
+ CommonToastUtils.showToast("请输入关系")
+ return
+ }
+
mViewModel.submit(
paht,
name,
diff --git a/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt b/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt
index cf2fc3c..e2b683a 100644
--- a/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt
+++ b/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt
@@ -150,8 +150,8 @@ class DevInfoAct : BaseVmAct(),EasyPermissions.PermissionCallbacks {
binding.mNickName.text = "设备名称:${it.data.watchName?:""}"
binding.mNum.text = "设备编码:${it.data.bluetooth?:""}"
- binding.mCode.text = "物联网卡:${it.data.deviceCode?:""}"
- binding.mActiveCode.text = "流量到期:${it.data.activationTime?:""}"
+ binding.mCode.text = "物联网卡:${it.data.iccid?:""}"
+ binding.mActiveCode.text = "流量到期:${it.data.flowExpireTime?:""}"
binding.mActiveCode.visibility = View.VISIBLE
setDevicePic(it.data.deviceType, binding.ivDevice)
diff --git a/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationAct.kt b/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationAct.kt
new file mode 100644
index 0000000..2701918
--- /dev/null
+++ b/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationAct.kt
@@ -0,0 +1,56 @@
+package com.zj365.mime.act
+
+import android.graphics.Rect
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.xty.base.act.BaseListAct
+import com.xty.base.vm.BaseVm
+import com.xty.common.SizeUtil
+import com.xty.common.arouter.ARouterUrl
+import com.zj365.mime.adapter.EnterpriseInformationAdapter
+import com.zj365.mime.databinding.ActEnterpriseInformationBinding
+
+/**
+ * 企业资料
+ */
+@Route(path = ARouterUrl.ENTERPRISE_INFO)
+class EnterpriseInformationAct : BaseListAct() {
+ val binding by lazy { ActEnterpriseInformationBinding.inflate(layoutInflater) }
+
+ val mAdapter by lazy { EnterpriseInformationAdapter() }
+ override fun initAdapter() {
+ binding.recyclerView.layoutManager = LinearLayoutManager(this)
+ binding.recyclerView.adapter = mAdapter
+ setRecycleRefresh(binding.recyclerView,binding.mRefresh,true)
+ /* binding.recyclerView.addItemDecoration(object : RecyclerView.ItemDecoration() {
+ override fun getItemOffsets(outRect: Rect, itemPosition: Int, parent: RecyclerView) {
+ super.getItemOffsets(outRect, itemPosition, parent)
+ if (itemPosition == 0){
+
+ }else{
+ outRect.set(0, SizeUtil.dp2px(this@EnterpriseInformationAct,12f))
+ }
+ }
+ })*/
+ }
+
+ override fun loadData() {
+
+ }
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "企业资料"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+ }
+
+ override fun liveObserver() {
+
+ }
+
+ override fun setLayout() = binding.root
+}
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationAdapter.kt b/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationAdapter.kt
new file mode 100644
index 0000000..25d276f
--- /dev/null
+++ b/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationAdapter.kt
@@ -0,0 +1,21 @@
+package com.zj365.mime.adapter
+
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.xty.base.adapter.BaseAdapter
+import com.zj365.mime.R
+
+class EnterpriseInformationAdapter : BaseAdapter(R.layout.item_enterprise_info) {
+
+ val mAdapter by lazy { EnterpriseInformationChildAdapter() }
+ override fun convert(holder: BaseViewHolder, item: Any) {
+
+ var recyclerView = holder.getView(R.id.recycler)
+
+ recyclerView.layoutManager = LinearLayoutManager(context)
+ recyclerView.adapter = mAdapter
+
+
+ }
+}
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationChildAdapter.kt b/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationChildAdapter.kt
new file mode 100644
index 0000000..74e737e
--- /dev/null
+++ b/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationChildAdapter.kt
@@ -0,0 +1,11 @@
+package com.zj365.mime.adapter
+
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.xty.base.adapter.BaseAdapter
+import com.zj365.mime.R
+
+class EnterpriseInformationChildAdapter : BaseAdapter(R.layout.item_enterprise_info_child) {
+ override fun convert(holder: BaseViewHolder, item: Any) {
+
+ }
+}
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/vm/BaseInfoVm.kt b/mine/src/main/java/com/zj365/mime/vm/BaseInfoVm.kt
index 21142b1..d83ab54 100644
--- a/mine/src/main/java/com/zj365/mime/vm/BaseInfoVm.kt
+++ b/mine/src/main/java/com/zj365/mime/vm/BaseInfoVm.kt
@@ -58,68 +58,7 @@ class BaseInfoVm : BaseVm() {
// ToastUtils.show("请输入正确的身份证号")
// return
// }
- if (name.isEmpty()) {
- CommonToastUtils.showToast("请输入姓名")
- return
- }
- if (height.isEmpty()) {
- CommonToastUtils.showToast("请输入身高")
- return
- }
-
- if (height.toFloat() < 50 || height.toFloat() > 260) {
- CommonToastUtils.showToast("请输入正确身高")
- return
- }
-
- if (weight.isEmpty()) {
- CommonToastUtils.showToast("请输入体重")
- return
- }
- if (weight.toFloat() < 3 || weight.toFloat() > 300) {
- CommonToastUtils.showToast("请输入正确体重")
- return
- }
- if (birthDay.isEmpty()) {
- CommonToastUtils.showToast("请选择出生日期")
- return
- }
- if (TimeUtils.getAgeByBirth(birthDay) < 14) {
- CommonToastUtils.showToast("需要年满14岁才可使用")
- return
- }
- if (city.isEmpty()) {
- CommonToastUtils.showToast("请选择所属地区")
- return
- }
- if (area.isEmpty()) {
- CommonToastUtils.showToast("请输入详细住址")
- return
- }
- if (medicIds.isEmpty()) {
- CommonToastUtils.showToast("请选择病史")
- return
- }
-
- if (urgent.isEmpty()) {
- CommonToastUtils.showToast("请输入紧急联系人姓名")
- return
- }
-
- if (urgentPhone.isEmpty()) {
- CommonToastUtils.showToast("请输入紧急联系人联系方式")
- return
- }
- if (urgentPhone == mPhone) {
- CommonToastUtils.showToast("紧急联系人电话不能与本人电话一致")
- return
- }
-
- if (urgentRelation.isEmpty()) {
- CommonToastUtils.showToast("请输入关系")
- return
- }
startHttp {
withContext(Dispatchers.IO) {
diff --git a/mine/src/main/res/layout/act_about.xml b/mine/src/main/res/layout/act_about.xml
index 1a6e676..9dee61c 100644
--- a/mine/src/main/res/layout/act_about.xml
+++ b/mine/src/main/res/layout/act_about.xml
@@ -12,7 +12,7 @@
@@ -82,47 +82,49 @@
android:layout_marginBottom="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_20"
- android:text="技术支持:湖南安瑜健康科技有限公司"
+ android:text="技术支持:中健三六五健康科技有限公司"
android:textColor="@color/col_313"
android:textSize="@dimen/sp_15" />
-
+
+
-
+
-
+
+
+
+
+
-
-
-
\ No newline at end of file
diff --git a/mine/src/main/res/layout/act_base_info_change.xml b/mine/src/main/res/layout/act_base_info_change.xml
index 6763abd..fbff2a1 100644
--- a/mine/src/main/res/layout/act_base_info_change.xml
+++ b/mine/src/main/res/layout/act_base_info_change.xml
@@ -68,7 +68,7 @@
android:layout_height="@dimen/dp_38"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_18"
- android:src="@mipmap/ic_default_man" />
+ android:src="@mipmap/icon_default_avator" />
diff --git a/mine/src/main/res/layout/act_enterprise_information.xml b/mine/src/main/res/layout/act_enterprise_information.xml
new file mode 100644
index 0000000..f333f25
--- /dev/null
+++ b/mine/src/main/res/layout/act_enterprise_information.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mine/src/main/res/layout/dialog_factory_setting.xml b/mine/src/main/res/layout/dialog_factory_setting.xml
index fac31d6..dfa9e9f 100644
--- a/mine/src/main/res/layout/dialog_factory_setting.xml
+++ b/mine/src/main/res/layout/dialog_factory_setting.xml
@@ -40,7 +40,7 @@
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:text="@string/confirm"
- android:textColor="@color/col_455"
+ android:textColor="@color/col_02c"
android:textSize="@dimen/sp_16"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/mTvCancel"
diff --git a/mine/src/main/res/layout/item_enterprise_info.xml b/mine/src/main/res/layout/item_enterprise_info.xml
new file mode 100644
index 0000000..790dbc1
--- /dev/null
+++ b/mine/src/main/res/layout/item_enterprise_info.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mine/src/main/res/layout/item_enterprise_info_child.xml b/mine/src/main/res/layout/item_enterprise_info_child.xml
new file mode 100644
index 0000000..37638cb
--- /dev/null
+++ b/mine/src/main/res/layout/item_enterprise_info_child.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/network/src/main/java/com/xty/network/model/BreathBean.kt b/network/src/main/java/com/xty/network/model/BreathBean.kt
index a3e18d5..9029ce4 100644
--- a/network/src/main/java/com/xty/network/model/BreathBean.kt
+++ b/network/src/main/java/com/xty/network/model/BreathBean.kt
@@ -28,6 +28,7 @@ data class BreathBean(
data class Model(
var respiratory: Float,
var time: String,
+ var timeValue: Long = 0
)
data class Value(
@@ -86,6 +87,7 @@ data class BreathBean(
Model(
Float.NaN,
dateFormat.format(currentTime),
+ currentTime.time
)
)
calendar.time = currentTime
@@ -114,7 +116,31 @@ data class BreathBean(
// calendar.set(Calendar.MILLISECOND, 0)
// 查找对应的时间节点并更新值
- val index = mappedData.indexOfFirst {
+
+ val time = model.time.toLong() * 1000
+ var mIndex = -1
+ run breaking@{
+ for (i in 0 until mappedData.size) {
+ if (mappedData[i].timeValue == time) {
+ mIndex = i
+ return@breaking
+ } else if (time >= (mappedData[i].timeValue - 5 * 60 * 1000) && time <= (mappedData[i].timeValue + 4 * 60 * 1000)) {
+ mIndex = i
+ return@breaking
+ }
+ mIndex = -1
+ }
+ }
+
+
+ if (mIndex != -1) {
+ val time = mappedData[mIndex].time
+ val lowDbp = model.respiratory
+
+ mappedData[mIndex] =
+ Model(lowDbp, time)
+ }
+ /*val index = mappedData.indexOfFirst {
it.time == dateFormat.format(calendar.time)
}
if (index != -1) {
@@ -123,7 +149,7 @@ data class BreathBean(
mappedData[index] =
Model(lowDbp, time)
- }
+ }*/
}
return mappedData
}
diff --git a/network/src/main/java/com/xty/network/model/MainBean.kt b/network/src/main/java/com/xty/network/model/MainBean.kt
index 3af4d3e..1065921 100644
--- a/network/src/main/java/com/xty/network/model/MainBean.kt
+++ b/network/src/main/java/com/xty/network/model/MainBean.kt
@@ -41,7 +41,8 @@ data class MainBean(
val time: String,
val message: String,
val value: String,
- val status: Int
+ val status: Int,
+ val count:String,
)
//尿酸
@@ -50,7 +51,8 @@ data class MainBean(
val message: String,
val value: String,
val status: Int,
- val expireTime: String
+ val expireTime: String,
+ val count:String,
)
//血糖数据
@@ -62,7 +64,8 @@ data class MainBean(
val max: Float,
val min: Float,
val errorMsg: String,
- val expireTime: String
+ val expireTime: String,
+ val count:String,
)
//步数
@@ -95,7 +98,8 @@ data class MainBean(
val DDbp: Int,
val DbpMessage: String,
val DbpTime: String,
- val GDbp: Int
+ val GDbp: Int,
+ val count:String,
)
//心电
@@ -103,35 +107,40 @@ data class MainBean(
val hrvNorm: String,
val hrData: String,
val heartTime: String,
- val heartTimeV2: String
+ val heartTimeV2: String,
+ val count:String,
)
//心率
data class HrData(
val hr: Int,
val hrMessage: String,
- val hrTime: String
+ val hrTime: String,
+ val count:String,
)
//呼吸率
data class RespiratoryData(
val respiratory: Int,
val respiratoryMessage: String,
- val respiratoryTime: String
+ val respiratoryTime: String,
+ val count:String,
)
//睡眠
data class SleepData(
val sleep: Int,
val sleepMessage: String,
- val sleepTime: Int
+ val sleepTime: Int,
+ val count:String,
)
//血氧
data class SoData(
val so: Int,
val soMessage: String,
- val soTime: String
+ val soTime: String,
+ val count:String,
)
//体温
@@ -139,7 +148,8 @@ data class MainBean(
val tempFloat: Int,
val tempInt: Int,
val tempMessage: String,
- val tempTime: String
+ val tempTime: String,
+ val count:String,
)
data class User(
diff --git a/network/src/main/java/com/xty/network/model/TempBean.kt b/network/src/main/java/com/xty/network/model/TempBean.kt
index 150d1dc..44a7e5c 100644
--- a/network/src/main/java/com/xty/network/model/TempBean.kt
+++ b/network/src/main/java/com/xty/network/model/TempBean.kt
@@ -36,6 +36,7 @@ data class TempBean(
var tempInt: Float,
var temp: Float,
var time: String,
+ var timeValue: Long = 0
)
data class Value(
@@ -106,6 +107,7 @@ data class TempBean(
Float.NaN,
Float.NaN,
dateFormat.format(currentTime),
+ currentTime.time
)
)
calendar.time = currentTime
@@ -118,30 +120,27 @@ data class TempBean(
for (model in dataList) {
calendar.timeInMillis = model.time.toLong() * 1000
-// val timestamp = model.time.toLong() // 将时间戳字符串转换为长整型
-// val time = Date.from(Instant.ofEpochSecond(timestamp)) // 使用 Instant 类转换为 Date 对象
-// calendar.time = time
-//
-//// val timeStr = model.time
-//// val time = dateFormat.parse(timeStr) // 将字符串转换为 Date 类型
-//// calendar.time = time as Date
-//
-// // 舍弃分钟数为 10 的倍数以外的部分,进行四舍五入
-// val minute = calendar.get(Calendar.MINUTE)
-// val roundedMinute = (minute / 10.0).roundToInt() * 10
-// calendar.set(Calendar.MINUTE, roundedMinute.toInt())
-// calendar.set(Calendar.SECOND, 0)
-// calendar.set(Calendar.MILLISECOND, 0)
// 查找对应的时间节点并更新值
- val index = mappedData.indexOfFirst {
- it.time == dateFormat.format(calendar.time)
+ val time = model.time.toLong() * 1000
+ var mIndex = -1
+ run breaking@{
+ for (i in 0 until mappedData.size) {
+ if (mappedData[i].timeValue == time) {
+ mIndex = i
+ return@breaking
+ } else if (time >= (mappedData[i].timeValue - 5 * 60 * 1000) && time <= (mappedData[i].timeValue + 4 * 60 * 1000)) {
+ mIndex = i
+ return@breaking
+ }
+ mIndex = -1
+ }
}
- if (index != -1) {
- val time = dateFormat.format(calendar.time)
+ if (mIndex != -1) {
+ val time = mappedData[mIndex].time
val lowDbp = model.temp
- mappedData[index] =
+ mappedData[mIndex] =
Model(
lowDbp,
lowDbp,
diff --git a/network/src/main/java/com/xty/network/model/UserEquipmentInformationizationBean.kt b/network/src/main/java/com/xty/network/model/UserEquipmentInformationizationBean.kt
index bcc1e26..b7ab7cf 100644
--- a/network/src/main/java/com/xty/network/model/UserEquipmentInformationizationBean.kt
+++ b/network/src/main/java/com/xty/network/model/UserEquipmentInformationizationBean.kt
@@ -14,6 +14,8 @@ data class UserEquipmentInformationizationBean(
val watchType: Int,//设备类型0,蓝牙,1,4G
val power: String,//电量
val linkStatus: String,//连接状态
+ val iccid:String,//物联网卡
+ val flowExpireTime:String,//流量到期时间
val deviceTotal: DeviceTotal,//物联网设备统计
val adorn: Adorn,//佩戴时长对象
) : Serializable {
diff --git a/network/src/main/java/com/xty/network/model/XlBean.kt b/network/src/main/java/com/xty/network/model/XlBean.kt
index ed93bca..c6379c8 100644
--- a/network/src/main/java/com/xty/network/model/XlBean.kt
+++ b/network/src/main/java/com/xty/network/model/XlBean.kt
@@ -21,7 +21,8 @@ data class XlBean(
) {
data class Model(
var hrData: Float,
- var time: String
+ var time: String,
+ var timeValue: Long = 0
)
data class Value(
@@ -78,42 +79,43 @@ data class XlBean(
Model(
Float.NaN,
dateFormat.format(currentTime),
+ currentTime.time
)
)
calendar.time = currentTime
calendar.add(Calendar.MINUTE, 10)
currentTime = calendar.time
}
-// val timestamp = 1688631900L
-// val time = Date(timestamp * 1000)
+
// 将数据集合中的时间映射到时间节点上
for (model in dataList) {
calendar.timeInMillis = model.time.toLong() * 1000
-// val timestamp = model.time.toLong() // 将时间戳字符串转换为长整型
-// val time = Date.from(Instant.ofEpochSecond(timestamp)) // 使用 Instant 类转换为 Date 对象
-// calendar.time = time
-//
-//// val timeStr = model.time
-//// val time = dateFormat.parse(timeStr) // 将字符串转换为 Date 类型
-//// calendar.time = time as Date
-//
-// // 舍弃分钟数为 10 的倍数以外的部分,进行四舍五入
-// val minute = calendar.get(Calendar.MINUTE)
-// val roundedMinute = (minute / 10.0).roundToInt() * 10
-// calendar.set(Calendar.MINUTE, roundedMinute.toInt())
-// calendar.set(Calendar.SECOND, 0)
-// calendar.set(Calendar.MILLISECOND, 0)
// 查找对应的时间节点并更新值
- val index = mappedData.indexOfFirst {
- it.time == dateFormat.format(calendar.time)
+ val time = model.time.toLong() * 1000
+ var mIndex = -1
+ run breaking@{
+ for (i in 0 until mappedData.size) {
+ if (mappedData[i].timeValue == time) {
+ mIndex = i
+ return@breaking
+ } else if (time >= (mappedData[i].timeValue - 5 * 60 * 1000) && time <= (mappedData[i].timeValue + 4 * 60 * 1000)) {
+ mIndex = i
+ return@breaking
+ }
+ mIndex = -1
+ }
}
- if (index != -1) {
- val time = dateFormat.format(calendar.time)
+
+ /* val index = mappedData.indexOfFirst {
+ it.time == dateFormat.format(calendar.time)
+ }*/
+ if (mIndex != -1) {
+ val time = mappedData[mIndex].time
val lowDbp = model.hrData
- mappedData[index] = Model(lowDbp, time)
+ mappedData[mIndex] = Model(lowDbp, time)
}
}
diff --git a/network/src/main/java/com/xty/network/model/XtNewBean.kt b/network/src/main/java/com/xty/network/model/XtNewBean.kt
index a4d7dac..56b0286 100644
--- a/network/src/main/java/com/xty/network/model/XtNewBean.kt
+++ b/network/src/main/java/com/xty/network/model/XtNewBean.kt
@@ -19,7 +19,8 @@ data class XtNewBean(
data class Model(
var xtDate: Float,
- var time: String
+ var time: String,
+ var timeValue: Long = 0
)
data class Value(
@@ -77,6 +78,7 @@ data class XtNewBean(
XtNewBean.Model(
Float.NaN,
dateFormat.format(currentTime),
+ currentTime.time
)
)
calendar.time = currentTime
diff --git a/network/src/main/java/com/xty/network/model/XyBean.kt b/network/src/main/java/com/xty/network/model/XyBean.kt
index 8fb07b0..dd41c0b 100644
--- a/network/src/main/java/com/xty/network/model/XyBean.kt
+++ b/network/src/main/java/com/xty/network/model/XyBean.kt
@@ -26,6 +26,7 @@ data class XyBean(
data class Model(
var soData: Float,
var time: String,
+ var timeValue: Long = 0
)
data class Value(
@@ -85,6 +86,7 @@ data class XyBean(
Model(
Float.NaN,
dateFormat.format(currentTime),
+ currentTime.time
)
)
calendar.time = currentTime
@@ -113,16 +115,33 @@ data class XyBean(
// calendar.set(Calendar.MILLISECOND, 0)
// 查找对应的时间节点并更新值
- val index = mappedData.indexOfFirst {
- it.time == dateFormat.format(calendar.time)
+
+ val time = model.time.toLong() * 1000
+ var mIndex = -1
+ run breaking@{
+ for (i in 0 until mappedData.size) {
+ if (mappedData[i].timeValue == time) {
+ mIndex = i
+ return@breaking
+ } else if (time >= (mappedData[i].timeValue - 5 * 60 * 1000) && time <= (mappedData[i].timeValue + 4 * 60 * 1000)) {
+ mIndex = i
+ return@breaking
+ }
+ mIndex = -1
+ }
}
- if (index != -1) {
- val time = dateFormat.format(calendar.time)
+ /* val index = mappedData.indexOfFirst {
+ it.time == dateFormat.format(calendar.time)
+ }*/
+
+ if (mIndex != -1) {
+ val time = mappedData[mIndex].time
val lowDbp = model.soData
- mappedData[index] =
+ mappedData[mIndex] =
Model(lowDbp, time)
}
+
}
return mappedData