Convert from Excel (Kaihatsu Tab)

Location:

  • ZaikoKanri.py
    def copyExcelToCsv(self, inExcelPath, tabName, outCsvPath, idbColnum, delim= ZKSWConfig.delim)

    • called by
      def btnExcel2Csv_clicked(self)

      • slot connection:
        self.btnExcel2Csv.clicked.connect(self.btnExcel2Csv_clicked)

        • defined in
          self.btnExcel2Csv= QPushButton()

          kaihatsuLayout.addWidget(self.btnExcel2Csv, 3, 1)

          • Location:
            def setPage_Kaihatsu_7(self)

Recreate similar functionalities, but simpler

  • Define QPushButton
    • Location:
      ZaikoKanri.py
      class MainDialog(QDialog)
      def setPage_Kaihatsu_7(self)
    • self.btnExceltoDB= QPushButton()
    • kaihatsuLayout.addWidget(self.btnExceltoDB, rownum, 1)
    • self.btnExceltoDB.setText(“Retry Excel to DB”)
  • Define Slot Connection : Kaihatsu Page
    • self.btnExceltoDB.clicked.connect(self.btnExceltoDB_clicked)
  • Implement Execution Button
    • Location:
      ZaikoKanri.py
      class MainDialog(QDialog)
      def btnExceltoDB_clicked(self)

  • MISSING FUNCTION
  • maybe related function
    • def readCSVdata(self, filepath, delim= ZKSWConfig.delim)
    • uncalled from anywhere

 

  • tabName = u’D.B’
    idbColnum = 1
    outCsvPath = ZKSWConfig.DB_CSV_PATH
    self.copyExcelToCsv(inExcelPath, tabName, outCsvPath, idbColnum)
  • Define QPushButton in Page/Tab Kaihatsu
    self.btnExceltoDB= QPushButton()

Excel Table Initiation

  • Location:
    ZaikoKanri.py
    class MainDialog(QDialog)
    def __init__(self)
  • self.excel = ClassDef.ExcelTable()
    • Location:
      ClassDef.py
      class ExcelTable
      def __init__(self)
    • self.kojinbangou = ExcelTableElement(“KojinBangou”, u”個人番号”, None)
      • Location:
        ClassDef.py
        class ExcelTableElement(object)
        def __init__(self, tableName, kanjiName, idbColumn)
      • self.tableName = tableName
      • self.idBangouColumn = idbColumn

Is Current Row Valid Data

  • Location:
    ZaikoKanri.py
    MainDialog
    def isCurrentRowValidData(self, idbvalue)
    –> e.g., idbvalue = u’ID番号’
  • koujou = self.getCurrentKoujouObject()
  • if koujou.idcode in idbvalue.upper():
    • return True
  • –> koujou.idcode = ‘T’

(Current) Koujou Initiation

  • Location:
    ZaikoKanri.py
    class MainDialog(QDialog)
    def __init__(self)
  • self.kj = ClassDef.KJ()
    • Location:
      ClassDef.py
      class KJ
      def __init__(self)
    • self.gijutsubu = KJelement(u”技術部”, “Gijutsubu”, “T”, ZKSWConfig.CONVERT_FROMEXCEL_GIJUTSUBU)
    • self.kumitate = KJelement(u”組立”, “KumitateBoruto”, “A”, ZKSWConfig.CONVERT_FROMEXCEL_KUMITATE)
      • Location:
        ClassDef.py
        class KJelement(object)
        def __init__(self, jpName, romaji, idcode, cfes)

(Current) Koujou

  • To check current Koujou
    • Location:
      ZaikoKanri.py
      MainDialog
      def isCurrentRowValidData(self, idbvalue)
    • koujou = self.getCurrentKoujouObject()
      • return self.kj.getCurrentKoujouObject()
        • Location:
          ClassDef.py
          class KJ
          def getCurrentKoujouObject(self)
        • if ZKSWConfig.DBPATH == kj.dtbPath:
          • return kj

PAGE KAIHATSU, LAYOUT

Location:
ZaikoKanri.py
class MainDialog(QDialog)
def setPage_Kaihatsu_7(self)

  • kaihatsuLayout = QGridLayout()
  • QGridLayout, Functions
    https://srinikom.github.io/pyside-docs/PySide/QtGui/QGridLayout.html
    def addWidget (arg__1, row, column, rowSpan, columnSpan[, alignment=0])
    def addWidget (arg__1, row, column[, alignment=0])
  • kaihatsuLayout.addWidget(self.buttonName, row, column, rowSpan, columnSpan)
  • kaihatsuLayout.addWidget(self.buttonName, row, column)
  • startingrow = 4
    btns=[]
  • rownum = startingrow + 0
Row 0 “全部の工場のデータベースをバックアップする”
(self.btnBackupAllKoujouDB, 0, 0, 1, 3)
columnSpan = 3 –> merge 3 columns
row 0, column 0
Row 1 “今の工場のデータベースをバックアップする”
(self.btnBackupCurrentKoujouDB, 1,0)
“Get DB from CAMSERVER”
(self.btnGetCamserverDB, 1, 1)
Row 2 “…”
(self.txtCurrentDBPath, 2, 0, 1, 3)
columnSpan = 3 –> merge 3 columns
row 2, column 0
Row 3 “Recalculate”
(self.btnRecalculate, 3, 0)
“Excel XLS To CSV”
(self.btnExcel2Csv, 3, 1)
“Reorganize Sort Order”
(self.btnReorganizeSortOrder, 3, 2)
Row 4 #FAILED?
(self.btnUpdateAllTables_XLS2DB, len(qles)+startingrow, 0, 1, 3)
len(qles)+startingrow = 4
“Add Bikou2 To ZKH”
(self.btnAddBikou2ToZKH, rownum, 2)
Row 5 #FAILED?
(self.btnUpdateAllKoujous, len(qles)+startingrow+1, 0, 1, 3)
len(qles)+startingrow+1 = 5
“Delete Bikou2 At ZKH”
rownum = startingrow + 1
(self.btnDeleteBikou2AtZKH, rownum, 2)
Row 6 FAILED? BUT SEEMS SEEN…
“Overwrite Local DB”
(self.btnOverwriteTwoDBs, len(qles)+startingrow+2, 0, 1, 3)
len(qles)+startingrow+2 = 6
(self.btnTestCase, startingrow + len(btns)+ 2, 1)
set breakpoint, startingrow + len(btns)+ 2 =6
“Compare 2 DBs”
rownum = startingrow + 2
(self.btnCompareTwoDBs, rownum, 2)
Row 7 “Update All Tables (XLS to DB)”
(self.btnUpdateAllTables_XLS2DB, startingrow + len(btns)+ 3, 1)
set breakpoint, startingrow + len(btns)+ 3 = 7
WHY FAILED? UNSEEN?
rownum = startingrow + 3
(self.btnOverwriteTwoDBs, rownum, 2)
rownum = 7
Row 8 “Update ALL KOUJOUS”
(self.btnUpdateAllKoujous, startingrow + len(btns)+ 4, 1)
set breakpoint, startingrow + len(btns)+ 4 = 8
” …..” (Text Edit)
rownum = startingrow + 4
(self.qte_CompareDB, rownum, 2, 7, 1)
rowSpan = 7 –> merge 7 rows
row rownum, column 2