Browse Source

增加生成entity数据成员描述信息,excel模板字段和表名自动转成大写

lichanglin 3 years ago
parent
commit
9c0fa774a4

+ 12 - 1
AutoGenetateModelServiceUI/TableHelper.cpp

@@ -51,5 +51,16 @@ QString TableHelper::createTrigger(const QString &tablename)
                     for each row     \n\
                     begin   \n\
                     select  SEQ_%1.nextval into :new.ID from dual;\n\
-                    end;").arg(tablename);
+            end;").arg(tablename);
+}
+
+QString TableHelper::createDescription(const QString &entityname,const QList<QPair<QString, QString> > &fieldAndComments)
+{
+    QStringList descriptions;
+    foreach(auto &item, fieldAndComments)
+    {
+        descriptions << QString("pData = t.data(& %1::m_%2, \"%2\", 0, true, true);\n \
+                pData->setDescription(\"%3\");\n").arg(entityname).arg(item.first).arg(item.second);
+    }
+    return descriptions.join("\n");
 }

+ 2 - 0
AutoGenetateModelServiceUI/TableHelper.h

@@ -18,6 +18,8 @@ public:
     static QString createSeq(const QString &tablename);
 
     static QString createTrigger(const QString &tablename);
+
+    static QString createDescription(const QString &entityname, const QList<QPair<QString,QString>> &fieldAndComments);
 };
 
 #endif // TABLEHELPER_H

+ 7 - 3
AutoGenetateModelServiceUI/mainwindow.cpp

@@ -101,7 +101,7 @@ void MainWindow::onGenerateTable()
         QMessageBox::information(this,"提示",e.getMessage());
         return;
     }  
-    QString tablename = excelHelper.getValue(0,1).toString();
+    QString tablename = excelHelper.getValue(0,1).toString().toUpper();
     Debug(tablename);
     int rows = excelHelper.getRows();
 
@@ -110,8 +110,8 @@ void MainWindow::onGenerateTable()
     for (int row = 2 ; row < rows ; row++)
     {
         QString copmment = excelHelper.getValue(row,0).toString();
-        QString name = excelHelper.getValue(row,1).toString();
-        QString type = excelHelper.getValue(row,2).toString();
+        QString name = excelHelper.getValue(row,1).toString().toUpper();
+        QString type = excelHelper.getValue(row,2).toString().toUpper();
         fieldAndTypes << qMakePair(name,type);
         fieldAndComments << qMakePair(name,copmment);
     }
@@ -124,6 +124,10 @@ void MainWindow::onGenerateTable()
              << TableHelper::createTrigger(tablename);
     write(ui.tableFilePath->text().trimmed() + "/" + tablename + ".txt",contents.join("\n"));
     ui.textEdit->setText(contents.join("\n\n"));
+
+    QString description = TableHelper::createDescription(ui.entityname->text().trimmed(), fieldAndComments);
+    write(ui.tableFilePath->text().trimmed() + "/" + tablename + "_QxOrm.txt",description);
+    ui.description->setText(description);
 }
 
 QString MainWindow::readAll(const QString &filename)

+ 6 - 0
AutoGenetateModelServiceUI/mainwindow.h

@@ -20,7 +20,13 @@ private slots:
      * @brief onTableFilePath 生成数据库建表语句的文件存储的位置
      */
     void onTableFilePath();
+    /**
+     * @brief onExcelPath excel文件路径
+     */
     void onExcelPath();
+    /**
+     * @brief onGenerateTable 生成数据库建表语句
+     */
     void onGenerateTable();
 
 private:

+ 42 - 26
AutoGenetateModelServiceUI/mainwindow.ui

@@ -14,7 +14,7 @@
    <string>自动生成</string>
   </property>
   <widget class="QWidget" name="centralWidget">
-   <layout class="QVBoxLayout" name="verticalLayout_2">
+   <layout class="QVBoxLayout" name="verticalLayout_3">
     <item>
      <widget class="QTabWidget" name="tabWidget">
       <property name="currentIndex">
@@ -215,30 +215,23 @@
        <attribute name="title">
         <string>数据库建表</string>
        </attribute>
-       <layout class="QVBoxLayout" name="verticalLayout_3">
+       <layout class="QVBoxLayout" name="verticalLayout_2">
         <item>
          <layout class="QGridLayout" name="gridLayout_3">
-          <item row="1" column="2">
-           <widget class="QPushButton" name="btnTableFilePath">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_12">
             <property name="text">
-             <string> 选择</string>
+             <string>entity名称:</string>
             </property>
-           </widget>
-          </item>
-          <item row="0" column="2">
-           <widget class="QPushButton" name="btnExcelPath">
-            <property name="text">
-             <string> 选择</string>
+            <property name="alignment">
+             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
             </property>
            </widget>
           </item>
           <item row="0" column="1">
-           <widget class="QLineEdit" name="excelPath"/>
+           <widget class="QLineEdit" name="entityname"/>
           </item>
-          <item row="1" column="1">
-           <widget class="QLineEdit" name="tableFilePath"/>
-          </item>
-          <item row="0" column="0">
+          <item row="1" column="0">
            <widget class="QLabel" name="label_10">
             <property name="text">
              <string> 数据库字段文件(excel):</string>
@@ -248,7 +241,17 @@
             </property>
            </widget>
           </item>
-          <item row="1" column="0">
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="excelPath"/>
+          </item>
+          <item row="1" column="2">
+           <widget class="QPushButton" name="btnExcelPath">
+            <property name="text">
+             <string> 选择</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
            <widget class="QLabel" name="label_11">
             <property name="text">
              <string>生成文件目录:</string>
@@ -261,20 +264,33 @@
             </property>
            </widget>
           </item>
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="tableFilePath"/>
+          </item>
+          <item row="2" column="2">
+           <widget class="QPushButton" name="btnTableFilePath">
+            <property name="text">
+             <string> 选择</string>
+            </property>
+           </widget>
+          </item>
          </layout>
         </item>
         <item>
          <widget class="QTextEdit" name="textEdit"/>
         </item>
         <item>
-         <layout class="QHBoxLayout" name="horizontalLayout_5">
-          <item>
-           <widget class="QLabel" name="label_9">
-            <property name="text">
-             <string/>
-            </property>
-           </widget>
-          </item>
+         <widget class="QTextEdit" name="description"/>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_9">
+          <property name="text">
+           <string/>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_4">
           <item>
            <spacer name="horizontalSpacer_2">
             <property name="orientation">
@@ -282,7 +298,7 @@
             </property>
             <property name="sizeHint" stdset="0">
              <size>
-              <width>40</width>
+              <width>478</width>
               <height>20</height>
              </size>
             </property>