diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user new file mode 100644 index 0000000..77ab7ad --- /dev/null +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c08df58c-84a7-4965-bca6-e98789474efa} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user new file mode 100644 index 0000000..77ab7ad --- /dev/null +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c08df58c-84a7-4965-bca6-e98789474efa} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp index ed0d569..c6c6c43 100644 --- a/softwareDirectory/AutoVerScheme/TaskManager.cpp +++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp @@ -2,11 +2,14 @@ #include "id/TaskManager.h" #include "basecommonapi.h" -// 定义并初始化静态成员变量 +// 定义并初始化静态成员变量 委托单编号 QMap TaskManager::dailyTaskCounts; QDate TaskManager::currentDate; QString TaskManager::KeyDate; +//检定结果保存 +QMap TaskManager::saveResultdatanoList; +QString TaskManager::ResultKeyDate; QString TaskManager::generateTask(QString Number) { // 初始化当天任务单数量为0 @@ -40,24 +43,67 @@ return taskId; } -int TaskManager::getTaskCountForToday() +QString TaskManager::getsaveResultdatano() { - // 返回当天的任务单数量 - return dailyTaskCounts.value(KeyDate, 0); + + //获取结果保存ID + ResultKeyDate = QDate::currentDate().toString("yyyyMMdd"); + //判断是否包含 如包含直接返回结果 + if(!saveResultdatanoList.contains(ResultKeyDate)) + { + + //找寻数据库上次的记录 + QString datano=BaseCommonApi::getNewResultData().data_no; + if(datano!=""){ + int startIndex = datano.lastIndexOf("j")+1; // 找到 "YYYY" 的起始位置 + int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符 + //截截取 + QString result = datano.mid(startIndex, 8); + if(result!=ResultKeyDate){ + saveResultdatanoList[ResultKeyDate] = 1; + }else + { + //获取最后一位数 并加1 + QChar lastChar = datano.at(datano.length() - 1); + if (lastChar.isDigit()) { + + int Count=lastChar.digitValue(); + saveResultdatanoList[ResultKeyDate] = Count+1; + } + + } + + }else{saveResultdatanoList[ResultKeyDate] = 1;}; + + } + + QString dateStr = ResultKeyDate; + // 生成结果保存编号,这里假设编号格式是 "jdsjYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充 + QString taskId = QString("jdsj%1%2").arg(dateStr).arg(saveResultdatanoList[ResultKeyDate], 4, 10, QChar('0')); + //返回结果 + return taskId; } + bool TaskManager::AddCurrenTaskCount() { // 增加当天任务单数量 try { - dailyTaskCounts[KeyDate]++; return true; } catch(const std::exception &e) { return false; } - } - +bool TaskManager::AddResultDataNoCount() +{ + // 增加当天任务单数量 + try { + saveResultdatanoList[ResultKeyDate]++; + return true; + } catch(const std::exception &e) { + return false; + } +} diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user new file mode 100644 index 0000000..77ab7ad --- /dev/null +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c08df58c-84a7-4965-bca6-e98789474efa} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp index ed0d569..c6c6c43 100644 --- a/softwareDirectory/AutoVerScheme/TaskManager.cpp +++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp @@ -2,11 +2,14 @@ #include "id/TaskManager.h" #include "basecommonapi.h" -// 定义并初始化静态成员变量 +// 定义并初始化静态成员变量 委托单编号 QMap TaskManager::dailyTaskCounts; QDate TaskManager::currentDate; QString TaskManager::KeyDate; +//检定结果保存 +QMap TaskManager::saveResultdatanoList; +QString TaskManager::ResultKeyDate; QString TaskManager::generateTask(QString Number) { // 初始化当天任务单数量为0 @@ -40,24 +43,67 @@ return taskId; } -int TaskManager::getTaskCountForToday() +QString TaskManager::getsaveResultdatano() { - // 返回当天的任务单数量 - return dailyTaskCounts.value(KeyDate, 0); + + //获取结果保存ID + ResultKeyDate = QDate::currentDate().toString("yyyyMMdd"); + //判断是否包含 如包含直接返回结果 + if(!saveResultdatanoList.contains(ResultKeyDate)) + { + + //找寻数据库上次的记录 + QString datano=BaseCommonApi::getNewResultData().data_no; + if(datano!=""){ + int startIndex = datano.lastIndexOf("j")+1; // 找到 "YYYY" 的起始位置 + int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符 + //截截取 + QString result = datano.mid(startIndex, 8); + if(result!=ResultKeyDate){ + saveResultdatanoList[ResultKeyDate] = 1; + }else + { + //获取最后一位数 并加1 + QChar lastChar = datano.at(datano.length() - 1); + if (lastChar.isDigit()) { + + int Count=lastChar.digitValue(); + saveResultdatanoList[ResultKeyDate] = Count+1; + } + + } + + }else{saveResultdatanoList[ResultKeyDate] = 1;}; + + } + + QString dateStr = ResultKeyDate; + // 生成结果保存编号,这里假设编号格式是 "jdsjYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充 + QString taskId = QString("jdsj%1%2").arg(dateStr).arg(saveResultdatanoList[ResultKeyDate], 4, 10, QChar('0')); + //返回结果 + return taskId; } + bool TaskManager::AddCurrenTaskCount() { // 增加当天任务单数量 try { - dailyTaskCounts[KeyDate]++; return true; } catch(const std::exception &e) { return false; } - } - +bool TaskManager::AddResultDataNoCount() +{ + // 增加当天任务单数量 + try { + saveResultdatanoList[ResultKeyDate]++; + return true; + } catch(const std::exception &e) { + return false; + } +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 874b354..47ee4da 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -192,6 +192,24 @@ } return result; } +//查看最新结果保存数据 +SaveDeviceMeasureInfo BaseCommonApi::getNewResultData() +{ + SaveDeviceMeasureInfo result; + QSqlQuery query; + query.prepare("select * from biz_business_device_measure_info as bz ORDER BY bz.create_time DESC LIMIT 1"); + if (query.exec()) { + while (query.next()) { + + result.id = query.value("id").toString(); + result.data_no = query.value("data_no").toString(); + + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + return result; +} //查看当前最新的任务单 QList BaseCommonApi::getCreateTaskListNew() { @@ -800,6 +818,25 @@ */ //根据被检设备ID获取当前设备的 检定项目及检定点 +/* +QMap> BaseCommonApi::Search_CalibrationTable(QString DeiverId,QMap *HeadList) +{ + + QMap> DataList; + DataList.clear(); + QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); + if(CliTable.count()==0)return DataList; + switch (CliTable[0].belong_standard_equipment.toInt()) + { + case 1: + //CliTable[0].id + //1717086652508487681 + DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); + } + + return DataList; +}*/ +//根据被检设备ID获取当前设备的 检定项目及检定点 QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) { @@ -817,7 +854,6 @@ return DataList; } - //核查设备对应的装置表 核查项及核查点 传参设备id QList BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { @@ -861,7 +897,6 @@ } return DataList; } - //被检设备管理-检定项目及检定点-多功能校准源 QList BaseCommonApi::getVerMultiCal(QString itemId,QStringList *headList) { @@ -912,22 +947,88 @@ <<"两线/四线模式"<<"线圈放大"<<"示值"<<"准确度a"<<"指针式仪表满量程值"<<"指针式仪表满量程值单位"<<"被检表示值"<<"准确度等级"<<"创建时间"<<"更新时间"; return resultData; } -bool GetDataReturnItemList(QList ResultData,QMap *DataMapList,QList *HeadMapList) +//被检设备管理-检定项目及检定点-多功能校准源 +/* +QMap> BaseCommonApi::getVerMultiCal(QString itemId,QMap *headList) +{ +QMap> DataMapList; +QList resultData; +QStringList result; +resultData.clear(); + +QSqlQuery query; + query.prepare("SELECT * FROM biz_business_device_measure_item_data_calibrator bbdmidc WHERE item_id = :itemId "); + // 将参数绑定到占位符 + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项目ID + result.append(query.value("params").toString()); //检查项目 + result.append(query.value("capacity").toString()); + result.append(query.value("unit").toString()); + result.append(query.value("frequency").toString()); + result.append(query.value("frequency_unit").toString()); + result.append(query.value("range_range").toString()); + result.append(query.value("standard_value").toString()); + result.append(query.value("resolution").toString()); + result.append(query.value("maximum_error").toString()); + result.append(query.value("error_param_a").toString()); + result.append(query.value("error_param_b").toString()); + result.append(query.value("line_mode").toString()); + result.append(query.value("coil_enlarge").toString()); + result.append(query.value("indicating_value").toString()); + result.append(query.value("accuracy_a").toString()); + result.append(query.value("full_scale_value").toString()); + result.append(query.value("full_scale_value_unit").toString()); + result.append(query.value("measure_indication_value").toString()); + result.append(query.value("accuracy_level").toString()); + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + //进行检定项目列头转换 + DataMapList= GetDataReturnItemList(resultData,DataMapList,headList); + return DataMapList; +} +*/ +QMap> BaseCommonApi::GetDataReturnItemList(QList ResultData,QMap> DataMapList,QMap *HeadMapList) { + QList isFirst; + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + QList DCVList; + QList ACVList; + QList DCIList; + QList ACIList; + QList RList; for(const QStringList &row : ResultData) { if (!row.isEmpty()) { // 确保行不为空 if(row[2]=="DCV") { - QString VerificationItem= "DCV"; + + QString VerificationItem=NULL; + if(isFirst[0]) + { + VerificationItem = "DCV"; //添加列头 QStringList head; head << "序号" << "检定项目" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; - HeadMapList->append(head); - + HeadMapList->insert(VerificationItem,head); + isFirst[0]=false; + } //添加数据 + QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 @@ -946,24 +1047,167 @@ Data.append("0"); } Data.append(row[9]); //分辨力 - + DCVList.append(Data); } else if(ResultData[2].first()=="ACV") { + QString VerificationItem=NULL; + if(isFirst[1]) + { + VerificationItem = "ACV"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[1]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACVList.append(Data); } else if(ResultData[2].first()=="DCI") { + QString VerificationItem=NULL; + if(isFirst[2]) + { + VerificationItem = "DCI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[2]=false; + } + //添加数据 + + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + DCIList.append(Data); } else if(ResultData[2].first()=="ACI") { + QString VerificationItem=NULL; + if(isFirst[3]) + { + VerificationItem = "ACI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[3]=false; + } + //添加数据 - } else if(ResultData[2].first()=="ACV") + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACIList.append(Data); + } else if(ResultData[2].first()=="R") { + QString VerificationItem=NULL; + if(isFirst[4]) + { + VerificationItem = "R"; + //添加列头 + QStringList head; + head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[4]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[13]); //两线/四线 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + RList.append(Data); } } } + if(DCVList.count()!=0){ + DataMapList.insert("DCV",DCVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACV",ACVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("DCI",DCIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACI",ACIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("R",RList); + }; + return DataMapList; } //检定数据管理 首页 QList BaseCommonApi::getVerificationData() @@ -1111,6 +1355,7 @@ result.append(query.value("frequency").toString()); result.append( query.value("range_range").toString()); result.append(query.value("standard_value").toString()); + result.append(query.value("indicating_value").toString()); result.append(query.value("resolution").toString()); result.append(query.value("maximum_error").toString()); result.append(query.value("error_param_a").toString()); @@ -1123,7 +1368,7 @@ qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList<<"id"<<"参数"<<"量"<<"单位"<<"频率" - <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a" + <<"量程"<<"标准值" <<"示值" <<"分辨力"<<"最大允许误差"<<"误差参数a" <<"误差参数b"<<"合格率"; return resultData; @@ -1611,14 +1856,20 @@ //自动检定-结果保存-biz_business_device_measure_info 基本信息表 bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo) { + saveInfo.data_no=TaskManager::getsaveResultdatano(); + QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_info " " (id,data_no,order_id,sample_id,item_id," " trace_date,measure_valid_date,measure_address,temperature,humidity,data_source," " outcome,create_time,update_time) " " VALUES " - " (:id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date,:measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time)"); + " (" + ":id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date," + ":measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time" + ")"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); + query.bindValue(":id", saveInfo.id); //id 自动生成 query.bindValue(":data_no", saveInfo.data_no); query.bindValue(":order_id", saveInfo.order_id); @@ -1636,6 +1887,8 @@ bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); + }else{ + TaskManager::AddResultDataNoCount(); } return isSuccess; diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user new file mode 100644 index 0000000..77ab7ad --- /dev/null +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c08df58c-84a7-4965-bca6-e98789474efa} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp index ed0d569..c6c6c43 100644 --- a/softwareDirectory/AutoVerScheme/TaskManager.cpp +++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp @@ -2,11 +2,14 @@ #include "id/TaskManager.h" #include "basecommonapi.h" -// 定义并初始化静态成员变量 +// 定义并初始化静态成员变量 委托单编号 QMap TaskManager::dailyTaskCounts; QDate TaskManager::currentDate; QString TaskManager::KeyDate; +//检定结果保存 +QMap TaskManager::saveResultdatanoList; +QString TaskManager::ResultKeyDate; QString TaskManager::generateTask(QString Number) { // 初始化当天任务单数量为0 @@ -40,24 +43,67 @@ return taskId; } -int TaskManager::getTaskCountForToday() +QString TaskManager::getsaveResultdatano() { - // 返回当天的任务单数量 - return dailyTaskCounts.value(KeyDate, 0); + + //获取结果保存ID + ResultKeyDate = QDate::currentDate().toString("yyyyMMdd"); + //判断是否包含 如包含直接返回结果 + if(!saveResultdatanoList.contains(ResultKeyDate)) + { + + //找寻数据库上次的记录 + QString datano=BaseCommonApi::getNewResultData().data_no; + if(datano!=""){ + int startIndex = datano.lastIndexOf("j")+1; // 找到 "YYYY" 的起始位置 + int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符 + //截截取 + QString result = datano.mid(startIndex, 8); + if(result!=ResultKeyDate){ + saveResultdatanoList[ResultKeyDate] = 1; + }else + { + //获取最后一位数 并加1 + QChar lastChar = datano.at(datano.length() - 1); + if (lastChar.isDigit()) { + + int Count=lastChar.digitValue(); + saveResultdatanoList[ResultKeyDate] = Count+1; + } + + } + + }else{saveResultdatanoList[ResultKeyDate] = 1;}; + + } + + QString dateStr = ResultKeyDate; + // 生成结果保存编号,这里假设编号格式是 "jdsjYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充 + QString taskId = QString("jdsj%1%2").arg(dateStr).arg(saveResultdatanoList[ResultKeyDate], 4, 10, QChar('0')); + //返回结果 + return taskId; } + bool TaskManager::AddCurrenTaskCount() { // 增加当天任务单数量 try { - dailyTaskCounts[KeyDate]++; return true; } catch(const std::exception &e) { return false; } - } - +bool TaskManager::AddResultDataNoCount() +{ + // 增加当天任务单数量 + try { + saveResultdatanoList[ResultKeyDate]++; + return true; + } catch(const std::exception &e) { + return false; + } +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 874b354..47ee4da 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -192,6 +192,24 @@ } return result; } +//查看最新结果保存数据 +SaveDeviceMeasureInfo BaseCommonApi::getNewResultData() +{ + SaveDeviceMeasureInfo result; + QSqlQuery query; + query.prepare("select * from biz_business_device_measure_info as bz ORDER BY bz.create_time DESC LIMIT 1"); + if (query.exec()) { + while (query.next()) { + + result.id = query.value("id").toString(); + result.data_no = query.value("data_no").toString(); + + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + return result; +} //查看当前最新的任务单 QList BaseCommonApi::getCreateTaskListNew() { @@ -800,6 +818,25 @@ */ //根据被检设备ID获取当前设备的 检定项目及检定点 +/* +QMap> BaseCommonApi::Search_CalibrationTable(QString DeiverId,QMap *HeadList) +{ + + QMap> DataList; + DataList.clear(); + QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); + if(CliTable.count()==0)return DataList; + switch (CliTable[0].belong_standard_equipment.toInt()) + { + case 1: + //CliTable[0].id + //1717086652508487681 + DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); + } + + return DataList; +}*/ +//根据被检设备ID获取当前设备的 检定项目及检定点 QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) { @@ -817,7 +854,6 @@ return DataList; } - //核查设备对应的装置表 核查项及核查点 传参设备id QList BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { @@ -861,7 +897,6 @@ } return DataList; } - //被检设备管理-检定项目及检定点-多功能校准源 QList BaseCommonApi::getVerMultiCal(QString itemId,QStringList *headList) { @@ -912,22 +947,88 @@ <<"两线/四线模式"<<"线圈放大"<<"示值"<<"准确度a"<<"指针式仪表满量程值"<<"指针式仪表满量程值单位"<<"被检表示值"<<"准确度等级"<<"创建时间"<<"更新时间"; return resultData; } -bool GetDataReturnItemList(QList ResultData,QMap *DataMapList,QList *HeadMapList) +//被检设备管理-检定项目及检定点-多功能校准源 +/* +QMap> BaseCommonApi::getVerMultiCal(QString itemId,QMap *headList) +{ +QMap> DataMapList; +QList resultData; +QStringList result; +resultData.clear(); + +QSqlQuery query; + query.prepare("SELECT * FROM biz_business_device_measure_item_data_calibrator bbdmidc WHERE item_id = :itemId "); + // 将参数绑定到占位符 + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项目ID + result.append(query.value("params").toString()); //检查项目 + result.append(query.value("capacity").toString()); + result.append(query.value("unit").toString()); + result.append(query.value("frequency").toString()); + result.append(query.value("frequency_unit").toString()); + result.append(query.value("range_range").toString()); + result.append(query.value("standard_value").toString()); + result.append(query.value("resolution").toString()); + result.append(query.value("maximum_error").toString()); + result.append(query.value("error_param_a").toString()); + result.append(query.value("error_param_b").toString()); + result.append(query.value("line_mode").toString()); + result.append(query.value("coil_enlarge").toString()); + result.append(query.value("indicating_value").toString()); + result.append(query.value("accuracy_a").toString()); + result.append(query.value("full_scale_value").toString()); + result.append(query.value("full_scale_value_unit").toString()); + result.append(query.value("measure_indication_value").toString()); + result.append(query.value("accuracy_level").toString()); + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + //进行检定项目列头转换 + DataMapList= GetDataReturnItemList(resultData,DataMapList,headList); + return DataMapList; +} +*/ +QMap> BaseCommonApi::GetDataReturnItemList(QList ResultData,QMap> DataMapList,QMap *HeadMapList) { + QList isFirst; + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + QList DCVList; + QList ACVList; + QList DCIList; + QList ACIList; + QList RList; for(const QStringList &row : ResultData) { if (!row.isEmpty()) { // 确保行不为空 if(row[2]=="DCV") { - QString VerificationItem= "DCV"; + + QString VerificationItem=NULL; + if(isFirst[0]) + { + VerificationItem = "DCV"; //添加列头 QStringList head; head << "序号" << "检定项目" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; - HeadMapList->append(head); - + HeadMapList->insert(VerificationItem,head); + isFirst[0]=false; + } //添加数据 + QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 @@ -946,24 +1047,167 @@ Data.append("0"); } Data.append(row[9]); //分辨力 - + DCVList.append(Data); } else if(ResultData[2].first()=="ACV") { + QString VerificationItem=NULL; + if(isFirst[1]) + { + VerificationItem = "ACV"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[1]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACVList.append(Data); } else if(ResultData[2].first()=="DCI") { + QString VerificationItem=NULL; + if(isFirst[2]) + { + VerificationItem = "DCI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[2]=false; + } + //添加数据 + + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + DCIList.append(Data); } else if(ResultData[2].first()=="ACI") { + QString VerificationItem=NULL; + if(isFirst[3]) + { + VerificationItem = "ACI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[3]=false; + } + //添加数据 - } else if(ResultData[2].first()=="ACV") + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACIList.append(Data); + } else if(ResultData[2].first()=="R") { + QString VerificationItem=NULL; + if(isFirst[4]) + { + VerificationItem = "R"; + //添加列头 + QStringList head; + head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[4]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[13]); //两线/四线 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + RList.append(Data); } } } + if(DCVList.count()!=0){ + DataMapList.insert("DCV",DCVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACV",ACVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("DCI",DCIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACI",ACIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("R",RList); + }; + return DataMapList; } //检定数据管理 首页 QList BaseCommonApi::getVerificationData() @@ -1111,6 +1355,7 @@ result.append(query.value("frequency").toString()); result.append( query.value("range_range").toString()); result.append(query.value("standard_value").toString()); + result.append(query.value("indicating_value").toString()); result.append(query.value("resolution").toString()); result.append(query.value("maximum_error").toString()); result.append(query.value("error_param_a").toString()); @@ -1123,7 +1368,7 @@ qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList<<"id"<<"参数"<<"量"<<"单位"<<"频率" - <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a" + <<"量程"<<"标准值" <<"示值" <<"分辨力"<<"最大允许误差"<<"误差参数a" <<"误差参数b"<<"合格率"; return resultData; @@ -1611,14 +1856,20 @@ //自动检定-结果保存-biz_business_device_measure_info 基本信息表 bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo) { + saveInfo.data_no=TaskManager::getsaveResultdatano(); + QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_info " " (id,data_no,order_id,sample_id,item_id," " trace_date,measure_valid_date,measure_address,temperature,humidity,data_source," " outcome,create_time,update_time) " " VALUES " - " (:id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date,:measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time)"); + " (" + ":id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date," + ":measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time" + ")"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); + query.bindValue(":id", saveInfo.id); //id 自动生成 query.bindValue(":data_no", saveInfo.data_no); query.bindValue(":order_id", saveInfo.order_id); @@ -1636,6 +1887,8 @@ bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); + }else{ + TaskManager::AddResultDataNoCount(); } return isSuccess; diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h index bf0f724..479d8ba 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.h +++ b/softwareDirectory/AutoVerScheme/basecommonapi.h @@ -828,7 +828,8 @@ QString encrypt(const QString &str, const QString &publicKey); //判断检定装置表并查询 参数设备id - static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + //static QMap> Search_CalibrationTable(QString DeiverId,QMap *HeadList); //判断核查装置表并查询 参数设备id static QList Search_VerifyTable(QString DeiverId,QStringList *HeadList ); @@ -891,6 +892,10 @@ static JudgeCalibrationTable getJudgeVerifyTable(QString id); //被检设备管理-检定项目及检定点-多功能校准源 static QList getVerMultiCal(QString itemId,QStringList *headList); + //static QMap> getVerMultiCal(QString itemId,QMap *headList); + static QMap> GetDataReturnItemList(QList ResultData, + QMap> DataMapList, + QMap *HeadMapList); // 获取检定数据管理 首页 static QList getVerificationData(); // 检定数据管理-检定基本信息-标准设备 @@ -993,7 +998,8 @@ static bool InsertCheckModifyRecord(MeasureModifyRecord record); //设备与装置-标准装置管理-核查数据管理核查数据历史修改记录[查询] 参数 检定数据管理基础信息表id static QList getMeasureModifyRecord(QString data_id); - + //查询最新结果保存记录 + static SaveDeviceMeasureInfo getNewResultData(); }; diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user new file mode 100644 index 0000000..77ab7ad --- /dev/null +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c08df58c-84a7-4965-bca6-e98789474efa} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp index ed0d569..c6c6c43 100644 --- a/softwareDirectory/AutoVerScheme/TaskManager.cpp +++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp @@ -2,11 +2,14 @@ #include "id/TaskManager.h" #include "basecommonapi.h" -// 定义并初始化静态成员变量 +// 定义并初始化静态成员变量 委托单编号 QMap TaskManager::dailyTaskCounts; QDate TaskManager::currentDate; QString TaskManager::KeyDate; +//检定结果保存 +QMap TaskManager::saveResultdatanoList; +QString TaskManager::ResultKeyDate; QString TaskManager::generateTask(QString Number) { // 初始化当天任务单数量为0 @@ -40,24 +43,67 @@ return taskId; } -int TaskManager::getTaskCountForToday() +QString TaskManager::getsaveResultdatano() { - // 返回当天的任务单数量 - return dailyTaskCounts.value(KeyDate, 0); + + //获取结果保存ID + ResultKeyDate = QDate::currentDate().toString("yyyyMMdd"); + //判断是否包含 如包含直接返回结果 + if(!saveResultdatanoList.contains(ResultKeyDate)) + { + + //找寻数据库上次的记录 + QString datano=BaseCommonApi::getNewResultData().data_no; + if(datano!=""){ + int startIndex = datano.lastIndexOf("j")+1; // 找到 "YYYY" 的起始位置 + int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符 + //截截取 + QString result = datano.mid(startIndex, 8); + if(result!=ResultKeyDate){ + saveResultdatanoList[ResultKeyDate] = 1; + }else + { + //获取最后一位数 并加1 + QChar lastChar = datano.at(datano.length() - 1); + if (lastChar.isDigit()) { + + int Count=lastChar.digitValue(); + saveResultdatanoList[ResultKeyDate] = Count+1; + } + + } + + }else{saveResultdatanoList[ResultKeyDate] = 1;}; + + } + + QString dateStr = ResultKeyDate; + // 生成结果保存编号,这里假设编号格式是 "jdsjYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充 + QString taskId = QString("jdsj%1%2").arg(dateStr).arg(saveResultdatanoList[ResultKeyDate], 4, 10, QChar('0')); + //返回结果 + return taskId; } + bool TaskManager::AddCurrenTaskCount() { // 增加当天任务单数量 try { - dailyTaskCounts[KeyDate]++; return true; } catch(const std::exception &e) { return false; } - } - +bool TaskManager::AddResultDataNoCount() +{ + // 增加当天任务单数量 + try { + saveResultdatanoList[ResultKeyDate]++; + return true; + } catch(const std::exception &e) { + return false; + } +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 874b354..47ee4da 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -192,6 +192,24 @@ } return result; } +//查看最新结果保存数据 +SaveDeviceMeasureInfo BaseCommonApi::getNewResultData() +{ + SaveDeviceMeasureInfo result; + QSqlQuery query; + query.prepare("select * from biz_business_device_measure_info as bz ORDER BY bz.create_time DESC LIMIT 1"); + if (query.exec()) { + while (query.next()) { + + result.id = query.value("id").toString(); + result.data_no = query.value("data_no").toString(); + + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + return result; +} //查看当前最新的任务单 QList BaseCommonApi::getCreateTaskListNew() { @@ -800,6 +818,25 @@ */ //根据被检设备ID获取当前设备的 检定项目及检定点 +/* +QMap> BaseCommonApi::Search_CalibrationTable(QString DeiverId,QMap *HeadList) +{ + + QMap> DataList; + DataList.clear(); + QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); + if(CliTable.count()==0)return DataList; + switch (CliTable[0].belong_standard_equipment.toInt()) + { + case 1: + //CliTable[0].id + //1717086652508487681 + DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); + } + + return DataList; +}*/ +//根据被检设备ID获取当前设备的 检定项目及检定点 QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) { @@ -817,7 +854,6 @@ return DataList; } - //核查设备对应的装置表 核查项及核查点 传参设备id QList BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { @@ -861,7 +897,6 @@ } return DataList; } - //被检设备管理-检定项目及检定点-多功能校准源 QList BaseCommonApi::getVerMultiCal(QString itemId,QStringList *headList) { @@ -912,22 +947,88 @@ <<"两线/四线模式"<<"线圈放大"<<"示值"<<"准确度a"<<"指针式仪表满量程值"<<"指针式仪表满量程值单位"<<"被检表示值"<<"准确度等级"<<"创建时间"<<"更新时间"; return resultData; } -bool GetDataReturnItemList(QList ResultData,QMap *DataMapList,QList *HeadMapList) +//被检设备管理-检定项目及检定点-多功能校准源 +/* +QMap> BaseCommonApi::getVerMultiCal(QString itemId,QMap *headList) +{ +QMap> DataMapList; +QList resultData; +QStringList result; +resultData.clear(); + +QSqlQuery query; + query.prepare("SELECT * FROM biz_business_device_measure_item_data_calibrator bbdmidc WHERE item_id = :itemId "); + // 将参数绑定到占位符 + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项目ID + result.append(query.value("params").toString()); //检查项目 + result.append(query.value("capacity").toString()); + result.append(query.value("unit").toString()); + result.append(query.value("frequency").toString()); + result.append(query.value("frequency_unit").toString()); + result.append(query.value("range_range").toString()); + result.append(query.value("standard_value").toString()); + result.append(query.value("resolution").toString()); + result.append(query.value("maximum_error").toString()); + result.append(query.value("error_param_a").toString()); + result.append(query.value("error_param_b").toString()); + result.append(query.value("line_mode").toString()); + result.append(query.value("coil_enlarge").toString()); + result.append(query.value("indicating_value").toString()); + result.append(query.value("accuracy_a").toString()); + result.append(query.value("full_scale_value").toString()); + result.append(query.value("full_scale_value_unit").toString()); + result.append(query.value("measure_indication_value").toString()); + result.append(query.value("accuracy_level").toString()); + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + //进行检定项目列头转换 + DataMapList= GetDataReturnItemList(resultData,DataMapList,headList); + return DataMapList; +} +*/ +QMap> BaseCommonApi::GetDataReturnItemList(QList ResultData,QMap> DataMapList,QMap *HeadMapList) { + QList isFirst; + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + QList DCVList; + QList ACVList; + QList DCIList; + QList ACIList; + QList RList; for(const QStringList &row : ResultData) { if (!row.isEmpty()) { // 确保行不为空 if(row[2]=="DCV") { - QString VerificationItem= "DCV"; + + QString VerificationItem=NULL; + if(isFirst[0]) + { + VerificationItem = "DCV"; //添加列头 QStringList head; head << "序号" << "检定项目" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; - HeadMapList->append(head); - + HeadMapList->insert(VerificationItem,head); + isFirst[0]=false; + } //添加数据 + QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 @@ -946,24 +1047,167 @@ Data.append("0"); } Data.append(row[9]); //分辨力 - + DCVList.append(Data); } else if(ResultData[2].first()=="ACV") { + QString VerificationItem=NULL; + if(isFirst[1]) + { + VerificationItem = "ACV"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[1]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACVList.append(Data); } else if(ResultData[2].first()=="DCI") { + QString VerificationItem=NULL; + if(isFirst[2]) + { + VerificationItem = "DCI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[2]=false; + } + //添加数据 + + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + DCIList.append(Data); } else if(ResultData[2].first()=="ACI") { + QString VerificationItem=NULL; + if(isFirst[3]) + { + VerificationItem = "ACI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[3]=false; + } + //添加数据 - } else if(ResultData[2].first()=="ACV") + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACIList.append(Data); + } else if(ResultData[2].first()=="R") { + QString VerificationItem=NULL; + if(isFirst[4]) + { + VerificationItem = "R"; + //添加列头 + QStringList head; + head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[4]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[13]); //两线/四线 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + RList.append(Data); } } } + if(DCVList.count()!=0){ + DataMapList.insert("DCV",DCVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACV",ACVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("DCI",DCIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACI",ACIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("R",RList); + }; + return DataMapList; } //检定数据管理 首页 QList BaseCommonApi::getVerificationData() @@ -1111,6 +1355,7 @@ result.append(query.value("frequency").toString()); result.append( query.value("range_range").toString()); result.append(query.value("standard_value").toString()); + result.append(query.value("indicating_value").toString()); result.append(query.value("resolution").toString()); result.append(query.value("maximum_error").toString()); result.append(query.value("error_param_a").toString()); @@ -1123,7 +1368,7 @@ qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList<<"id"<<"参数"<<"量"<<"单位"<<"频率" - <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a" + <<"量程"<<"标准值" <<"示值" <<"分辨力"<<"最大允许误差"<<"误差参数a" <<"误差参数b"<<"合格率"; return resultData; @@ -1611,14 +1856,20 @@ //自动检定-结果保存-biz_business_device_measure_info 基本信息表 bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo) { + saveInfo.data_no=TaskManager::getsaveResultdatano(); + QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_info " " (id,data_no,order_id,sample_id,item_id," " trace_date,measure_valid_date,measure_address,temperature,humidity,data_source," " outcome,create_time,update_time) " " VALUES " - " (:id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date,:measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time)"); + " (" + ":id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date," + ":measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time" + ")"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); + query.bindValue(":id", saveInfo.id); //id 自动生成 query.bindValue(":data_no", saveInfo.data_no); query.bindValue(":order_id", saveInfo.order_id); @@ -1636,6 +1887,8 @@ bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); + }else{ + TaskManager::AddResultDataNoCount(); } return isSuccess; diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h index bf0f724..479d8ba 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.h +++ b/softwareDirectory/AutoVerScheme/basecommonapi.h @@ -828,7 +828,8 @@ QString encrypt(const QString &str, const QString &publicKey); //判断检定装置表并查询 参数设备id - static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + //static QMap> Search_CalibrationTable(QString DeiverId,QMap *HeadList); //判断核查装置表并查询 参数设备id static QList Search_VerifyTable(QString DeiverId,QStringList *HeadList ); @@ -891,6 +892,10 @@ static JudgeCalibrationTable getJudgeVerifyTable(QString id); //被检设备管理-检定项目及检定点-多功能校准源 static QList getVerMultiCal(QString itemId,QStringList *headList); + //static QMap> getVerMultiCal(QString itemId,QMap *headList); + static QMap> GetDataReturnItemList(QList ResultData, + QMap> DataMapList, + QMap *HeadMapList); // 获取检定数据管理 首页 static QList getVerificationData(); // 检定数据管理-检定基本信息-标准设备 @@ -993,7 +998,8 @@ static bool InsertCheckModifyRecord(MeasureModifyRecord record); //设备与装置-标准装置管理-核查数据管理核查数据历史修改记录[查询] 参数 检定数据管理基础信息表id static QList getMeasureModifyRecord(QString data_id); - + //查询最新结果保存记录 + static SaveDeviceMeasureInfo getNewResultData(); }; diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp index 4cfa1b6..fef3880 100644 --- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp +++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp @@ -199,7 +199,7 @@ QStringList headlist; QList Data=dbManager.Search_CalibrationTable(id,&headlist); - + //QList Data; //tableWidgetItem ui->tableWidgetItem->setRowCount(0); ui->tableWidgetItem->setColumnCount(headlist.count()); diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user new file mode 100644 index 0000000..77ab7ad --- /dev/null +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c08df58c-84a7-4965-bca6-e98789474efa} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp index ed0d569..c6c6c43 100644 --- a/softwareDirectory/AutoVerScheme/TaskManager.cpp +++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp @@ -2,11 +2,14 @@ #include "id/TaskManager.h" #include "basecommonapi.h" -// 定义并初始化静态成员变量 +// 定义并初始化静态成员变量 委托单编号 QMap TaskManager::dailyTaskCounts; QDate TaskManager::currentDate; QString TaskManager::KeyDate; +//检定结果保存 +QMap TaskManager::saveResultdatanoList; +QString TaskManager::ResultKeyDate; QString TaskManager::generateTask(QString Number) { // 初始化当天任务单数量为0 @@ -40,24 +43,67 @@ return taskId; } -int TaskManager::getTaskCountForToday() +QString TaskManager::getsaveResultdatano() { - // 返回当天的任务单数量 - return dailyTaskCounts.value(KeyDate, 0); + + //获取结果保存ID + ResultKeyDate = QDate::currentDate().toString("yyyyMMdd"); + //判断是否包含 如包含直接返回结果 + if(!saveResultdatanoList.contains(ResultKeyDate)) + { + + //找寻数据库上次的记录 + QString datano=BaseCommonApi::getNewResultData().data_no; + if(datano!=""){ + int startIndex = datano.lastIndexOf("j")+1; // 找到 "YYYY" 的起始位置 + int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符 + //截截取 + QString result = datano.mid(startIndex, 8); + if(result!=ResultKeyDate){ + saveResultdatanoList[ResultKeyDate] = 1; + }else + { + //获取最后一位数 并加1 + QChar lastChar = datano.at(datano.length() - 1); + if (lastChar.isDigit()) { + + int Count=lastChar.digitValue(); + saveResultdatanoList[ResultKeyDate] = Count+1; + } + + } + + }else{saveResultdatanoList[ResultKeyDate] = 1;}; + + } + + QString dateStr = ResultKeyDate; + // 生成结果保存编号,这里假设编号格式是 "jdsjYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充 + QString taskId = QString("jdsj%1%2").arg(dateStr).arg(saveResultdatanoList[ResultKeyDate], 4, 10, QChar('0')); + //返回结果 + return taskId; } + bool TaskManager::AddCurrenTaskCount() { // 增加当天任务单数量 try { - dailyTaskCounts[KeyDate]++; return true; } catch(const std::exception &e) { return false; } - } - +bool TaskManager::AddResultDataNoCount() +{ + // 增加当天任务单数量 + try { + saveResultdatanoList[ResultKeyDate]++; + return true; + } catch(const std::exception &e) { + return false; + } +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 874b354..47ee4da 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -192,6 +192,24 @@ } return result; } +//查看最新结果保存数据 +SaveDeviceMeasureInfo BaseCommonApi::getNewResultData() +{ + SaveDeviceMeasureInfo result; + QSqlQuery query; + query.prepare("select * from biz_business_device_measure_info as bz ORDER BY bz.create_time DESC LIMIT 1"); + if (query.exec()) { + while (query.next()) { + + result.id = query.value("id").toString(); + result.data_no = query.value("data_no").toString(); + + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + return result; +} //查看当前最新的任务单 QList BaseCommonApi::getCreateTaskListNew() { @@ -800,6 +818,25 @@ */ //根据被检设备ID获取当前设备的 检定项目及检定点 +/* +QMap> BaseCommonApi::Search_CalibrationTable(QString DeiverId,QMap *HeadList) +{ + + QMap> DataList; + DataList.clear(); + QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); + if(CliTable.count()==0)return DataList; + switch (CliTable[0].belong_standard_equipment.toInt()) + { + case 1: + //CliTable[0].id + //1717086652508487681 + DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); + } + + return DataList; +}*/ +//根据被检设备ID获取当前设备的 检定项目及检定点 QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) { @@ -817,7 +854,6 @@ return DataList; } - //核查设备对应的装置表 核查项及核查点 传参设备id QList BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { @@ -861,7 +897,6 @@ } return DataList; } - //被检设备管理-检定项目及检定点-多功能校准源 QList BaseCommonApi::getVerMultiCal(QString itemId,QStringList *headList) { @@ -912,22 +947,88 @@ <<"两线/四线模式"<<"线圈放大"<<"示值"<<"准确度a"<<"指针式仪表满量程值"<<"指针式仪表满量程值单位"<<"被检表示值"<<"准确度等级"<<"创建时间"<<"更新时间"; return resultData; } -bool GetDataReturnItemList(QList ResultData,QMap *DataMapList,QList *HeadMapList) +//被检设备管理-检定项目及检定点-多功能校准源 +/* +QMap> BaseCommonApi::getVerMultiCal(QString itemId,QMap *headList) +{ +QMap> DataMapList; +QList resultData; +QStringList result; +resultData.clear(); + +QSqlQuery query; + query.prepare("SELECT * FROM biz_business_device_measure_item_data_calibrator bbdmidc WHERE item_id = :itemId "); + // 将参数绑定到占位符 + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项目ID + result.append(query.value("params").toString()); //检查项目 + result.append(query.value("capacity").toString()); + result.append(query.value("unit").toString()); + result.append(query.value("frequency").toString()); + result.append(query.value("frequency_unit").toString()); + result.append(query.value("range_range").toString()); + result.append(query.value("standard_value").toString()); + result.append(query.value("resolution").toString()); + result.append(query.value("maximum_error").toString()); + result.append(query.value("error_param_a").toString()); + result.append(query.value("error_param_b").toString()); + result.append(query.value("line_mode").toString()); + result.append(query.value("coil_enlarge").toString()); + result.append(query.value("indicating_value").toString()); + result.append(query.value("accuracy_a").toString()); + result.append(query.value("full_scale_value").toString()); + result.append(query.value("full_scale_value_unit").toString()); + result.append(query.value("measure_indication_value").toString()); + result.append(query.value("accuracy_level").toString()); + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + //进行检定项目列头转换 + DataMapList= GetDataReturnItemList(resultData,DataMapList,headList); + return DataMapList; +} +*/ +QMap> BaseCommonApi::GetDataReturnItemList(QList ResultData,QMap> DataMapList,QMap *HeadMapList) { + QList isFirst; + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + QList DCVList; + QList ACVList; + QList DCIList; + QList ACIList; + QList RList; for(const QStringList &row : ResultData) { if (!row.isEmpty()) { // 确保行不为空 if(row[2]=="DCV") { - QString VerificationItem= "DCV"; + + QString VerificationItem=NULL; + if(isFirst[0]) + { + VerificationItem = "DCV"; //添加列头 QStringList head; head << "序号" << "检定项目" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; - HeadMapList->append(head); - + HeadMapList->insert(VerificationItem,head); + isFirst[0]=false; + } //添加数据 + QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 @@ -946,24 +1047,167 @@ Data.append("0"); } Data.append(row[9]); //分辨力 - + DCVList.append(Data); } else if(ResultData[2].first()=="ACV") { + QString VerificationItem=NULL; + if(isFirst[1]) + { + VerificationItem = "ACV"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[1]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACVList.append(Data); } else if(ResultData[2].first()=="DCI") { + QString VerificationItem=NULL; + if(isFirst[2]) + { + VerificationItem = "DCI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[2]=false; + } + //添加数据 + + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + DCIList.append(Data); } else if(ResultData[2].first()=="ACI") { + QString VerificationItem=NULL; + if(isFirst[3]) + { + VerificationItem = "ACI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[3]=false; + } + //添加数据 - } else if(ResultData[2].first()=="ACV") + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACIList.append(Data); + } else if(ResultData[2].first()=="R") { + QString VerificationItem=NULL; + if(isFirst[4]) + { + VerificationItem = "R"; + //添加列头 + QStringList head; + head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[4]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[13]); //两线/四线 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + RList.append(Data); } } } + if(DCVList.count()!=0){ + DataMapList.insert("DCV",DCVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACV",ACVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("DCI",DCIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACI",ACIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("R",RList); + }; + return DataMapList; } //检定数据管理 首页 QList BaseCommonApi::getVerificationData() @@ -1111,6 +1355,7 @@ result.append(query.value("frequency").toString()); result.append( query.value("range_range").toString()); result.append(query.value("standard_value").toString()); + result.append(query.value("indicating_value").toString()); result.append(query.value("resolution").toString()); result.append(query.value("maximum_error").toString()); result.append(query.value("error_param_a").toString()); @@ -1123,7 +1368,7 @@ qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList<<"id"<<"参数"<<"量"<<"单位"<<"频率" - <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a" + <<"量程"<<"标准值" <<"示值" <<"分辨力"<<"最大允许误差"<<"误差参数a" <<"误差参数b"<<"合格率"; return resultData; @@ -1611,14 +1856,20 @@ //自动检定-结果保存-biz_business_device_measure_info 基本信息表 bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo) { + saveInfo.data_no=TaskManager::getsaveResultdatano(); + QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_info " " (id,data_no,order_id,sample_id,item_id," " trace_date,measure_valid_date,measure_address,temperature,humidity,data_source," " outcome,create_time,update_time) " " VALUES " - " (:id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date,:measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time)"); + " (" + ":id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date," + ":measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time" + ")"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); + query.bindValue(":id", saveInfo.id); //id 自动生成 query.bindValue(":data_no", saveInfo.data_no); query.bindValue(":order_id", saveInfo.order_id); @@ -1636,6 +1887,8 @@ bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); + }else{ + TaskManager::AddResultDataNoCount(); } return isSuccess; diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h index bf0f724..479d8ba 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.h +++ b/softwareDirectory/AutoVerScheme/basecommonapi.h @@ -828,7 +828,8 @@ QString encrypt(const QString &str, const QString &publicKey); //判断检定装置表并查询 参数设备id - static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + //static QMap> Search_CalibrationTable(QString DeiverId,QMap *HeadList); //判断核查装置表并查询 参数设备id static QList Search_VerifyTable(QString DeiverId,QStringList *HeadList ); @@ -891,6 +892,10 @@ static JudgeCalibrationTable getJudgeVerifyTable(QString id); //被检设备管理-检定项目及检定点-多功能校准源 static QList getVerMultiCal(QString itemId,QStringList *headList); + //static QMap> getVerMultiCal(QString itemId,QMap *headList); + static QMap> GetDataReturnItemList(QList ResultData, + QMap> DataMapList, + QMap *HeadMapList); // 获取检定数据管理 首页 static QList getVerificationData(); // 检定数据管理-检定基本信息-标准设备 @@ -993,7 +998,8 @@ static bool InsertCheckModifyRecord(MeasureModifyRecord record); //设备与装置-标准装置管理-核查数据管理核查数据历史修改记录[查询] 参数 检定数据管理基础信息表id static QList getMeasureModifyRecord(QString data_id); - + //查询最新结果保存记录 + static SaveDeviceMeasureInfo getNewResultData(); }; diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp index 4cfa1b6..fef3880 100644 --- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp +++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp @@ -199,7 +199,7 @@ QStringList headlist; QList Data=dbManager.Search_CalibrationTable(id,&headlist); - + //QList Data; //tableWidgetItem ui->tableWidgetItem->setRowCount(0); ui->tableWidgetItem->setColumnCount(headlist.count()); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index a89e7db..bf56963 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -534,6 +534,7 @@ } } item.measure_indication_value = sRet; + ui->tableWidgetCheck->setItem(i,15,new QTableWidgetItem(sRet)); //示值 ui->tableWidgetCheck->setItem(i,19,new QTableWidgetItem(sRet)); } } diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user new file mode 100644 index 0000000..77ab7ad --- /dev/null +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c08df58c-84a7-4965-bca6-e98789474efa} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp index ed0d569..c6c6c43 100644 --- a/softwareDirectory/AutoVerScheme/TaskManager.cpp +++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp @@ -2,11 +2,14 @@ #include "id/TaskManager.h" #include "basecommonapi.h" -// 定义并初始化静态成员变量 +// 定义并初始化静态成员变量 委托单编号 QMap TaskManager::dailyTaskCounts; QDate TaskManager::currentDate; QString TaskManager::KeyDate; +//检定结果保存 +QMap TaskManager::saveResultdatanoList; +QString TaskManager::ResultKeyDate; QString TaskManager::generateTask(QString Number) { // 初始化当天任务单数量为0 @@ -40,24 +43,67 @@ return taskId; } -int TaskManager::getTaskCountForToday() +QString TaskManager::getsaveResultdatano() { - // 返回当天的任务单数量 - return dailyTaskCounts.value(KeyDate, 0); + + //获取结果保存ID + ResultKeyDate = QDate::currentDate().toString("yyyyMMdd"); + //判断是否包含 如包含直接返回结果 + if(!saveResultdatanoList.contains(ResultKeyDate)) + { + + //找寻数据库上次的记录 + QString datano=BaseCommonApi::getNewResultData().data_no; + if(datano!=""){ + int startIndex = datano.lastIndexOf("j")+1; // 找到 "YYYY" 的起始位置 + int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符 + //截截取 + QString result = datano.mid(startIndex, 8); + if(result!=ResultKeyDate){ + saveResultdatanoList[ResultKeyDate] = 1; + }else + { + //获取最后一位数 并加1 + QChar lastChar = datano.at(datano.length() - 1); + if (lastChar.isDigit()) { + + int Count=lastChar.digitValue(); + saveResultdatanoList[ResultKeyDate] = Count+1; + } + + } + + }else{saveResultdatanoList[ResultKeyDate] = 1;}; + + } + + QString dateStr = ResultKeyDate; + // 生成结果保存编号,这里假设编号格式是 "jdsjYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充 + QString taskId = QString("jdsj%1%2").arg(dateStr).arg(saveResultdatanoList[ResultKeyDate], 4, 10, QChar('0')); + //返回结果 + return taskId; } + bool TaskManager::AddCurrenTaskCount() { // 增加当天任务单数量 try { - dailyTaskCounts[KeyDate]++; return true; } catch(const std::exception &e) { return false; } - } - +bool TaskManager::AddResultDataNoCount() +{ + // 增加当天任务单数量 + try { + saveResultdatanoList[ResultKeyDate]++; + return true; + } catch(const std::exception &e) { + return false; + } +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 874b354..47ee4da 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -192,6 +192,24 @@ } return result; } +//查看最新结果保存数据 +SaveDeviceMeasureInfo BaseCommonApi::getNewResultData() +{ + SaveDeviceMeasureInfo result; + QSqlQuery query; + query.prepare("select * from biz_business_device_measure_info as bz ORDER BY bz.create_time DESC LIMIT 1"); + if (query.exec()) { + while (query.next()) { + + result.id = query.value("id").toString(); + result.data_no = query.value("data_no").toString(); + + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + return result; +} //查看当前最新的任务单 QList BaseCommonApi::getCreateTaskListNew() { @@ -800,6 +818,25 @@ */ //根据被检设备ID获取当前设备的 检定项目及检定点 +/* +QMap> BaseCommonApi::Search_CalibrationTable(QString DeiverId,QMap *HeadList) +{ + + QMap> DataList; + DataList.clear(); + QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); + if(CliTable.count()==0)return DataList; + switch (CliTable[0].belong_standard_equipment.toInt()) + { + case 1: + //CliTable[0].id + //1717086652508487681 + DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); + } + + return DataList; +}*/ +//根据被检设备ID获取当前设备的 检定项目及检定点 QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) { @@ -817,7 +854,6 @@ return DataList; } - //核查设备对应的装置表 核查项及核查点 传参设备id QList BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { @@ -861,7 +897,6 @@ } return DataList; } - //被检设备管理-检定项目及检定点-多功能校准源 QList BaseCommonApi::getVerMultiCal(QString itemId,QStringList *headList) { @@ -912,22 +947,88 @@ <<"两线/四线模式"<<"线圈放大"<<"示值"<<"准确度a"<<"指针式仪表满量程值"<<"指针式仪表满量程值单位"<<"被检表示值"<<"准确度等级"<<"创建时间"<<"更新时间"; return resultData; } -bool GetDataReturnItemList(QList ResultData,QMap *DataMapList,QList *HeadMapList) +//被检设备管理-检定项目及检定点-多功能校准源 +/* +QMap> BaseCommonApi::getVerMultiCal(QString itemId,QMap *headList) +{ +QMap> DataMapList; +QList resultData; +QStringList result; +resultData.clear(); + +QSqlQuery query; + query.prepare("SELECT * FROM biz_business_device_measure_item_data_calibrator bbdmidc WHERE item_id = :itemId "); + // 将参数绑定到占位符 + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项目ID + result.append(query.value("params").toString()); //检查项目 + result.append(query.value("capacity").toString()); + result.append(query.value("unit").toString()); + result.append(query.value("frequency").toString()); + result.append(query.value("frequency_unit").toString()); + result.append(query.value("range_range").toString()); + result.append(query.value("standard_value").toString()); + result.append(query.value("resolution").toString()); + result.append(query.value("maximum_error").toString()); + result.append(query.value("error_param_a").toString()); + result.append(query.value("error_param_b").toString()); + result.append(query.value("line_mode").toString()); + result.append(query.value("coil_enlarge").toString()); + result.append(query.value("indicating_value").toString()); + result.append(query.value("accuracy_a").toString()); + result.append(query.value("full_scale_value").toString()); + result.append(query.value("full_scale_value_unit").toString()); + result.append(query.value("measure_indication_value").toString()); + result.append(query.value("accuracy_level").toString()); + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + //进行检定项目列头转换 + DataMapList= GetDataReturnItemList(resultData,DataMapList,headList); + return DataMapList; +} +*/ +QMap> BaseCommonApi::GetDataReturnItemList(QList ResultData,QMap> DataMapList,QMap *HeadMapList) { + QList isFirst; + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + QList DCVList; + QList ACVList; + QList DCIList; + QList ACIList; + QList RList; for(const QStringList &row : ResultData) { if (!row.isEmpty()) { // 确保行不为空 if(row[2]=="DCV") { - QString VerificationItem= "DCV"; + + QString VerificationItem=NULL; + if(isFirst[0]) + { + VerificationItem = "DCV"; //添加列头 QStringList head; head << "序号" << "检定项目" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; - HeadMapList->append(head); - + HeadMapList->insert(VerificationItem,head); + isFirst[0]=false; + } //添加数据 + QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 @@ -946,24 +1047,167 @@ Data.append("0"); } Data.append(row[9]); //分辨力 - + DCVList.append(Data); } else if(ResultData[2].first()=="ACV") { + QString VerificationItem=NULL; + if(isFirst[1]) + { + VerificationItem = "ACV"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[1]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACVList.append(Data); } else if(ResultData[2].first()=="DCI") { + QString VerificationItem=NULL; + if(isFirst[2]) + { + VerificationItem = "DCI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[2]=false; + } + //添加数据 + + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + DCIList.append(Data); } else if(ResultData[2].first()=="ACI") { + QString VerificationItem=NULL; + if(isFirst[3]) + { + VerificationItem = "ACI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[3]=false; + } + //添加数据 - } else if(ResultData[2].first()=="ACV") + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACIList.append(Data); + } else if(ResultData[2].first()=="R") { + QString VerificationItem=NULL; + if(isFirst[4]) + { + VerificationItem = "R"; + //添加列头 + QStringList head; + head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[4]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[13]); //两线/四线 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + RList.append(Data); } } } + if(DCVList.count()!=0){ + DataMapList.insert("DCV",DCVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACV",ACVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("DCI",DCIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACI",ACIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("R",RList); + }; + return DataMapList; } //检定数据管理 首页 QList BaseCommonApi::getVerificationData() @@ -1111,6 +1355,7 @@ result.append(query.value("frequency").toString()); result.append( query.value("range_range").toString()); result.append(query.value("standard_value").toString()); + result.append(query.value("indicating_value").toString()); result.append(query.value("resolution").toString()); result.append(query.value("maximum_error").toString()); result.append(query.value("error_param_a").toString()); @@ -1123,7 +1368,7 @@ qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList<<"id"<<"参数"<<"量"<<"单位"<<"频率" - <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a" + <<"量程"<<"标准值" <<"示值" <<"分辨力"<<"最大允许误差"<<"误差参数a" <<"误差参数b"<<"合格率"; return resultData; @@ -1611,14 +1856,20 @@ //自动检定-结果保存-biz_business_device_measure_info 基本信息表 bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo) { + saveInfo.data_no=TaskManager::getsaveResultdatano(); + QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_info " " (id,data_no,order_id,sample_id,item_id," " trace_date,measure_valid_date,measure_address,temperature,humidity,data_source," " outcome,create_time,update_time) " " VALUES " - " (:id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date,:measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time)"); + " (" + ":id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date," + ":measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time" + ")"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); + query.bindValue(":id", saveInfo.id); //id 自动生成 query.bindValue(":data_no", saveInfo.data_no); query.bindValue(":order_id", saveInfo.order_id); @@ -1636,6 +1887,8 @@ bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); + }else{ + TaskManager::AddResultDataNoCount(); } return isSuccess; diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h index bf0f724..479d8ba 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.h +++ b/softwareDirectory/AutoVerScheme/basecommonapi.h @@ -828,7 +828,8 @@ QString encrypt(const QString &str, const QString &publicKey); //判断检定装置表并查询 参数设备id - static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + //static QMap> Search_CalibrationTable(QString DeiverId,QMap *HeadList); //判断核查装置表并查询 参数设备id static QList Search_VerifyTable(QString DeiverId,QStringList *HeadList ); @@ -891,6 +892,10 @@ static JudgeCalibrationTable getJudgeVerifyTable(QString id); //被检设备管理-检定项目及检定点-多功能校准源 static QList getVerMultiCal(QString itemId,QStringList *headList); + //static QMap> getVerMultiCal(QString itemId,QMap *headList); + static QMap> GetDataReturnItemList(QList ResultData, + QMap> DataMapList, + QMap *HeadMapList); // 获取检定数据管理 首页 static QList getVerificationData(); // 检定数据管理-检定基本信息-标准设备 @@ -993,7 +998,8 @@ static bool InsertCheckModifyRecord(MeasureModifyRecord record); //设备与装置-标准装置管理-核查数据管理核查数据历史修改记录[查询] 参数 检定数据管理基础信息表id static QList getMeasureModifyRecord(QString data_id); - + //查询最新结果保存记录 + static SaveDeviceMeasureInfo getNewResultData(); }; diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp index 4cfa1b6..fef3880 100644 --- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp +++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp @@ -199,7 +199,7 @@ QStringList headlist; QList Data=dbManager.Search_CalibrationTable(id,&headlist); - + //QList Data; //tableWidgetItem ui->tableWidgetItem->setRowCount(0); ui->tableWidgetItem->setColumnCount(headlist.count()); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index a89e7db..bf56963 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -534,6 +534,7 @@ } } item.measure_indication_value = sRet; + ui->tableWidgetCheck->setItem(i,15,new QTableWidgetItem(sRet)); //示值 ui->tableWidgetCheck->setItem(i,19,new QTableWidgetItem(sRet)); } } diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a23f7d4..3210be8 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -59,7 +59,7 @@ SaveDeviceMeasureInfo measInfo; BaseCommonApi api; measInfo.id = QString::number(api.generateId()); - measInfo.data_no = "jdsj"+QDateTime::currentDateTime().toString("yyyyMMdd")+"0003"; + //measInfo.data_no; measInfo.order_id = taskList[0].id; measInfo.sample_id=deviceId; measInfo.item_id=measureCalList[0].item_data_id; @@ -86,6 +86,7 @@ item.data_id = measInfo.id; BaseCommonApi::InsertVerMultiCal(item); } + QMessageBox::information(this, "提示", "保存成功!"); } else { diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user new file mode 100644 index 0000000..77ab7ad --- /dev/null +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c08df58c-84a7-4965-bca6-e98789474efa} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp index ed0d569..c6c6c43 100644 --- a/softwareDirectory/AutoVerScheme/TaskManager.cpp +++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp @@ -2,11 +2,14 @@ #include "id/TaskManager.h" #include "basecommonapi.h" -// 定义并初始化静态成员变量 +// 定义并初始化静态成员变量 委托单编号 QMap TaskManager::dailyTaskCounts; QDate TaskManager::currentDate; QString TaskManager::KeyDate; +//检定结果保存 +QMap TaskManager::saveResultdatanoList; +QString TaskManager::ResultKeyDate; QString TaskManager::generateTask(QString Number) { // 初始化当天任务单数量为0 @@ -40,24 +43,67 @@ return taskId; } -int TaskManager::getTaskCountForToday() +QString TaskManager::getsaveResultdatano() { - // 返回当天的任务单数量 - return dailyTaskCounts.value(KeyDate, 0); + + //获取结果保存ID + ResultKeyDate = QDate::currentDate().toString("yyyyMMdd"); + //判断是否包含 如包含直接返回结果 + if(!saveResultdatanoList.contains(ResultKeyDate)) + { + + //找寻数据库上次的记录 + QString datano=BaseCommonApi::getNewResultData().data_no; + if(datano!=""){ + int startIndex = datano.lastIndexOf("j")+1; // 找到 "YYYY" 的起始位置 + int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符 + //截截取 + QString result = datano.mid(startIndex, 8); + if(result!=ResultKeyDate){ + saveResultdatanoList[ResultKeyDate] = 1; + }else + { + //获取最后一位数 并加1 + QChar lastChar = datano.at(datano.length() - 1); + if (lastChar.isDigit()) { + + int Count=lastChar.digitValue(); + saveResultdatanoList[ResultKeyDate] = Count+1; + } + + } + + }else{saveResultdatanoList[ResultKeyDate] = 1;}; + + } + + QString dateStr = ResultKeyDate; + // 生成结果保存编号,这里假设编号格式是 "jdsjYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充 + QString taskId = QString("jdsj%1%2").arg(dateStr).arg(saveResultdatanoList[ResultKeyDate], 4, 10, QChar('0')); + //返回结果 + return taskId; } + bool TaskManager::AddCurrenTaskCount() { // 增加当天任务单数量 try { - dailyTaskCounts[KeyDate]++; return true; } catch(const std::exception &e) { return false; } - } - +bool TaskManager::AddResultDataNoCount() +{ + // 增加当天任务单数量 + try { + saveResultdatanoList[ResultKeyDate]++; + return true; + } catch(const std::exception &e) { + return false; + } +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 874b354..47ee4da 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -192,6 +192,24 @@ } return result; } +//查看最新结果保存数据 +SaveDeviceMeasureInfo BaseCommonApi::getNewResultData() +{ + SaveDeviceMeasureInfo result; + QSqlQuery query; + query.prepare("select * from biz_business_device_measure_info as bz ORDER BY bz.create_time DESC LIMIT 1"); + if (query.exec()) { + while (query.next()) { + + result.id = query.value("id").toString(); + result.data_no = query.value("data_no").toString(); + + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + return result; +} //查看当前最新的任务单 QList BaseCommonApi::getCreateTaskListNew() { @@ -800,6 +818,25 @@ */ //根据被检设备ID获取当前设备的 检定项目及检定点 +/* +QMap> BaseCommonApi::Search_CalibrationTable(QString DeiverId,QMap *HeadList) +{ + + QMap> DataList; + DataList.clear(); + QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); + if(CliTable.count()==0)return DataList; + switch (CliTable[0].belong_standard_equipment.toInt()) + { + case 1: + //CliTable[0].id + //1717086652508487681 + DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); + } + + return DataList; +}*/ +//根据被检设备ID获取当前设备的 检定项目及检定点 QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) { @@ -817,7 +854,6 @@ return DataList; } - //核查设备对应的装置表 核查项及核查点 传参设备id QList BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { @@ -861,7 +897,6 @@ } return DataList; } - //被检设备管理-检定项目及检定点-多功能校准源 QList BaseCommonApi::getVerMultiCal(QString itemId,QStringList *headList) { @@ -912,22 +947,88 @@ <<"两线/四线模式"<<"线圈放大"<<"示值"<<"准确度a"<<"指针式仪表满量程值"<<"指针式仪表满量程值单位"<<"被检表示值"<<"准确度等级"<<"创建时间"<<"更新时间"; return resultData; } -bool GetDataReturnItemList(QList ResultData,QMap *DataMapList,QList *HeadMapList) +//被检设备管理-检定项目及检定点-多功能校准源 +/* +QMap> BaseCommonApi::getVerMultiCal(QString itemId,QMap *headList) +{ +QMap> DataMapList; +QList resultData; +QStringList result; +resultData.clear(); + +QSqlQuery query; + query.prepare("SELECT * FROM biz_business_device_measure_item_data_calibrator bbdmidc WHERE item_id = :itemId "); + // 将参数绑定到占位符 + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项目ID + result.append(query.value("params").toString()); //检查项目 + result.append(query.value("capacity").toString()); + result.append(query.value("unit").toString()); + result.append(query.value("frequency").toString()); + result.append(query.value("frequency_unit").toString()); + result.append(query.value("range_range").toString()); + result.append(query.value("standard_value").toString()); + result.append(query.value("resolution").toString()); + result.append(query.value("maximum_error").toString()); + result.append(query.value("error_param_a").toString()); + result.append(query.value("error_param_b").toString()); + result.append(query.value("line_mode").toString()); + result.append(query.value("coil_enlarge").toString()); + result.append(query.value("indicating_value").toString()); + result.append(query.value("accuracy_a").toString()); + result.append(query.value("full_scale_value").toString()); + result.append(query.value("full_scale_value_unit").toString()); + result.append(query.value("measure_indication_value").toString()); + result.append(query.value("accuracy_level").toString()); + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + //进行检定项目列头转换 + DataMapList= GetDataReturnItemList(resultData,DataMapList,headList); + return DataMapList; +} +*/ +QMap> BaseCommonApi::GetDataReturnItemList(QList ResultData,QMap> DataMapList,QMap *HeadMapList) { + QList isFirst; + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + QList DCVList; + QList ACVList; + QList DCIList; + QList ACIList; + QList RList; for(const QStringList &row : ResultData) { if (!row.isEmpty()) { // 确保行不为空 if(row[2]=="DCV") { - QString VerificationItem= "DCV"; + + QString VerificationItem=NULL; + if(isFirst[0]) + { + VerificationItem = "DCV"; //添加列头 QStringList head; head << "序号" << "检定项目" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; - HeadMapList->append(head); - + HeadMapList->insert(VerificationItem,head); + isFirst[0]=false; + } //添加数据 + QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 @@ -946,24 +1047,167 @@ Data.append("0"); } Data.append(row[9]); //分辨力 - + DCVList.append(Data); } else if(ResultData[2].first()=="ACV") { + QString VerificationItem=NULL; + if(isFirst[1]) + { + VerificationItem = "ACV"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[1]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACVList.append(Data); } else if(ResultData[2].first()=="DCI") { + QString VerificationItem=NULL; + if(isFirst[2]) + { + VerificationItem = "DCI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[2]=false; + } + //添加数据 + + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + DCIList.append(Data); } else if(ResultData[2].first()=="ACI") { + QString VerificationItem=NULL; + if(isFirst[3]) + { + VerificationItem = "ACI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[3]=false; + } + //添加数据 - } else if(ResultData[2].first()=="ACV") + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACIList.append(Data); + } else if(ResultData[2].first()=="R") { + QString VerificationItem=NULL; + if(isFirst[4]) + { + VerificationItem = "R"; + //添加列头 + QStringList head; + head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[4]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[13]); //两线/四线 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + RList.append(Data); } } } + if(DCVList.count()!=0){ + DataMapList.insert("DCV",DCVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACV",ACVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("DCI",DCIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACI",ACIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("R",RList); + }; + return DataMapList; } //检定数据管理 首页 QList BaseCommonApi::getVerificationData() @@ -1111,6 +1355,7 @@ result.append(query.value("frequency").toString()); result.append( query.value("range_range").toString()); result.append(query.value("standard_value").toString()); + result.append(query.value("indicating_value").toString()); result.append(query.value("resolution").toString()); result.append(query.value("maximum_error").toString()); result.append(query.value("error_param_a").toString()); @@ -1123,7 +1368,7 @@ qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList<<"id"<<"参数"<<"量"<<"单位"<<"频率" - <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a" + <<"量程"<<"标准值" <<"示值" <<"分辨力"<<"最大允许误差"<<"误差参数a" <<"误差参数b"<<"合格率"; return resultData; @@ -1611,14 +1856,20 @@ //自动检定-结果保存-biz_business_device_measure_info 基本信息表 bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo) { + saveInfo.data_no=TaskManager::getsaveResultdatano(); + QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_info " " (id,data_no,order_id,sample_id,item_id," " trace_date,measure_valid_date,measure_address,temperature,humidity,data_source," " outcome,create_time,update_time) " " VALUES " - " (:id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date,:measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time)"); + " (" + ":id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date," + ":measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time" + ")"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); + query.bindValue(":id", saveInfo.id); //id 自动生成 query.bindValue(":data_no", saveInfo.data_no); query.bindValue(":order_id", saveInfo.order_id); @@ -1636,6 +1887,8 @@ bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); + }else{ + TaskManager::AddResultDataNoCount(); } return isSuccess; diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h index bf0f724..479d8ba 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.h +++ b/softwareDirectory/AutoVerScheme/basecommonapi.h @@ -828,7 +828,8 @@ QString encrypt(const QString &str, const QString &publicKey); //判断检定装置表并查询 参数设备id - static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + //static QMap> Search_CalibrationTable(QString DeiverId,QMap *HeadList); //判断核查装置表并查询 参数设备id static QList Search_VerifyTable(QString DeiverId,QStringList *HeadList ); @@ -891,6 +892,10 @@ static JudgeCalibrationTable getJudgeVerifyTable(QString id); //被检设备管理-检定项目及检定点-多功能校准源 static QList getVerMultiCal(QString itemId,QStringList *headList); + //static QMap> getVerMultiCal(QString itemId,QMap *headList); + static QMap> GetDataReturnItemList(QList ResultData, + QMap> DataMapList, + QMap *HeadMapList); // 获取检定数据管理 首页 static QList getVerificationData(); // 检定数据管理-检定基本信息-标准设备 @@ -993,7 +998,8 @@ static bool InsertCheckModifyRecord(MeasureModifyRecord record); //设备与装置-标准装置管理-核查数据管理核查数据历史修改记录[查询] 参数 检定数据管理基础信息表id static QList getMeasureModifyRecord(QString data_id); - + //查询最新结果保存记录 + static SaveDeviceMeasureInfo getNewResultData(); }; diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp index 4cfa1b6..fef3880 100644 --- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp +++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp @@ -199,7 +199,7 @@ QStringList headlist; QList Data=dbManager.Search_CalibrationTable(id,&headlist); - + //QList Data; //tableWidgetItem ui->tableWidgetItem->setRowCount(0); ui->tableWidgetItem->setColumnCount(headlist.count()); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index a89e7db..bf56963 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -534,6 +534,7 @@ } } item.measure_indication_value = sRet; + ui->tableWidgetCheck->setItem(i,15,new QTableWidgetItem(sRet)); //示值 ui->tableWidgetCheck->setItem(i,19,new QTableWidgetItem(sRet)); } } diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a23f7d4..3210be8 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -59,7 +59,7 @@ SaveDeviceMeasureInfo measInfo; BaseCommonApi api; measInfo.id = QString::number(api.generateId()); - measInfo.data_no = "jdsj"+QDateTime::currentDateTime().toString("yyyyMMdd")+"0003"; + //measInfo.data_no; measInfo.order_id = taskList[0].id; measInfo.sample_id=deviceId; measInfo.item_id=measureCalList[0].item_data_id; @@ -86,6 +86,7 @@ item.data_id = measInfo.id; BaseCommonApi::InsertVerMultiCal(item); } + QMessageBox::information(this, "提示", "保存成功!"); } else { diff --git a/softwareDirectory/AutoVerScheme/id/TaskManager.h b/softwareDirectory/AutoVerScheme/id/TaskManager.h index 9bf1935..3d9b474 100644 --- a/softwareDirectory/AutoVerScheme/id/TaskManager.h +++ b/softwareDirectory/AutoVerScheme/id/TaskManager.h @@ -10,15 +10,19 @@ class TaskManager { private: static QMap dailyTaskCounts; // 日期 -> 任务单数量 + static QMap saveResultdatanoList; // 日期 -> 结果保存 static QDate currentDate; static QString KeyDate; - + //ResultKeyDate + static QString ResultKeyDate; public: static int getTaskCountForToday(); static bool AddCurrenTaskCount(); static QString generateTask(QString Number); + static bool AddResultDataNoCount(); + static QString getsaveResultdatano(); }; diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user new file mode 100644 index 0000000..77ab7ad --- /dev/null +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c08df58c-84a7-4965-bca6-e98789474efa} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/Desktop/SVN/software/softwareDirectory/build-AutoVerScheme-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + E:/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro + + false + + false + true + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp index ed0d569..c6c6c43 100644 --- a/softwareDirectory/AutoVerScheme/TaskManager.cpp +++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp @@ -2,11 +2,14 @@ #include "id/TaskManager.h" #include "basecommonapi.h" -// 定义并初始化静态成员变量 +// 定义并初始化静态成员变量 委托单编号 QMap TaskManager::dailyTaskCounts; QDate TaskManager::currentDate; QString TaskManager::KeyDate; +//检定结果保存 +QMap TaskManager::saveResultdatanoList; +QString TaskManager::ResultKeyDate; QString TaskManager::generateTask(QString Number) { // 初始化当天任务单数量为0 @@ -40,24 +43,67 @@ return taskId; } -int TaskManager::getTaskCountForToday() +QString TaskManager::getsaveResultdatano() { - // 返回当天的任务单数量 - return dailyTaskCounts.value(KeyDate, 0); + + //获取结果保存ID + ResultKeyDate = QDate::currentDate().toString("yyyyMMdd"); + //判断是否包含 如包含直接返回结果 + if(!saveResultdatanoList.contains(ResultKeyDate)) + { + + //找寻数据库上次的记录 + QString datano=BaseCommonApi::getNewResultData().data_no; + if(datano!=""){ + int startIndex = datano.lastIndexOf("j")+1; // 找到 "YYYY" 的起始位置 + int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符 + //截截取 + QString result = datano.mid(startIndex, 8); + if(result!=ResultKeyDate){ + saveResultdatanoList[ResultKeyDate] = 1; + }else + { + //获取最后一位数 并加1 + QChar lastChar = datano.at(datano.length() - 1); + if (lastChar.isDigit()) { + + int Count=lastChar.digitValue(); + saveResultdatanoList[ResultKeyDate] = Count+1; + } + + } + + }else{saveResultdatanoList[ResultKeyDate] = 1;}; + + } + + QString dateStr = ResultKeyDate; + // 生成结果保存编号,这里假设编号格式是 "jdsjYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充 + QString taskId = QString("jdsj%1%2").arg(dateStr).arg(saveResultdatanoList[ResultKeyDate], 4, 10, QChar('0')); + //返回结果 + return taskId; } + bool TaskManager::AddCurrenTaskCount() { // 增加当天任务单数量 try { - dailyTaskCounts[KeyDate]++; return true; } catch(const std::exception &e) { return false; } - } - +bool TaskManager::AddResultDataNoCount() +{ + // 增加当天任务单数量 + try { + saveResultdatanoList[ResultKeyDate]++; + return true; + } catch(const std::exception &e) { + return false; + } +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 874b354..47ee4da 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -192,6 +192,24 @@ } return result; } +//查看最新结果保存数据 +SaveDeviceMeasureInfo BaseCommonApi::getNewResultData() +{ + SaveDeviceMeasureInfo result; + QSqlQuery query; + query.prepare("select * from biz_business_device_measure_info as bz ORDER BY bz.create_time DESC LIMIT 1"); + if (query.exec()) { + while (query.next()) { + + result.id = query.value("id").toString(); + result.data_no = query.value("data_no").toString(); + + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + return result; +} //查看当前最新的任务单 QList BaseCommonApi::getCreateTaskListNew() { @@ -800,6 +818,25 @@ */ //根据被检设备ID获取当前设备的 检定项目及检定点 +/* +QMap> BaseCommonApi::Search_CalibrationTable(QString DeiverId,QMap *HeadList) +{ + + QMap> DataList; + DataList.clear(); + QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); + if(CliTable.count()==0)return DataList; + switch (CliTable[0].belong_standard_equipment.toInt()) + { + case 1: + //CliTable[0].id + //1717086652508487681 + DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); + } + + return DataList; +}*/ +//根据被检设备ID获取当前设备的 检定项目及检定点 QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) { @@ -817,7 +854,6 @@ return DataList; } - //核查设备对应的装置表 核查项及核查点 传参设备id QList BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { @@ -861,7 +897,6 @@ } return DataList; } - //被检设备管理-检定项目及检定点-多功能校准源 QList BaseCommonApi::getVerMultiCal(QString itemId,QStringList *headList) { @@ -912,22 +947,88 @@ <<"两线/四线模式"<<"线圈放大"<<"示值"<<"准确度a"<<"指针式仪表满量程值"<<"指针式仪表满量程值单位"<<"被检表示值"<<"准确度等级"<<"创建时间"<<"更新时间"; return resultData; } -bool GetDataReturnItemList(QList ResultData,QMap *DataMapList,QList *HeadMapList) +//被检设备管理-检定项目及检定点-多功能校准源 +/* +QMap> BaseCommonApi::getVerMultiCal(QString itemId,QMap *headList) +{ +QMap> DataMapList; +QList resultData; +QStringList result; +resultData.clear(); + +QSqlQuery query; + query.prepare("SELECT * FROM biz_business_device_measure_item_data_calibrator bbdmidc WHERE item_id = :itemId "); + // 将参数绑定到占位符 + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项目ID + result.append(query.value("params").toString()); //检查项目 + result.append(query.value("capacity").toString()); + result.append(query.value("unit").toString()); + result.append(query.value("frequency").toString()); + result.append(query.value("frequency_unit").toString()); + result.append(query.value("range_range").toString()); + result.append(query.value("standard_value").toString()); + result.append(query.value("resolution").toString()); + result.append(query.value("maximum_error").toString()); + result.append(query.value("error_param_a").toString()); + result.append(query.value("error_param_b").toString()); + result.append(query.value("line_mode").toString()); + result.append(query.value("coil_enlarge").toString()); + result.append(query.value("indicating_value").toString()); + result.append(query.value("accuracy_a").toString()); + result.append(query.value("full_scale_value").toString()); + result.append(query.value("full_scale_value_unit").toString()); + result.append(query.value("measure_indication_value").toString()); + result.append(query.value("accuracy_level").toString()); + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + //进行检定项目列头转换 + DataMapList= GetDataReturnItemList(resultData,DataMapList,headList); + return DataMapList; +} +*/ +QMap> BaseCommonApi::GetDataReturnItemList(QList ResultData,QMap> DataMapList,QMap *HeadMapList) { + QList isFirst; + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + isFirst.append(true); + QList DCVList; + QList ACVList; + QList DCIList; + QList ACIList; + QList RList; for(const QStringList &row : ResultData) { if (!row.isEmpty()) { // 确保行不为空 if(row[2]=="DCV") { - QString VerificationItem= "DCV"; + + QString VerificationItem=NULL; + if(isFirst[0]) + { + VerificationItem = "DCV"; //添加列头 QStringList head; head << "序号" << "检定项目" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; - HeadMapList->append(head); - + HeadMapList->insert(VerificationItem,head); + isFirst[0]=false; + } //添加数据 + QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 @@ -946,24 +1047,167 @@ Data.append("0"); } Data.append(row[9]); //分辨力 - + DCVList.append(Data); } else if(ResultData[2].first()=="ACV") { + QString VerificationItem=NULL; + if(isFirst[1]) + { + VerificationItem = "ACV"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[1]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACVList.append(Data); } else if(ResultData[2].first()=="DCI") { + QString VerificationItem=NULL; + if(isFirst[2]) + { + VerificationItem = "DCI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[2]=false; + } + //添加数据 + + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + DCIList.append(Data); } else if(ResultData[2].first()=="ACI") { + QString VerificationItem=NULL; + if(isFirst[3]) + { + VerificationItem = "ACI"; + //添加列头 + QStringList head; + head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[3]=false; + } + //添加数据 - } else if(ResultData[2].first()=="ACV") + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + ACIList.append(Data); + } else if(ResultData[2].first()=="R") { + QString VerificationItem=NULL; + if(isFirst[4]) + { + VerificationItem = "R"; + //添加列头 + QStringList head; + head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; + HeadMapList->insert(VerificationItem,head); + isFirst[4]=false; + } + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[13]); //两线/四线 + Data.append(row[3]); //量 + Data.append(row[4]); //单位 + Data.append(row[7]); //量程 + Data.append(row[8]); //标准值 + Data.append(row[15]); //示值 + Data.append(""); //绝对误差 软件界面计算 + //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 + try { + //保证数据库内数据没问题 + Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + + (row[12].toDouble()*row[7].toDouble()))); + } catch(const std::exception &e) { + Data.append("0"); + } + Data.append(row[9]); //分辨力 + RList.append(Data); } } } + if(DCVList.count()!=0){ + DataMapList.insert("DCV",DCVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACV",ACVList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("DCI",DCIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("ACI",ACIList); + }; + if(DCVList.count()!=0){ + DataMapList.insert("R",RList); + }; + return DataMapList; } //检定数据管理 首页 QList BaseCommonApi::getVerificationData() @@ -1111,6 +1355,7 @@ result.append(query.value("frequency").toString()); result.append( query.value("range_range").toString()); result.append(query.value("standard_value").toString()); + result.append(query.value("indicating_value").toString()); result.append(query.value("resolution").toString()); result.append(query.value("maximum_error").toString()); result.append(query.value("error_param_a").toString()); @@ -1123,7 +1368,7 @@ qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList<<"id"<<"参数"<<"量"<<"单位"<<"频率" - <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a" + <<"量程"<<"标准值" <<"示值" <<"分辨力"<<"最大允许误差"<<"误差参数a" <<"误差参数b"<<"合格率"; return resultData; @@ -1611,14 +1856,20 @@ //自动检定-结果保存-biz_business_device_measure_info 基本信息表 bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo) { + saveInfo.data_no=TaskManager::getsaveResultdatano(); + QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_info " " (id,data_no,order_id,sample_id,item_id," " trace_date,measure_valid_date,measure_address,temperature,humidity,data_source," " outcome,create_time,update_time) " " VALUES " - " (:id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date,:measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time)"); + " (" + ":id,:data_no,:order_id,:sample_id,:item_id,:trace_date,:measure_valid_date," + ":measure_address,:temperature,:humidity,:data_source,:outcome,:create_time,:update_time" + ")"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); + query.bindValue(":id", saveInfo.id); //id 自动生成 query.bindValue(":data_no", saveInfo.data_no); query.bindValue(":order_id", saveInfo.order_id); @@ -1636,6 +1887,8 @@ bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); + }else{ + TaskManager::AddResultDataNoCount(); } return isSuccess; diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h index bf0f724..479d8ba 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.h +++ b/softwareDirectory/AutoVerScheme/basecommonapi.h @@ -828,7 +828,8 @@ QString encrypt(const QString &str, const QString &publicKey); //判断检定装置表并查询 参数设备id - static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList); + //static QMap> Search_CalibrationTable(QString DeiverId,QMap *HeadList); //判断核查装置表并查询 参数设备id static QList Search_VerifyTable(QString DeiverId,QStringList *HeadList ); @@ -891,6 +892,10 @@ static JudgeCalibrationTable getJudgeVerifyTable(QString id); //被检设备管理-检定项目及检定点-多功能校准源 static QList getVerMultiCal(QString itemId,QStringList *headList); + //static QMap> getVerMultiCal(QString itemId,QMap *headList); + static QMap> GetDataReturnItemList(QList ResultData, + QMap> DataMapList, + QMap *HeadMapList); // 获取检定数据管理 首页 static QList getVerificationData(); // 检定数据管理-检定基本信息-标准设备 @@ -993,7 +998,8 @@ static bool InsertCheckModifyRecord(MeasureModifyRecord record); //设备与装置-标准装置管理-核查数据管理核查数据历史修改记录[查询] 参数 检定数据管理基础信息表id static QList getMeasureModifyRecord(QString data_id); - + //查询最新结果保存记录 + static SaveDeviceMeasureInfo getNewResultData(); }; diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp index 4cfa1b6..fef3880 100644 --- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp +++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp @@ -199,7 +199,7 @@ QStringList headlist; QList Data=dbManager.Search_CalibrationTable(id,&headlist); - + //QList Data; //tableWidgetItem ui->tableWidgetItem->setRowCount(0); ui->tableWidgetItem->setColumnCount(headlist.count()); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index a89e7db..bf56963 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -534,6 +534,7 @@ } } item.measure_indication_value = sRet; + ui->tableWidgetCheck->setItem(i,15,new QTableWidgetItem(sRet)); //示值 ui->tableWidgetCheck->setItem(i,19,new QTableWidgetItem(sRet)); } } diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a23f7d4..3210be8 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -59,7 +59,7 @@ SaveDeviceMeasureInfo measInfo; BaseCommonApi api; measInfo.id = QString::number(api.generateId()); - measInfo.data_no = "jdsj"+QDateTime::currentDateTime().toString("yyyyMMdd")+"0003"; + //measInfo.data_no; measInfo.order_id = taskList[0].id; measInfo.sample_id=deviceId; measInfo.item_id=measureCalList[0].item_data_id; @@ -86,6 +86,7 @@ item.data_id = measInfo.id; BaseCommonApi::InsertVerMultiCal(item); } + QMessageBox::information(this, "提示", "保存成功!"); } else { diff --git a/softwareDirectory/AutoVerScheme/id/TaskManager.h b/softwareDirectory/AutoVerScheme/id/TaskManager.h index 9bf1935..3d9b474 100644 --- a/softwareDirectory/AutoVerScheme/id/TaskManager.h +++ b/softwareDirectory/AutoVerScheme/id/TaskManager.h @@ -10,15 +10,19 @@ class TaskManager { private: static QMap dailyTaskCounts; // 日期 -> 任务单数量 + static QMap saveResultdatanoList; // 日期 -> 结果保存 static QDate currentDate; static QString KeyDate; - + //ResultKeyDate + static QString ResultKeyDate; public: static int getTaskCountForToday(); static bool AddCurrenTaskCount(); static QString generateTask(QString Number); + static bool AddResultDataNoCount(); + static QString getsaveResultdatano(); }; diff --git a/softwareDirectory/AutoVerScheme/inspectdataitem.cpp b/softwareDirectory/AutoVerScheme/inspectdataitem.cpp index e798260..bfada13 100644 --- a/softwareDirectory/AutoVerScheme/inspectdataitem.cpp +++ b/softwareDirectory/AutoVerScheme/inspectdataitem.cpp @@ -40,7 +40,7 @@ << "核查日期" <<"实验室"<<"部门"<<"操作"; ui->tableWidget->setHorizontalHeaderLabels(headers); //设置tableWidgetItem - ui->tableWidget->setStyleSheet("QHeaderView::section {" + ui->tableWidgetItem->setStyleSheet("QHeaderView::section {" "border: 1px solid rgba(197, 196, 196, 1);" "border-left:none;" "border-top:none;"