diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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/CheckBoxTableHeader.h b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
new file mode 100644
index 0000000..3d9bb35
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
@@ -0,0 +1,51 @@
+#ifndef CHECKBOXTABLEHEADER_H
+#define CHECKBOXTABLEHEADER_H
+
+#include
+#include
+#include
+
+class CheckBoxTableHeader : public QHeaderView {
+ Q_OBJECT
+public:
+ CheckBoxTableHeader(Qt::Orientation orientation, QWidget *parent = nullptr)
+ : QHeaderView(orientation, parent) {
+ checkBox = new QCheckBox(this);
+ connect(checkBox, &QCheckBox::stateChanged, this, &CheckBoxTableHeader::onCheckBoxStateChanged);
+
+ checkBox->setStyleSheet("QCheckBox { margin-left: 35px;"
+ "margin-top:6px; }");
+ // 设置复选框的位置和大小
+ // ...
+ }
+
+ void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
+ QHeaderView::paintSection(painter, rect, logicalIndex);
+ /*if (logicalIndex == 1) { // 只绘制第一列的列头复选框
+
+ }*/
+ }
+
+private slots:
+ void onCheckBoxStateChanged(int state) {
+ QTableWidget *table = qobject_cast(parent());
+
+ if (table) {
+ for (int row = 0; row < table->rowCount(); ++row) {
+ QCheckBox *cellCheckBox = qobject_cast(table->cellWidget(row, 1));
+ if (cellCheckBox) {
+ if(state==2){
+ cellCheckBox->setCheckState(Qt::Checked);
+ }else{
+ cellCheckBox->setCheckState(Qt::Unchecked);
+ }
+
+ }
+ }
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+};
+#endif // CHECKBOXTABLEHEADER_H
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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/CheckBoxTableHeader.h b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
new file mode 100644
index 0000000..3d9bb35
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
@@ -0,0 +1,51 @@
+#ifndef CHECKBOXTABLEHEADER_H
+#define CHECKBOXTABLEHEADER_H
+
+#include
+#include
+#include
+
+class CheckBoxTableHeader : public QHeaderView {
+ Q_OBJECT
+public:
+ CheckBoxTableHeader(Qt::Orientation orientation, QWidget *parent = nullptr)
+ : QHeaderView(orientation, parent) {
+ checkBox = new QCheckBox(this);
+ connect(checkBox, &QCheckBox::stateChanged, this, &CheckBoxTableHeader::onCheckBoxStateChanged);
+
+ checkBox->setStyleSheet("QCheckBox { margin-left: 35px;"
+ "margin-top:6px; }");
+ // 设置复选框的位置和大小
+ // ...
+ }
+
+ void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
+ QHeaderView::paintSection(painter, rect, logicalIndex);
+ /*if (logicalIndex == 1) { // 只绘制第一列的列头复选框
+
+ }*/
+ }
+
+private slots:
+ void onCheckBoxStateChanged(int state) {
+ QTableWidget *table = qobject_cast(parent());
+
+ if (table) {
+ for (int row = 0; row < table->rowCount(); ++row) {
+ QCheckBox *cellCheckBox = qobject_cast(table->cellWidget(row, 1));
+ if (cellCheckBox) {
+ if(state==2){
+ cellCheckBox->setCheckState(Qt::Checked);
+ }else{
+ cellCheckBox->setCheckState(Qt::Unchecked);
+ }
+
+ }
+ }
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+};
+#endif // CHECKBOXTABLEHEADER_H
diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp
new file mode 100644
index 0000000..1462356
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp
@@ -0,0 +1,70 @@
+#include "testdataitem.h"
+#include "id/TaskManager.h"
+#include "basecommonapi.h"
+
+// 定义并初始化静态成员变量
+QMap TaskManager::dailyTaskCounts;
+QDate TaskManager::currentDate;
+QString TaskManager::KeyDate;
+
+QString TaskManager::generateTask(QString Number)
+{
+ // 初始化当天任务单数量为0
+ QString TaskNum=Number;
+ currentDate = QDate::currentDate();
+ KeyDate = currentDate.toString("yyyyMMdd");
+ if(!dailyTaskCounts.contains(KeyDate))
+ {
+ int startIndex = TaskNum.indexOf("d")+1; // 找到 "YYYY" 的起始位置
+ int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符
+ QString result = TaskNum.mid(startIndex, 8); // 从 startIndex 开始,截取8个字符
+ if(result!=KeyDate){
+ dailyTaskCounts[KeyDate] = 1;
+ }else
+ {
+ QChar lastChar = TaskNum.at(TaskNum.length() - 1);
+
+ if (lastChar.isDigit()) {
+
+ int Count=lastChar.digitValue();
+ dailyTaskCounts[KeyDate] = Count+1;
+ }
+
+ }
+
+ }
+ QString dateStr = KeyDate;
+ // 生成任务单编号,这里假设编号格式是 "rwdYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充
+ QString taskId = QString("rwd%1%2").arg(dateStr).arg(dailyTaskCounts[KeyDate], 4, 10, QChar('0'));
+
+ return taskId;
+}
+int TaskManager::getTaskCountForToday()
+{
+ // 返回当天的任务单数量
+ return dailyTaskCounts.value(KeyDate, 0);
+}
+bool TaskManager::AddCurrenTaskCount()
+{
+ // 增加当天任务单数量
+ try {
+
+ dailyTaskCounts[KeyDate]++;
+ return true;
+ } catch(const std::exception &e) {
+ return false;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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/CheckBoxTableHeader.h b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
new file mode 100644
index 0000000..3d9bb35
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
@@ -0,0 +1,51 @@
+#ifndef CHECKBOXTABLEHEADER_H
+#define CHECKBOXTABLEHEADER_H
+
+#include
+#include
+#include
+
+class CheckBoxTableHeader : public QHeaderView {
+ Q_OBJECT
+public:
+ CheckBoxTableHeader(Qt::Orientation orientation, QWidget *parent = nullptr)
+ : QHeaderView(orientation, parent) {
+ checkBox = new QCheckBox(this);
+ connect(checkBox, &QCheckBox::stateChanged, this, &CheckBoxTableHeader::onCheckBoxStateChanged);
+
+ checkBox->setStyleSheet("QCheckBox { margin-left: 35px;"
+ "margin-top:6px; }");
+ // 设置复选框的位置和大小
+ // ...
+ }
+
+ void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
+ QHeaderView::paintSection(painter, rect, logicalIndex);
+ /*if (logicalIndex == 1) { // 只绘制第一列的列头复选框
+
+ }*/
+ }
+
+private slots:
+ void onCheckBoxStateChanged(int state) {
+ QTableWidget *table = qobject_cast(parent());
+
+ if (table) {
+ for (int row = 0; row < table->rowCount(); ++row) {
+ QCheckBox *cellCheckBox = qobject_cast(table->cellWidget(row, 1));
+ if (cellCheckBox) {
+ if(state==2){
+ cellCheckBox->setCheckState(Qt::Checked);
+ }else{
+ cellCheckBox->setCheckState(Qt::Unchecked);
+ }
+
+ }
+ }
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+};
+#endif // CHECKBOXTABLEHEADER_H
diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp
new file mode 100644
index 0000000..1462356
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp
@@ -0,0 +1,70 @@
+#include "testdataitem.h"
+#include "id/TaskManager.h"
+#include "basecommonapi.h"
+
+// 定义并初始化静态成员变量
+QMap TaskManager::dailyTaskCounts;
+QDate TaskManager::currentDate;
+QString TaskManager::KeyDate;
+
+QString TaskManager::generateTask(QString Number)
+{
+ // 初始化当天任务单数量为0
+ QString TaskNum=Number;
+ currentDate = QDate::currentDate();
+ KeyDate = currentDate.toString("yyyyMMdd");
+ if(!dailyTaskCounts.contains(KeyDate))
+ {
+ int startIndex = TaskNum.indexOf("d")+1; // 找到 "YYYY" 的起始位置
+ int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符
+ QString result = TaskNum.mid(startIndex, 8); // 从 startIndex 开始,截取8个字符
+ if(result!=KeyDate){
+ dailyTaskCounts[KeyDate] = 1;
+ }else
+ {
+ QChar lastChar = TaskNum.at(TaskNum.length() - 1);
+
+ if (lastChar.isDigit()) {
+
+ int Count=lastChar.digitValue();
+ dailyTaskCounts[KeyDate] = Count+1;
+ }
+
+ }
+
+ }
+ QString dateStr = KeyDate;
+ // 生成任务单编号,这里假设编号格式是 "rwdYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充
+ QString taskId = QString("rwd%1%2").arg(dateStr).arg(dailyTaskCounts[KeyDate], 4, 10, QChar('0'));
+
+ return taskId;
+}
+int TaskManager::getTaskCountForToday()
+{
+ // 返回当天的任务单数量
+ return dailyTaskCounts.value(KeyDate, 0);
+}
+bool TaskManager::AddCurrenTaskCount()
+{
+ // 增加当天任务单数量
+ try {
+
+ dailyTaskCounts[KeyDate]++;
+ return true;
+ } catch(const std::exception &e) {
+ return false;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
index 1d04dad..79dc7c5 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
@@ -4,7 +4,8 @@
{
}
-
+QString BaseCommonApi::temporary_user_id="1640229293790650370";
+QString BaseCommonApi::temporary_costomer_id="1692432193177047042";
//获取部门任务数据
QList BaseCommonApi::getAllData(QString deptId,QString status) {
QList result;
@@ -81,16 +82,38 @@
}
return result;
}
-
+//查看当前最新的任务单
+QList BaseCommonApi::getCreateTaskListNew()
+{
+ QList result;
+ QSqlQuery query;
+ query.prepare("select * from biz_business_order_info as bz ORDER BY bz.create_time DESC LIMIT 1");
+ if (query.exec()) {
+ while (query.next()) {
+ CreateTaskList task;
+ task.id = query.value("id").toString();
+ task.order_no = query.value("order_no").toString();
+ task.customer_name = query.value("customer_name").toString();
+ task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
+ task.require_over_time = query.value("require_over_time").toDateTime();
+ task.deliverer = query.value("deliverer").toString();
+ task.is_urgent = query.value("is_urgent").toString();
+ result.append(task);
+ }
+ } else {
+ qDebug() << "Query execution failed: " << query.lastError().text();
+ }
+ return result;
+}
//获取创建任务首页数据
QList BaseCommonApi::getCreateTaskList(QString userId)
{
- userId="1640229293790650370";
+ userId=temporary_user_id;
QList result;
QSqlQuery query;
query.prepare("SELECT bi.id,bi.order_no,bi.customer_name,dept.FULL_NAME,bi.require_over_time,bi.deliverer,bi.is_urgent "
" FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID "
- " WHERE bi.create_user_id = :userId");
+ " WHERE bi.create_user_id = :userId ORDER BY bi.create_time DESC");
// 将参数绑定到占位符
query.bindValue(":userId", userId);
if (query.exec()) {
@@ -144,15 +167,16 @@
{
QList result;
QSqlQuery query;
- query.prepare("SELECT bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
- " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent AS ,"
+ query.prepare("SELECT bi.id, bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
+ " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent ,"
" bi.receive_illustrate FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID"
- " WHERE bi.id = :id ");
+ " WHERE bi.id = :id ");
// 将参数绑定到占位符
query.bindValue(":id", id);
if (query.exec()) {
while (query.next()) {
CatTask task;
+ task.id=query.value("id").toString();
task.order_no = query.value("order_no").toString();
task.customer_name = query.value("customer_name").toString();
task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
@@ -215,9 +239,11 @@
{
QList result;
- QSqlQuery query("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
- "bi.require_over_time , bi.deliverer ,bi.is_urgent FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
- if (query.exec()) {
+ QSqlQuery query;
+ bool IsSucc= query.exec("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
+ "bi.require_over_time , bi.deliverer ,bi.is_urgent "
+ "FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
+ if (IsSucc) {
while (query.next()) {
SelectSpecifyFields customerInfo;
customerInfo.id = query.value("id").toString();
@@ -235,13 +261,21 @@
//新增任务单
bool BaseCommonApi::InsertTaskBasic(InsertTask insertTask)
{
+ //1640229293790650370
+ insertTask.Create_user_id=temporary_user_id;
+ insertTask.customer_id=temporary_costomer_id;
QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_info "
- "(id,order_no, customer_name, require_over_time, deliverer, deliverer_tel, "
- "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id) "
- "VALUES "
- "(:id,:order_no, :customer_name, :require_over_time, :deliverer, :deliverer_tel, "
- ":undertaker_name, :undertake_time, :is_urgent, :receive_illustrate, :receive_illustrate)");
+ query.prepare("INSERT INTO biz_business_order_info (id,"
+ "order_no, customer_name, require_over_time, deliverer, deliverer_tel,"
+ "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id,Create_user_id"
+ " ) VALUES (:id, "
+ " :order_no, :customer_name, :require_over_time, "
+ " :deliverer, :deliverer_tel, :undertaker_name, :undertake_time, "
+ " :is_urgent, "
+ " :receive_illustrate,"
+ " :customer_id,"
+ " :Create_user_id"
+ " );");
query.bindValue(":id", insertTask.id);
query.bindValue(":order_no", insertTask.order_no);
@@ -254,7 +288,7 @@
query.bindValue(":is_urgent", insertTask.is_urgent);
query.bindValue(":receive_illustrate", insertTask.receive_illustrate);
query.bindValue(":customer_id", insertTask.customer_id);
-
+ query.bindValue(":Create_user_id", insertTask.Create_user_id);
bool isSuccess = query.exec();
if (!isSuccess) {
qDebug() << "InsertTaskBasic query failed: " << query.lastError().text();
@@ -265,11 +299,12 @@
//新增任务单样品表
bool BaseCommonApi::InsertOrderSampleRelation(OrderSampleRelation orderSample)
{
- QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_sample_relation "
- "(id, order_id, sample_id, sample_name, sample_model, measure_complete_time) "
- "VALUES "
- "(:id, :order_id, :sample_id, :sample_name, :sample_model, :measure_complete_time)");
+ orderSample.create_user_id=temporary_user_id;
+ QSqlQuery query;
+ query.prepare("INSERT INTO biz_business_order_sample_relation (id,order_id,sample_id,"
+ "sample_name, sample_model,measure_complete_time)"
+ "VALUES (:id,:order_id,:sample_id,"
+ ":sample_name, :sample_model,:measure_complete_time);");
// Bind values to the parameters
query.bindValue(":id", orderSample.id);
@@ -279,6 +314,7 @@
query.bindValue(":sample_model", orderSample.sample_model);
query.bindValue(":measure_complete_time", orderSample.measure_complete_time);
+
bool isSuccess = query.exec();
if (!isSuccess) {
@@ -342,6 +378,22 @@
return true;
}
+//删除任务单内设备
+bool BaseCommonApi::DeleteTaskDevice(QString id)
+{
+ QSqlQuery query;
+
+ //删除任务单样品表数据
+ query.prepare("DELETE FROM biz_business_order_sample_relation WHERE id = :id");
+ query.bindValue(":id", id);
+
+ if (!query.exec()) {
+ qDebug() << "删除失败 " << query.lastError().text();
+ return false;
+ }
+
+ return true;
+}
//获取标准设备管理 首页
QListBaseCommonApi::getBizDeviceManage()
{
@@ -478,7 +530,7 @@
QSqlQuery query;
bool isSuccess = query.exec("SELECT DISTINCT eei.id ,eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.manufacturer ,bboi.customer_name ,sys_dept.FULL_NAME ,eei.meter_identify ,eei.check_cycle ,eei.certificate_valid from eqpt_equipment_info eei "
" LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id "
- " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id ");
+ " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id LIMIT 100");
if (isSuccess) {
while (query.next()) {
TestedDevice testedDevice;
@@ -603,7 +655,7 @@
case 1:
//Clable[0].item_category_idiT
- //1717086652508487681 后面替换为 Clable[0].item_category_idiT
+ //1717086652508487681 后面替换为 Clable[0].item_category_id
DataList=BaseCommonApi::getVerMultiCal("1717086652508487681",HeadList);
break;
@@ -728,9 +780,11 @@
return result;
}
//检定数据管理-检定结果信息
-QList BaseCommonApi::getVerificationResultData(QString sampleId)
+QList BaseCommonApi::getVerificationResultData(QString sampleId,QStringList *HeadList)
{
-QList result;
+ sampleId="1716997603953311746";
+ QList resultData;
+ QStringList result;
QSqlQuery query;
query.prepare("SELECT bbdmidc.id ,bbdmidc.params ,bbdmidc.capacity ,bbdmidc.unit ,"
" bbdmidc.frequency , bbdmidc.range_range , bbdmidc.standard_value , bbdmidc.resolution , bbdmidc.maximum_error , "
@@ -743,27 +797,30 @@
query.bindValue(":sampleId", sampleId);
if (query.exec()) {
while (query.next()) {
- VerificationResultData resultData;
- resultData.id = query.value("id").toString();
- resultData.params = query.value("params").toString();
- resultData.capacity = query.value("capacity").toString();
- resultData.unit = query.value("unit").toString();
- resultData.frequency = query.value("frequency").toString();
- resultData.range_range = query.value("range_range").toString();
- resultData.standard_value = query.value("standard_value").toString();
- resultData.resolution = query.value("resolution").toString();
- resultData.maximum_error = query.value("maximum_error").toString();
- resultData.error_param_a = query.value("error_param_a").toString();
- resultData.error_param_b = query.value("error_param_b").toString();
- resultData.other_outcome = query.value("other_outcome").toString();
+ result.clear();
+ result.append(query.value("id").toString());
+ 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("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("other_outcome").toString());
- result.append(resultData);
+ resultData.append(result);
}
} else {
qDebug() << "Query execution failed: " << query.lastError().text();
}
+ *HeadList<<"序号"<<"参数"<<"量"<<"单位"<<"频率"
+ <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a"
+ <<"误差参数b"<<"合格率";
- return result;
+ return resultData;
}
//核查数据管理 首页
@@ -1172,6 +1229,15 @@
{
return this->idWorker.nextId();
}
+QString BaseCommonApi::GenerateTaskNumber()
+{
+ QList TaskList= BaseCommonApi::getCreateTaskListNew();
+ return TaskManager::generateTask(TaskList.first().order_no);
+}
+bool BaseCommonApi::AddTaskNumber()
+{
+ return TaskManager::AddCurrenTaskCount();
+}
//自动检定-结果保存-biz_business_device_measure_info 基本信息表
bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo)
{
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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/CheckBoxTableHeader.h b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
new file mode 100644
index 0000000..3d9bb35
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
@@ -0,0 +1,51 @@
+#ifndef CHECKBOXTABLEHEADER_H
+#define CHECKBOXTABLEHEADER_H
+
+#include
+#include
+#include
+
+class CheckBoxTableHeader : public QHeaderView {
+ Q_OBJECT
+public:
+ CheckBoxTableHeader(Qt::Orientation orientation, QWidget *parent = nullptr)
+ : QHeaderView(orientation, parent) {
+ checkBox = new QCheckBox(this);
+ connect(checkBox, &QCheckBox::stateChanged, this, &CheckBoxTableHeader::onCheckBoxStateChanged);
+
+ checkBox->setStyleSheet("QCheckBox { margin-left: 35px;"
+ "margin-top:6px; }");
+ // 设置复选框的位置和大小
+ // ...
+ }
+
+ void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
+ QHeaderView::paintSection(painter, rect, logicalIndex);
+ /*if (logicalIndex == 1) { // 只绘制第一列的列头复选框
+
+ }*/
+ }
+
+private slots:
+ void onCheckBoxStateChanged(int state) {
+ QTableWidget *table = qobject_cast(parent());
+
+ if (table) {
+ for (int row = 0; row < table->rowCount(); ++row) {
+ QCheckBox *cellCheckBox = qobject_cast(table->cellWidget(row, 1));
+ if (cellCheckBox) {
+ if(state==2){
+ cellCheckBox->setCheckState(Qt::Checked);
+ }else{
+ cellCheckBox->setCheckState(Qt::Unchecked);
+ }
+
+ }
+ }
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+};
+#endif // CHECKBOXTABLEHEADER_H
diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp
new file mode 100644
index 0000000..1462356
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp
@@ -0,0 +1,70 @@
+#include "testdataitem.h"
+#include "id/TaskManager.h"
+#include "basecommonapi.h"
+
+// 定义并初始化静态成员变量
+QMap TaskManager::dailyTaskCounts;
+QDate TaskManager::currentDate;
+QString TaskManager::KeyDate;
+
+QString TaskManager::generateTask(QString Number)
+{
+ // 初始化当天任务单数量为0
+ QString TaskNum=Number;
+ currentDate = QDate::currentDate();
+ KeyDate = currentDate.toString("yyyyMMdd");
+ if(!dailyTaskCounts.contains(KeyDate))
+ {
+ int startIndex = TaskNum.indexOf("d")+1; // 找到 "YYYY" 的起始位置
+ int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符
+ QString result = TaskNum.mid(startIndex, 8); // 从 startIndex 开始,截取8个字符
+ if(result!=KeyDate){
+ dailyTaskCounts[KeyDate] = 1;
+ }else
+ {
+ QChar lastChar = TaskNum.at(TaskNum.length() - 1);
+
+ if (lastChar.isDigit()) {
+
+ int Count=lastChar.digitValue();
+ dailyTaskCounts[KeyDate] = Count+1;
+ }
+
+ }
+
+ }
+ QString dateStr = KeyDate;
+ // 生成任务单编号,这里假设编号格式是 "rwdYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充
+ QString taskId = QString("rwd%1%2").arg(dateStr).arg(dailyTaskCounts[KeyDate], 4, 10, QChar('0'));
+
+ return taskId;
+}
+int TaskManager::getTaskCountForToday()
+{
+ // 返回当天的任务单数量
+ return dailyTaskCounts.value(KeyDate, 0);
+}
+bool TaskManager::AddCurrenTaskCount()
+{
+ // 增加当天任务单数量
+ try {
+
+ dailyTaskCounts[KeyDate]++;
+ return true;
+ } catch(const std::exception &e) {
+ return false;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
index 1d04dad..79dc7c5 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
@@ -4,7 +4,8 @@
{
}
-
+QString BaseCommonApi::temporary_user_id="1640229293790650370";
+QString BaseCommonApi::temporary_costomer_id="1692432193177047042";
//获取部门任务数据
QList BaseCommonApi::getAllData(QString deptId,QString status) {
QList result;
@@ -81,16 +82,38 @@
}
return result;
}
-
+//查看当前最新的任务单
+QList BaseCommonApi::getCreateTaskListNew()
+{
+ QList result;
+ QSqlQuery query;
+ query.prepare("select * from biz_business_order_info as bz ORDER BY bz.create_time DESC LIMIT 1");
+ if (query.exec()) {
+ while (query.next()) {
+ CreateTaskList task;
+ task.id = query.value("id").toString();
+ task.order_no = query.value("order_no").toString();
+ task.customer_name = query.value("customer_name").toString();
+ task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
+ task.require_over_time = query.value("require_over_time").toDateTime();
+ task.deliverer = query.value("deliverer").toString();
+ task.is_urgent = query.value("is_urgent").toString();
+ result.append(task);
+ }
+ } else {
+ qDebug() << "Query execution failed: " << query.lastError().text();
+ }
+ return result;
+}
//获取创建任务首页数据
QList BaseCommonApi::getCreateTaskList(QString userId)
{
- userId="1640229293790650370";
+ userId=temporary_user_id;
QList result;
QSqlQuery query;
query.prepare("SELECT bi.id,bi.order_no,bi.customer_name,dept.FULL_NAME,bi.require_over_time,bi.deliverer,bi.is_urgent "
" FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID "
- " WHERE bi.create_user_id = :userId");
+ " WHERE bi.create_user_id = :userId ORDER BY bi.create_time DESC");
// 将参数绑定到占位符
query.bindValue(":userId", userId);
if (query.exec()) {
@@ -144,15 +167,16 @@
{
QList result;
QSqlQuery query;
- query.prepare("SELECT bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
- " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent AS ,"
+ query.prepare("SELECT bi.id, bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
+ " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent ,"
" bi.receive_illustrate FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID"
- " WHERE bi.id = :id ");
+ " WHERE bi.id = :id ");
// 将参数绑定到占位符
query.bindValue(":id", id);
if (query.exec()) {
while (query.next()) {
CatTask task;
+ task.id=query.value("id").toString();
task.order_no = query.value("order_no").toString();
task.customer_name = query.value("customer_name").toString();
task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
@@ -215,9 +239,11 @@
{
QList result;
- QSqlQuery query("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
- "bi.require_over_time , bi.deliverer ,bi.is_urgent FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
- if (query.exec()) {
+ QSqlQuery query;
+ bool IsSucc= query.exec("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
+ "bi.require_over_time , bi.deliverer ,bi.is_urgent "
+ "FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
+ if (IsSucc) {
while (query.next()) {
SelectSpecifyFields customerInfo;
customerInfo.id = query.value("id").toString();
@@ -235,13 +261,21 @@
//新增任务单
bool BaseCommonApi::InsertTaskBasic(InsertTask insertTask)
{
+ //1640229293790650370
+ insertTask.Create_user_id=temporary_user_id;
+ insertTask.customer_id=temporary_costomer_id;
QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_info "
- "(id,order_no, customer_name, require_over_time, deliverer, deliverer_tel, "
- "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id) "
- "VALUES "
- "(:id,:order_no, :customer_name, :require_over_time, :deliverer, :deliverer_tel, "
- ":undertaker_name, :undertake_time, :is_urgent, :receive_illustrate, :receive_illustrate)");
+ query.prepare("INSERT INTO biz_business_order_info (id,"
+ "order_no, customer_name, require_over_time, deliverer, deliverer_tel,"
+ "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id,Create_user_id"
+ " ) VALUES (:id, "
+ " :order_no, :customer_name, :require_over_time, "
+ " :deliverer, :deliverer_tel, :undertaker_name, :undertake_time, "
+ " :is_urgent, "
+ " :receive_illustrate,"
+ " :customer_id,"
+ " :Create_user_id"
+ " );");
query.bindValue(":id", insertTask.id);
query.bindValue(":order_no", insertTask.order_no);
@@ -254,7 +288,7 @@
query.bindValue(":is_urgent", insertTask.is_urgent);
query.bindValue(":receive_illustrate", insertTask.receive_illustrate);
query.bindValue(":customer_id", insertTask.customer_id);
-
+ query.bindValue(":Create_user_id", insertTask.Create_user_id);
bool isSuccess = query.exec();
if (!isSuccess) {
qDebug() << "InsertTaskBasic query failed: " << query.lastError().text();
@@ -265,11 +299,12 @@
//新增任务单样品表
bool BaseCommonApi::InsertOrderSampleRelation(OrderSampleRelation orderSample)
{
- QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_sample_relation "
- "(id, order_id, sample_id, sample_name, sample_model, measure_complete_time) "
- "VALUES "
- "(:id, :order_id, :sample_id, :sample_name, :sample_model, :measure_complete_time)");
+ orderSample.create_user_id=temporary_user_id;
+ QSqlQuery query;
+ query.prepare("INSERT INTO biz_business_order_sample_relation (id,order_id,sample_id,"
+ "sample_name, sample_model,measure_complete_time)"
+ "VALUES (:id,:order_id,:sample_id,"
+ ":sample_name, :sample_model,:measure_complete_time);");
// Bind values to the parameters
query.bindValue(":id", orderSample.id);
@@ -279,6 +314,7 @@
query.bindValue(":sample_model", orderSample.sample_model);
query.bindValue(":measure_complete_time", orderSample.measure_complete_time);
+
bool isSuccess = query.exec();
if (!isSuccess) {
@@ -342,6 +378,22 @@
return true;
}
+//删除任务单内设备
+bool BaseCommonApi::DeleteTaskDevice(QString id)
+{
+ QSqlQuery query;
+
+ //删除任务单样品表数据
+ query.prepare("DELETE FROM biz_business_order_sample_relation WHERE id = :id");
+ query.bindValue(":id", id);
+
+ if (!query.exec()) {
+ qDebug() << "删除失败 " << query.lastError().text();
+ return false;
+ }
+
+ return true;
+}
//获取标准设备管理 首页
QListBaseCommonApi::getBizDeviceManage()
{
@@ -478,7 +530,7 @@
QSqlQuery query;
bool isSuccess = query.exec("SELECT DISTINCT eei.id ,eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.manufacturer ,bboi.customer_name ,sys_dept.FULL_NAME ,eei.meter_identify ,eei.check_cycle ,eei.certificate_valid from eqpt_equipment_info eei "
" LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id "
- " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id ");
+ " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id LIMIT 100");
if (isSuccess) {
while (query.next()) {
TestedDevice testedDevice;
@@ -603,7 +655,7 @@
case 1:
//Clable[0].item_category_idiT
- //1717086652508487681 后面替换为 Clable[0].item_category_idiT
+ //1717086652508487681 后面替换为 Clable[0].item_category_id
DataList=BaseCommonApi::getVerMultiCal("1717086652508487681",HeadList);
break;
@@ -728,9 +780,11 @@
return result;
}
//检定数据管理-检定结果信息
-QList BaseCommonApi::getVerificationResultData(QString sampleId)
+QList BaseCommonApi::getVerificationResultData(QString sampleId,QStringList *HeadList)
{
-QList result;
+ sampleId="1716997603953311746";
+ QList resultData;
+ QStringList result;
QSqlQuery query;
query.prepare("SELECT bbdmidc.id ,bbdmidc.params ,bbdmidc.capacity ,bbdmidc.unit ,"
" bbdmidc.frequency , bbdmidc.range_range , bbdmidc.standard_value , bbdmidc.resolution , bbdmidc.maximum_error , "
@@ -743,27 +797,30 @@
query.bindValue(":sampleId", sampleId);
if (query.exec()) {
while (query.next()) {
- VerificationResultData resultData;
- resultData.id = query.value("id").toString();
- resultData.params = query.value("params").toString();
- resultData.capacity = query.value("capacity").toString();
- resultData.unit = query.value("unit").toString();
- resultData.frequency = query.value("frequency").toString();
- resultData.range_range = query.value("range_range").toString();
- resultData.standard_value = query.value("standard_value").toString();
- resultData.resolution = query.value("resolution").toString();
- resultData.maximum_error = query.value("maximum_error").toString();
- resultData.error_param_a = query.value("error_param_a").toString();
- resultData.error_param_b = query.value("error_param_b").toString();
- resultData.other_outcome = query.value("other_outcome").toString();
+ result.clear();
+ result.append(query.value("id").toString());
+ 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("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("other_outcome").toString());
- result.append(resultData);
+ resultData.append(result);
}
} else {
qDebug() << "Query execution failed: " << query.lastError().text();
}
+ *HeadList<<"序号"<<"参数"<<"量"<<"单位"<<"频率"
+ <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a"
+ <<"误差参数b"<<"合格率";
- return result;
+ return resultData;
}
//核查数据管理 首页
@@ -1172,6 +1229,15 @@
{
return this->idWorker.nextId();
}
+QString BaseCommonApi::GenerateTaskNumber()
+{
+ QList TaskList= BaseCommonApi::getCreateTaskListNew();
+ return TaskManager::generateTask(TaskList.first().order_no);
+}
+bool BaseCommonApi::AddTaskNumber()
+{
+ return TaskManager::AddCurrenTaskCount();
+}
//自动检定-结果保存-biz_business_device_measure_info 基本信息表
bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo)
{
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h
index 3a18225..5302456 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.h
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.h
@@ -8,6 +8,7 @@
#include "QList"
#include "databaseconnection.h"
#include "id\IdWorker.h"
+#include "id\TaskManager.h"
@@ -108,8 +109,9 @@
QString deliverer; //送检人
QString deliverer_tel; //电话
QString undertaker_name; //承接人
- QDateTime undertake_time; //承接时间
- QString is_urgent; //是否加急
+ QString undertake_time; //承接时间
+ bool is_urgent; //是否加急
+ QString Create_user_id;
QString receive_illustrate; //接收说明
QString customer_id;//委托人id
};
@@ -122,6 +124,7 @@
QString sample_id; //被检设备的id
QString sample_name; //设备名称
QString sample_model; // 型号规格
+ QString create_user_id; // 型号规格
QDateTime measure_complete_time; //检定完成时间
};
//创建任务单编辑
@@ -517,7 +520,8 @@
{
public:
BaseCommonApi();
-
+ static QString temporary_user_id;
+ static QString temporary_costomer_id;
static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList);
//部门任务 废弃
@@ -530,6 +534,8 @@
static QList getMyTasks(QString id,QString status);
//获取创建任务首页数据
static QListgetCreateTaskList(QString id);
+ //获取创建任务最新数据
+ static QListgetCreateTaskListNew();
//创建任务-查看任务单顶部
static QListgetCatTask(QString orderNo);
//创建任务-查看任务列表底部
@@ -544,6 +550,7 @@
static bool UpdateTask(InsertTask updateTask);
//删除任务单
static bool DeleteTask(QString id);
+ static bool DeleteTaskDevice(QString id);
//获取标准设备管理 首页
static QListgetBizDeviceManage();
//标准设备管理-设备基本信息
@@ -565,7 +572,7 @@
// 检定数据管理-检定基本信息
static QList getVerificationBasicDataDetails(QString id);
//检定数据管理-检定结果信息
- static QList getVerificationResultData(QString sampleId);
+ static QList getVerificationResultData(QString sampleId,QStringList *HeadList);
//核查数据管理-首页
static QList getCheckData();
// 核查数据管理-基本信息
@@ -603,6 +610,10 @@
qint64 generateId();
//雪花算法生成id
IdWorker &idWorker = Singleton::instance();
+ // 生成任务单编号
+ QString GenerateTaskNumber();
+ // 生成任务单编号当天天数增加
+ bool AddTaskNumber();
//自动检定-结果保存-基本信息
static bool InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo);
//自动检定-结果保存-更新检定结果信息-多功能校准源检定装置 只更新 示值和绝对误差
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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/CheckBoxTableHeader.h b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
new file mode 100644
index 0000000..3d9bb35
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
@@ -0,0 +1,51 @@
+#ifndef CHECKBOXTABLEHEADER_H
+#define CHECKBOXTABLEHEADER_H
+
+#include
+#include
+#include
+
+class CheckBoxTableHeader : public QHeaderView {
+ Q_OBJECT
+public:
+ CheckBoxTableHeader(Qt::Orientation orientation, QWidget *parent = nullptr)
+ : QHeaderView(orientation, parent) {
+ checkBox = new QCheckBox(this);
+ connect(checkBox, &QCheckBox::stateChanged, this, &CheckBoxTableHeader::onCheckBoxStateChanged);
+
+ checkBox->setStyleSheet("QCheckBox { margin-left: 35px;"
+ "margin-top:6px; }");
+ // 设置复选框的位置和大小
+ // ...
+ }
+
+ void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
+ QHeaderView::paintSection(painter, rect, logicalIndex);
+ /*if (logicalIndex == 1) { // 只绘制第一列的列头复选框
+
+ }*/
+ }
+
+private slots:
+ void onCheckBoxStateChanged(int state) {
+ QTableWidget *table = qobject_cast(parent());
+
+ if (table) {
+ for (int row = 0; row < table->rowCount(); ++row) {
+ QCheckBox *cellCheckBox = qobject_cast(table->cellWidget(row, 1));
+ if (cellCheckBox) {
+ if(state==2){
+ cellCheckBox->setCheckState(Qt::Checked);
+ }else{
+ cellCheckBox->setCheckState(Qt::Unchecked);
+ }
+
+ }
+ }
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+};
+#endif // CHECKBOXTABLEHEADER_H
diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp
new file mode 100644
index 0000000..1462356
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp
@@ -0,0 +1,70 @@
+#include "testdataitem.h"
+#include "id/TaskManager.h"
+#include "basecommonapi.h"
+
+// 定义并初始化静态成员变量
+QMap TaskManager::dailyTaskCounts;
+QDate TaskManager::currentDate;
+QString TaskManager::KeyDate;
+
+QString TaskManager::generateTask(QString Number)
+{
+ // 初始化当天任务单数量为0
+ QString TaskNum=Number;
+ currentDate = QDate::currentDate();
+ KeyDate = currentDate.toString("yyyyMMdd");
+ if(!dailyTaskCounts.contains(KeyDate))
+ {
+ int startIndex = TaskNum.indexOf("d")+1; // 找到 "YYYY" 的起始位置
+ int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符
+ QString result = TaskNum.mid(startIndex, 8); // 从 startIndex 开始,截取8个字符
+ if(result!=KeyDate){
+ dailyTaskCounts[KeyDate] = 1;
+ }else
+ {
+ QChar lastChar = TaskNum.at(TaskNum.length() - 1);
+
+ if (lastChar.isDigit()) {
+
+ int Count=lastChar.digitValue();
+ dailyTaskCounts[KeyDate] = Count+1;
+ }
+
+ }
+
+ }
+ QString dateStr = KeyDate;
+ // 生成任务单编号,这里假设编号格式是 "rwdYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充
+ QString taskId = QString("rwd%1%2").arg(dateStr).arg(dailyTaskCounts[KeyDate], 4, 10, QChar('0'));
+
+ return taskId;
+}
+int TaskManager::getTaskCountForToday()
+{
+ // 返回当天的任务单数量
+ return dailyTaskCounts.value(KeyDate, 0);
+}
+bool TaskManager::AddCurrenTaskCount()
+{
+ // 增加当天任务单数量
+ try {
+
+ dailyTaskCounts[KeyDate]++;
+ return true;
+ } catch(const std::exception &e) {
+ return false;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
index 1d04dad..79dc7c5 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
@@ -4,7 +4,8 @@
{
}
-
+QString BaseCommonApi::temporary_user_id="1640229293790650370";
+QString BaseCommonApi::temporary_costomer_id="1692432193177047042";
//获取部门任务数据
QList BaseCommonApi::getAllData(QString deptId,QString status) {
QList result;
@@ -81,16 +82,38 @@
}
return result;
}
-
+//查看当前最新的任务单
+QList BaseCommonApi::getCreateTaskListNew()
+{
+ QList result;
+ QSqlQuery query;
+ query.prepare("select * from biz_business_order_info as bz ORDER BY bz.create_time DESC LIMIT 1");
+ if (query.exec()) {
+ while (query.next()) {
+ CreateTaskList task;
+ task.id = query.value("id").toString();
+ task.order_no = query.value("order_no").toString();
+ task.customer_name = query.value("customer_name").toString();
+ task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
+ task.require_over_time = query.value("require_over_time").toDateTime();
+ task.deliverer = query.value("deliverer").toString();
+ task.is_urgent = query.value("is_urgent").toString();
+ result.append(task);
+ }
+ } else {
+ qDebug() << "Query execution failed: " << query.lastError().text();
+ }
+ return result;
+}
//获取创建任务首页数据
QList BaseCommonApi::getCreateTaskList(QString userId)
{
- userId="1640229293790650370";
+ userId=temporary_user_id;
QList result;
QSqlQuery query;
query.prepare("SELECT bi.id,bi.order_no,bi.customer_name,dept.FULL_NAME,bi.require_over_time,bi.deliverer,bi.is_urgent "
" FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID "
- " WHERE bi.create_user_id = :userId");
+ " WHERE bi.create_user_id = :userId ORDER BY bi.create_time DESC");
// 将参数绑定到占位符
query.bindValue(":userId", userId);
if (query.exec()) {
@@ -144,15 +167,16 @@
{
QList result;
QSqlQuery query;
- query.prepare("SELECT bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
- " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent AS ,"
+ query.prepare("SELECT bi.id, bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
+ " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent ,"
" bi.receive_illustrate FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID"
- " WHERE bi.id = :id ");
+ " WHERE bi.id = :id ");
// 将参数绑定到占位符
query.bindValue(":id", id);
if (query.exec()) {
while (query.next()) {
CatTask task;
+ task.id=query.value("id").toString();
task.order_no = query.value("order_no").toString();
task.customer_name = query.value("customer_name").toString();
task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
@@ -215,9 +239,11 @@
{
QList result;
- QSqlQuery query("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
- "bi.require_over_time , bi.deliverer ,bi.is_urgent FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
- if (query.exec()) {
+ QSqlQuery query;
+ bool IsSucc= query.exec("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
+ "bi.require_over_time , bi.deliverer ,bi.is_urgent "
+ "FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
+ if (IsSucc) {
while (query.next()) {
SelectSpecifyFields customerInfo;
customerInfo.id = query.value("id").toString();
@@ -235,13 +261,21 @@
//新增任务单
bool BaseCommonApi::InsertTaskBasic(InsertTask insertTask)
{
+ //1640229293790650370
+ insertTask.Create_user_id=temporary_user_id;
+ insertTask.customer_id=temporary_costomer_id;
QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_info "
- "(id,order_no, customer_name, require_over_time, deliverer, deliverer_tel, "
- "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id) "
- "VALUES "
- "(:id,:order_no, :customer_name, :require_over_time, :deliverer, :deliverer_tel, "
- ":undertaker_name, :undertake_time, :is_urgent, :receive_illustrate, :receive_illustrate)");
+ query.prepare("INSERT INTO biz_business_order_info (id,"
+ "order_no, customer_name, require_over_time, deliverer, deliverer_tel,"
+ "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id,Create_user_id"
+ " ) VALUES (:id, "
+ " :order_no, :customer_name, :require_over_time, "
+ " :deliverer, :deliverer_tel, :undertaker_name, :undertake_time, "
+ " :is_urgent, "
+ " :receive_illustrate,"
+ " :customer_id,"
+ " :Create_user_id"
+ " );");
query.bindValue(":id", insertTask.id);
query.bindValue(":order_no", insertTask.order_no);
@@ -254,7 +288,7 @@
query.bindValue(":is_urgent", insertTask.is_urgent);
query.bindValue(":receive_illustrate", insertTask.receive_illustrate);
query.bindValue(":customer_id", insertTask.customer_id);
-
+ query.bindValue(":Create_user_id", insertTask.Create_user_id);
bool isSuccess = query.exec();
if (!isSuccess) {
qDebug() << "InsertTaskBasic query failed: " << query.lastError().text();
@@ -265,11 +299,12 @@
//新增任务单样品表
bool BaseCommonApi::InsertOrderSampleRelation(OrderSampleRelation orderSample)
{
- QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_sample_relation "
- "(id, order_id, sample_id, sample_name, sample_model, measure_complete_time) "
- "VALUES "
- "(:id, :order_id, :sample_id, :sample_name, :sample_model, :measure_complete_time)");
+ orderSample.create_user_id=temporary_user_id;
+ QSqlQuery query;
+ query.prepare("INSERT INTO biz_business_order_sample_relation (id,order_id,sample_id,"
+ "sample_name, sample_model,measure_complete_time)"
+ "VALUES (:id,:order_id,:sample_id,"
+ ":sample_name, :sample_model,:measure_complete_time);");
// Bind values to the parameters
query.bindValue(":id", orderSample.id);
@@ -279,6 +314,7 @@
query.bindValue(":sample_model", orderSample.sample_model);
query.bindValue(":measure_complete_time", orderSample.measure_complete_time);
+
bool isSuccess = query.exec();
if (!isSuccess) {
@@ -342,6 +378,22 @@
return true;
}
+//删除任务单内设备
+bool BaseCommonApi::DeleteTaskDevice(QString id)
+{
+ QSqlQuery query;
+
+ //删除任务单样品表数据
+ query.prepare("DELETE FROM biz_business_order_sample_relation WHERE id = :id");
+ query.bindValue(":id", id);
+
+ if (!query.exec()) {
+ qDebug() << "删除失败 " << query.lastError().text();
+ return false;
+ }
+
+ return true;
+}
//获取标准设备管理 首页
QListBaseCommonApi::getBizDeviceManage()
{
@@ -478,7 +530,7 @@
QSqlQuery query;
bool isSuccess = query.exec("SELECT DISTINCT eei.id ,eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.manufacturer ,bboi.customer_name ,sys_dept.FULL_NAME ,eei.meter_identify ,eei.check_cycle ,eei.certificate_valid from eqpt_equipment_info eei "
" LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id "
- " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id ");
+ " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id LIMIT 100");
if (isSuccess) {
while (query.next()) {
TestedDevice testedDevice;
@@ -603,7 +655,7 @@
case 1:
//Clable[0].item_category_idiT
- //1717086652508487681 后面替换为 Clable[0].item_category_idiT
+ //1717086652508487681 后面替换为 Clable[0].item_category_id
DataList=BaseCommonApi::getVerMultiCal("1717086652508487681",HeadList);
break;
@@ -728,9 +780,11 @@
return result;
}
//检定数据管理-检定结果信息
-QList BaseCommonApi::getVerificationResultData(QString sampleId)
+QList BaseCommonApi::getVerificationResultData(QString sampleId,QStringList *HeadList)
{
-QList result;
+ sampleId="1716997603953311746";
+ QList resultData;
+ QStringList result;
QSqlQuery query;
query.prepare("SELECT bbdmidc.id ,bbdmidc.params ,bbdmidc.capacity ,bbdmidc.unit ,"
" bbdmidc.frequency , bbdmidc.range_range , bbdmidc.standard_value , bbdmidc.resolution , bbdmidc.maximum_error , "
@@ -743,27 +797,30 @@
query.bindValue(":sampleId", sampleId);
if (query.exec()) {
while (query.next()) {
- VerificationResultData resultData;
- resultData.id = query.value("id").toString();
- resultData.params = query.value("params").toString();
- resultData.capacity = query.value("capacity").toString();
- resultData.unit = query.value("unit").toString();
- resultData.frequency = query.value("frequency").toString();
- resultData.range_range = query.value("range_range").toString();
- resultData.standard_value = query.value("standard_value").toString();
- resultData.resolution = query.value("resolution").toString();
- resultData.maximum_error = query.value("maximum_error").toString();
- resultData.error_param_a = query.value("error_param_a").toString();
- resultData.error_param_b = query.value("error_param_b").toString();
- resultData.other_outcome = query.value("other_outcome").toString();
+ result.clear();
+ result.append(query.value("id").toString());
+ 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("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("other_outcome").toString());
- result.append(resultData);
+ resultData.append(result);
}
} else {
qDebug() << "Query execution failed: " << query.lastError().text();
}
+ *HeadList<<"序号"<<"参数"<<"量"<<"单位"<<"频率"
+ <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a"
+ <<"误差参数b"<<"合格率";
- return result;
+ return resultData;
}
//核查数据管理 首页
@@ -1172,6 +1229,15 @@
{
return this->idWorker.nextId();
}
+QString BaseCommonApi::GenerateTaskNumber()
+{
+ QList TaskList= BaseCommonApi::getCreateTaskListNew();
+ return TaskManager::generateTask(TaskList.first().order_no);
+}
+bool BaseCommonApi::AddTaskNumber()
+{
+ return TaskManager::AddCurrenTaskCount();
+}
//自动检定-结果保存-biz_business_device_measure_info 基本信息表
bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo)
{
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h
index 3a18225..5302456 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.h
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.h
@@ -8,6 +8,7 @@
#include "QList"
#include "databaseconnection.h"
#include "id\IdWorker.h"
+#include "id\TaskManager.h"
@@ -108,8 +109,9 @@
QString deliverer; //送检人
QString deliverer_tel; //电话
QString undertaker_name; //承接人
- QDateTime undertake_time; //承接时间
- QString is_urgent; //是否加急
+ QString undertake_time; //承接时间
+ bool is_urgent; //是否加急
+ QString Create_user_id;
QString receive_illustrate; //接收说明
QString customer_id;//委托人id
};
@@ -122,6 +124,7 @@
QString sample_id; //被检设备的id
QString sample_name; //设备名称
QString sample_model; // 型号规格
+ QString create_user_id; // 型号规格
QDateTime measure_complete_time; //检定完成时间
};
//创建任务单编辑
@@ -517,7 +520,8 @@
{
public:
BaseCommonApi();
-
+ static QString temporary_user_id;
+ static QString temporary_costomer_id;
static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList);
//部门任务 废弃
@@ -530,6 +534,8 @@
static QList getMyTasks(QString id,QString status);
//获取创建任务首页数据
static QListgetCreateTaskList(QString id);
+ //获取创建任务最新数据
+ static QListgetCreateTaskListNew();
//创建任务-查看任务单顶部
static QListgetCatTask(QString orderNo);
//创建任务-查看任务列表底部
@@ -544,6 +550,7 @@
static bool UpdateTask(InsertTask updateTask);
//删除任务单
static bool DeleteTask(QString id);
+ static bool DeleteTaskDevice(QString id);
//获取标准设备管理 首页
static QListgetBizDeviceManage();
//标准设备管理-设备基本信息
@@ -565,7 +572,7 @@
// 检定数据管理-检定基本信息
static QList getVerificationBasicDataDetails(QString id);
//检定数据管理-检定结果信息
- static QList getVerificationResultData(QString sampleId);
+ static QList getVerificationResultData(QString sampleId,QStringList *HeadList);
//核查数据管理-首页
static QList getCheckData();
// 核查数据管理-基本信息
@@ -603,6 +610,10 @@
qint64 generateId();
//雪花算法生成id
IdWorker &idWorker = Singleton::instance();
+ // 生成任务单编号
+ QString GenerateTaskNumber();
+ // 生成任务单编号当天天数增加
+ bool AddTaskNumber();
//自动检定-结果保存-基本信息
static bool InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo);
//自动检定-结果保存-更新检定结果信息-多功能校准源检定装置 只更新 示值和绝对误差
diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
index ca5e040..b94c9b5 100644
--- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
+++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
@@ -108,6 +108,8 @@
//添加操作按钮
QPushButton *button = new QPushButton("查看");
+ button->setIconSize(QSize(16,16));
+ button->setIcon(QIcon(":/image/Index/u2327.svg"));
ui->tableWidget->setCellWidget(row, 12, button);
//设置按钮简单样式
button->setStyleSheet("QPushButton {"
@@ -192,7 +194,7 @@
//循环数据
int rowCount=0;
int row=0;
- ;
+
for (const QStringList& item : Data)
{
//获取行号 并进行添加行
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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/CheckBoxTableHeader.h b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
new file mode 100644
index 0000000..3d9bb35
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
@@ -0,0 +1,51 @@
+#ifndef CHECKBOXTABLEHEADER_H
+#define CHECKBOXTABLEHEADER_H
+
+#include
+#include
+#include
+
+class CheckBoxTableHeader : public QHeaderView {
+ Q_OBJECT
+public:
+ CheckBoxTableHeader(Qt::Orientation orientation, QWidget *parent = nullptr)
+ : QHeaderView(orientation, parent) {
+ checkBox = new QCheckBox(this);
+ connect(checkBox, &QCheckBox::stateChanged, this, &CheckBoxTableHeader::onCheckBoxStateChanged);
+
+ checkBox->setStyleSheet("QCheckBox { margin-left: 35px;"
+ "margin-top:6px; }");
+ // 设置复选框的位置和大小
+ // ...
+ }
+
+ void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
+ QHeaderView::paintSection(painter, rect, logicalIndex);
+ /*if (logicalIndex == 1) { // 只绘制第一列的列头复选框
+
+ }*/
+ }
+
+private slots:
+ void onCheckBoxStateChanged(int state) {
+ QTableWidget *table = qobject_cast(parent());
+
+ if (table) {
+ for (int row = 0; row < table->rowCount(); ++row) {
+ QCheckBox *cellCheckBox = qobject_cast(table->cellWidget(row, 1));
+ if (cellCheckBox) {
+ if(state==2){
+ cellCheckBox->setCheckState(Qt::Checked);
+ }else{
+ cellCheckBox->setCheckState(Qt::Unchecked);
+ }
+
+ }
+ }
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+};
+#endif // CHECKBOXTABLEHEADER_H
diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp
new file mode 100644
index 0000000..1462356
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp
@@ -0,0 +1,70 @@
+#include "testdataitem.h"
+#include "id/TaskManager.h"
+#include "basecommonapi.h"
+
+// 定义并初始化静态成员变量
+QMap TaskManager::dailyTaskCounts;
+QDate TaskManager::currentDate;
+QString TaskManager::KeyDate;
+
+QString TaskManager::generateTask(QString Number)
+{
+ // 初始化当天任务单数量为0
+ QString TaskNum=Number;
+ currentDate = QDate::currentDate();
+ KeyDate = currentDate.toString("yyyyMMdd");
+ if(!dailyTaskCounts.contains(KeyDate))
+ {
+ int startIndex = TaskNum.indexOf("d")+1; // 找到 "YYYY" 的起始位置
+ int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符
+ QString result = TaskNum.mid(startIndex, 8); // 从 startIndex 开始,截取8个字符
+ if(result!=KeyDate){
+ dailyTaskCounts[KeyDate] = 1;
+ }else
+ {
+ QChar lastChar = TaskNum.at(TaskNum.length() - 1);
+
+ if (lastChar.isDigit()) {
+
+ int Count=lastChar.digitValue();
+ dailyTaskCounts[KeyDate] = Count+1;
+ }
+
+ }
+
+ }
+ QString dateStr = KeyDate;
+ // 生成任务单编号,这里假设编号格式是 "rwdYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充
+ QString taskId = QString("rwd%1%2").arg(dateStr).arg(dailyTaskCounts[KeyDate], 4, 10, QChar('0'));
+
+ return taskId;
+}
+int TaskManager::getTaskCountForToday()
+{
+ // 返回当天的任务单数量
+ return dailyTaskCounts.value(KeyDate, 0);
+}
+bool TaskManager::AddCurrenTaskCount()
+{
+ // 增加当天任务单数量
+ try {
+
+ dailyTaskCounts[KeyDate]++;
+ return true;
+ } catch(const std::exception &e) {
+ return false;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
index 1d04dad..79dc7c5 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
@@ -4,7 +4,8 @@
{
}
-
+QString BaseCommonApi::temporary_user_id="1640229293790650370";
+QString BaseCommonApi::temporary_costomer_id="1692432193177047042";
//获取部门任务数据
QList BaseCommonApi::getAllData(QString deptId,QString status) {
QList result;
@@ -81,16 +82,38 @@
}
return result;
}
-
+//查看当前最新的任务单
+QList BaseCommonApi::getCreateTaskListNew()
+{
+ QList result;
+ QSqlQuery query;
+ query.prepare("select * from biz_business_order_info as bz ORDER BY bz.create_time DESC LIMIT 1");
+ if (query.exec()) {
+ while (query.next()) {
+ CreateTaskList task;
+ task.id = query.value("id").toString();
+ task.order_no = query.value("order_no").toString();
+ task.customer_name = query.value("customer_name").toString();
+ task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
+ task.require_over_time = query.value("require_over_time").toDateTime();
+ task.deliverer = query.value("deliverer").toString();
+ task.is_urgent = query.value("is_urgent").toString();
+ result.append(task);
+ }
+ } else {
+ qDebug() << "Query execution failed: " << query.lastError().text();
+ }
+ return result;
+}
//获取创建任务首页数据
QList BaseCommonApi::getCreateTaskList(QString userId)
{
- userId="1640229293790650370";
+ userId=temporary_user_id;
QList result;
QSqlQuery query;
query.prepare("SELECT bi.id,bi.order_no,bi.customer_name,dept.FULL_NAME,bi.require_over_time,bi.deliverer,bi.is_urgent "
" FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID "
- " WHERE bi.create_user_id = :userId");
+ " WHERE bi.create_user_id = :userId ORDER BY bi.create_time DESC");
// 将参数绑定到占位符
query.bindValue(":userId", userId);
if (query.exec()) {
@@ -144,15 +167,16 @@
{
QList result;
QSqlQuery query;
- query.prepare("SELECT bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
- " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent AS ,"
+ query.prepare("SELECT bi.id, bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
+ " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent ,"
" bi.receive_illustrate FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID"
- " WHERE bi.id = :id ");
+ " WHERE bi.id = :id ");
// 将参数绑定到占位符
query.bindValue(":id", id);
if (query.exec()) {
while (query.next()) {
CatTask task;
+ task.id=query.value("id").toString();
task.order_no = query.value("order_no").toString();
task.customer_name = query.value("customer_name").toString();
task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
@@ -215,9 +239,11 @@
{
QList result;
- QSqlQuery query("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
- "bi.require_over_time , bi.deliverer ,bi.is_urgent FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
- if (query.exec()) {
+ QSqlQuery query;
+ bool IsSucc= query.exec("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
+ "bi.require_over_time , bi.deliverer ,bi.is_urgent "
+ "FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
+ if (IsSucc) {
while (query.next()) {
SelectSpecifyFields customerInfo;
customerInfo.id = query.value("id").toString();
@@ -235,13 +261,21 @@
//新增任务单
bool BaseCommonApi::InsertTaskBasic(InsertTask insertTask)
{
+ //1640229293790650370
+ insertTask.Create_user_id=temporary_user_id;
+ insertTask.customer_id=temporary_costomer_id;
QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_info "
- "(id,order_no, customer_name, require_over_time, deliverer, deliverer_tel, "
- "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id) "
- "VALUES "
- "(:id,:order_no, :customer_name, :require_over_time, :deliverer, :deliverer_tel, "
- ":undertaker_name, :undertake_time, :is_urgent, :receive_illustrate, :receive_illustrate)");
+ query.prepare("INSERT INTO biz_business_order_info (id,"
+ "order_no, customer_name, require_over_time, deliverer, deliverer_tel,"
+ "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id,Create_user_id"
+ " ) VALUES (:id, "
+ " :order_no, :customer_name, :require_over_time, "
+ " :deliverer, :deliverer_tel, :undertaker_name, :undertake_time, "
+ " :is_urgent, "
+ " :receive_illustrate,"
+ " :customer_id,"
+ " :Create_user_id"
+ " );");
query.bindValue(":id", insertTask.id);
query.bindValue(":order_no", insertTask.order_no);
@@ -254,7 +288,7 @@
query.bindValue(":is_urgent", insertTask.is_urgent);
query.bindValue(":receive_illustrate", insertTask.receive_illustrate);
query.bindValue(":customer_id", insertTask.customer_id);
-
+ query.bindValue(":Create_user_id", insertTask.Create_user_id);
bool isSuccess = query.exec();
if (!isSuccess) {
qDebug() << "InsertTaskBasic query failed: " << query.lastError().text();
@@ -265,11 +299,12 @@
//新增任务单样品表
bool BaseCommonApi::InsertOrderSampleRelation(OrderSampleRelation orderSample)
{
- QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_sample_relation "
- "(id, order_id, sample_id, sample_name, sample_model, measure_complete_time) "
- "VALUES "
- "(:id, :order_id, :sample_id, :sample_name, :sample_model, :measure_complete_time)");
+ orderSample.create_user_id=temporary_user_id;
+ QSqlQuery query;
+ query.prepare("INSERT INTO biz_business_order_sample_relation (id,order_id,sample_id,"
+ "sample_name, sample_model,measure_complete_time)"
+ "VALUES (:id,:order_id,:sample_id,"
+ ":sample_name, :sample_model,:measure_complete_time);");
// Bind values to the parameters
query.bindValue(":id", orderSample.id);
@@ -279,6 +314,7 @@
query.bindValue(":sample_model", orderSample.sample_model);
query.bindValue(":measure_complete_time", orderSample.measure_complete_time);
+
bool isSuccess = query.exec();
if (!isSuccess) {
@@ -342,6 +378,22 @@
return true;
}
+//删除任务单内设备
+bool BaseCommonApi::DeleteTaskDevice(QString id)
+{
+ QSqlQuery query;
+
+ //删除任务单样品表数据
+ query.prepare("DELETE FROM biz_business_order_sample_relation WHERE id = :id");
+ query.bindValue(":id", id);
+
+ if (!query.exec()) {
+ qDebug() << "删除失败 " << query.lastError().text();
+ return false;
+ }
+
+ return true;
+}
//获取标准设备管理 首页
QListBaseCommonApi::getBizDeviceManage()
{
@@ -478,7 +530,7 @@
QSqlQuery query;
bool isSuccess = query.exec("SELECT DISTINCT eei.id ,eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.manufacturer ,bboi.customer_name ,sys_dept.FULL_NAME ,eei.meter_identify ,eei.check_cycle ,eei.certificate_valid from eqpt_equipment_info eei "
" LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id "
- " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id ");
+ " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id LIMIT 100");
if (isSuccess) {
while (query.next()) {
TestedDevice testedDevice;
@@ -603,7 +655,7 @@
case 1:
//Clable[0].item_category_idiT
- //1717086652508487681 后面替换为 Clable[0].item_category_idiT
+ //1717086652508487681 后面替换为 Clable[0].item_category_id
DataList=BaseCommonApi::getVerMultiCal("1717086652508487681",HeadList);
break;
@@ -728,9 +780,11 @@
return result;
}
//检定数据管理-检定结果信息
-QList BaseCommonApi::getVerificationResultData(QString sampleId)
+QList BaseCommonApi::getVerificationResultData(QString sampleId,QStringList *HeadList)
{
-QList result;
+ sampleId="1716997603953311746";
+ QList resultData;
+ QStringList result;
QSqlQuery query;
query.prepare("SELECT bbdmidc.id ,bbdmidc.params ,bbdmidc.capacity ,bbdmidc.unit ,"
" bbdmidc.frequency , bbdmidc.range_range , bbdmidc.standard_value , bbdmidc.resolution , bbdmidc.maximum_error , "
@@ -743,27 +797,30 @@
query.bindValue(":sampleId", sampleId);
if (query.exec()) {
while (query.next()) {
- VerificationResultData resultData;
- resultData.id = query.value("id").toString();
- resultData.params = query.value("params").toString();
- resultData.capacity = query.value("capacity").toString();
- resultData.unit = query.value("unit").toString();
- resultData.frequency = query.value("frequency").toString();
- resultData.range_range = query.value("range_range").toString();
- resultData.standard_value = query.value("standard_value").toString();
- resultData.resolution = query.value("resolution").toString();
- resultData.maximum_error = query.value("maximum_error").toString();
- resultData.error_param_a = query.value("error_param_a").toString();
- resultData.error_param_b = query.value("error_param_b").toString();
- resultData.other_outcome = query.value("other_outcome").toString();
+ result.clear();
+ result.append(query.value("id").toString());
+ 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("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("other_outcome").toString());
- result.append(resultData);
+ resultData.append(result);
}
} else {
qDebug() << "Query execution failed: " << query.lastError().text();
}
+ *HeadList<<"序号"<<"参数"<<"量"<<"单位"<<"频率"
+ <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a"
+ <<"误差参数b"<<"合格率";
- return result;
+ return resultData;
}
//核查数据管理 首页
@@ -1172,6 +1229,15 @@
{
return this->idWorker.nextId();
}
+QString BaseCommonApi::GenerateTaskNumber()
+{
+ QList TaskList= BaseCommonApi::getCreateTaskListNew();
+ return TaskManager::generateTask(TaskList.first().order_no);
+}
+bool BaseCommonApi::AddTaskNumber()
+{
+ return TaskManager::AddCurrenTaskCount();
+}
//自动检定-结果保存-biz_business_device_measure_info 基本信息表
bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo)
{
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h
index 3a18225..5302456 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.h
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.h
@@ -8,6 +8,7 @@
#include "QList"
#include "databaseconnection.h"
#include "id\IdWorker.h"
+#include "id\TaskManager.h"
@@ -108,8 +109,9 @@
QString deliverer; //送检人
QString deliverer_tel; //电话
QString undertaker_name; //承接人
- QDateTime undertake_time; //承接时间
- QString is_urgent; //是否加急
+ QString undertake_time; //承接时间
+ bool is_urgent; //是否加急
+ QString Create_user_id;
QString receive_illustrate; //接收说明
QString customer_id;//委托人id
};
@@ -122,6 +124,7 @@
QString sample_id; //被检设备的id
QString sample_name; //设备名称
QString sample_model; // 型号规格
+ QString create_user_id; // 型号规格
QDateTime measure_complete_time; //检定完成时间
};
//创建任务单编辑
@@ -517,7 +520,8 @@
{
public:
BaseCommonApi();
-
+ static QString temporary_user_id;
+ static QString temporary_costomer_id;
static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList);
//部门任务 废弃
@@ -530,6 +534,8 @@
static QList getMyTasks(QString id,QString status);
//获取创建任务首页数据
static QListgetCreateTaskList(QString id);
+ //获取创建任务最新数据
+ static QListgetCreateTaskListNew();
//创建任务-查看任务单顶部
static QListgetCatTask(QString orderNo);
//创建任务-查看任务列表底部
@@ -544,6 +550,7 @@
static bool UpdateTask(InsertTask updateTask);
//删除任务单
static bool DeleteTask(QString id);
+ static bool DeleteTaskDevice(QString id);
//获取标准设备管理 首页
static QListgetBizDeviceManage();
//标准设备管理-设备基本信息
@@ -565,7 +572,7 @@
// 检定数据管理-检定基本信息
static QList getVerificationBasicDataDetails(QString id);
//检定数据管理-检定结果信息
- static QList getVerificationResultData(QString sampleId);
+ static QList getVerificationResultData(QString sampleId,QStringList *HeadList);
//核查数据管理-首页
static QList getCheckData();
// 核查数据管理-基本信息
@@ -603,6 +610,10 @@
qint64 generateId();
//雪花算法生成id
IdWorker &idWorker = Singleton::instance();
+ // 生成任务单编号
+ QString GenerateTaskNumber();
+ // 生成任务单编号当天天数增加
+ bool AddTaskNumber();
//自动检定-结果保存-基本信息
static bool InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo);
//自动检定-结果保存-更新检定结果信息-多功能校准源检定装置 只更新 示值和绝对误差
diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
index ca5e040..b94c9b5 100644
--- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
+++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
@@ -108,6 +108,8 @@
//添加操作按钮
QPushButton *button = new QPushButton("查看");
+ button->setIconSize(QSize(16,16));
+ button->setIcon(QIcon(":/image/Index/u2327.svg"));
ui->tableWidget->setCellWidget(row, 12, button);
//设置按钮简单样式
button->setStyleSheet("QPushButton {"
@@ -192,7 +194,7 @@
//循环数据
int rowCount=0;
int row=0;
- ;
+
for (const QStringList& item : Data)
{
//获取行号 并进行添加行
diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
index cdacfaf..a0b717e 100644
--- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
+++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
@@ -213,7 +213,7 @@
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(3, 58, 132);
@@ -223,12 +223,16 @@
查询
+
+
+ :/image/Index/u2189.svg:/image/Index/u2189.svg
+
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(207, 132, 33);
@@ -238,6 +242,10 @@
重置
+
+
+ :/image/Index/u2188.svg:/image/Index/u2188.svg
+
@@ -847,6 +855,8 @@
-
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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/CheckBoxTableHeader.h b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
new file mode 100644
index 0000000..3d9bb35
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
@@ -0,0 +1,51 @@
+#ifndef CHECKBOXTABLEHEADER_H
+#define CHECKBOXTABLEHEADER_H
+
+#include
+#include
+#include
+
+class CheckBoxTableHeader : public QHeaderView {
+ Q_OBJECT
+public:
+ CheckBoxTableHeader(Qt::Orientation orientation, QWidget *parent = nullptr)
+ : QHeaderView(orientation, parent) {
+ checkBox = new QCheckBox(this);
+ connect(checkBox, &QCheckBox::stateChanged, this, &CheckBoxTableHeader::onCheckBoxStateChanged);
+
+ checkBox->setStyleSheet("QCheckBox { margin-left: 35px;"
+ "margin-top:6px; }");
+ // 设置复选框的位置和大小
+ // ...
+ }
+
+ void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
+ QHeaderView::paintSection(painter, rect, logicalIndex);
+ /*if (logicalIndex == 1) { // 只绘制第一列的列头复选框
+
+ }*/
+ }
+
+private slots:
+ void onCheckBoxStateChanged(int state) {
+ QTableWidget *table = qobject_cast(parent());
+
+ if (table) {
+ for (int row = 0; row < table->rowCount(); ++row) {
+ QCheckBox *cellCheckBox = qobject_cast(table->cellWidget(row, 1));
+ if (cellCheckBox) {
+ if(state==2){
+ cellCheckBox->setCheckState(Qt::Checked);
+ }else{
+ cellCheckBox->setCheckState(Qt::Unchecked);
+ }
+
+ }
+ }
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+};
+#endif // CHECKBOXTABLEHEADER_H
diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp
new file mode 100644
index 0000000..1462356
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp
@@ -0,0 +1,70 @@
+#include "testdataitem.h"
+#include "id/TaskManager.h"
+#include "basecommonapi.h"
+
+// 定义并初始化静态成员变量
+QMap TaskManager::dailyTaskCounts;
+QDate TaskManager::currentDate;
+QString TaskManager::KeyDate;
+
+QString TaskManager::generateTask(QString Number)
+{
+ // 初始化当天任务单数量为0
+ QString TaskNum=Number;
+ currentDate = QDate::currentDate();
+ KeyDate = currentDate.toString("yyyyMMdd");
+ if(!dailyTaskCounts.contains(KeyDate))
+ {
+ int startIndex = TaskNum.indexOf("d")+1; // 找到 "YYYY" 的起始位置
+ int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符
+ QString result = TaskNum.mid(startIndex, 8); // 从 startIndex 开始,截取8个字符
+ if(result!=KeyDate){
+ dailyTaskCounts[KeyDate] = 1;
+ }else
+ {
+ QChar lastChar = TaskNum.at(TaskNum.length() - 1);
+
+ if (lastChar.isDigit()) {
+
+ int Count=lastChar.digitValue();
+ dailyTaskCounts[KeyDate] = Count+1;
+ }
+
+ }
+
+ }
+ QString dateStr = KeyDate;
+ // 生成任务单编号,这里假设编号格式是 "rwdYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充
+ QString taskId = QString("rwd%1%2").arg(dateStr).arg(dailyTaskCounts[KeyDate], 4, 10, QChar('0'));
+
+ return taskId;
+}
+int TaskManager::getTaskCountForToday()
+{
+ // 返回当天的任务单数量
+ return dailyTaskCounts.value(KeyDate, 0);
+}
+bool TaskManager::AddCurrenTaskCount()
+{
+ // 增加当天任务单数量
+ try {
+
+ dailyTaskCounts[KeyDate]++;
+ return true;
+ } catch(const std::exception &e) {
+ return false;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
index 1d04dad..79dc7c5 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
@@ -4,7 +4,8 @@
{
}
-
+QString BaseCommonApi::temporary_user_id="1640229293790650370";
+QString BaseCommonApi::temporary_costomer_id="1692432193177047042";
//获取部门任务数据
QList BaseCommonApi::getAllData(QString deptId,QString status) {
QList result;
@@ -81,16 +82,38 @@
}
return result;
}
-
+//查看当前最新的任务单
+QList BaseCommonApi::getCreateTaskListNew()
+{
+ QList result;
+ QSqlQuery query;
+ query.prepare("select * from biz_business_order_info as bz ORDER BY bz.create_time DESC LIMIT 1");
+ if (query.exec()) {
+ while (query.next()) {
+ CreateTaskList task;
+ task.id = query.value("id").toString();
+ task.order_no = query.value("order_no").toString();
+ task.customer_name = query.value("customer_name").toString();
+ task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
+ task.require_over_time = query.value("require_over_time").toDateTime();
+ task.deliverer = query.value("deliverer").toString();
+ task.is_urgent = query.value("is_urgent").toString();
+ result.append(task);
+ }
+ } else {
+ qDebug() << "Query execution failed: " << query.lastError().text();
+ }
+ return result;
+}
//获取创建任务首页数据
QList BaseCommonApi::getCreateTaskList(QString userId)
{
- userId="1640229293790650370";
+ userId=temporary_user_id;
QList result;
QSqlQuery query;
query.prepare("SELECT bi.id,bi.order_no,bi.customer_name,dept.FULL_NAME,bi.require_over_time,bi.deliverer,bi.is_urgent "
" FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID "
- " WHERE bi.create_user_id = :userId");
+ " WHERE bi.create_user_id = :userId ORDER BY bi.create_time DESC");
// 将参数绑定到占位符
query.bindValue(":userId", userId);
if (query.exec()) {
@@ -144,15 +167,16 @@
{
QList result;
QSqlQuery query;
- query.prepare("SELECT bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
- " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent AS ,"
+ query.prepare("SELECT bi.id, bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
+ " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent ,"
" bi.receive_illustrate FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID"
- " WHERE bi.id = :id ");
+ " WHERE bi.id = :id ");
// 将参数绑定到占位符
query.bindValue(":id", id);
if (query.exec()) {
while (query.next()) {
CatTask task;
+ task.id=query.value("id").toString();
task.order_no = query.value("order_no").toString();
task.customer_name = query.value("customer_name").toString();
task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
@@ -215,9 +239,11 @@
{
QList result;
- QSqlQuery query("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
- "bi.require_over_time , bi.deliverer ,bi.is_urgent FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
- if (query.exec()) {
+ QSqlQuery query;
+ bool IsSucc= query.exec("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
+ "bi.require_over_time , bi.deliverer ,bi.is_urgent "
+ "FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
+ if (IsSucc) {
while (query.next()) {
SelectSpecifyFields customerInfo;
customerInfo.id = query.value("id").toString();
@@ -235,13 +261,21 @@
//新增任务单
bool BaseCommonApi::InsertTaskBasic(InsertTask insertTask)
{
+ //1640229293790650370
+ insertTask.Create_user_id=temporary_user_id;
+ insertTask.customer_id=temporary_costomer_id;
QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_info "
- "(id,order_no, customer_name, require_over_time, deliverer, deliverer_tel, "
- "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id) "
- "VALUES "
- "(:id,:order_no, :customer_name, :require_over_time, :deliverer, :deliverer_tel, "
- ":undertaker_name, :undertake_time, :is_urgent, :receive_illustrate, :receive_illustrate)");
+ query.prepare("INSERT INTO biz_business_order_info (id,"
+ "order_no, customer_name, require_over_time, deliverer, deliverer_tel,"
+ "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id,Create_user_id"
+ " ) VALUES (:id, "
+ " :order_no, :customer_name, :require_over_time, "
+ " :deliverer, :deliverer_tel, :undertaker_name, :undertake_time, "
+ " :is_urgent, "
+ " :receive_illustrate,"
+ " :customer_id,"
+ " :Create_user_id"
+ " );");
query.bindValue(":id", insertTask.id);
query.bindValue(":order_no", insertTask.order_no);
@@ -254,7 +288,7 @@
query.bindValue(":is_urgent", insertTask.is_urgent);
query.bindValue(":receive_illustrate", insertTask.receive_illustrate);
query.bindValue(":customer_id", insertTask.customer_id);
-
+ query.bindValue(":Create_user_id", insertTask.Create_user_id);
bool isSuccess = query.exec();
if (!isSuccess) {
qDebug() << "InsertTaskBasic query failed: " << query.lastError().text();
@@ -265,11 +299,12 @@
//新增任务单样品表
bool BaseCommonApi::InsertOrderSampleRelation(OrderSampleRelation orderSample)
{
- QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_sample_relation "
- "(id, order_id, sample_id, sample_name, sample_model, measure_complete_time) "
- "VALUES "
- "(:id, :order_id, :sample_id, :sample_name, :sample_model, :measure_complete_time)");
+ orderSample.create_user_id=temporary_user_id;
+ QSqlQuery query;
+ query.prepare("INSERT INTO biz_business_order_sample_relation (id,order_id,sample_id,"
+ "sample_name, sample_model,measure_complete_time)"
+ "VALUES (:id,:order_id,:sample_id,"
+ ":sample_name, :sample_model,:measure_complete_time);");
// Bind values to the parameters
query.bindValue(":id", orderSample.id);
@@ -279,6 +314,7 @@
query.bindValue(":sample_model", orderSample.sample_model);
query.bindValue(":measure_complete_time", orderSample.measure_complete_time);
+
bool isSuccess = query.exec();
if (!isSuccess) {
@@ -342,6 +378,22 @@
return true;
}
+//删除任务单内设备
+bool BaseCommonApi::DeleteTaskDevice(QString id)
+{
+ QSqlQuery query;
+
+ //删除任务单样品表数据
+ query.prepare("DELETE FROM biz_business_order_sample_relation WHERE id = :id");
+ query.bindValue(":id", id);
+
+ if (!query.exec()) {
+ qDebug() << "删除失败 " << query.lastError().text();
+ return false;
+ }
+
+ return true;
+}
//获取标准设备管理 首页
QListBaseCommonApi::getBizDeviceManage()
{
@@ -478,7 +530,7 @@
QSqlQuery query;
bool isSuccess = query.exec("SELECT DISTINCT eei.id ,eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.manufacturer ,bboi.customer_name ,sys_dept.FULL_NAME ,eei.meter_identify ,eei.check_cycle ,eei.certificate_valid from eqpt_equipment_info eei "
" LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id "
- " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id ");
+ " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id LIMIT 100");
if (isSuccess) {
while (query.next()) {
TestedDevice testedDevice;
@@ -603,7 +655,7 @@
case 1:
//Clable[0].item_category_idiT
- //1717086652508487681 后面替换为 Clable[0].item_category_idiT
+ //1717086652508487681 后面替换为 Clable[0].item_category_id
DataList=BaseCommonApi::getVerMultiCal("1717086652508487681",HeadList);
break;
@@ -728,9 +780,11 @@
return result;
}
//检定数据管理-检定结果信息
-QList BaseCommonApi::getVerificationResultData(QString sampleId)
+QList BaseCommonApi::getVerificationResultData(QString sampleId,QStringList *HeadList)
{
-QList result;
+ sampleId="1716997603953311746";
+ QList resultData;
+ QStringList result;
QSqlQuery query;
query.prepare("SELECT bbdmidc.id ,bbdmidc.params ,bbdmidc.capacity ,bbdmidc.unit ,"
" bbdmidc.frequency , bbdmidc.range_range , bbdmidc.standard_value , bbdmidc.resolution , bbdmidc.maximum_error , "
@@ -743,27 +797,30 @@
query.bindValue(":sampleId", sampleId);
if (query.exec()) {
while (query.next()) {
- VerificationResultData resultData;
- resultData.id = query.value("id").toString();
- resultData.params = query.value("params").toString();
- resultData.capacity = query.value("capacity").toString();
- resultData.unit = query.value("unit").toString();
- resultData.frequency = query.value("frequency").toString();
- resultData.range_range = query.value("range_range").toString();
- resultData.standard_value = query.value("standard_value").toString();
- resultData.resolution = query.value("resolution").toString();
- resultData.maximum_error = query.value("maximum_error").toString();
- resultData.error_param_a = query.value("error_param_a").toString();
- resultData.error_param_b = query.value("error_param_b").toString();
- resultData.other_outcome = query.value("other_outcome").toString();
+ result.clear();
+ result.append(query.value("id").toString());
+ 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("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("other_outcome").toString());
- result.append(resultData);
+ resultData.append(result);
}
} else {
qDebug() << "Query execution failed: " << query.lastError().text();
}
+ *HeadList<<"序号"<<"参数"<<"量"<<"单位"<<"频率"
+ <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a"
+ <<"误差参数b"<<"合格率";
- return result;
+ return resultData;
}
//核查数据管理 首页
@@ -1172,6 +1229,15 @@
{
return this->idWorker.nextId();
}
+QString BaseCommonApi::GenerateTaskNumber()
+{
+ QList TaskList= BaseCommonApi::getCreateTaskListNew();
+ return TaskManager::generateTask(TaskList.first().order_no);
+}
+bool BaseCommonApi::AddTaskNumber()
+{
+ return TaskManager::AddCurrenTaskCount();
+}
//自动检定-结果保存-biz_business_device_measure_info 基本信息表
bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo)
{
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h
index 3a18225..5302456 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.h
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.h
@@ -8,6 +8,7 @@
#include "QList"
#include "databaseconnection.h"
#include "id\IdWorker.h"
+#include "id\TaskManager.h"
@@ -108,8 +109,9 @@
QString deliverer; //送检人
QString deliverer_tel; //电话
QString undertaker_name; //承接人
- QDateTime undertake_time; //承接时间
- QString is_urgent; //是否加急
+ QString undertake_time; //承接时间
+ bool is_urgent; //是否加急
+ QString Create_user_id;
QString receive_illustrate; //接收说明
QString customer_id;//委托人id
};
@@ -122,6 +124,7 @@
QString sample_id; //被检设备的id
QString sample_name; //设备名称
QString sample_model; // 型号规格
+ QString create_user_id; // 型号规格
QDateTime measure_complete_time; //检定完成时间
};
//创建任务单编辑
@@ -517,7 +520,8 @@
{
public:
BaseCommonApi();
-
+ static QString temporary_user_id;
+ static QString temporary_costomer_id;
static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList);
//部门任务 废弃
@@ -530,6 +534,8 @@
static QList getMyTasks(QString id,QString status);
//获取创建任务首页数据
static QListgetCreateTaskList(QString id);
+ //获取创建任务最新数据
+ static QListgetCreateTaskListNew();
//创建任务-查看任务单顶部
static QListgetCatTask(QString orderNo);
//创建任务-查看任务列表底部
@@ -544,6 +550,7 @@
static bool UpdateTask(InsertTask updateTask);
//删除任务单
static bool DeleteTask(QString id);
+ static bool DeleteTaskDevice(QString id);
//获取标准设备管理 首页
static QListgetBizDeviceManage();
//标准设备管理-设备基本信息
@@ -565,7 +572,7 @@
// 检定数据管理-检定基本信息
static QList getVerificationBasicDataDetails(QString id);
//检定数据管理-检定结果信息
- static QList getVerificationResultData(QString sampleId);
+ static QList getVerificationResultData(QString sampleId,QStringList *HeadList);
//核查数据管理-首页
static QList getCheckData();
// 核查数据管理-基本信息
@@ -603,6 +610,10 @@
qint64 generateId();
//雪花算法生成id
IdWorker &idWorker = Singleton::instance();
+ // 生成任务单编号
+ QString GenerateTaskNumber();
+ // 生成任务单编号当天天数增加
+ bool AddTaskNumber();
//自动检定-结果保存-基本信息
static bool InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo);
//自动检定-结果保存-更新检定结果信息-多功能校准源检定装置 只更新 示值和绝对误差
diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
index ca5e040..b94c9b5 100644
--- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
+++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
@@ -108,6 +108,8 @@
//添加操作按钮
QPushButton *button = new QPushButton("查看");
+ button->setIconSize(QSize(16,16));
+ button->setIcon(QIcon(":/image/Index/u2327.svg"));
ui->tableWidget->setCellWidget(row, 12, button);
//设置按钮简单样式
button->setStyleSheet("QPushButton {"
@@ -192,7 +194,7 @@
//循环数据
int rowCount=0;
int row=0;
- ;
+
for (const QStringList& item : Data)
{
//获取行号 并进行添加行
diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
index cdacfaf..a0b717e 100644
--- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
+++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
@@ -213,7 +213,7 @@
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(3, 58, 132);
@@ -223,12 +223,16 @@
查询
+
+
+ :/image/Index/u2189.svg:/image/Index/u2189.svg
+
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(207, 132, 33);
@@ -238,6 +242,10 @@
重置
+
+
+ :/image/Index/u2188.svg:/image/Index/u2188.svg
+
@@ -847,6 +855,8 @@
-
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/create_task.cpp b/softwareDirectory/AutoVerScheme/create_task.cpp
index ddd78ef..66b8acb 100644
--- a/softwareDirectory/AutoVerScheme/create_task.cpp
+++ b/softwareDirectory/AutoVerScheme/create_task.cpp
@@ -1,9 +1,11 @@
#include "create_task.h"
#include "ui_create_task.h"
#include "QMessageBox"
+#include "createtask_scandevice.h"
QString Create_Task::State="";
+
Create_Task::Create_Task(QWidget *parent) :
InfoBase(parent),
ui(new Ui::Create_Task)
@@ -36,12 +38,35 @@
//item->setTextAlignment(Qt::AlignCenter);
//ui->tableWidget->setItem(0, 0, item); //设置数据
ui->tableWidget->setColumnWidth(0, 0); // 设置第一列的宽度为0
-
+ ui->tableWidget->setColumnWidth(8,180);
//初始化TableWidget 设置列
QStringList headers;
headers <<"ID"<< "序号" << "任务单编号" << "委托方"<< "使用部门"
<< "要求检完时间" << "送检人"<<"是否加急"<<"操作";
ui->tableWidget->setHorizontalHeaderLabels(headers);
+ //
+ //tableWidget设置
+ //设置控件的边框显示
+ ui->tableWidgetItem->setStyleSheet("QHeaderView::section {"
+ "border: 1px solid rgba(197, 196, 196, 1);"
+ "border-left:none;"
+ "border-top:none;"
+ "background-color:white;"
+ "}");
+
+ //ui->tableWidget->setRowCount(10); // 设置10行
+ ui->tableWidgetItem->setColumnCount(8); // 设置11列
+ ui->tableWidgetItem->setColumnWidth(0,0); // 设置第一列的宽度为100像素
+ ui->tableWidgetItem->verticalHeader()->setParent(nullptr); //隐藏行头
+ // 设置选择行为为选择整行
+ ui->tableWidgetItem->setSelectionBehavior(QAbstractItemView::SelectRows);
+ //ui->tableWidgetItem->setColumnWidth(0, 0); // 设置第一列的宽度为0
+ ui->tableWidgetItem->setColumnWidth(8,180);
+ //初始化TableWidget 设置列
+
+ headers << "序号" << "设备名称" << "规格型号"<< "辅助字段"
+ << "出厂编号" << "生产厂家"<<"附件"<<"特殊要求";
+ ui->tableWidgetItem->setHorizontalHeaderLabels(headers);
//ShowMessageBox("标题","初始化完成");
}
void Create_Task::ShowMessageBox(QString title,QString value) {
@@ -62,11 +87,12 @@
}
void Create_Task::Load()
{
+
//先设置为行为0
ui->tableWidget->setRowCount(0);
ui->stackedWidget->setCurrentIndex(0);
- QList data = BaseCommonApi::getCreateTaskList("");
+ QList data = dbManager.getCreateTaskList("");
int rowCount = 0;
int row=0;
@@ -107,6 +133,8 @@
// 设置鼠标悬停时的光标样式为小手图标
button->setCursor(Qt::PointingHandCursor);
+ button->setIconSize(QSize(16,16));
+ button->setIcon(QIcon(":/image/Index/u2327.svg"));
// 连接按钮的 clicked 信号到自定义槽函数
connect(button, &QPushButton::clicked, this, [this, button, row]() {
// 获取当前行第一列的 ID
@@ -127,6 +155,8 @@
// 设置鼠标悬停时的光标样式为小手图标
button2->setCursor(Qt::PointingHandCursor);
+ button2->setIconSize(QSize(16,16));
+ button2->setIcon(QIcon(":/image/Index/u2324.svg"));
// 连接按钮的 clicked 信号到自定义槽函数
connect(button2, &QPushButton::clicked, this, [this, button2, row]() {
// 获取当前行第一列的 ID
@@ -147,6 +177,8 @@
// 设置鼠标悬停时的光标样式为小手图标
button3->setCursor(Qt::PointingHandCursor);
+ button3->setIconSize(QSize(16,16));
+ button3->setIcon(QIcon(":/image/Index/u2325.svg"));
// 连接按钮的 clicked 信号到自定义槽函数
connect(button3, &QPushButton::clicked, this, [this, button3, row]() {
// 获取当前行第一列的 ID
@@ -178,8 +210,11 @@
// ====================================================================================
//DeviceInfoInit(id);
HiddenButton();
+ SelectPageData(id);
+ ui->TitleLable->setText("查看任务单");
ui->stackedWidget->setCurrentIndex(1);
- QMessageBox::information(this, "查看按钮ID",id);
+
+ //::information(this, "查看按钮ID",id);
}
void Create_Task::OnButtonUpdateClicked(QString id)
{
@@ -188,8 +223,12 @@
// ====================================================================================
//DeviceInfoInit(id);
DisplayButton();
+ SelectPageData(id);
+ TaskId=id;
+ ui->TitleLable->setText("编辑任务单");
ui->stackedWidget->setCurrentIndex(1);
- QMessageBox::information(this, "编辑按钮ID",id);
+
+ //QMessageBox::information(this, "编辑按钮ID",id);
}
void Create_Task::OnButtoDeleteClicked(QString id)
{
@@ -198,8 +237,15 @@
// ====================================================================================
//DeviceInfoInit(id);
//ui->stackedWidget->setCurrentIndex(1);
+ bool IsSucc=dbManager.DeleteTask(id);
+ if(IsSucc){
+ QMessageBox::information(this, "提示","删除成功");
+ Load();
+ }else{
+ QMessageBox::information(this, "提示","删除失败");
+ }
- QMessageBox::information(this, "删除按钮ID",id);
+
}
void Create_Task::on_pushButton_2_clicked()
@@ -207,9 +253,28 @@
// ========================================================================================
// 创建任务单按钮
// ====================================================================================
- DisplayButton();
+ //显示任务单编号
+ ui->TitleLable->setText("创建任务单");
+
+ //显示按钮
+ DisplayButton();
+ ui->is_urgent->clear();
+ ui->comboBox_5->clear();
+ ui->customer_name->clear();
ui->stackedWidget->setCurrentIndex(1);
Create_Task::State="Create";
+ //查询出所有委托方和部门
+ QList data=BaseCommonApi::getSelectSpecifyFields();
+ foreach (SelectSpecifyFields item,data) {
+ ui->customer_name->addItem(item.customer_name);
+ ui->comboBox_5->addItem(item.FULL_NAME);
+ }
+ ui->tableWidgetItem->setRowCount(0);
+ ui->is_urgent->addItem("是");
+ ui->is_urgent->addItem("否");
+ ui->LineEditNumber->setText(dbManager.GenerateTaskNumber());
+ //添加设备table数据
+
}
void Create_Task::HiddenButton()
{
@@ -230,3 +295,232 @@
{
ui->stackedWidget->setCurrentIndex(0);
}
+
+void Create_Task::on_ScanButton_clicked()
+{
+ // 创建新窗体实例并显示
+ CreateTask_ScanDevice *ShowDataSyncView = new CreateTask_ScanDevice();
+ ShowDataSyncView->CreateTaskInst=this;
+ //ShowDataSyncView->setWindowState(Qt::WindowMaximized);
+ ShowDataSyncView->setWindowModality(Qt::ApplicationModal);
+ ShowDataSyncView->show();
+}
+void Create_Task::DeviceInfoShow(QList ListId)
+{
+ if(ListId.count()!=0)
+ {
+ _IdList=ListId;
+ ui->tableWidgetItem->setRowCount(0);
+ // 调用数据库管理器的函数获取数据
+ int rowCount=0;
+ int row=0;
+ QList result;
+ foreach(QString DeviceId,ListId)
+ {
+ result = dbManager.getTestedCatDevice(DeviceId);
+ SelectDataItem.append(result[0]);
+ if(result.length()>0)
+ {
+ rowCount = ui->tableWidgetItem->rowCount();
+ ui->tableWidgetItem->insertRow(rowCount);
+ ui->tableWidgetItem->setItem(row, 0, new QTableWidgetItem(QString::number(row+1)));
+ ui->tableWidgetItem->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name));
+ ui->tableWidgetItem->setItem(row, 2, new QTableWidgetItem(result[0].model));
+ ui->tableWidgetItem->setItem(row, 3, new QTableWidgetItem(result[0].help_instruction));
+ ui->tableWidgetItem->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no));
+ ui->tableWidgetItem->setItem(row, 5, new QTableWidgetItem(result[0].manufacturer));
+ ui->tableWidgetItem->setItem(row, 6, new QTableWidgetItem("点击编辑"));
+ ui->tableWidgetItem->setItem(row, 7, new QTableWidgetItem("点击编辑"));
+
+ row++;
+ }
+
+ }
+
+ }
+
+}
+
+void Create_Task::on_SaveButton_clicked()
+{
+ // ========================================================================================
+ // 保存任务单按钮 先新增任务单 后新增任务单设备
+ // ====================================================================================
+ if(State=="Update")
+ {
+ if(TaskId=="")return;
+ InsertTask insertTask;
+ insertTask.id=TaskId;
+ insertTask.order_no=ui->LineEditNumber->text();
+ insertTask.customer_name=ui->customer_name->currentText();
+ insertTask.require_over_time=ui->require_over_time->text();
+ insertTask.deliverer=ui->deliverer->text();
+ insertTask.deliverer_tel=ui->deliverer_tel->text();
+ insertTask.undertaker_name=ui->undertaker_name->text();
+ insertTask.undertake_time=ui->undertake_time->text();
+ insertTask.dept_name=ui->comboBox_5->currentText();
+ if(ui->is_urgent->currentText()=="是")
+ {
+ insertTask.is_urgent=true;
+ }else{insertTask.is_urgent=false;}
+ insertTask.receive_illustrate=ui->receive_illustrate->text();
+ insertTask.customer_id="0";
+ bool IsSUCC=dbManager.UpdateTask(insertTask);
+ //设备更新 编辑设备待写
+
+ }else{
+ //新增任务单
+ qint64 id = dbManager.generateId();
+ InsertTask insertTask;
+ insertTask.id=QString::number(id);
+ insertTask.order_no=ui->LineEditNumber->text();
+ insertTask.customer_name=ui->customer_name->currentText();
+ insertTask.require_over_time=ui->require_over_time->text();
+ insertTask.deliverer=ui->deliverer->text();
+ insertTask.deliverer_tel=ui->deliverer_tel->text();
+ insertTask.undertaker_name=ui->undertaker_name->text();
+ insertTask.undertake_time=ui->undertake_time->text();
+ //insertTask.=ui->comboBox_5->currentText();
+ if(ui->is_urgent->currentText()=="是")
+ {
+ insertTask.is_urgent=true;
+ }else{insertTask.is_urgent=false;}
+
+ insertTask.receive_illustrate=ui->receive_illustrate->text();
+ insertTask.customer_id="0";
+ bool IsSUCC=dbManager.InsertTaskBasic(insertTask);
+ if(IsSUCC)
+ {
+
+ //显示任务单编号
+ dbManager.AddTaskNumber();
+ ui->LineEditNumber->setText(dbManager.GenerateTaskNumber());
+ //
+ //新增任务单设备
+ QString NewTaskId=dbManager.getCreateTaskListNew()[0].id;
+ int count=0;
+ IsSUCC;
+ if(SelectDataItem.count()!=0 && _IdList.count()!=0){
+ //InsertOrderSampleRelation
+ foreach(TestedCatDevice DeviceInfo,SelectDataItem)
+ {
+ OrderSampleRelation orderSampleRelation;
+ id = dbManager.generateId();
+ orderSampleRelation.id=QString::number(id);
+ orderSampleRelation.order_id=NewTaskId;
+ orderSampleRelation.sample_id=_IdList[count];
+ orderSampleRelation.sample_name=DeviceInfo.equipment_name;
+ orderSampleRelation.sample_model=DeviceInfo.model;
+ orderSampleRelation.measure_complete_time=QDateTime::currentDateTime();
+ IsSUCC=dbManager.InsertOrderSampleRelation(orderSampleRelation);
+ if(!IsSUCC){ShowMessageBox("提示","设备添加失败");}
+ count++;
+ }
+ }
+ if(IsSUCC){ShowMessageBox("提示","委托单添加成功");}
+
+ }else
+ {
+ ShowMessageBox("提示","委托单添加失败");
+ return;
+ }
+ }
+ ui->stackedWidget->setCurrentIndex(0);
+ Load();
+}
+void Create_Task::SelectPageData(QString ID)
+{
+
+
+ //顶部数据
+ QList data= dbManager.getCatTask(ID);
+ if(data.count()==0)return;
+ ui->is_urgent->clear();
+ ui->comboBox_5->clear();
+ ui->customer_name->clear();
+
+ ui->LineEditNumber->setText(data[0].order_no);
+ ui->customer_name->addItem(data[0].customer_name);
+ ui->require_over_time->setDateTime(data[0].require_over_time);
+ ui->deliverer->setText(data[0].deliverer);
+ ui->deliverer_tel->setText(data[0].deliverer_tel);
+ ui->undertaker_name->setText(data[0].undertaker_name);
+ ui->undertake_time->setDateTime(data[0].undertake_time);
+ ui->is_urgent->addItem(data[0].is_urgent);
+ ui->comboBox_5->addItem(data[0].DEPT_FULL_NAME);
+ ui->receive_illustrate->setText(data[0].receive_illustrate);
+ //设备数据
+ //重新设计列
+
+ QStringList headers;
+ headers <<"Id"<< "序号" << "设备名称" << "规格型号"<< "辅助字段"
+ << "出厂编号" << "生产厂家"<<"附件"<<"特殊要求"
+ <<"检定完成时间"<<"检定结果"<<"限用";
+ ui->tableWidgetItem->setColumnCount(headers.count());
+ ui->tableWidgetItem->setHorizontalHeaderLabels(headers);
+
+ ui->tableWidgetItem->setRowCount(0);
+ QList Devicedate= dbManager.getCatTaskList(ID);
+ if(Devicedate.count()>0){
+ // 调用数据库管理器的函数获取数据
+ int rowCount=0;
+ int row=0;
+ foreach(CatTaskList item,Devicedate)
+ {
+ rowCount = ui->tableWidgetItem->rowCount();
+ ui->tableWidgetItem->insertRow(rowCount);
+ ui->tableWidgetItem->setItem(row, 0, new QTableWidgetItem(item.id));
+ ui->tableWidgetItem->setItem(row, 1, new QTableWidgetItem(QString::number(row+1)));
+ ui->tableWidgetItem->setItem(row, 2, new QTableWidgetItem(item.sample_name));
+ ui->tableWidgetItem->setItem(row, 3, new QTableWidgetItem(item.sample_model));
+ ui->tableWidgetItem->setItem(row, 4, new QTableWidgetItem("缺少"));
+ ui->tableWidgetItem->setItem(row, 5, new QTableWidgetItem(item.manufacture_no));
+ ui->tableWidgetItem->setItem(row, 6, new QTableWidgetItem(item.manufacturer));
+ ui->tableWidgetItem->setItem(row, 7, new QTableWidgetItem(item.appendix_descn));
+ ui->tableWidgetItem->setItem(row, 8, new QTableWidgetItem(item.special_require));
+ ui->tableWidgetItem->setItem(row, 9, new QTableWidgetItem(item.measure_complete_time.toString()));
+ ui->tableWidgetItem->setItem(row, 10, new QTableWidgetItem(item.conclusion));
+ ui->tableWidgetItem->setItem(row, 11, new QTableWidgetItem(item.limit_instruction));
+ row++;
+ }
+ }
+}
+
+void Create_Task::on_pushButton_8_clicked()
+{
+ Load();
+}
+
+void Create_Task::on_deletebutton_clicked()
+{
+ //删除按钮
+ int row = ui->tableWidgetItem->currentRow();
+ if (row >= 0) { // 确保有行被选中
+ // 获取选中行第一列的 QTableWidgetItem
+ QTableWidgetItem *item = ui->tableWidgetItem->item(row, 0);
+ if (item) { // 确保 item 不是 nullptr
+ // 获取并输出第一列的数据
+ QString data = item->text();
+ ShowMessageBox("",data) ;
+ // 在这里可以使用 data 进行进一步处理
+ if(dbManager.DeleteTaskDevice(data)){
+ ShowMessageBox("","删除成功");
+ SelectPageData(TaskId);
+ }else{ ShowMessageBox("","删除失败");}
+ } else {
+ ShowMessageBox("","在所选行的第一列中没有项") ;
+
+ }
+ } else {
+ ShowMessageBox("","请选择一行数据") ;
+
+ }
+}
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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/CheckBoxTableHeader.h b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
new file mode 100644
index 0000000..3d9bb35
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
@@ -0,0 +1,51 @@
+#ifndef CHECKBOXTABLEHEADER_H
+#define CHECKBOXTABLEHEADER_H
+
+#include
+#include
+#include
+
+class CheckBoxTableHeader : public QHeaderView {
+ Q_OBJECT
+public:
+ CheckBoxTableHeader(Qt::Orientation orientation, QWidget *parent = nullptr)
+ : QHeaderView(orientation, parent) {
+ checkBox = new QCheckBox(this);
+ connect(checkBox, &QCheckBox::stateChanged, this, &CheckBoxTableHeader::onCheckBoxStateChanged);
+
+ checkBox->setStyleSheet("QCheckBox { margin-left: 35px;"
+ "margin-top:6px; }");
+ // 设置复选框的位置和大小
+ // ...
+ }
+
+ void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
+ QHeaderView::paintSection(painter, rect, logicalIndex);
+ /*if (logicalIndex == 1) { // 只绘制第一列的列头复选框
+
+ }*/
+ }
+
+private slots:
+ void onCheckBoxStateChanged(int state) {
+ QTableWidget *table = qobject_cast(parent());
+
+ if (table) {
+ for (int row = 0; row < table->rowCount(); ++row) {
+ QCheckBox *cellCheckBox = qobject_cast(table->cellWidget(row, 1));
+ if (cellCheckBox) {
+ if(state==2){
+ cellCheckBox->setCheckState(Qt::Checked);
+ }else{
+ cellCheckBox->setCheckState(Qt::Unchecked);
+ }
+
+ }
+ }
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+};
+#endif // CHECKBOXTABLEHEADER_H
diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp
new file mode 100644
index 0000000..1462356
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp
@@ -0,0 +1,70 @@
+#include "testdataitem.h"
+#include "id/TaskManager.h"
+#include "basecommonapi.h"
+
+// 定义并初始化静态成员变量
+QMap TaskManager::dailyTaskCounts;
+QDate TaskManager::currentDate;
+QString TaskManager::KeyDate;
+
+QString TaskManager::generateTask(QString Number)
+{
+ // 初始化当天任务单数量为0
+ QString TaskNum=Number;
+ currentDate = QDate::currentDate();
+ KeyDate = currentDate.toString("yyyyMMdd");
+ if(!dailyTaskCounts.contains(KeyDate))
+ {
+ int startIndex = TaskNum.indexOf("d")+1; // 找到 "YYYY" 的起始位置
+ int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符
+ QString result = TaskNum.mid(startIndex, 8); // 从 startIndex 开始,截取8个字符
+ if(result!=KeyDate){
+ dailyTaskCounts[KeyDate] = 1;
+ }else
+ {
+ QChar lastChar = TaskNum.at(TaskNum.length() - 1);
+
+ if (lastChar.isDigit()) {
+
+ int Count=lastChar.digitValue();
+ dailyTaskCounts[KeyDate] = Count+1;
+ }
+
+ }
+
+ }
+ QString dateStr = KeyDate;
+ // 生成任务单编号,这里假设编号格式是 "rwdYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充
+ QString taskId = QString("rwd%1%2").arg(dateStr).arg(dailyTaskCounts[KeyDate], 4, 10, QChar('0'));
+
+ return taskId;
+}
+int TaskManager::getTaskCountForToday()
+{
+ // 返回当天的任务单数量
+ return dailyTaskCounts.value(KeyDate, 0);
+}
+bool TaskManager::AddCurrenTaskCount()
+{
+ // 增加当天任务单数量
+ try {
+
+ dailyTaskCounts[KeyDate]++;
+ return true;
+ } catch(const std::exception &e) {
+ return false;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
index 1d04dad..79dc7c5 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
@@ -4,7 +4,8 @@
{
}
-
+QString BaseCommonApi::temporary_user_id="1640229293790650370";
+QString BaseCommonApi::temporary_costomer_id="1692432193177047042";
//获取部门任务数据
QList BaseCommonApi::getAllData(QString deptId,QString status) {
QList result;
@@ -81,16 +82,38 @@
}
return result;
}
-
+//查看当前最新的任务单
+QList BaseCommonApi::getCreateTaskListNew()
+{
+ QList result;
+ QSqlQuery query;
+ query.prepare("select * from biz_business_order_info as bz ORDER BY bz.create_time DESC LIMIT 1");
+ if (query.exec()) {
+ while (query.next()) {
+ CreateTaskList task;
+ task.id = query.value("id").toString();
+ task.order_no = query.value("order_no").toString();
+ task.customer_name = query.value("customer_name").toString();
+ task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
+ task.require_over_time = query.value("require_over_time").toDateTime();
+ task.deliverer = query.value("deliverer").toString();
+ task.is_urgent = query.value("is_urgent").toString();
+ result.append(task);
+ }
+ } else {
+ qDebug() << "Query execution failed: " << query.lastError().text();
+ }
+ return result;
+}
//获取创建任务首页数据
QList BaseCommonApi::getCreateTaskList(QString userId)
{
- userId="1640229293790650370";
+ userId=temporary_user_id;
QList result;
QSqlQuery query;
query.prepare("SELECT bi.id,bi.order_no,bi.customer_name,dept.FULL_NAME,bi.require_over_time,bi.deliverer,bi.is_urgent "
" FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID "
- " WHERE bi.create_user_id = :userId");
+ " WHERE bi.create_user_id = :userId ORDER BY bi.create_time DESC");
// 将参数绑定到占位符
query.bindValue(":userId", userId);
if (query.exec()) {
@@ -144,15 +167,16 @@
{
QList result;
QSqlQuery query;
- query.prepare("SELECT bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
- " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent AS ,"
+ query.prepare("SELECT bi.id, bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
+ " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent ,"
" bi.receive_illustrate FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID"
- " WHERE bi.id = :id ");
+ " WHERE bi.id = :id ");
// 将参数绑定到占位符
query.bindValue(":id", id);
if (query.exec()) {
while (query.next()) {
CatTask task;
+ task.id=query.value("id").toString();
task.order_no = query.value("order_no").toString();
task.customer_name = query.value("customer_name").toString();
task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
@@ -215,9 +239,11 @@
{
QList result;
- QSqlQuery query("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
- "bi.require_over_time , bi.deliverer ,bi.is_urgent FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
- if (query.exec()) {
+ QSqlQuery query;
+ bool IsSucc= query.exec("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
+ "bi.require_over_time , bi.deliverer ,bi.is_urgent "
+ "FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
+ if (IsSucc) {
while (query.next()) {
SelectSpecifyFields customerInfo;
customerInfo.id = query.value("id").toString();
@@ -235,13 +261,21 @@
//新增任务单
bool BaseCommonApi::InsertTaskBasic(InsertTask insertTask)
{
+ //1640229293790650370
+ insertTask.Create_user_id=temporary_user_id;
+ insertTask.customer_id=temporary_costomer_id;
QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_info "
- "(id,order_no, customer_name, require_over_time, deliverer, deliverer_tel, "
- "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id) "
- "VALUES "
- "(:id,:order_no, :customer_name, :require_over_time, :deliverer, :deliverer_tel, "
- ":undertaker_name, :undertake_time, :is_urgent, :receive_illustrate, :receive_illustrate)");
+ query.prepare("INSERT INTO biz_business_order_info (id,"
+ "order_no, customer_name, require_over_time, deliverer, deliverer_tel,"
+ "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id,Create_user_id"
+ " ) VALUES (:id, "
+ " :order_no, :customer_name, :require_over_time, "
+ " :deliverer, :deliverer_tel, :undertaker_name, :undertake_time, "
+ " :is_urgent, "
+ " :receive_illustrate,"
+ " :customer_id,"
+ " :Create_user_id"
+ " );");
query.bindValue(":id", insertTask.id);
query.bindValue(":order_no", insertTask.order_no);
@@ -254,7 +288,7 @@
query.bindValue(":is_urgent", insertTask.is_urgent);
query.bindValue(":receive_illustrate", insertTask.receive_illustrate);
query.bindValue(":customer_id", insertTask.customer_id);
-
+ query.bindValue(":Create_user_id", insertTask.Create_user_id);
bool isSuccess = query.exec();
if (!isSuccess) {
qDebug() << "InsertTaskBasic query failed: " << query.lastError().text();
@@ -265,11 +299,12 @@
//新增任务单样品表
bool BaseCommonApi::InsertOrderSampleRelation(OrderSampleRelation orderSample)
{
- QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_sample_relation "
- "(id, order_id, sample_id, sample_name, sample_model, measure_complete_time) "
- "VALUES "
- "(:id, :order_id, :sample_id, :sample_name, :sample_model, :measure_complete_time)");
+ orderSample.create_user_id=temporary_user_id;
+ QSqlQuery query;
+ query.prepare("INSERT INTO biz_business_order_sample_relation (id,order_id,sample_id,"
+ "sample_name, sample_model,measure_complete_time)"
+ "VALUES (:id,:order_id,:sample_id,"
+ ":sample_name, :sample_model,:measure_complete_time);");
// Bind values to the parameters
query.bindValue(":id", orderSample.id);
@@ -279,6 +314,7 @@
query.bindValue(":sample_model", orderSample.sample_model);
query.bindValue(":measure_complete_time", orderSample.measure_complete_time);
+
bool isSuccess = query.exec();
if (!isSuccess) {
@@ -342,6 +378,22 @@
return true;
}
+//删除任务单内设备
+bool BaseCommonApi::DeleteTaskDevice(QString id)
+{
+ QSqlQuery query;
+
+ //删除任务单样品表数据
+ query.prepare("DELETE FROM biz_business_order_sample_relation WHERE id = :id");
+ query.bindValue(":id", id);
+
+ if (!query.exec()) {
+ qDebug() << "删除失败 " << query.lastError().text();
+ return false;
+ }
+
+ return true;
+}
//获取标准设备管理 首页
QListBaseCommonApi::getBizDeviceManage()
{
@@ -478,7 +530,7 @@
QSqlQuery query;
bool isSuccess = query.exec("SELECT DISTINCT eei.id ,eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.manufacturer ,bboi.customer_name ,sys_dept.FULL_NAME ,eei.meter_identify ,eei.check_cycle ,eei.certificate_valid from eqpt_equipment_info eei "
" LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id "
- " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id ");
+ " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id LIMIT 100");
if (isSuccess) {
while (query.next()) {
TestedDevice testedDevice;
@@ -603,7 +655,7 @@
case 1:
//Clable[0].item_category_idiT
- //1717086652508487681 后面替换为 Clable[0].item_category_idiT
+ //1717086652508487681 后面替换为 Clable[0].item_category_id
DataList=BaseCommonApi::getVerMultiCal("1717086652508487681",HeadList);
break;
@@ -728,9 +780,11 @@
return result;
}
//检定数据管理-检定结果信息
-QList BaseCommonApi::getVerificationResultData(QString sampleId)
+QList BaseCommonApi::getVerificationResultData(QString sampleId,QStringList *HeadList)
{
-QList result;
+ sampleId="1716997603953311746";
+ QList resultData;
+ QStringList result;
QSqlQuery query;
query.prepare("SELECT bbdmidc.id ,bbdmidc.params ,bbdmidc.capacity ,bbdmidc.unit ,"
" bbdmidc.frequency , bbdmidc.range_range , bbdmidc.standard_value , bbdmidc.resolution , bbdmidc.maximum_error , "
@@ -743,27 +797,30 @@
query.bindValue(":sampleId", sampleId);
if (query.exec()) {
while (query.next()) {
- VerificationResultData resultData;
- resultData.id = query.value("id").toString();
- resultData.params = query.value("params").toString();
- resultData.capacity = query.value("capacity").toString();
- resultData.unit = query.value("unit").toString();
- resultData.frequency = query.value("frequency").toString();
- resultData.range_range = query.value("range_range").toString();
- resultData.standard_value = query.value("standard_value").toString();
- resultData.resolution = query.value("resolution").toString();
- resultData.maximum_error = query.value("maximum_error").toString();
- resultData.error_param_a = query.value("error_param_a").toString();
- resultData.error_param_b = query.value("error_param_b").toString();
- resultData.other_outcome = query.value("other_outcome").toString();
+ result.clear();
+ result.append(query.value("id").toString());
+ 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("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("other_outcome").toString());
- result.append(resultData);
+ resultData.append(result);
}
} else {
qDebug() << "Query execution failed: " << query.lastError().text();
}
+ *HeadList<<"序号"<<"参数"<<"量"<<"单位"<<"频率"
+ <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a"
+ <<"误差参数b"<<"合格率";
- return result;
+ return resultData;
}
//核查数据管理 首页
@@ -1172,6 +1229,15 @@
{
return this->idWorker.nextId();
}
+QString BaseCommonApi::GenerateTaskNumber()
+{
+ QList TaskList= BaseCommonApi::getCreateTaskListNew();
+ return TaskManager::generateTask(TaskList.first().order_no);
+}
+bool BaseCommonApi::AddTaskNumber()
+{
+ return TaskManager::AddCurrenTaskCount();
+}
//自动检定-结果保存-biz_business_device_measure_info 基本信息表
bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo)
{
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h
index 3a18225..5302456 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.h
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.h
@@ -8,6 +8,7 @@
#include "QList"
#include "databaseconnection.h"
#include "id\IdWorker.h"
+#include "id\TaskManager.h"
@@ -108,8 +109,9 @@
QString deliverer; //送检人
QString deliverer_tel; //电话
QString undertaker_name; //承接人
- QDateTime undertake_time; //承接时间
- QString is_urgent; //是否加急
+ QString undertake_time; //承接时间
+ bool is_urgent; //是否加急
+ QString Create_user_id;
QString receive_illustrate; //接收说明
QString customer_id;//委托人id
};
@@ -122,6 +124,7 @@
QString sample_id; //被检设备的id
QString sample_name; //设备名称
QString sample_model; // 型号规格
+ QString create_user_id; // 型号规格
QDateTime measure_complete_time; //检定完成时间
};
//创建任务单编辑
@@ -517,7 +520,8 @@
{
public:
BaseCommonApi();
-
+ static QString temporary_user_id;
+ static QString temporary_costomer_id;
static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList);
//部门任务 废弃
@@ -530,6 +534,8 @@
static QList getMyTasks(QString id,QString status);
//获取创建任务首页数据
static QListgetCreateTaskList(QString id);
+ //获取创建任务最新数据
+ static QListgetCreateTaskListNew();
//创建任务-查看任务单顶部
static QListgetCatTask(QString orderNo);
//创建任务-查看任务列表底部
@@ -544,6 +550,7 @@
static bool UpdateTask(InsertTask updateTask);
//删除任务单
static bool DeleteTask(QString id);
+ static bool DeleteTaskDevice(QString id);
//获取标准设备管理 首页
static QListgetBizDeviceManage();
//标准设备管理-设备基本信息
@@ -565,7 +572,7 @@
// 检定数据管理-检定基本信息
static QList getVerificationBasicDataDetails(QString id);
//检定数据管理-检定结果信息
- static QList getVerificationResultData(QString sampleId);
+ static QList getVerificationResultData(QString sampleId,QStringList *HeadList);
//核查数据管理-首页
static QList getCheckData();
// 核查数据管理-基本信息
@@ -603,6 +610,10 @@
qint64 generateId();
//雪花算法生成id
IdWorker &idWorker = Singleton::instance();
+ // 生成任务单编号
+ QString GenerateTaskNumber();
+ // 生成任务单编号当天天数增加
+ bool AddTaskNumber();
//自动检定-结果保存-基本信息
static bool InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo);
//自动检定-结果保存-更新检定结果信息-多功能校准源检定装置 只更新 示值和绝对误差
diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
index ca5e040..b94c9b5 100644
--- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
+++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
@@ -108,6 +108,8 @@
//添加操作按钮
QPushButton *button = new QPushButton("查看");
+ button->setIconSize(QSize(16,16));
+ button->setIcon(QIcon(":/image/Index/u2327.svg"));
ui->tableWidget->setCellWidget(row, 12, button);
//设置按钮简单样式
button->setStyleSheet("QPushButton {"
@@ -192,7 +194,7 @@
//循环数据
int rowCount=0;
int row=0;
- ;
+
for (const QStringList& item : Data)
{
//获取行号 并进行添加行
diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
index cdacfaf..a0b717e 100644
--- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
+++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
@@ -213,7 +213,7 @@
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(3, 58, 132);
@@ -223,12 +223,16 @@
查询
+
+
+ :/image/Index/u2189.svg:/image/Index/u2189.svg
+
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(207, 132, 33);
@@ -238,6 +242,10 @@
重置
+
+
+ :/image/Index/u2188.svg:/image/Index/u2188.svg
+
@@ -847,6 +855,8 @@
-
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/create_task.cpp b/softwareDirectory/AutoVerScheme/create_task.cpp
index ddd78ef..66b8acb 100644
--- a/softwareDirectory/AutoVerScheme/create_task.cpp
+++ b/softwareDirectory/AutoVerScheme/create_task.cpp
@@ -1,9 +1,11 @@
#include "create_task.h"
#include "ui_create_task.h"
#include "QMessageBox"
+#include "createtask_scandevice.h"
QString Create_Task::State="";
+
Create_Task::Create_Task(QWidget *parent) :
InfoBase(parent),
ui(new Ui::Create_Task)
@@ -36,12 +38,35 @@
//item->setTextAlignment(Qt::AlignCenter);
//ui->tableWidget->setItem(0, 0, item); //设置数据
ui->tableWidget->setColumnWidth(0, 0); // 设置第一列的宽度为0
-
+ ui->tableWidget->setColumnWidth(8,180);
//初始化TableWidget 设置列
QStringList headers;
headers <<"ID"<< "序号" << "任务单编号" << "委托方"<< "使用部门"
<< "要求检完时间" << "送检人"<<"是否加急"<<"操作";
ui->tableWidget->setHorizontalHeaderLabels(headers);
+ //
+ //tableWidget设置
+ //设置控件的边框显示
+ ui->tableWidgetItem->setStyleSheet("QHeaderView::section {"
+ "border: 1px solid rgba(197, 196, 196, 1);"
+ "border-left:none;"
+ "border-top:none;"
+ "background-color:white;"
+ "}");
+
+ //ui->tableWidget->setRowCount(10); // 设置10行
+ ui->tableWidgetItem->setColumnCount(8); // 设置11列
+ ui->tableWidgetItem->setColumnWidth(0,0); // 设置第一列的宽度为100像素
+ ui->tableWidgetItem->verticalHeader()->setParent(nullptr); //隐藏行头
+ // 设置选择行为为选择整行
+ ui->tableWidgetItem->setSelectionBehavior(QAbstractItemView::SelectRows);
+ //ui->tableWidgetItem->setColumnWidth(0, 0); // 设置第一列的宽度为0
+ ui->tableWidgetItem->setColumnWidth(8,180);
+ //初始化TableWidget 设置列
+
+ headers << "序号" << "设备名称" << "规格型号"<< "辅助字段"
+ << "出厂编号" << "生产厂家"<<"附件"<<"特殊要求";
+ ui->tableWidgetItem->setHorizontalHeaderLabels(headers);
//ShowMessageBox("标题","初始化完成");
}
void Create_Task::ShowMessageBox(QString title,QString value) {
@@ -62,11 +87,12 @@
}
void Create_Task::Load()
{
+
//先设置为行为0
ui->tableWidget->setRowCount(0);
ui->stackedWidget->setCurrentIndex(0);
- QList data = BaseCommonApi::getCreateTaskList("");
+ QList data = dbManager.getCreateTaskList("");
int rowCount = 0;
int row=0;
@@ -107,6 +133,8 @@
// 设置鼠标悬停时的光标样式为小手图标
button->setCursor(Qt::PointingHandCursor);
+ button->setIconSize(QSize(16,16));
+ button->setIcon(QIcon(":/image/Index/u2327.svg"));
// 连接按钮的 clicked 信号到自定义槽函数
connect(button, &QPushButton::clicked, this, [this, button, row]() {
// 获取当前行第一列的 ID
@@ -127,6 +155,8 @@
// 设置鼠标悬停时的光标样式为小手图标
button2->setCursor(Qt::PointingHandCursor);
+ button2->setIconSize(QSize(16,16));
+ button2->setIcon(QIcon(":/image/Index/u2324.svg"));
// 连接按钮的 clicked 信号到自定义槽函数
connect(button2, &QPushButton::clicked, this, [this, button2, row]() {
// 获取当前行第一列的 ID
@@ -147,6 +177,8 @@
// 设置鼠标悬停时的光标样式为小手图标
button3->setCursor(Qt::PointingHandCursor);
+ button3->setIconSize(QSize(16,16));
+ button3->setIcon(QIcon(":/image/Index/u2325.svg"));
// 连接按钮的 clicked 信号到自定义槽函数
connect(button3, &QPushButton::clicked, this, [this, button3, row]() {
// 获取当前行第一列的 ID
@@ -178,8 +210,11 @@
// ====================================================================================
//DeviceInfoInit(id);
HiddenButton();
+ SelectPageData(id);
+ ui->TitleLable->setText("查看任务单");
ui->stackedWidget->setCurrentIndex(1);
- QMessageBox::information(this, "查看按钮ID",id);
+
+ //::information(this, "查看按钮ID",id);
}
void Create_Task::OnButtonUpdateClicked(QString id)
{
@@ -188,8 +223,12 @@
// ====================================================================================
//DeviceInfoInit(id);
DisplayButton();
+ SelectPageData(id);
+ TaskId=id;
+ ui->TitleLable->setText("编辑任务单");
ui->stackedWidget->setCurrentIndex(1);
- QMessageBox::information(this, "编辑按钮ID",id);
+
+ //QMessageBox::information(this, "编辑按钮ID",id);
}
void Create_Task::OnButtoDeleteClicked(QString id)
{
@@ -198,8 +237,15 @@
// ====================================================================================
//DeviceInfoInit(id);
//ui->stackedWidget->setCurrentIndex(1);
+ bool IsSucc=dbManager.DeleteTask(id);
+ if(IsSucc){
+ QMessageBox::information(this, "提示","删除成功");
+ Load();
+ }else{
+ QMessageBox::information(this, "提示","删除失败");
+ }
- QMessageBox::information(this, "删除按钮ID",id);
+
}
void Create_Task::on_pushButton_2_clicked()
@@ -207,9 +253,28 @@
// ========================================================================================
// 创建任务单按钮
// ====================================================================================
- DisplayButton();
+ //显示任务单编号
+ ui->TitleLable->setText("创建任务单");
+
+ //显示按钮
+ DisplayButton();
+ ui->is_urgent->clear();
+ ui->comboBox_5->clear();
+ ui->customer_name->clear();
ui->stackedWidget->setCurrentIndex(1);
Create_Task::State="Create";
+ //查询出所有委托方和部门
+ QList data=BaseCommonApi::getSelectSpecifyFields();
+ foreach (SelectSpecifyFields item,data) {
+ ui->customer_name->addItem(item.customer_name);
+ ui->comboBox_5->addItem(item.FULL_NAME);
+ }
+ ui->tableWidgetItem->setRowCount(0);
+ ui->is_urgent->addItem("是");
+ ui->is_urgent->addItem("否");
+ ui->LineEditNumber->setText(dbManager.GenerateTaskNumber());
+ //添加设备table数据
+
}
void Create_Task::HiddenButton()
{
@@ -230,3 +295,232 @@
{
ui->stackedWidget->setCurrentIndex(0);
}
+
+void Create_Task::on_ScanButton_clicked()
+{
+ // 创建新窗体实例并显示
+ CreateTask_ScanDevice *ShowDataSyncView = new CreateTask_ScanDevice();
+ ShowDataSyncView->CreateTaskInst=this;
+ //ShowDataSyncView->setWindowState(Qt::WindowMaximized);
+ ShowDataSyncView->setWindowModality(Qt::ApplicationModal);
+ ShowDataSyncView->show();
+}
+void Create_Task::DeviceInfoShow(QList ListId)
+{
+ if(ListId.count()!=0)
+ {
+ _IdList=ListId;
+ ui->tableWidgetItem->setRowCount(0);
+ // 调用数据库管理器的函数获取数据
+ int rowCount=0;
+ int row=0;
+ QList result;
+ foreach(QString DeviceId,ListId)
+ {
+ result = dbManager.getTestedCatDevice(DeviceId);
+ SelectDataItem.append(result[0]);
+ if(result.length()>0)
+ {
+ rowCount = ui->tableWidgetItem->rowCount();
+ ui->tableWidgetItem->insertRow(rowCount);
+ ui->tableWidgetItem->setItem(row, 0, new QTableWidgetItem(QString::number(row+1)));
+ ui->tableWidgetItem->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name));
+ ui->tableWidgetItem->setItem(row, 2, new QTableWidgetItem(result[0].model));
+ ui->tableWidgetItem->setItem(row, 3, new QTableWidgetItem(result[0].help_instruction));
+ ui->tableWidgetItem->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no));
+ ui->tableWidgetItem->setItem(row, 5, new QTableWidgetItem(result[0].manufacturer));
+ ui->tableWidgetItem->setItem(row, 6, new QTableWidgetItem("点击编辑"));
+ ui->tableWidgetItem->setItem(row, 7, new QTableWidgetItem("点击编辑"));
+
+ row++;
+ }
+
+ }
+
+ }
+
+}
+
+void Create_Task::on_SaveButton_clicked()
+{
+ // ========================================================================================
+ // 保存任务单按钮 先新增任务单 后新增任务单设备
+ // ====================================================================================
+ if(State=="Update")
+ {
+ if(TaskId=="")return;
+ InsertTask insertTask;
+ insertTask.id=TaskId;
+ insertTask.order_no=ui->LineEditNumber->text();
+ insertTask.customer_name=ui->customer_name->currentText();
+ insertTask.require_over_time=ui->require_over_time->text();
+ insertTask.deliverer=ui->deliverer->text();
+ insertTask.deliverer_tel=ui->deliverer_tel->text();
+ insertTask.undertaker_name=ui->undertaker_name->text();
+ insertTask.undertake_time=ui->undertake_time->text();
+ insertTask.dept_name=ui->comboBox_5->currentText();
+ if(ui->is_urgent->currentText()=="是")
+ {
+ insertTask.is_urgent=true;
+ }else{insertTask.is_urgent=false;}
+ insertTask.receive_illustrate=ui->receive_illustrate->text();
+ insertTask.customer_id="0";
+ bool IsSUCC=dbManager.UpdateTask(insertTask);
+ //设备更新 编辑设备待写
+
+ }else{
+ //新增任务单
+ qint64 id = dbManager.generateId();
+ InsertTask insertTask;
+ insertTask.id=QString::number(id);
+ insertTask.order_no=ui->LineEditNumber->text();
+ insertTask.customer_name=ui->customer_name->currentText();
+ insertTask.require_over_time=ui->require_over_time->text();
+ insertTask.deliverer=ui->deliverer->text();
+ insertTask.deliverer_tel=ui->deliverer_tel->text();
+ insertTask.undertaker_name=ui->undertaker_name->text();
+ insertTask.undertake_time=ui->undertake_time->text();
+ //insertTask.=ui->comboBox_5->currentText();
+ if(ui->is_urgent->currentText()=="是")
+ {
+ insertTask.is_urgent=true;
+ }else{insertTask.is_urgent=false;}
+
+ insertTask.receive_illustrate=ui->receive_illustrate->text();
+ insertTask.customer_id="0";
+ bool IsSUCC=dbManager.InsertTaskBasic(insertTask);
+ if(IsSUCC)
+ {
+
+ //显示任务单编号
+ dbManager.AddTaskNumber();
+ ui->LineEditNumber->setText(dbManager.GenerateTaskNumber());
+ //
+ //新增任务单设备
+ QString NewTaskId=dbManager.getCreateTaskListNew()[0].id;
+ int count=0;
+ IsSUCC;
+ if(SelectDataItem.count()!=0 && _IdList.count()!=0){
+ //InsertOrderSampleRelation
+ foreach(TestedCatDevice DeviceInfo,SelectDataItem)
+ {
+ OrderSampleRelation orderSampleRelation;
+ id = dbManager.generateId();
+ orderSampleRelation.id=QString::number(id);
+ orderSampleRelation.order_id=NewTaskId;
+ orderSampleRelation.sample_id=_IdList[count];
+ orderSampleRelation.sample_name=DeviceInfo.equipment_name;
+ orderSampleRelation.sample_model=DeviceInfo.model;
+ orderSampleRelation.measure_complete_time=QDateTime::currentDateTime();
+ IsSUCC=dbManager.InsertOrderSampleRelation(orderSampleRelation);
+ if(!IsSUCC){ShowMessageBox("提示","设备添加失败");}
+ count++;
+ }
+ }
+ if(IsSUCC){ShowMessageBox("提示","委托单添加成功");}
+
+ }else
+ {
+ ShowMessageBox("提示","委托单添加失败");
+ return;
+ }
+ }
+ ui->stackedWidget->setCurrentIndex(0);
+ Load();
+}
+void Create_Task::SelectPageData(QString ID)
+{
+
+
+ //顶部数据
+ QList data= dbManager.getCatTask(ID);
+ if(data.count()==0)return;
+ ui->is_urgent->clear();
+ ui->comboBox_5->clear();
+ ui->customer_name->clear();
+
+ ui->LineEditNumber->setText(data[0].order_no);
+ ui->customer_name->addItem(data[0].customer_name);
+ ui->require_over_time->setDateTime(data[0].require_over_time);
+ ui->deliverer->setText(data[0].deliverer);
+ ui->deliverer_tel->setText(data[0].deliverer_tel);
+ ui->undertaker_name->setText(data[0].undertaker_name);
+ ui->undertake_time->setDateTime(data[0].undertake_time);
+ ui->is_urgent->addItem(data[0].is_urgent);
+ ui->comboBox_5->addItem(data[0].DEPT_FULL_NAME);
+ ui->receive_illustrate->setText(data[0].receive_illustrate);
+ //设备数据
+ //重新设计列
+
+ QStringList headers;
+ headers <<"Id"<< "序号" << "设备名称" << "规格型号"<< "辅助字段"
+ << "出厂编号" << "生产厂家"<<"附件"<<"特殊要求"
+ <<"检定完成时间"<<"检定结果"<<"限用";
+ ui->tableWidgetItem->setColumnCount(headers.count());
+ ui->tableWidgetItem->setHorizontalHeaderLabels(headers);
+
+ ui->tableWidgetItem->setRowCount(0);
+ QList Devicedate= dbManager.getCatTaskList(ID);
+ if(Devicedate.count()>0){
+ // 调用数据库管理器的函数获取数据
+ int rowCount=0;
+ int row=0;
+ foreach(CatTaskList item,Devicedate)
+ {
+ rowCount = ui->tableWidgetItem->rowCount();
+ ui->tableWidgetItem->insertRow(rowCount);
+ ui->tableWidgetItem->setItem(row, 0, new QTableWidgetItem(item.id));
+ ui->tableWidgetItem->setItem(row, 1, new QTableWidgetItem(QString::number(row+1)));
+ ui->tableWidgetItem->setItem(row, 2, new QTableWidgetItem(item.sample_name));
+ ui->tableWidgetItem->setItem(row, 3, new QTableWidgetItem(item.sample_model));
+ ui->tableWidgetItem->setItem(row, 4, new QTableWidgetItem("缺少"));
+ ui->tableWidgetItem->setItem(row, 5, new QTableWidgetItem(item.manufacture_no));
+ ui->tableWidgetItem->setItem(row, 6, new QTableWidgetItem(item.manufacturer));
+ ui->tableWidgetItem->setItem(row, 7, new QTableWidgetItem(item.appendix_descn));
+ ui->tableWidgetItem->setItem(row, 8, new QTableWidgetItem(item.special_require));
+ ui->tableWidgetItem->setItem(row, 9, new QTableWidgetItem(item.measure_complete_time.toString()));
+ ui->tableWidgetItem->setItem(row, 10, new QTableWidgetItem(item.conclusion));
+ ui->tableWidgetItem->setItem(row, 11, new QTableWidgetItem(item.limit_instruction));
+ row++;
+ }
+ }
+}
+
+void Create_Task::on_pushButton_8_clicked()
+{
+ Load();
+}
+
+void Create_Task::on_deletebutton_clicked()
+{
+ //删除按钮
+ int row = ui->tableWidgetItem->currentRow();
+ if (row >= 0) { // 确保有行被选中
+ // 获取选中行第一列的 QTableWidgetItem
+ QTableWidgetItem *item = ui->tableWidgetItem->item(row, 0);
+ if (item) { // 确保 item 不是 nullptr
+ // 获取并输出第一列的数据
+ QString data = item->text();
+ ShowMessageBox("",data) ;
+ // 在这里可以使用 data 进行进一步处理
+ if(dbManager.DeleteTaskDevice(data)){
+ ShowMessageBox("","删除成功");
+ SelectPageData(TaskId);
+ }else{ ShowMessageBox("","删除失败");}
+ } else {
+ ShowMessageBox("","在所选行的第一列中没有项") ;
+
+ }
+ } else {
+ ShowMessageBox("","请选择一行数据") ;
+
+ }
+}
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/create_task.h b/softwareDirectory/AutoVerScheme/create_task.h
index 6b67c7c..4eeba7a 100644
--- a/softwareDirectory/AutoVerScheme/create_task.h
+++ b/softwareDirectory/AutoVerScheme/create_task.h
@@ -32,6 +32,21 @@
void on_pushButton_clicked();
+ void on_ScanButton_clicked();
+ // void UpdatePartTable();
+ void on_SaveButton_clicked();
+ void SelectPageData(QString id);
+ void on_pushButton_8_clicked();
+
+ void on_deletebutton_clicked();
+
+private:
+
+public:
+ void DeviceInfoShow(QList List);
+ QList SelectDataItem;
+ QList _IdList;
+ QString TaskId;
private:
Ui::Create_Task *ui;
};
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
index b84a377..b34ab3c 100644
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
+++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
@@ -20,12 +20,14 @@
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
+ TaskManager.cpp \
basecommonapi.cpp \
checkdevice.cpp \
beexamined_deviceitem.cpp \
checkmethodmanage.cpp \
checkwindow.cpp \
create_task.cpp \
+ createtask_scandevice.cpp \
databaseconnection.cpp \
datasyncview.cpp \
depar_task.cpp \
@@ -55,11 +57,14 @@
wordengine.cpp
HEADERS += \
+ CheckBoxTableHeader.h \
+ createtask_scandevice.h \
formaddrsetting.h \
formcommsetting.h \
id/IdWorker.h \
id/Noncopyable.h \
id/Singleton.h \
+ id/TaskManager.h \
id/Timer.h \
Visa/Include/visa.h \
Visa/Include/visatype.h \
@@ -103,6 +108,7 @@
checkmethodmanage.ui \
checkwindow.ui \
create_task.ui \
+ createtask_scandevice.ui \
datasyncview.ui \
depar_task.ui \
dialogcheckresult.ui \
diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58 b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
deleted file mode 100644
index 803b854..0000000
--- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro.user.c08df58
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
-
- 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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
-
- false
-
- false
- true
- true
- false
- false
- true
-
- C:/Users/admin/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
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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
-
-
- C:/Users/admin/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:C:/Users/admin/Desktop/SVN/software/softwareDirectory/AutoVerScheme/AutoVerScheme.pro
- C:/Users/admin/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/CheckBoxTableHeader.h b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
new file mode 100644
index 0000000..3d9bb35
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/CheckBoxTableHeader.h
@@ -0,0 +1,51 @@
+#ifndef CHECKBOXTABLEHEADER_H
+#define CHECKBOXTABLEHEADER_H
+
+#include
+#include
+#include
+
+class CheckBoxTableHeader : public QHeaderView {
+ Q_OBJECT
+public:
+ CheckBoxTableHeader(Qt::Orientation orientation, QWidget *parent = nullptr)
+ : QHeaderView(orientation, parent) {
+ checkBox = new QCheckBox(this);
+ connect(checkBox, &QCheckBox::stateChanged, this, &CheckBoxTableHeader::onCheckBoxStateChanged);
+
+ checkBox->setStyleSheet("QCheckBox { margin-left: 35px;"
+ "margin-top:6px; }");
+ // 设置复选框的位置和大小
+ // ...
+ }
+
+ void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
+ QHeaderView::paintSection(painter, rect, logicalIndex);
+ /*if (logicalIndex == 1) { // 只绘制第一列的列头复选框
+
+ }*/
+ }
+
+private slots:
+ void onCheckBoxStateChanged(int state) {
+ QTableWidget *table = qobject_cast(parent());
+
+ if (table) {
+ for (int row = 0; row < table->rowCount(); ++row) {
+ QCheckBox *cellCheckBox = qobject_cast(table->cellWidget(row, 1));
+ if (cellCheckBox) {
+ if(state==2){
+ cellCheckBox->setCheckState(Qt::Checked);
+ }else{
+ cellCheckBox->setCheckState(Qt::Unchecked);
+ }
+
+ }
+ }
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+};
+#endif // CHECKBOXTABLEHEADER_H
diff --git a/softwareDirectory/AutoVerScheme/TaskManager.cpp b/softwareDirectory/AutoVerScheme/TaskManager.cpp
new file mode 100644
index 0000000..1462356
--- /dev/null
+++ b/softwareDirectory/AutoVerScheme/TaskManager.cpp
@@ -0,0 +1,70 @@
+#include "testdataitem.h"
+#include "id/TaskManager.h"
+#include "basecommonapi.h"
+
+// 定义并初始化静态成员变量
+QMap TaskManager::dailyTaskCounts;
+QDate TaskManager::currentDate;
+QString TaskManager::KeyDate;
+
+QString TaskManager::generateTask(QString Number)
+{
+ // 初始化当天任务单数量为0
+ QString TaskNum=Number;
+ currentDate = QDate::currentDate();
+ KeyDate = currentDate.toString("yyyyMMdd");
+ if(!dailyTaskCounts.contains(KeyDate))
+ {
+ int startIndex = TaskNum.indexOf("d")+1; // 找到 "YYYY" 的起始位置
+ int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符
+ QString result = TaskNum.mid(startIndex, 8); // 从 startIndex 开始,截取8个字符
+ if(result!=KeyDate){
+ dailyTaskCounts[KeyDate] = 1;
+ }else
+ {
+ QChar lastChar = TaskNum.at(TaskNum.length() - 1);
+
+ if (lastChar.isDigit()) {
+
+ int Count=lastChar.digitValue();
+ dailyTaskCounts[KeyDate] = Count+1;
+ }
+
+ }
+
+ }
+ QString dateStr = KeyDate;
+ // 生成任务单编号,这里假设编号格式是 "rwdYYYYMMDDXXXX",XXXX是顺序号 字段4 10进制 不足时0填充
+ QString taskId = QString("rwd%1%2").arg(dateStr).arg(dailyTaskCounts[KeyDate], 4, 10, QChar('0'));
+
+ return taskId;
+}
+int TaskManager::getTaskCountForToday()
+{
+ // 返回当天的任务单数量
+ return dailyTaskCounts.value(KeyDate, 0);
+}
+bool TaskManager::AddCurrenTaskCount()
+{
+ // 增加当天任务单数量
+ try {
+
+ dailyTaskCounts[KeyDate]++;
+ return true;
+ } catch(const std::exception &e) {
+ return false;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
index 1d04dad..79dc7c5 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp
@@ -4,7 +4,8 @@
{
}
-
+QString BaseCommonApi::temporary_user_id="1640229293790650370";
+QString BaseCommonApi::temporary_costomer_id="1692432193177047042";
//获取部门任务数据
QList BaseCommonApi::getAllData(QString deptId,QString status) {
QList result;
@@ -81,16 +82,38 @@
}
return result;
}
-
+//查看当前最新的任务单
+QList BaseCommonApi::getCreateTaskListNew()
+{
+ QList result;
+ QSqlQuery query;
+ query.prepare("select * from biz_business_order_info as bz ORDER BY bz.create_time DESC LIMIT 1");
+ if (query.exec()) {
+ while (query.next()) {
+ CreateTaskList task;
+ task.id = query.value("id").toString();
+ task.order_no = query.value("order_no").toString();
+ task.customer_name = query.value("customer_name").toString();
+ task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
+ task.require_over_time = query.value("require_over_time").toDateTime();
+ task.deliverer = query.value("deliverer").toString();
+ task.is_urgent = query.value("is_urgent").toString();
+ result.append(task);
+ }
+ } else {
+ qDebug() << "Query execution failed: " << query.lastError().text();
+ }
+ return result;
+}
//获取创建任务首页数据
QList BaseCommonApi::getCreateTaskList(QString userId)
{
- userId="1640229293790650370";
+ userId=temporary_user_id;
QList result;
QSqlQuery query;
query.prepare("SELECT bi.id,bi.order_no,bi.customer_name,dept.FULL_NAME,bi.require_over_time,bi.deliverer,bi.is_urgent "
" FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID "
- " WHERE bi.create_user_id = :userId");
+ " WHERE bi.create_user_id = :userId ORDER BY bi.create_time DESC");
// 将参数绑定到占位符
query.bindValue(":userId", userId);
if (query.exec()) {
@@ -144,15 +167,16 @@
{
QList result;
QSqlQuery query;
- query.prepare("SELECT bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
- " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent AS ,"
+ query.prepare("SELECT bi.id, bi.order_no ,bi.customer_name ,dept.FULL_NAME ,bi.require_over_time ,"
+ " bi.deliverer ,bi.deliverer_tel ,bi.undertaker_name ,bi.undertake_time , bi.is_urgent ,"
" bi.receive_illustrate FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID"
- " WHERE bi.id = :id ");
+ " WHERE bi.id = :id ");
// 将参数绑定到占位符
query.bindValue(":id", id);
if (query.exec()) {
while (query.next()) {
CatTask task;
+ task.id=query.value("id").toString();
task.order_no = query.value("order_no").toString();
task.customer_name = query.value("customer_name").toString();
task.DEPT_FULL_NAME = query.value("FULL_NAME").toString();
@@ -215,9 +239,11 @@
{
QList result;
- QSqlQuery query("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
- "bi.require_over_time , bi.deliverer ,bi.is_urgent FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
- if (query.exec()) {
+ QSqlQuery query;
+ bool IsSucc= query.exec("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ,"
+ "bi.require_over_time , bi.deliverer ,bi.is_urgent "
+ "FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID");
+ if (IsSucc) {
while (query.next()) {
SelectSpecifyFields customerInfo;
customerInfo.id = query.value("id").toString();
@@ -235,13 +261,21 @@
//新增任务单
bool BaseCommonApi::InsertTaskBasic(InsertTask insertTask)
{
+ //1640229293790650370
+ insertTask.Create_user_id=temporary_user_id;
+ insertTask.customer_id=temporary_costomer_id;
QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_info "
- "(id,order_no, customer_name, require_over_time, deliverer, deliverer_tel, "
- "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id) "
- "VALUES "
- "(:id,:order_no, :customer_name, :require_over_time, :deliverer, :deliverer_tel, "
- ":undertaker_name, :undertake_time, :is_urgent, :receive_illustrate, :receive_illustrate)");
+ query.prepare("INSERT INTO biz_business_order_info (id,"
+ "order_no, customer_name, require_over_time, deliverer, deliverer_tel,"
+ "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id,Create_user_id"
+ " ) VALUES (:id, "
+ " :order_no, :customer_name, :require_over_time, "
+ " :deliverer, :deliverer_tel, :undertaker_name, :undertake_time, "
+ " :is_urgent, "
+ " :receive_illustrate,"
+ " :customer_id,"
+ " :Create_user_id"
+ " );");
query.bindValue(":id", insertTask.id);
query.bindValue(":order_no", insertTask.order_no);
@@ -254,7 +288,7 @@
query.bindValue(":is_urgent", insertTask.is_urgent);
query.bindValue(":receive_illustrate", insertTask.receive_illustrate);
query.bindValue(":customer_id", insertTask.customer_id);
-
+ query.bindValue(":Create_user_id", insertTask.Create_user_id);
bool isSuccess = query.exec();
if (!isSuccess) {
qDebug() << "InsertTaskBasic query failed: " << query.lastError().text();
@@ -265,11 +299,12 @@
//新增任务单样品表
bool BaseCommonApi::InsertOrderSampleRelation(OrderSampleRelation orderSample)
{
- QSqlQuery query;
- query.prepare("INSERT INTO biz_business_order_sample_relation "
- "(id, order_id, sample_id, sample_name, sample_model, measure_complete_time) "
- "VALUES "
- "(:id, :order_id, :sample_id, :sample_name, :sample_model, :measure_complete_time)");
+ orderSample.create_user_id=temporary_user_id;
+ QSqlQuery query;
+ query.prepare("INSERT INTO biz_business_order_sample_relation (id,order_id,sample_id,"
+ "sample_name, sample_model,measure_complete_time)"
+ "VALUES (:id,:order_id,:sample_id,"
+ ":sample_name, :sample_model,:measure_complete_time);");
// Bind values to the parameters
query.bindValue(":id", orderSample.id);
@@ -279,6 +314,7 @@
query.bindValue(":sample_model", orderSample.sample_model);
query.bindValue(":measure_complete_time", orderSample.measure_complete_time);
+
bool isSuccess = query.exec();
if (!isSuccess) {
@@ -342,6 +378,22 @@
return true;
}
+//删除任务单内设备
+bool BaseCommonApi::DeleteTaskDevice(QString id)
+{
+ QSqlQuery query;
+
+ //删除任务单样品表数据
+ query.prepare("DELETE FROM biz_business_order_sample_relation WHERE id = :id");
+ query.bindValue(":id", id);
+
+ if (!query.exec()) {
+ qDebug() << "删除失败 " << query.lastError().text();
+ return false;
+ }
+
+ return true;
+}
//获取标准设备管理 首页
QListBaseCommonApi::getBizDeviceManage()
{
@@ -478,7 +530,7 @@
QSqlQuery query;
bool isSuccess = query.exec("SELECT DISTINCT eei.id ,eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.manufacturer ,bboi.customer_name ,sys_dept.FULL_NAME ,eei.meter_identify ,eei.check_cycle ,eei.certificate_valid from eqpt_equipment_info eei "
" LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id "
- " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id ");
+ " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id LIMIT 100");
if (isSuccess) {
while (query.next()) {
TestedDevice testedDevice;
@@ -603,7 +655,7 @@
case 1:
//Clable[0].item_category_idiT
- //1717086652508487681 后面替换为 Clable[0].item_category_idiT
+ //1717086652508487681 后面替换为 Clable[0].item_category_id
DataList=BaseCommonApi::getVerMultiCal("1717086652508487681",HeadList);
break;
@@ -728,9 +780,11 @@
return result;
}
//检定数据管理-检定结果信息
-QList BaseCommonApi::getVerificationResultData(QString sampleId)
+QList BaseCommonApi::getVerificationResultData(QString sampleId,QStringList *HeadList)
{
-QList result;
+ sampleId="1716997603953311746";
+ QList resultData;
+ QStringList result;
QSqlQuery query;
query.prepare("SELECT bbdmidc.id ,bbdmidc.params ,bbdmidc.capacity ,bbdmidc.unit ,"
" bbdmidc.frequency , bbdmidc.range_range , bbdmidc.standard_value , bbdmidc.resolution , bbdmidc.maximum_error , "
@@ -743,27 +797,30 @@
query.bindValue(":sampleId", sampleId);
if (query.exec()) {
while (query.next()) {
- VerificationResultData resultData;
- resultData.id = query.value("id").toString();
- resultData.params = query.value("params").toString();
- resultData.capacity = query.value("capacity").toString();
- resultData.unit = query.value("unit").toString();
- resultData.frequency = query.value("frequency").toString();
- resultData.range_range = query.value("range_range").toString();
- resultData.standard_value = query.value("standard_value").toString();
- resultData.resolution = query.value("resolution").toString();
- resultData.maximum_error = query.value("maximum_error").toString();
- resultData.error_param_a = query.value("error_param_a").toString();
- resultData.error_param_b = query.value("error_param_b").toString();
- resultData.other_outcome = query.value("other_outcome").toString();
+ result.clear();
+ result.append(query.value("id").toString());
+ 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("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("other_outcome").toString());
- result.append(resultData);
+ resultData.append(result);
}
} else {
qDebug() << "Query execution failed: " << query.lastError().text();
}
+ *HeadList<<"序号"<<"参数"<<"量"<<"单位"<<"频率"
+ <<"量程"<<"标准值"<<"分辨力"<<"最大允许误差"<<"误差参数a"
+ <<"误差参数b"<<"合格率";
- return result;
+ return resultData;
}
//核查数据管理 首页
@@ -1172,6 +1229,15 @@
{
return this->idWorker.nextId();
}
+QString BaseCommonApi::GenerateTaskNumber()
+{
+ QList TaskList= BaseCommonApi::getCreateTaskListNew();
+ return TaskManager::generateTask(TaskList.first().order_no);
+}
+bool BaseCommonApi::AddTaskNumber()
+{
+ return TaskManager::AddCurrenTaskCount();
+}
//自动检定-结果保存-biz_business_device_measure_info 基本信息表
bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo)
{
diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h
index 3a18225..5302456 100644
--- a/softwareDirectory/AutoVerScheme/basecommonapi.h
+++ b/softwareDirectory/AutoVerScheme/basecommonapi.h
@@ -8,6 +8,7 @@
#include "QList"
#include "databaseconnection.h"
#include "id\IdWorker.h"
+#include "id\TaskManager.h"
@@ -108,8 +109,9 @@
QString deliverer; //送检人
QString deliverer_tel; //电话
QString undertaker_name; //承接人
- QDateTime undertake_time; //承接时间
- QString is_urgent; //是否加急
+ QString undertake_time; //承接时间
+ bool is_urgent; //是否加急
+ QString Create_user_id;
QString receive_illustrate; //接收说明
QString customer_id;//委托人id
};
@@ -122,6 +124,7 @@
QString sample_id; //被检设备的id
QString sample_name; //设备名称
QString sample_model; // 型号规格
+ QString create_user_id; // 型号规格
QDateTime measure_complete_time; //检定完成时间
};
//创建任务单编辑
@@ -517,7 +520,8 @@
{
public:
BaseCommonApi();
-
+ static QString temporary_user_id;
+ static QString temporary_costomer_id;
static QList Search_CalibrationTable(QString DeiverId,QStringList *HeadList);
//部门任务 废弃
@@ -530,6 +534,8 @@
static QList getMyTasks(QString id,QString status);
//获取创建任务首页数据
static QListgetCreateTaskList(QString id);
+ //获取创建任务最新数据
+ static QListgetCreateTaskListNew();
//创建任务-查看任务单顶部
static QListgetCatTask(QString orderNo);
//创建任务-查看任务列表底部
@@ -544,6 +550,7 @@
static bool UpdateTask(InsertTask updateTask);
//删除任务单
static bool DeleteTask(QString id);
+ static bool DeleteTaskDevice(QString id);
//获取标准设备管理 首页
static QListgetBizDeviceManage();
//标准设备管理-设备基本信息
@@ -565,7 +572,7 @@
// 检定数据管理-检定基本信息
static QList getVerificationBasicDataDetails(QString id);
//检定数据管理-检定结果信息
- static QList getVerificationResultData(QString sampleId);
+ static QList getVerificationResultData(QString sampleId,QStringList *HeadList);
//核查数据管理-首页
static QList getCheckData();
// 核查数据管理-基本信息
@@ -603,6 +610,10 @@
qint64 generateId();
//雪花算法生成id
IdWorker &idWorker = Singleton::instance();
+ // 生成任务单编号
+ QString GenerateTaskNumber();
+ // 生成任务单编号当天天数增加
+ bool AddTaskNumber();
//自动检定-结果保存-基本信息
static bool InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo);
//自动检定-结果保存-更新检定结果信息-多功能校准源检定装置 只更新 示值和绝对误差
diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
index ca5e040..b94c9b5 100644
--- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
+++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.cpp
@@ -108,6 +108,8 @@
//添加操作按钮
QPushButton *button = new QPushButton("查看");
+ button->setIconSize(QSize(16,16));
+ button->setIcon(QIcon(":/image/Index/u2327.svg"));
ui->tableWidget->setCellWidget(row, 12, button);
//设置按钮简单样式
button->setStyleSheet("QPushButton {"
@@ -192,7 +194,7 @@
//循环数据
int rowCount=0;
int row=0;
- ;
+
for (const QStringList& item : Data)
{
//获取行号 并进行添加行
diff --git a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
index cdacfaf..a0b717e 100644
--- a/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
+++ b/softwareDirectory/AutoVerScheme/beexamined_deviceitem.ui
@@ -213,7 +213,7 @@
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(3, 58, 132);
@@ -223,12 +223,16 @@
查询
+
+
+ :/image/Index/u2189.svg:/image/Index/u2189.svg
+
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(207, 132, 33);
@@ -238,6 +242,10 @@
重置
+
+
+ :/image/Index/u2188.svg:/image/Index/u2188.svg
+
@@ -847,6 +855,8 @@
-
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/create_task.cpp b/softwareDirectory/AutoVerScheme/create_task.cpp
index ddd78ef..66b8acb 100644
--- a/softwareDirectory/AutoVerScheme/create_task.cpp
+++ b/softwareDirectory/AutoVerScheme/create_task.cpp
@@ -1,9 +1,11 @@
#include "create_task.h"
#include "ui_create_task.h"
#include "QMessageBox"
+#include "createtask_scandevice.h"
QString Create_Task::State="";
+
Create_Task::Create_Task(QWidget *parent) :
InfoBase(parent),
ui(new Ui::Create_Task)
@@ -36,12 +38,35 @@
//item->setTextAlignment(Qt::AlignCenter);
//ui->tableWidget->setItem(0, 0, item); //设置数据
ui->tableWidget->setColumnWidth(0, 0); // 设置第一列的宽度为0
-
+ ui->tableWidget->setColumnWidth(8,180);
//初始化TableWidget 设置列
QStringList headers;
headers <<"ID"<< "序号" << "任务单编号" << "委托方"<< "使用部门"
<< "要求检完时间" << "送检人"<<"是否加急"<<"操作";
ui->tableWidget->setHorizontalHeaderLabels(headers);
+ //
+ //tableWidget设置
+ //设置控件的边框显示
+ ui->tableWidgetItem->setStyleSheet("QHeaderView::section {"
+ "border: 1px solid rgba(197, 196, 196, 1);"
+ "border-left:none;"
+ "border-top:none;"
+ "background-color:white;"
+ "}");
+
+ //ui->tableWidget->setRowCount(10); // 设置10行
+ ui->tableWidgetItem->setColumnCount(8); // 设置11列
+ ui->tableWidgetItem->setColumnWidth(0,0); // 设置第一列的宽度为100像素
+ ui->tableWidgetItem->verticalHeader()->setParent(nullptr); //隐藏行头
+ // 设置选择行为为选择整行
+ ui->tableWidgetItem->setSelectionBehavior(QAbstractItemView::SelectRows);
+ //ui->tableWidgetItem->setColumnWidth(0, 0); // 设置第一列的宽度为0
+ ui->tableWidgetItem->setColumnWidth(8,180);
+ //初始化TableWidget 设置列
+
+ headers << "序号" << "设备名称" << "规格型号"<< "辅助字段"
+ << "出厂编号" << "生产厂家"<<"附件"<<"特殊要求";
+ ui->tableWidgetItem->setHorizontalHeaderLabels(headers);
//ShowMessageBox("标题","初始化完成");
}
void Create_Task::ShowMessageBox(QString title,QString value) {
@@ -62,11 +87,12 @@
}
void Create_Task::Load()
{
+
//先设置为行为0
ui->tableWidget->setRowCount(0);
ui->stackedWidget->setCurrentIndex(0);
- QList data = BaseCommonApi::getCreateTaskList("");
+ QList data = dbManager.getCreateTaskList("");
int rowCount = 0;
int row=0;
@@ -107,6 +133,8 @@
// 设置鼠标悬停时的光标样式为小手图标
button->setCursor(Qt::PointingHandCursor);
+ button->setIconSize(QSize(16,16));
+ button->setIcon(QIcon(":/image/Index/u2327.svg"));
// 连接按钮的 clicked 信号到自定义槽函数
connect(button, &QPushButton::clicked, this, [this, button, row]() {
// 获取当前行第一列的 ID
@@ -127,6 +155,8 @@
// 设置鼠标悬停时的光标样式为小手图标
button2->setCursor(Qt::PointingHandCursor);
+ button2->setIconSize(QSize(16,16));
+ button2->setIcon(QIcon(":/image/Index/u2324.svg"));
// 连接按钮的 clicked 信号到自定义槽函数
connect(button2, &QPushButton::clicked, this, [this, button2, row]() {
// 获取当前行第一列的 ID
@@ -147,6 +177,8 @@
// 设置鼠标悬停时的光标样式为小手图标
button3->setCursor(Qt::PointingHandCursor);
+ button3->setIconSize(QSize(16,16));
+ button3->setIcon(QIcon(":/image/Index/u2325.svg"));
// 连接按钮的 clicked 信号到自定义槽函数
connect(button3, &QPushButton::clicked, this, [this, button3, row]() {
// 获取当前行第一列的 ID
@@ -178,8 +210,11 @@
// ====================================================================================
//DeviceInfoInit(id);
HiddenButton();
+ SelectPageData(id);
+ ui->TitleLable->setText("查看任务单");
ui->stackedWidget->setCurrentIndex(1);
- QMessageBox::information(this, "查看按钮ID",id);
+
+ //::information(this, "查看按钮ID",id);
}
void Create_Task::OnButtonUpdateClicked(QString id)
{
@@ -188,8 +223,12 @@
// ====================================================================================
//DeviceInfoInit(id);
DisplayButton();
+ SelectPageData(id);
+ TaskId=id;
+ ui->TitleLable->setText("编辑任务单");
ui->stackedWidget->setCurrentIndex(1);
- QMessageBox::information(this, "编辑按钮ID",id);
+
+ //QMessageBox::information(this, "编辑按钮ID",id);
}
void Create_Task::OnButtoDeleteClicked(QString id)
{
@@ -198,8 +237,15 @@
// ====================================================================================
//DeviceInfoInit(id);
//ui->stackedWidget->setCurrentIndex(1);
+ bool IsSucc=dbManager.DeleteTask(id);
+ if(IsSucc){
+ QMessageBox::information(this, "提示","删除成功");
+ Load();
+ }else{
+ QMessageBox::information(this, "提示","删除失败");
+ }
- QMessageBox::information(this, "删除按钮ID",id);
+
}
void Create_Task::on_pushButton_2_clicked()
@@ -207,9 +253,28 @@
// ========================================================================================
// 创建任务单按钮
// ====================================================================================
- DisplayButton();
+ //显示任务单编号
+ ui->TitleLable->setText("创建任务单");
+
+ //显示按钮
+ DisplayButton();
+ ui->is_urgent->clear();
+ ui->comboBox_5->clear();
+ ui->customer_name->clear();
ui->stackedWidget->setCurrentIndex(1);
Create_Task::State="Create";
+ //查询出所有委托方和部门
+ QList data=BaseCommonApi::getSelectSpecifyFields();
+ foreach (SelectSpecifyFields item,data) {
+ ui->customer_name->addItem(item.customer_name);
+ ui->comboBox_5->addItem(item.FULL_NAME);
+ }
+ ui->tableWidgetItem->setRowCount(0);
+ ui->is_urgent->addItem("是");
+ ui->is_urgent->addItem("否");
+ ui->LineEditNumber->setText(dbManager.GenerateTaskNumber());
+ //添加设备table数据
+
}
void Create_Task::HiddenButton()
{
@@ -230,3 +295,232 @@
{
ui->stackedWidget->setCurrentIndex(0);
}
+
+void Create_Task::on_ScanButton_clicked()
+{
+ // 创建新窗体实例并显示
+ CreateTask_ScanDevice *ShowDataSyncView = new CreateTask_ScanDevice();
+ ShowDataSyncView->CreateTaskInst=this;
+ //ShowDataSyncView->setWindowState(Qt::WindowMaximized);
+ ShowDataSyncView->setWindowModality(Qt::ApplicationModal);
+ ShowDataSyncView->show();
+}
+void Create_Task::DeviceInfoShow(QList ListId)
+{
+ if(ListId.count()!=0)
+ {
+ _IdList=ListId;
+ ui->tableWidgetItem->setRowCount(0);
+ // 调用数据库管理器的函数获取数据
+ int rowCount=0;
+ int row=0;
+ QList result;
+ foreach(QString DeviceId,ListId)
+ {
+ result = dbManager.getTestedCatDevice(DeviceId);
+ SelectDataItem.append(result[0]);
+ if(result.length()>0)
+ {
+ rowCount = ui->tableWidgetItem->rowCount();
+ ui->tableWidgetItem->insertRow(rowCount);
+ ui->tableWidgetItem->setItem(row, 0, new QTableWidgetItem(QString::number(row+1)));
+ ui->tableWidgetItem->setItem(row, 1, new QTableWidgetItem(result[0].equipment_name));
+ ui->tableWidgetItem->setItem(row, 2, new QTableWidgetItem(result[0].model));
+ ui->tableWidgetItem->setItem(row, 3, new QTableWidgetItem(result[0].help_instruction));
+ ui->tableWidgetItem->setItem(row, 4, new QTableWidgetItem(result[0].manufacture_no));
+ ui->tableWidgetItem->setItem(row, 5, new QTableWidgetItem(result[0].manufacturer));
+ ui->tableWidgetItem->setItem(row, 6, new QTableWidgetItem("点击编辑"));
+ ui->tableWidgetItem->setItem(row, 7, new QTableWidgetItem("点击编辑"));
+
+ row++;
+ }
+
+ }
+
+ }
+
+}
+
+void Create_Task::on_SaveButton_clicked()
+{
+ // ========================================================================================
+ // 保存任务单按钮 先新增任务单 后新增任务单设备
+ // ====================================================================================
+ if(State=="Update")
+ {
+ if(TaskId=="")return;
+ InsertTask insertTask;
+ insertTask.id=TaskId;
+ insertTask.order_no=ui->LineEditNumber->text();
+ insertTask.customer_name=ui->customer_name->currentText();
+ insertTask.require_over_time=ui->require_over_time->text();
+ insertTask.deliverer=ui->deliverer->text();
+ insertTask.deliverer_tel=ui->deliverer_tel->text();
+ insertTask.undertaker_name=ui->undertaker_name->text();
+ insertTask.undertake_time=ui->undertake_time->text();
+ insertTask.dept_name=ui->comboBox_5->currentText();
+ if(ui->is_urgent->currentText()=="是")
+ {
+ insertTask.is_urgent=true;
+ }else{insertTask.is_urgent=false;}
+ insertTask.receive_illustrate=ui->receive_illustrate->text();
+ insertTask.customer_id="0";
+ bool IsSUCC=dbManager.UpdateTask(insertTask);
+ //设备更新 编辑设备待写
+
+ }else{
+ //新增任务单
+ qint64 id = dbManager.generateId();
+ InsertTask insertTask;
+ insertTask.id=QString::number(id);
+ insertTask.order_no=ui->LineEditNumber->text();
+ insertTask.customer_name=ui->customer_name->currentText();
+ insertTask.require_over_time=ui->require_over_time->text();
+ insertTask.deliverer=ui->deliverer->text();
+ insertTask.deliverer_tel=ui->deliverer_tel->text();
+ insertTask.undertaker_name=ui->undertaker_name->text();
+ insertTask.undertake_time=ui->undertake_time->text();
+ //insertTask.=ui->comboBox_5->currentText();
+ if(ui->is_urgent->currentText()=="是")
+ {
+ insertTask.is_urgent=true;
+ }else{insertTask.is_urgent=false;}
+
+ insertTask.receive_illustrate=ui->receive_illustrate->text();
+ insertTask.customer_id="0";
+ bool IsSUCC=dbManager.InsertTaskBasic(insertTask);
+ if(IsSUCC)
+ {
+
+ //显示任务单编号
+ dbManager.AddTaskNumber();
+ ui->LineEditNumber->setText(dbManager.GenerateTaskNumber());
+ //
+ //新增任务单设备
+ QString NewTaskId=dbManager.getCreateTaskListNew()[0].id;
+ int count=0;
+ IsSUCC;
+ if(SelectDataItem.count()!=0 && _IdList.count()!=0){
+ //InsertOrderSampleRelation
+ foreach(TestedCatDevice DeviceInfo,SelectDataItem)
+ {
+ OrderSampleRelation orderSampleRelation;
+ id = dbManager.generateId();
+ orderSampleRelation.id=QString::number(id);
+ orderSampleRelation.order_id=NewTaskId;
+ orderSampleRelation.sample_id=_IdList[count];
+ orderSampleRelation.sample_name=DeviceInfo.equipment_name;
+ orderSampleRelation.sample_model=DeviceInfo.model;
+ orderSampleRelation.measure_complete_time=QDateTime::currentDateTime();
+ IsSUCC=dbManager.InsertOrderSampleRelation(orderSampleRelation);
+ if(!IsSUCC){ShowMessageBox("提示","设备添加失败");}
+ count++;
+ }
+ }
+ if(IsSUCC){ShowMessageBox("提示","委托单添加成功");}
+
+ }else
+ {
+ ShowMessageBox("提示","委托单添加失败");
+ return;
+ }
+ }
+ ui->stackedWidget->setCurrentIndex(0);
+ Load();
+}
+void Create_Task::SelectPageData(QString ID)
+{
+
+
+ //顶部数据
+ QList data= dbManager.getCatTask(ID);
+ if(data.count()==0)return;
+ ui->is_urgent->clear();
+ ui->comboBox_5->clear();
+ ui->customer_name->clear();
+
+ ui->LineEditNumber->setText(data[0].order_no);
+ ui->customer_name->addItem(data[0].customer_name);
+ ui->require_over_time->setDateTime(data[0].require_over_time);
+ ui->deliverer->setText(data[0].deliverer);
+ ui->deliverer_tel->setText(data[0].deliverer_tel);
+ ui->undertaker_name->setText(data[0].undertaker_name);
+ ui->undertake_time->setDateTime(data[0].undertake_time);
+ ui->is_urgent->addItem(data[0].is_urgent);
+ ui->comboBox_5->addItem(data[0].DEPT_FULL_NAME);
+ ui->receive_illustrate->setText(data[0].receive_illustrate);
+ //设备数据
+ //重新设计列
+
+ QStringList headers;
+ headers <<"Id"<< "序号" << "设备名称" << "规格型号"<< "辅助字段"
+ << "出厂编号" << "生产厂家"<<"附件"<<"特殊要求"
+ <<"检定完成时间"<<"检定结果"<<"限用";
+ ui->tableWidgetItem->setColumnCount(headers.count());
+ ui->tableWidgetItem->setHorizontalHeaderLabels(headers);
+
+ ui->tableWidgetItem->setRowCount(0);
+ QList Devicedate= dbManager.getCatTaskList(ID);
+ if(Devicedate.count()>0){
+ // 调用数据库管理器的函数获取数据
+ int rowCount=0;
+ int row=0;
+ foreach(CatTaskList item,Devicedate)
+ {
+ rowCount = ui->tableWidgetItem->rowCount();
+ ui->tableWidgetItem->insertRow(rowCount);
+ ui->tableWidgetItem->setItem(row, 0, new QTableWidgetItem(item.id));
+ ui->tableWidgetItem->setItem(row, 1, new QTableWidgetItem(QString::number(row+1)));
+ ui->tableWidgetItem->setItem(row, 2, new QTableWidgetItem(item.sample_name));
+ ui->tableWidgetItem->setItem(row, 3, new QTableWidgetItem(item.sample_model));
+ ui->tableWidgetItem->setItem(row, 4, new QTableWidgetItem("缺少"));
+ ui->tableWidgetItem->setItem(row, 5, new QTableWidgetItem(item.manufacture_no));
+ ui->tableWidgetItem->setItem(row, 6, new QTableWidgetItem(item.manufacturer));
+ ui->tableWidgetItem->setItem(row, 7, new QTableWidgetItem(item.appendix_descn));
+ ui->tableWidgetItem->setItem(row, 8, new QTableWidgetItem(item.special_require));
+ ui->tableWidgetItem->setItem(row, 9, new QTableWidgetItem(item.measure_complete_time.toString()));
+ ui->tableWidgetItem->setItem(row, 10, new QTableWidgetItem(item.conclusion));
+ ui->tableWidgetItem->setItem(row, 11, new QTableWidgetItem(item.limit_instruction));
+ row++;
+ }
+ }
+}
+
+void Create_Task::on_pushButton_8_clicked()
+{
+ Load();
+}
+
+void Create_Task::on_deletebutton_clicked()
+{
+ //删除按钮
+ int row = ui->tableWidgetItem->currentRow();
+ if (row >= 0) { // 确保有行被选中
+ // 获取选中行第一列的 QTableWidgetItem
+ QTableWidgetItem *item = ui->tableWidgetItem->item(row, 0);
+ if (item) { // 确保 item 不是 nullptr
+ // 获取并输出第一列的数据
+ QString data = item->text();
+ ShowMessageBox("",data) ;
+ // 在这里可以使用 data 进行进一步处理
+ if(dbManager.DeleteTaskDevice(data)){
+ ShowMessageBox("","删除成功");
+ SelectPageData(TaskId);
+ }else{ ShowMessageBox("","删除失败");}
+ } else {
+ ShowMessageBox("","在所选行的第一列中没有项") ;
+
+ }
+ } else {
+ ShowMessageBox("","请选择一行数据") ;
+
+ }
+}
+
+
+
+
+
+
+
+
diff --git a/softwareDirectory/AutoVerScheme/create_task.h b/softwareDirectory/AutoVerScheme/create_task.h
index 6b67c7c..4eeba7a 100644
--- a/softwareDirectory/AutoVerScheme/create_task.h
+++ b/softwareDirectory/AutoVerScheme/create_task.h
@@ -32,6 +32,21 @@
void on_pushButton_clicked();
+ void on_ScanButton_clicked();
+ // void UpdatePartTable();
+ void on_SaveButton_clicked();
+ void SelectPageData(QString id);
+ void on_pushButton_8_clicked();
+
+ void on_deletebutton_clicked();
+
+private:
+
+public:
+ void DeviceInfoShow(QList List);
+ QList SelectDataItem;
+ QList _IdList;
+ QString TaskId;
private:
Ui::Create_Task *ui;
};
diff --git a/softwareDirectory/AutoVerScheme/create_task.ui b/softwareDirectory/AutoVerScheme/create_task.ui
index b45af33..c23d487 100644
--- a/softwareDirectory/AutoVerScheme/create_task.ui
+++ b/softwareDirectory/AutoVerScheme/create_task.ui
@@ -140,7 +140,7 @@
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(3, 58, 132);
@@ -150,12 +150,16 @@
查询
+
+
+ :/image/Index/u2189.svg:/image/Index/u2189.svg
+
-
- Qt::RightToLeft
+ Qt::LeftToRight
background-color:rgb(207, 132, 33);
@@ -165,6 +169,10 @@
重置
+
+
+ :/image/Index/u2188.svg:/image/Index/u2188.svg
+
@@ -274,7 +282,7 @@
-
-
+
Font-size:25px;
@@ -370,10 +378,17 @@
-
-
-
+
-
+
+
+ 接收说明:
+
+
+
+ -
+
- ForbiddenCursor
+ IBeamCursor
@@ -383,6 +398,9 @@
+ -
+
+
-
@@ -390,33 +408,37 @@
- -
-
-
- 要求检完时间:
-
-
+
-
+
-
-
+
- -
-
-
-