From f760ee65da47f8b8e4a83f32d3933495736f6941 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sat, 5 Jul 2025 15:44:49 +0800 Subject: [PATCH] =?UTF-8?q?V=203.0.2=20|=20=201.=20=E4=BF=AE=E6=94=B9D?= =?UTF-8?q?=E5=80=BC=E4=BF=AE=E6=AD=A3=E7=B3=BB=E6=95=B0=E5=88=B0setting?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- README.md | 5 +++ appsrc/appbase/appbean/setting_id.hpp | 43 +++++++++++----------- appsrc/appconfig/basic/zappversion.hpp | 2 +- appsrc/baseservice/db/device_ext_setting_dao.cpp | 2 - appsrc/baseservice/db/device_ext_setting_dao.hpp | 4 +- appsrc/baseservice/db/setting_db_dao.cpp | 7 ++++ .../disinfection_ctrl_service.cpp | 10 ++++- appsrc/service/app_core.cpp | 11 ++++-- appsrc/service/app_core.hpp | 2 +- appsrc/service/setting/ext_setting_mgr_service.cpp | 7 +--- appsrc/service/setting/ext_setting_mgr_service.hpp | 1 - appsrc/service/setting_mgr_service.cpp | 1 - 13 files changed, 56 insertions(+), 42 deletions(-) diff --git a/.gitignore b/.gitignore index 395abdc..8e89322 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ +release/* +release/ build out .cache buildpc buildhost -./release/* \ No newline at end of file diff --git a/README.md b/README.md index 8e5897e..b8475a1 100644 --- a/README.md +++ b/README.md @@ -172,6 +172,11 @@ V 2.5.0 2. 修改AppCore中loginUsr字段为 loginUser 3. 修改消毒服务状态上报相关字段。 +V 3.0.1 + 1.修复设置设备ID格式错误的BUG + +V 3.0.2 + 1. 修改D值修正系数到setting中 TODO: 1.添加用户增加用户查重检查 diff --git a/appsrc/appbase/appbean/setting_id.hpp b/appsrc/appbase/appbean/setting_id.hpp index 4b924c7..1d7693b 100644 --- a/appsrc/appbase/appbean/setting_id.hpp +++ b/appsrc/appbase/appbean/setting_id.hpp @@ -2,27 +2,26 @@ #include "iflytop/core/components/zenum_template/zenum_template.hpp" #define SettingId_ZENUM_IMPL ZENUM_IMPL(SettingId, SettingId_LIST) -#define SettingId_LIST(type, marco) /**/ \ - marco(type, stoped_gs) /**/ \ - marco(type, continued_gs) /**/ \ - marco(type, stoped_satur) /**/ \ - marco(type, continued_satur) /**/ \ - marco(type, max_humidity) /**/ \ - marco(type, drainage_pump_speed) /**/ \ - marco(type, injection_pump_speed) /**/ \ - marco(type, pre_heat_time_s) /**/ \ - marco(type, stoped_humi) /**/ \ - marco(type, continued_humi) /**/ \ - marco(type, record_period_min) /**/ \ - marco(type, record_printer_period_min) /**/ \ - marco(type, loglevel) /*消毒等级*/ \ - marco(type, enable_bd_dehumidify) /*是否启用BD除湿*/ \ - marco(type, bd_dehumidify_threshold) /*BD除湿阈值*/ \ - marco(type, enable_ad_dehumidify) /*是否启用AD除湿*/ \ - marco(type, ad_dehumidify_threshold) /*AD除湿阈值*/ \ - marco(type, enable_ad_degrade) /*是否启用AD降解*/ \ - marco(type, ad_degrade_threshold) /*AD降解阈值*/ +#define SettingId_LIST(type, marco) /**/ \ + marco(type, stoped_gs) /**/ \ + marco(type, continued_gs) /**/ \ + marco(type, stoped_satur) /**/ \ + marco(type, continued_satur) /**/ \ + marco(type, max_humidity) /**/ \ + marco(type, drainage_pump_speed) /**/ \ + marco(type, injection_pump_speed) /**/ \ + marco(type, pre_heat_time_s) /**/ \ + marco(type, stoped_humi) /**/ \ + marco(type, continued_humi) /**/ \ + marco(type, record_period_min) /**/ \ + marco(type, record_printer_period_min) /**/ \ + marco(type, loglevel) /*消毒等级*/ \ + marco(type, enable_bd_dehumidify) /*是否启用BD除湿*/ \ + marco(type, bd_dehumidify_threshold) /*BD除湿阈值*/ \ + marco(type, enable_ad_dehumidify) /*是否启用AD除湿*/ \ + marco(type, ad_dehumidify_threshold) /*AD除湿阈值*/ \ + marco(type, enable_ad_degrade) /*是否启用AD降解*/ \ + marco(type, ad_degrade_threshold) /*AD降解阈值*/ \ + marco(type, dvalue_correct_coefficient) /*D值修正倍数*/ ZENUM_DECLAR(SettingId, SettingId_LIST); - - diff --git a/appsrc/appconfig/basic/zappversion.hpp b/appsrc/appconfig/basic/zappversion.hpp index 5e20fe3..d7a49e5 100644 --- a/appsrc/appconfig/basic/zappversion.hpp +++ b/appsrc/appconfig/basic/zappversion.hpp @@ -1,3 +1,3 @@ #pragma once -#define VERSION "3.0.0" +#define VERSION "3.0.2" #define PROJECT_NAME "TRANSMIT_DM" \ No newline at end of file diff --git a/appsrc/baseservice/db/device_ext_setting_dao.cpp b/appsrc/baseservice/db/device_ext_setting_dao.cpp index 16e74be..ec1095f 100644 --- a/appsrc/baseservice/db/device_ext_setting_dao.cpp +++ b/appsrc/baseservice/db/device_ext_setting_dao.cpp @@ -39,7 +39,6 @@ DeviceExtSetting DeviceExtSettingDAO::getDeviceExtSetting() { // setting.canIF = get("canIF", "can0"); setting.deviceId = get("deviceId", ""); setting.printerUartPath = get("printerUartPath", "/dev/ttyS5"); - setting.dvalueCoefficient = get("dvalueCoefficient", 2); setting.projectType = get("projectType", ""); setting.h2o2SensorExpireTimeMonth = get("h2o2SensorExpireTimeMonth", 12); setting.deviceType = get("deviceType", ""); @@ -62,7 +61,6 @@ void DeviceExtSettingDAO::setprojectType(string projectType) { set("projectType" void DeviceExtSettingDAO::setCanIF(string canIF) { set("canIF", canIF); } void DeviceExtSettingDAO::setCanBitrate(int32_t canBitrate) { set("canBitrate", to_string(canBitrate)); } void DeviceExtSettingDAO::setPrinterUartPath(string printerUartPath) { set("printerUartPath", printerUartPath); } -void DeviceExtSettingDAO::setDvalueCoefficient(float dvalueCoefficient) { set("dvalueCoefficient", to_string(dvalueCoefficient)); } void DeviceExtSettingDAO::setH2o2SensorExpireTimeMonth(int32_t h2o2SensorExpireTimeMonth) { set("h2o2SensorExpireTimeMonth", to_string(h2o2SensorExpireTimeMonth)); } void DeviceExtSettingDAO::setDeviceType(string deviceType) { set("deviceType", deviceType); } void DeviceExtSettingDAO::setEmptyThePipeLineTimeS(int32_t val) { set("emptyThePipeLineTimeS", val); } diff --git a/appsrc/baseservice/db/device_ext_setting_dao.hpp b/appsrc/baseservice/db/device_ext_setting_dao.hpp index 4b1a939..253f068 100644 --- a/appsrc/baseservice/db/device_ext_setting_dao.hpp +++ b/appsrc/baseservice/db/device_ext_setting_dao.hpp @@ -46,7 +46,6 @@ class DeviceExtSetting { string printerUartPath; // 打印机串口路径 - float dvalueCoefficient; // 消毒系数,数值越小,相对消毒时间越长 int32_t h2o2SensorExpireTimeMonth; // h2o2传感器过期时间,单位月 @@ -58,7 +57,7 @@ class DeviceExtSetting { int32_t leakTestInflationTimeMs; // 默认 充气时间,单位毫秒 int32_t leakTestStabilizationTimeS; // 默认 充气时间,单位秒 - NLOHMANN_DEFINE_TYPE_INTRUSIVE(DeviceExtSetting, deviceId, projectType, deviceType, canIF, canBitrate, printerUartPath, dvalueCoefficient, h2o2SensorExpireTimeMonth, emptyThePipeLineTimeS, + NLOHMANN_DEFINE_TYPE_INTRUSIVE(DeviceExtSetting, deviceId, projectType, deviceType, canIF, canBitrate, printerUartPath, h2o2SensorExpireTimeMonth, emptyThePipeLineTimeS, emptyingLiquidStorageTankCondtionG, h2o2Sensorh2o2MinVal, leakTestInflationTimeMs, leakTestStabilizationTimeS); }; @@ -96,7 +95,6 @@ class DeviceExtSettingDAO : public KeyValDBV2Dao { void setCanIF(string canIF); void setCanBitrate(int32_t canBitrate); void setPrinterUartPath(string printerUartPath); - void setDvalueCoefficient(float dvalueCoefficient); void setH2o2SensorExpireTimeMonth(int32_t h2o2SensorExpireTimeMonth); void setDeviceType(string deviceType); void setH2o2Sensorh2o2MinVal(int32_t h2o2Sensorh2o2MinVal); diff --git a/appsrc/baseservice/db/setting_db_dao.cpp b/appsrc/baseservice/db/setting_db_dao.cpp index 6d22dee..3e8e773 100644 --- a/appsrc/baseservice/db/setting_db_dao.cpp +++ b/appsrc/baseservice/db/setting_db_dao.cpp @@ -74,6 +74,7 @@ static Setting settingInitTable[] = { {.setting_id = SettingId::kad_dehumidify_threshold}, {.setting_id = SettingId::kenable_ad_degrade}, {.setting_id = SettingId::kad_degrade_threshold}, + {.setting_id = SettingId::dvalue_correct_coefficient}, }; void SettingDBDao::initSettingDefaultValTable() { @@ -195,6 +196,12 @@ void SettingDBDao::initSettingDefaultValTable() { setting.setVisibleRangeConfig(true, false, false, false); break; } + case SettingId::kdvalue_correct_coefficient: { + setting.name_ch = "D值修正系数"; + setting.setValConfig("float", "1.5", "0.5", "3"); + setting.setVisibleRangeConfig(true, true, false, false); + break; + } default: break; } diff --git a/appsrc/service/app/disinfection_ctrl/disinfection_ctrl_service.cpp b/appsrc/service/app/disinfection_ctrl/disinfection_ctrl_service.cpp index 6e17565..4c0434a 100644 --- a/appsrc/service/app/disinfection_ctrl/disinfection_ctrl_service.cpp +++ b/appsrc/service/app/disinfection_ctrl/disinfection_ctrl_service.cpp @@ -412,7 +412,13 @@ void DisinfectionCtrlService::processStateInit(DisinfectionEvent* event) { AppEventBus::ins()->push(make_shared(s_sessionId)); GET_SERVICE(WarningLightControler)->setworkFlag(true); changeToNextState(); + + auto coefficient = getSettingAsFloat(SettingId::dvalue_correct_coefficient); + // auto m_tlog = getSettingAsFloat(SettingId::loglevel); + logger->info("start disinfection {}", s_sessionId); + logger->info(" dvalue correct coefficient :{}", coefficient); + logger->info(" target log level :{}", m_tlog); } } @@ -508,7 +514,9 @@ void DisinfectionCtrlService::processStateDisinfection(DisinfectionEvent* event) * 计算消毒时间 * 打印日志 */ - auto coefficient = DeviceExtSettingDAO::ins()->getDeviceExtSetting().dvalueCoefficient; + // auto coefficient = DeviceExtSettingDAO::ins()->getDeviceExtSetting().dvalueCoefficient; + + auto coefficient = getSettingAsFloat(SettingId::dvalue_correct_coefficient); s_dvalue = DValueComputer().computeDValue(coefficient, s_h2o2Snapshot->minH2O2); diff --git a/appsrc/service/app_core.cpp b/appsrc/service/app_core.cpp index 6ad7aee..b0c7e74 100644 --- a/appsrc/service/app_core.cpp +++ b/appsrc/service/app_core.cpp @@ -220,7 +220,10 @@ void AppCore::initialize() { return; } if (dynamic_pointer_cast(event)) { - initHardwareState(); + initHardwareState(false); + } + if (dynamic_pointer_cast(event)) { + initHardwareState(true); } }); @@ -243,9 +246,9 @@ void AppCore::initialize() { } })); - initHardwareState(); + // initHardwareState(); }; -void AppCore::initHardwareState() { +void AppCore::initHardwareState(bool reportEvent) { auto deviceIoControlService = GET_SERVICE(DeviceIoControlService); try { if (PORT.isDT600B() || PORT.isDT600N() || PORT.isDT300N() || PORT.isDT300W()) { @@ -266,7 +269,7 @@ void AppCore::initHardwareState() { } } catch (const appexception& e) { logger->error("initialize hardware error:{}", e.what()); - AppEventBus::ins()->pushWarningPromptEvent(e); + if (reportEvent) AppEventBus::ins()->pushWarningPromptEvent(e); } } diff --git a/appsrc/service/app_core.hpp b/appsrc/service/app_core.hpp index c49e806..052c579 100644 --- a/appsrc/service/app_core.hpp +++ b/appsrc/service/app_core.hpp @@ -60,7 +60,7 @@ class AppCore : public enable_shared_from_this { void dosystem(string order, bool dump); void loop(); int demofn(int a, int b); - void initHardwareState(); + void initHardwareState(bool reportEvent); private: void onDeviceStateChange(); diff --git a/appsrc/service/setting/ext_setting_mgr_service.cpp b/appsrc/service/setting/ext_setting_mgr_service.cpp index 4c00b9b..eedf410 100644 --- a/appsrc/service/setting/ext_setting_mgr_service.cpp +++ b/appsrc/service/setting/ext_setting_mgr_service.cpp @@ -64,9 +64,7 @@ void ExtSettingMgrService::setCanBitrate(shared_ptr cxt, int3 void ExtSettingMgrService::setPrinterUartPath(shared_ptr cxt, string printerUartPath) { // DeviceExtSettingDAO::ins()->setPrinterUartPath(printerUartPath); } -void ExtSettingMgrService::setDvalueCoefficient(shared_ptr cxt, float dvalueCoefficient) { // - DeviceExtSettingDAO::ins()->setDvalueCoefficient(dvalueCoefficient); -} + void ExtSettingMgrService::setH2o2SensorExpireTimeMonth(shared_ptr cxt, int32_t h2o2SensorExpireTimeMonth) { // DeviceExtSettingDAO::ins()->setH2o2SensorExpireTimeMonth(h2o2SensorExpireTimeMonth); } @@ -91,7 +89,7 @@ void ExtSettingMgrService::setLeakTestStabilizationTimeS(shared_ptr cxt, ProjectTypeEnum type, int year, int month, int day, int index) { DeviceExtSettingDAO::ins()->setprojectType(type); DeviceExtSettingDAO::ins()->setDeviceType(type); - DeviceExtSettingDAO::ins()->setDeviceId(fmt::format("{}{:0>2d}{:0>2d}{:0>2d}{:0>3d}", type, year, month, day, index)); + DeviceExtSettingDAO::ins()->setDeviceId(fmt::format("{}{:0>2d}{:0>2d}{:0>2d}{:0>3d}", type.toString(), year, month, day, index)); cxt->rely["extSettings"] = DeviceExtSettingDAO::ins()->getDeviceExtSettingAsJson(); } @@ -135,7 +133,6 @@ void ExtSettingMgrService::initialize() { REG_EXTFN(setCanIF, void(string), canIF); REG_EXTFN(setCanBitrate, void(int32_t), canBitrate); REG_EXTFN(setPrinterUartPath, void(string), printerUartPath); - REG_EXTFN(setDvalueCoefficient, void(float), dvalueCoefficient); REG_EXTFN(setH2o2SensorExpireTimeMonth, void(int32_t), h2o2SensorExpireTimeMonth); REG_EXTFN(setEmptyThePipeLineTimeS, void(int32_t), emptyThePipeLineTimeS); REG_EXTFN(setEmptyingLiquidStorageTankCondtionG, void(int32_t), emptyingLiquidStorageTankCondtionG); diff --git a/appsrc/service/setting/ext_setting_mgr_service.hpp b/appsrc/service/setting/ext_setting_mgr_service.hpp index 86fdd44..4161180 100644 --- a/appsrc/service/setting/ext_setting_mgr_service.hpp +++ b/appsrc/service/setting/ext_setting_mgr_service.hpp @@ -35,7 +35,6 @@ class ExtSettingMgrService : public enable_shared_from_this cxt, string canIF); void setCanBitrate(shared_ptr cxt, int32_t canBitrate); void setPrinterUartPath(shared_ptr cxt, string printerUartPath); - void setDvalueCoefficient(shared_ptr cxt, float dvalueCoefficient); void setH2o2SensorExpireTimeMonth(shared_ptr cxt, int32_t h2o2SensorExpireTimeMonth); // void setTestMode(shared_ptr cxt, bool testMode); diff --git a/appsrc/service/setting_mgr_service.cpp b/appsrc/service/setting_mgr_service.cpp index c618481..150ddcb 100644 --- a/appsrc/service/setting_mgr_service.cpp +++ b/appsrc/service/setting_mgr_service.cpp @@ -1,5 +1,4 @@ #include "setting_mgr_service.hpp" - using namespace iflytop; using namespace std; using namespace core;